File Details
IllegalQuarry-0.1.173.jar
- R
- Jan 25, 2026
- 348.79 KB
- 181
- Early Access
File Name
IllegalQuarry-0.1.173.jar
Supported Versions
- Early Access
Changelog - Illegal Quarry
[0.1.173] - 2026-01-25
MAJOR: Pure ECS Persistence System π
BREAKING CHANGE: Migrated from CSV-based persistence to 100% game-internal ECS persistence.
New Files
QuarryDataManager.java - In-memory cache + disk I/O system for quarry persistence
- Methods:
saveQuarry(),loadQuarry(),removeQuarry(),persistToDisk(),loadFromDisk() - File:
mods/tiffy-IllegalQuarry/quarries.dat(replaces quarry.csv) - Format: Pipe-delimited NBT strings (one per line)
- Methods:
QuarryInitializer.java - ECS system for restoring persisted quarries on startup
- Waits 20 ticks for world to fully load
- Deserializes and creates ECS entities from cache
- Quarries resume mining immediately with preserved state
Modified Files
QuarryComponent.java - β Added serialization
toNBTString()- Serialize to pipe-delimited formatfromNBTString()- Deserialize from pipe-delimited format- Format:
id:Q-xxx|owner:name|pos:x,y,z|speed:3|tier:2|tick:45|fuel:1200|filters:Ore_Mithril;Ore_Gold
QuarryPlugin.java - β Removed QuarryManager, added ECS lifecycle
- Calls
QuarryDataManager.loadFromDisk()in setup() - Registers
QuarryInitializerfor automatic restoration - Calls
QuarryDataManager.persistToDisk()in shutdown() - Added debug logging in start()
- Calls
QuarryListener.java - β Complete refactor
- Removed all QuarryManager dependencies
- Added
countQuarriesByPlayer()for player limits - Added
getQuarriesNear()for adjacent quarry detection - All events now use
QuarryDataManager
QuarryMiningSystem.java - β Added persistence
- Fuel state saved every 100 ticks
- Immediate save after fuel refill
- Max fuel loss on crash: ~5 seconds
IllegalQuarryCommand.java - β Updated persistence calls
/iqand/iq clearnow queryQuarryDataManager- Shows fuel + filter count in info display
IllegalQuarryListCommand.java - β Updated persistence calls
/iqlistiteratesQuarryDataManager.getAllQuarries()- Updated storage location message
Deleted Files
- QuarryManager.java β REMOVED - Replaced by lighter QuarryDataManager
Persistence Features
- β Fuel Persistence: Fuel balance survives restart (100-tick save interval + immediate on refill)
- β Filter Persistence: Active filters restored after restart
- β Speed Persistence: Speed level maintained across restarts
- β Tick Counter Persistence: Mining progress preserved
- β Zero CSV Files: No quarry.csv - 100% game-internal storage
- β Atomic Writes: Entire cache written atomically on shutdown
- β Instant Resume: Quarries resume mining immediately on startup with previous state
- β Crash Resilience: Max 500 tick fuel loss (~25 seconds) on force kill
Migration Notes
- β οΈ Breaking Change: Existing quarry.csv data is NOT imported
- Recommendation: Fresh start - players must re-place quarries
- Rationale: Fuel/filter data not in CSV; clean slate preferred for pre-release
- Benefit: No data loss after v0.1.173 (all state now persisted)
Technical Details
- Storage:
mods/tiffy-IllegalQuarry/quarries.dat - Format: Pipe-delimited key:value pairs (human-readable)
- Thread Safety: ConcurrentHashMap-based caching (proven pattern from IllegalPipe)
- Lifecycle: Load setup() β Restore startup() β Save runtime changes β Persist shutdown()
- Performance: One-time load + periodic saves (not per-tick overhead)
Build Status
- β Build #173: SUCCESSFUL
- β Compile errors: 0
- β Warnings: 5 (BlockState deprecation - external API)
- β JAR size: 349KB

