AtlasSpigot 26.2 - build 20 (five optimisation patches)
Rebuilt jar with two more optimisation patches — five non-branding patches total.
New in this build
ExperienceOrb#merge · Fired ExperienceOrbMergeEvent unconditionally — two CraftEntity casts and an event object per merge. Orb merging runs continuously at any grinder, and more so now that the tuned spigot.yml sets an XP merge radius, so the config tuning made this path hotter on these servers specifically.
CraftEventFactory#callItemMergeEvent · Built two casts, an ItemMergeEvent and a plugin-manager dispatch on every item merge, to reach an answer that is always true when nothing is listening. Called from ItemEntity#mergeWithNeighbours off the item's tick, so it fires wherever drops pile up — mob farms, mining, mass drops.
The rule these all follow
Every one of the five patches is the same idea: these events can only veto. With no listener registered the outcome is fixed, so the Bukkit object-building is pure waste. Behaviour is identical when a plugin is listening — events fire exactly as before, cancels included.
Two more candidates were checked and left alone because upstream already guards them: BlockPhysicsEvent behind ServerLevel.hasPhysicsEvent, and EntityCollideWithEntityEvent in Entity#push(Entity). Noted in NOTES so they don't get re-examined.
Not measured
All five are strictly-fewer-allocations changes and provably equivalent, which is the only reason they ship unmeasured. No performance figures are claimed, and none is individually large.
Config: unchanged from build 17
hopper.disable-move-event is on — shop, sorting and economy plugins will not see hopper transfers (set it false in config/paper-world-defaults.yml to restore). Spawner mobs have no AI, monsters despawn at 28/48, mob caps cut ~43%, simulation distance 3.
Verified
Eleven source patches compile together. Boots in 8.42s reporting AtlasSpigot version 26.2-DEV-ver/26.2@e51867d, runs with zero exceptions or errors, saves and shuts down cleanly. Still zero net/minecraft classes.
All patches with their reasoning: source-patches/