promotional bannermobile promotional banner

Illegal Quarry - end of life -

Automated mining system with modular upgrades and fuel mechanics. Inspired by the Ender Quarry from Minecraft

File Details

IllegalQuarry-0.1.220.jar

  • R
  • Jan 26, 2026
  • 352.57 KB
  • 1.1K
  • Early Access

File Name

IllegalQuarry-0.1.220.jar

Supported Versions

  • Early Access

Changelog - Illegal Quarry

[0.1.201] - 2026-01-26

MAJOR: Industrial Hardmode Update βš™οΈπŸ’Ž

Introduced a high-stakes mining mode that shifts the focus from guaranteed yields to extraction efficiency and waste management.

πŸš€ New Features

  • Hardmode System:
    • Extraction Success Rates: Ores now have specific success chances (e.g., Iron 70%, Gold 50%, Mithril 5%).
    • Two-Step Mining Logic: Each mining cycle first rolls for the target resource. If extraction fails, a second weighted roll is performed in the "Side-Drop" pool.
  • Smart Inventory Sensing: Quarries now monitor the output container. Production automatically pauses if the inventory is full.
  • Crystal Resonance: Placing vanilla crystal blocks (e.g., Rock_Crystal_Blue_Large) adjacent to a Tier 2 Quarry now acts as a specific filter for that crystal type.
  • Side-Drop Economy: Failed extractions now produce valuable "industrial waste" instead of ores.
    • New Drops: Added Bone Fragments, Light Leather, Spider Webs, and 7 varieties of Crystals (Cyan, Blue, Green, Purple, Red, White, Yellow).
    • Weighted RNG: Side-drops utilize a tiered rarity system to ensure balanced drops.
  • Improved Break Logic: Quarries, Filters, and Speed Modifiers now properly drop themselves as items when broken by any player.

βš™οΈ Configuration & Balancing

  • Config Versioning (v6): Implemented automated config migration and force-reset logic. Updating to v0.1.201 will trigger a one-time reset to apply new Hardmode success rates and side-drop definitions.
  • Rebalanced Quarry Stats:
    • upgradeMultiplier: Adjusted to 1.25 for a more balanced speed progression.
    • fuelConsumptionMultiplierPerLevel: Increased to 1.25 to make high-speed mining more expensive.
  • T1 Quarry Recipe: Updated to 100x Iron, 100x Copper, 100x Gold, and 1x Cobalt Shovel.

πŸ› οΈ Commands & Technical

  • Command Cleanup: Removed the obsolete /iq command.
  • Version Tracking (WIP): Added /iqv for detailed version, build, and plugin info.
  • Automated Versioning: Integrated version and build constants into the core plugin logic for cleaner build tracking.
  • Optimization: Refactored weighted item selection to support dynamic sub-pools (Ores vs. Waste).

[0.1.192] - 2026-01-26

Added

  • Version Command: Added /iqv.
  • Config Versioning: Added configVersion to illegal_quarry.json.
  • Improved Break Logic: Components now drop themselves.

[0.1.187] - 2026-01-26

Added

  • Version Command: Added /iqv command to show plugin version and build info (similar to IllegalPipe).
  • Automated Version Tracking: Added VERSION and BUILD_NUMBER constants to QuarryPlugin for internal use and automated build updates.

Fixed

  • Cleanup: Fixed a file naming conflict in command classes.

[0.1.186] - 2026-01-26

Added

  • Build System: Automated version tracking in build_mod.sh.

[0.1.185] - 2026-01-26

Fixed

  • Corrected class naming in IllegalQuarryIpvCommand.java.

[0.1.175] - 2026-01-26

Fixed

  • Advanced Quarry Recipe: Fixed recipe definition for advanced quarry - now properly recognized by crafting system.

[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)
  • 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 format
    • fromNBTString() - 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 QuarryInitializer for automatic restoration
    • Calls QuarryDataManager.persistToDisk() in shutdown()
    • Added debug logging in start()
  • 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

    • /iq and /iq clear now query QuarryDataManager
    • Shows fuel + filter count in info display
  • IllegalQuarryListCommand.java - βœ… Updated persistence calls

    • /iqlist iterates QuarryDataManager.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

[0.1.168] - 2026-01-24

Fixed

  • Critical Crash: Fixed IllegalStateException: Store is currently processing by moving ticking logic to safe execution threads.
  • Console Spam: Removed leftover debug messages ([IQ-DEBUG]).
  • Logic: Fixed an issue where quarries would continue consuming fuel even when "Chunk Loading" was disabled (due to server caching). They now strictly pause if no player is nearby when this setting is off.

Added

  • Chunk Loading Config: Added chunkLoadingEnabled to illegal_quarry.json.
    • true: Quarries keep chunks loaded and run continuously.
    • false: Quarries automatically pause when no player is within 128 blocks.

[0.1.159] - 2026-01-24

Added

  • Chat notification when a quarry is successfully removed ([IQ] Quarry removed.).
  • Complete functional description in desc.md.
  • Automated build version tracking.

Fixed

  • Critical: Fixed NullPointerException when interacting with nearby workbenches by forcing chunk-anchored block states.
  • Critical: Fixed client crash (UpdateRecipes at SettingUp stage) during login by batching recipe updates and implementing silent retries.
  • Graphics: Set correct ISO rotation for all items in the crafting menu.
  • Placement: Fixed "Phantom Break" where blocks would occasionally disappear immediately after placement.
  • Performance: Optimized recipe synchronization to use a single batch packet instead of multiple individual updates.

Changed

  • Increased default maxQuarriesPerPlayer from 3 to 10.
  • Refactored RecipeManager for better maintainability and crash prevention.

[0.1.130] - Earlier

Added

  • Initial Advanced (T2) Quarry implementation.
  • Filter system (Ore, Earth, Specialized).
  • Fuel consumption mechanics (Charcoal, Essences).
  • Speed Modifiers.
  • Configuration system for recipes and balance.