Skip to content
SilentCall2598Public

About

Performance optimizations for Extra Utilities 2 Quantum Quarries on Minecraft 1.12.2

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

QuarryOpt

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

What it does

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

Performance

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.

Requirements

Installation

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.

Configuration

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.

Compatibility

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.

About

Performance optimizations for Extra Utilities 2 Quantum Quarries on Minecraft 1.12.2

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages