All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Achievements Optimizer

Achievements Optimizer

by bigenergy • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Achievements Optimizer is a lightweight performance mod that optimizes how item-based achievements and advancements are processed — reducing unnecessary inventory scans and improving overall tick efficiency.

It doesn’t change any gameplay mechanics or logic — only makes achievement checks faster and cleaner under the hood.

⚙️ Key Optimizations

  • Early tick skipping — heavy slot calculations (empty/occupied/full) are skipped early, preventing extra work per event.
  • Instant empty stack discard — with ignoreEmptyStacks enabled, empty stacks are removed immediately without scanning the entire inventory.
  • Fast multi-item matching — single-pass inventory check using boolean[] flags with early exit. No allocations, noticeably faster on large inventories or long condition lists.
  • Early slot filtering — slots.matches(full, empty, occupied) is evaluated first, avoiding deeper checks when slots don’t match.
  • Preserved fast path for single targets — when items.size() == 1, the comparison is done directly on the changed slot without a full inventory pass.

🚀 Result

Fewer redundant checks, less memory churn, and faster responses to inventory events. Particularly beneficial for servers or modpacks with many players and complex advancement triggers.

From version 2.0.0 required Forge Config API Port (only for fabric version). Feel free to write about all problems and suggestions on my github! Good luck!

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.1.2
Neoforge
23h ago 1
26.1.2
Fabric
23h ago 1
1.21.11
Neoforge
23h ago 1
1.21.11
Fabric
23h ago 1
1.21.10
Fabric
23h ago 1
1.21.10
Neoforge
23h ago 1
1.21.9
Fabric
23h ago 1
1.21.9
Neoforge
23h ago 1
1.21.1
Fabric
23h ago 1
1.21.1
Neoforge
23h ago 1
1.21.4
Neoforge
23h ago 1
1.21.4
Fabric
23h ago 1
1.21.1
Neoforge
23h ago 1
1.21.1
Fabric
23h ago 1
1.21.4
Neoforge
23h ago 1
1.21.1
Neoforge
23h ago 1
1.21.1
Fabric
23h ago 1
1.21
Neoforge
23h ago 1
1.21
Neoforge
23h ago 1
1.21
Fabric
23h ago 1
1.20.1
Fabric
23h ago 1
1.20.1
Forge
23h ago 1
1.20.2
Fabric
23h ago 1
1.20.1
Fabric
23h ago 1
1.20.4
Forge
23h ago 1
1.20.3
Forge
23h ago 1
1.20.2
Forge
23h ago 1
1.20.1
Forge
23h ago 1
1.18.2
Forge
23h ago 1
1.19.2
Forge
23h ago 1
1.20.1
Forge
23h ago 1
26.1.2 support
26.1.2 support
1.21.11 port
1.21.11 port
1.21.100000 port
1.21.100000000000 PORT
  • Ported 1.21.9
  • required Architectury API
  • Ported 1.21.9
  • required Architectury API
  • Skipping ticks is done before the heavy calculation of occupied/empty/full slots — less extra work on each event.
  • With ignoreEmptyStacks enabled, empty stacks are discarded immediately, without causing an inventory scan.
  • Fast matching of many items (one pass through the inventory with boolean[] flags and early exit — without allocations, noticeably faster on large inventories and long lists of conditions).
  • Early filtering by slots (slots.matches(full, empty, occupied) is performed first, excluding further calculations in case of a mismatch.).
  • Preserved fast path for one target (with items.size() == 1, the check is done on changed without a full scan — the behavior is left, but surrounded by earlier cutoffs.).
  • Skipping ticks is done before the heavy calculation of occupied/empty/full slots — less extra work on each event.
  • With ignoreEmptyStacks enabled, empty stacks are discarded immediately, without causing an inventory scan.
  • Fast matching of many items (one pass through the inventory with boolean[] flags and early exit — without allocations, noticeably faster on large inventories and long lists of conditions).
  • Early filtering by slots (slots.matches(full, empty, occupied) is performed first, excluding further calculations in case of a mismatch.).
  • Preserved fast path for one target (with items.size() == 1, the check is done on changed without a full scan — the behavior is left, but surrounded by earlier cutoffs.).
  • moved to multiloader code
  • added config for fabric version (now required Forge Config API Port)
  • refactor mixins
  • added config option to skip empty stacks
  • moved to multiloader code
  • added config for fabric version (now required Forge Config API Port)
  • refactor mixins
  • added config option to skip empty stacks
  • moved to multiloader code
  • added config for fabric version (now required Forge Config API Port)
  • refactor mixins
  • added config option to skip empty stacks
  • moved to multiloader code
  • added config for fabric version (now required Forge Config API Port)
  • refactor mixins
  • added config option to skip empty stacks
  • upd 1.21.4
  • refactor mixins
  • added config option to skip empty stacks
ported to mc 1.21 neoforge
updated to recommended forge / new optimizations in ItemPredicate (fast matches)
Achievements Optimizer Icon
Download Achievements Optimizer
Select game version
Select platform