Server-side performance patch for Extra Utilities 2 Quantum Quarries.
Cuts Quantum Quarry costs on the server thread by roughly 40%. With no changes to mining speed, yield, or energy use. Clients don't need it if installed on a server.
Minecraft 1.12.2 · Tested on Forge 14.23.5.2860 · Extra Utilities 2 1.9.9 · MixinBooter 10.7
| Optimization | What changes |
|---|---|
| Filter cache | Filters are read once and reused rather than being rebuilt from NBT on every single item check |
| Drop capture | Quarry drops go straight into Extra Utilities 2's list through Forge's own capture mechanism, instead of becoming item entities that are created and immediately deleted |
| Chunk reset | Chunk cleanup on quarry chunk swap covers the 3×3 area that was actually modified, instead of a 5×5 |
Two 5-minute Spark profiles, same server, session, and matched conditions. The only variable was if the mod was on or off. Figures are share of the Quantum Quarry's total server-thread time.
| Metric | Off | On | Change |
|---|---|---|---|
TileQuarry.update |
6.50% | 3.90% | −40% |
ItemFilterItems.matches |
2.13% | 0.82% | −62% |
StackHelper.loadFromNBT |
1.35% | 0.00% | −100% |
Block.spawnAsEntity |
1.39% | 0.07% | −95% |
EntityItem.<init> |
0.78% | 0.08% | −90% |
These figures come from one server running two quarries with nested filters and an area-mining enchantment (Rive 3 (DJ2)). A setup with plain, unfiltered quarries has far less overhead to remove and will see smaller improvements.
Chunk reset, measured on a separate 32-quarry stress test: releaseChunk 8.41% → 3.07% (−64%).
ItemFilterItems.matches and EntityItem.<init> can appear multiple times in the same call chain. To avoid double-counting, the table uses only the top-level values. Spark's aggregate view includes those nested calls so it reports higher percentages.
- Extra Utilities, a hard dependency, the mod will not load without it
- MixinBooter 10.7 or compatible
Drop quarryopt-1.0.1.jar and MixinBooter into the server's mods folder and restart.
Clients don't need this mod if used on a server.
config/quarryopt.cfg is read at startup so changes need a restart. Each optimization can
be turned off independently, which makes it easy to test the mod while troubleshooting.
| Option | Default | Description |
|---|---|---|
filterCache |
true |
Cache filter contents |
filterFullCache |
true |
Cache whole filters at once rather than slot by slot |
dropCapture |
true |
Route quarry drops through Forge's capture mechanism |
chunkResetRadius |
1 |
1 = 3×3 cleanup, 2 = 5×5 (Original behavior) |
fixOreDictionaryFilter |
true |
Fix the Extra Utilities 2 Match OreDic filter bug |
Ore Dictionary fix (1.0.1): Extra Utilities 2 has an upstream Item Filter bug when Match OreDic is enabled.
It compares the ghost stack's Ore Dictionary IDs against the ghost stack again instead of the target item, so
unrelated items can pass the filter. Quarry Opt 1.0.1 corrects that comparison. It is on by default with
fixOreDictionaryFilter=true, can be set to false to restore stock Extra Utilities 2 behavior, and is
independent of the filter cache.
Captured quarry drops no longer fire EntityJoinWorldEvent, because no item entity is
created. Drop-modifying effects are unaffected, Fortune, auto-smelt, all run earlier,
on BlockEvent.HarvestDropsEvent, and behave identically.
Every optimization falls back to the original Extra Utilities 2 behaviour if it fails.
This mod was originally made for the Divine Journey 2 modpack, compatibility with other modpacks hasn't been tested at the time of writing this.