Fastvancements speeds up several of vanilla's most expensive advancement triggers by short-circuiting redundant checks before they ever reach the full predicate evaluation:
- Inventory change trigger — skips re-evaluating listeners when an item stack change doesn't cross any threshold an active advancement actually cares about, and uses a reverse item index so listeners are only tested against items they could possibly match.
- Item predicates — caches whether a predicate has any "complex" constraints (data components, sub-predicates) so simple item/count checks can bypass the full test path entirely.
- Player location/tick triggers — configurable tick-skipping so expensive per-tick checks (biome, dimension, structure, light level, etc.) don't run on every single tick for every player.
All optimizations are config-gated and designed to be behavior-identical to vanilla — advancements still unlock exactly when they should, just with far less server overhead on large playerbases or advancement-heavy modpacks.
This is a community port to NeoForge 1.21.1, rebuilt against the current data-component-based advancement API (ItemPredicate, DataComponentPredicate, etc.) introduced in 1.20.5+.
The differences from the 1.20.1 version are minimal. It has mainly been updated to work with NeoForge 1.21.1.
Credits: All credit for the original concept, design, and implementation goes to Misanthropy, the original author of Fastvancements. This release is a version-port of their work, not a new mod.