Single Lookup Container: Grouped 10+ scattered maps (activeLabels, activeBeams, surfaceStates, itemSpawnTimes, etc.) into a unified TrackedItem structure. This reduces map lookups from 4-8 times per item/tick down to a single O(1) lookup.
Backward Compatibility: Kept external integration and event listeners fully functional without binary/source changes by wrapping access in custom delegating maps.
Garbage Collection Reduction: Replaced delegating maps iterations (activeLabels.values(), etc.) with direct trackedItems iteration to eliminate constant temporary collection and entry set allocations.
Scheduler & Task Optimizations
Lighting Task: Replaced heavy Bukkit.getEntity(uuid) global scans ($O(N)$ world scans) with instant O(1) lookups from our active items cache.
Particle Task: Pre-caches item coordinates once per tick, reducing position lookups from O(Players × Items) down to O(Items).
Farming LOD Task: Optimized farming crop symbol updates by caching the location inside CropSymbol, completely avoiding repetitive world block coordinate lookups.
Farming Scan Bypass: Tracks player movements to skip the heavy 1,445-block crop scan for AFK/stationary players, eliminating block wrapper allocation storms.
Multi-World Particles: Groups cached items by world in the particle task, completely skipping distance checks for players in different worlds.
Chunk Load Allocation Free: Optimized chunk loading player checks, retrieving only players in the chunk's world and checking coordinates directly instead of allocating 5 global primitive arrays per load.
Ray-Trace Throttling
Surface Alignment: Throttled expensive surface alignment ray-tracing to run once every 4 ticks per item instead of every tick, significantly reducing CPU cycles on servers with a large number of ground drops.
Bug Fixes & Stability
Reload Ghost Entities Fix: Fixed a visual leak where item displays and shadows remained as permanent ghost entities floating in the world during config reloads. All visual components are now properly cleaned up.