Provided optimizations for Project8gbDeRam's Thaumaturge on 1.21.1 NeoForge, with compatibility for higher versions potentially added in the future.
As a trade-off for the performance improvement, the visual effects may no longer be as flashy.
| # | Optimization | Mixin | Side | Effect |
|---|---|---|---|---|
| 1 | TT particle render type cache | TTParticleRenderTypeMixin |
Client | Eliminates per-particle ConcurrentHashMap lookup every frame |
| 2 | Nitor particle distance throttling | NitorParticleThrottleMixin |
Client | Tiered generation reduction at 48/64/96 blocks |
| 3 | Spell cloud mist distance throttling | SpellCloudMistThrottleMixin |
Client | Tiered generation reduction at 32/64 blocks |
| 4 | Wisp ambient particle throttling | WispAmbientThrottleMixin |
Client | Tiered generation reduction at 32/64 blocks |
| 5 | Crucible froth packet throttling | CrucibleFrothThrottleMixin |
Server | Every tick → every 4 ticks; ~180 → 45 packets/s per crucible |
| 6 | Aura neighbour/receiver selection without streams | AuraTickHandlerAllocationMixin |
Server | 2-3 fewer List/Stream allocations per chunk per second; random sequence preserved |
| 7 | Aura loaded-chunk snapshot without copy | AuraManagerSnapshotMixin + DimensionStateAccessor |
Server | One fewer full HashSet copy every 20 ticks |
| 8 | Skip flux floor query for base=0 | FluxAuraFloorZeroMixin |
Server | One fewer attachment query per second for empty aura chunks |

