aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-12-05 11:18:29 +0100
committerNassim Jahnke <[email protected]>2024-12-05 12:20:56 +0100
commite4e24f3335609b38f460ced71d18babcf11bf9cb (patch)
tree51880d664b3444ce26d6f8cdeb3b8219e5616fca
parentc54c062e6ff742445bf7749c84106ca67090172d (diff)
downloadPaper-e4e24f3335609b38f460ced71d18babcf11bf9cb.tar.gz
Paper-e4e24f3335609b38f460ced71d18babcf11bf9cb.zip
Move around patches again
-rw-r--r--patches/server/0009-MC-Utils.patch281
-rw-r--r--patches/server/0308-Add-debug-for-sync-chunk-loads.patch (renamed from patches/server/0309-Add-debug-for-sync-chunk-loads.patch)6
-rw-r--r--patches/server/0309-Improve-java-version-check.patch (renamed from patches/server/0310-Improve-java-version-check.patch)0
-rw-r--r--patches/server/0310-Add-ThrownEggHatchEvent.patch (renamed from patches/server/0311-Add-ThrownEggHatchEvent.patch)0
-rw-r--r--patches/server/0311-Entity-Jump-API.patch (renamed from patches/server/0312-Entity-Jump-API.patch)0
-rw-r--r--patches/server/0312-Add-option-to-nerf-pigmen-from-nether-portals.patch (renamed from patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch)2
-rw-r--r--patches/server/0313-Make-the-GUI-graph-fancier.patch (renamed from patches/server/0314-Make-the-GUI-graph-fancier.patch)0
-rw-r--r--patches/server/0314-add-hand-to-BlockMultiPlaceEvent.patch (renamed from patches/server/0315-add-hand-to-BlockMultiPlaceEvent.patch)0
-rw-r--r--patches/server/0315-Validate-tripwire-hook-placement-before-update.patch (renamed from patches/server/0316-Validate-tripwire-hook-placement-before-update.patch)0
-rw-r--r--patches/server/0316-Add-option-to-allow-iron-golems-to-spawn-in-air.patch (renamed from patches/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch)0
-rw-r--r--patches/server/0317-Configurable-chance-of-villager-zombie-infection.patch (renamed from patches/server/0318-Configurable-chance-of-villager-zombie-infection.patch)0
-rw-r--r--patches/server/0318-Optimise-Chunk-getFluid.patch (renamed from patches/server/0319-Optimise-Chunk-getFluid.patch)0
-rw-r--r--patches/server/0319-Set-spigots-verbose-world-setting-to-false-by-def.patch (renamed from patches/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch)0
-rw-r--r--patches/server/0320-Add-tick-times-API-and-mspt-command.patch (renamed from patches/server/0321-Add-tick-times-API-and-mspt-command.patch)0
-rw-r--r--patches/server/0321-Expose-MinecraftServer-isRunning.patch (renamed from patches/server/0322-Expose-MinecraftServer-isRunning.patch)0
-rw-r--r--patches/server/0322-Add-Raw-Byte-ItemStack-Serialization.patch (renamed from patches/server/0323-Add-Raw-Byte-ItemStack-Serialization.patch)0
-rw-r--r--patches/server/0323-Pillager-patrol-spawn-settings-and-per-player-option.patch (renamed from patches/server/0324-Pillager-patrol-spawn-settings-and-per-player-option.patch)2
-rw-r--r--patches/server/0324-Remote-Connections-shouldn-t-hold-up-shutdown.patch (renamed from patches/server/0325-Remote-Connections-shouldn-t-hold-up-shutdown.patch)0
-rw-r--r--patches/server/0325-Do-not-allow-Vexes-to-load-chunks.patch (renamed from patches/server/0326-Do-not-allow-Vexes-to-load-chunks.patch)0
-rw-r--r--patches/server/0326-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch (renamed from patches/server/0327-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch)0
-rw-r--r--patches/server/0327-Don-t-tick-dead-players.patch (renamed from patches/server/0328-Don-t-tick-dead-players.patch)2
-rw-r--r--patches/server/0328-Dead-Player-s-shouldn-t-be-able-to-move.patch (renamed from patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch)0
-rw-r--r--patches/server/0329-Don-t-move-existing-players-to-world-spawn.patch (renamed from patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch)2
-rw-r--r--patches/server/0330-Optimize-Pathfinding.patch (renamed from patches/server/0331-Optimize-Pathfinding.patch)0
-rw-r--r--patches/server/0331-Reduce-Either-Optional-allocation.patch (renamed from patches/server/0332-Reduce-Either-Optional-allocation.patch)0
-rw-r--r--patches/server/0332-Reduce-memory-footprint-of-CompoundTag.patch (renamed from patches/server/0333-Reduce-memory-footprint-of-CompoundTag.patch)0
-rw-r--r--patches/server/0333-Prevent-opening-inventories-when-frozen.patch (renamed from patches/server/0334-Prevent-opening-inventories-when-frozen.patch)2
-rw-r--r--patches/server/0334-Don-t-run-entity-collision-code-if-not-needed.patch (renamed from patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch)0
-rw-r--r--patches/server/0335-Implement-Player-Client-Options-API.patch (renamed from patches/server/0336-Implement-Player-Client-Options-API.patch)2
-rw-r--r--patches/server/0336-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch (renamed from patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch)0
-rw-r--r--patches/server/0337-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch (renamed from patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch)2
-rw-r--r--patches/server/0338-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch (renamed from patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch)2
-rw-r--r--patches/server/0339-Add-PlayerAttackEntityCooldownResetEvent.patch (renamed from patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch)0
-rw-r--r--patches/server/0340-Don-t-fire-BlockFade-on-worldgen-threads.patch (renamed from patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch)0
-rw-r--r--patches/server/0341-Add-phantom-creative-and-insomniac-controls.patch (renamed from patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch)0
-rw-r--r--patches/server/0342-Fix-item-duplication-and-teleport-issues.patch (renamed from patches/server/0343-Fix-item-duplication-and-teleport-issues.patch)2
-rw-r--r--patches/server/0343-Villager-Restocks-API.patch (renamed from patches/server/0344-Villager-Restocks-API.patch)0
-rw-r--r--patches/server/0344-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch (renamed from patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch)0
-rw-r--r--patches/server/0345-misc-debugging-dumps.patch (renamed from patches/server/0346-misc-debugging-dumps.patch)0
-rw-r--r--patches/server/0346-Prevent-teleporting-dead-entities.patch (renamed from patches/server/0347-Prevent-teleporting-dead-entities.patch)0
-rw-r--r--patches/server/0347-Implement-Mob-Goal-API.patch (renamed from patches/server/0348-Implement-Mob-Goal-API.patch)39
-rw-r--r--patches/server/0348-Add-villager-reputation-API.patch (renamed from patches/server/0349-Add-villager-reputation-API.patch)0
-rw-r--r--patches/server/0349-ExperienceOrb-merging-stacking-API-and-fixes.patch (renamed from patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch)0
-rw-r--r--patches/server/0350-Fix-PotionEffect-ignores-icon-flag.patch (renamed from patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch)0
-rw-r--r--patches/server/0351-Potential-bed-API.patch (renamed from patches/server/0352-Potential-bed-API.patch)0
-rw-r--r--patches/server/0352-Wait-for-Async-Tasks-during-shutdown.patch (renamed from patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch)0
-rw-r--r--patches/server/0353-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch (renamed from patches/server/0354-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch)0
-rw-r--r--patches/server/0354-Add-option-for-console-having-all-permissions.patch (renamed from patches/server/0355-Add-option-for-console-having-all-permissions.patch)0
-rw-r--r--patches/server/0355-Fix-villager-trading-demand-MC-163962.patch (renamed from patches/server/0356-Fix-villager-trading-demand-MC-163962.patch)0
-rw-r--r--patches/server/0356-Maps-shouldn-t-load-chunks.patch (renamed from patches/server/0357-Maps-shouldn-t-load-chunks.patch)0
-rw-r--r--patches/server/0357-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch (renamed from patches/server/0358-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch)0
-rw-r--r--patches/server/0358-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch (renamed from patches/server/0359-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch)0
-rw-r--r--patches/server/0359-Fix-piston-physics-inconsistency-MC-188840.patch (renamed from patches/server/0360-Fix-piston-physics-inconsistency-MC-188840.patch)0
-rw-r--r--patches/server/0360-Fix-missing-chunks-due-to-integer-overflow.patch (renamed from patches/server/0361-Fix-missing-chunks-due-to-integer-overflow.patch)0
-rw-r--r--patches/server/0361-Prevent-position-desync-causing-tp-exploit.patch (renamed from patches/server/0362-Prevent-position-desync-causing-tp-exploit.patch)0
-rw-r--r--patches/server/0362-Inventory-getHolder-method-without-block-snapshot.patch (renamed from patches/server/0363-Inventory-getHolder-method-without-block-snapshot.patch)0
-rw-r--r--patches/server/0363-Add-PlayerRecipeBookClickEvent.patch (renamed from patches/server/0364-Add-PlayerRecipeBookClickEvent.patch)0
-rw-r--r--patches/server/0364-Hide-sync-chunk-writes-behind-flag.patch (renamed from patches/server/0365-Hide-sync-chunk-writes-behind-flag.patch)0
-rw-r--r--patches/server/0365-Add-permission-for-command-blocks.patch (renamed from patches/server/0366-Add-permission-for-command-blocks.patch)0
-rw-r--r--patches/server/0366-Ensure-Entity-position-and-AABB-are-never-invalid.patch (renamed from patches/server/0367-Ensure-Entity-position-and-AABB-are-never-invalid.patch)2
-rw-r--r--patches/server/0367-Fix-Per-World-Difficulty-Remembering-Difficulty.patch (renamed from patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch)0
-rw-r--r--patches/server/0368-Paper-dumpitem-command.patch (renamed from patches/server/0369-Paper-dumpitem-command.patch)0
-rw-r--r--patches/server/0369-Improve-Legacy-Component-serialization-size.patch (renamed from patches/server/0370-Improve-Legacy-Component-serialization-size.patch)0
-rw-r--r--patches/server/0370-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/server/0371-Add-BlockStateMeta-clearBlockState.patch)0
-rw-r--r--patches/server/0371-Convert-legacy-attributes-in-Item-Meta.patch (renamed from patches/server/0372-Convert-legacy-attributes-in-Item-Meta.patch)0
-rw-r--r--patches/server/0372-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0373-Do-not-accept-invalid-client-settings.patch)0
-rw-r--r--patches/server/0373-Improve-fix-EntityTargetLivingEntityEvent.patch (renamed from patches/server/0374-Improve-fix-EntityTargetLivingEntityEvent.patch)0
-rw-r--r--patches/server/0374-Add-entity-liquid-API.patch (renamed from patches/server/0375-Add-entity-liquid-API.patch)0
-rw-r--r--patches/server/0375-Add-PrepareResultEvent.patch (renamed from patches/server/0376-Add-PrepareResultEvent.patch)0
-rw-r--r--patches/server/0376-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch (renamed from patches/server/0377-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch)0
-rw-r--r--patches/server/0377-Fix-arrows-never-despawning-MC-125757.patch (renamed from patches/server/0378-Fix-arrows-never-despawning-MC-125757.patch)2
-rw-r--r--patches/server/0378-Thread-Safe-Vanilla-Command-permission-checking.patch (renamed from patches/server/0379-Thread-Safe-Vanilla-Command-permission-checking.patch)0
-rw-r--r--patches/server/0379-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch (renamed from patches/server/0380-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch)0
-rw-r--r--patches/server/0380-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch (renamed from patches/server/0381-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch)0
-rw-r--r--patches/server/0381-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch (renamed from patches/server/0382-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch)0
-rw-r--r--patches/server/0382-Optimize-NetworkManager-Exception-Handling.patch (renamed from patches/server/0383-Optimize-NetworkManager-Exception-Handling.patch)0
-rw-r--r--patches/server/0383-Fix-some-rails-connecting-improperly.patch (renamed from patches/server/0384-Fix-some-rails-connecting-improperly.patch)0
-rw-r--r--patches/server/0384-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch (renamed from patches/server/0385-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch)0
-rw-r--r--patches/server/0385-Brand-support.patch (renamed from patches/server/0386-Brand-support.patch)2
-rw-r--r--patches/server/0386-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/server/0387-Add-playPickupItemAnimation-to-LivingEntity.patch)0
-rw-r--r--patches/server/0387-Don-t-require-FACING-data.patch (renamed from patches/server/0388-Don-t-require-FACING-data.patch)0
-rw-r--r--patches/server/0388-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch (renamed from patches/server/0389-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch)0
-rw-r--r--patches/server/0389-Add-moon-phase-API.patch (renamed from patches/server/0390-Add-moon-phase-API.patch)0
-rw-r--r--patches/server/0390-Do-not-let-the-server-load-chunks-from-newer-version.patch (renamed from patches/server/0391-Do-not-let-the-server-load-chunks-from-newer-version.patch)0
-rw-r--r--patches/server/0391-Prevent-headless-pistons-from-being-created.patch (renamed from patches/server/0392-Prevent-headless-pistons-from-being-created.patch)0
-rw-r--r--patches/server/0392-Add-BellRingEvent.patch (renamed from patches/server/0393-Add-BellRingEvent.patch)0
-rw-r--r--patches/server/0393-Add-zombie-targets-turtle-egg-config.patch (renamed from patches/server/0394-Add-zombie-targets-turtle-egg-config.patch)0
-rw-r--r--patches/server/0394-Buffer-joins-to-world.patch (renamed from patches/server/0395-Buffer-joins-to-world.patch)0
-rw-r--r--patches/server/0395-Fix-hex-colors-not-working-in-some-kick-messages.patch (renamed from patches/server/0396-Fix-hex-colors-not-working-in-some-kick-messages.patch)0
-rw-r--r--patches/server/0396-Add-more-Evoker-API.patch (renamed from patches/server/0397-Add-more-Evoker-API.patch)0
-rw-r--r--patches/server/0397-Add-methods-to-get-translation-keys.patch (renamed from patches/server/0398-Add-methods-to-get-translation-keys.patch)0
-rw-r--r--patches/server/0398-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch)0
-rw-r--r--patches/server/0399-Cache-block-data-strings.patch (renamed from patches/server/0400-Cache-block-data-strings.patch)0
-rw-r--r--patches/server/0400-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch (renamed from patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch)2
-rw-r--r--patches/server/0401-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/server/0402-Add-additional-open-container-api-to-HumanEntity.patch)0
-rw-r--r--patches/server/0402-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch (renamed from patches/server/0403-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch)0
-rw-r--r--patches/server/0403-Extend-block-drop-capture-to-capture-all-items-added.patch (renamed from patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch)2
-rw-r--r--patches/server/0404-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch)2
-rw-r--r--patches/server/0405-Lazily-track-plugin-scoreboards-by-default.patch (renamed from patches/server/0406-Lazily-track-plugin-scoreboards-by-default.patch)0
-rw-r--r--patches/server/0406-Entity-isTicking.patch (renamed from patches/server/0407-Entity-isTicking.patch)2
-rw-r--r--patches/server/0407-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch (renamed from patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch)0
-rw-r--r--patches/server/0408-Fix-Concurrency-issue-in-ShufflingList.patch (renamed from patches/server/0409-Fix-Concurrency-issue-in-ShufflingList.patch)0
-rw-r--r--patches/server/0409-Reset-Ender-Crystals-on-Dragon-Spawn.patch (renamed from patches/server/0410-Reset-Ender-Crystals-on-Dragon-Spawn.patch)0
-rw-r--r--patches/server/0410-Fix-for-large-move-vectors-crashing-server.patch (renamed from patches/server/0411-Fix-for-large-move-vectors-crashing-server.patch)0
-rw-r--r--patches/server/0411-Optimise-getType-calls.patch (renamed from patches/server/0412-Optimise-getType-calls.patch)0
-rw-r--r--patches/server/0412-Villager-resetOffers.patch (renamed from patches/server/0413-Villager-resetOffers.patch)0
-rw-r--r--patches/server/0413-Retain-block-place-order-when-capturing-blockstates.patch (renamed from patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch)0
-rw-r--r--patches/server/0414-Fix-item-locations-dropped-from-campfires.patch (renamed from patches/server/0415-Fix-item-locations-dropped-from-campfires.patch)0
-rw-r--r--patches/server/0415-Fix-bell-block-entity-memory-leak.patch (renamed from patches/server/0416-Fix-bell-block-entity-memory-leak.patch)0
-rw-r--r--patches/server/0416-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch (renamed from patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch)0
-rw-r--r--patches/server/0417-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/server/0418-Add-getOfflinePlayerIfCached-String.patch)0
-rw-r--r--patches/server/0418-Add-ignore-discounts-API.patch (renamed from patches/server/0419-Add-ignore-discounts-API.patch)0
-rw-r--r--patches/server/0419-Toggle-for-removing-existing-dragon.patch (renamed from patches/server/0420-Toggle-for-removing-existing-dragon.patch)0
-rw-r--r--patches/server/0420-Fix-client-lag-on-advancement-loading.patch (renamed from patches/server/0421-Fix-client-lag-on-advancement-loading.patch)0
-rw-r--r--patches/server/0421-Item-no-age-no-player-pickup.patch (renamed from patches/server/0422-Item-no-age-no-player-pickup.patch)0
-rw-r--r--patches/server/0422-Beacon-API-custom-effect-ranges.patch (renamed from patches/server/0423-Beacon-API-custom-effect-ranges.patch)0
-rw-r--r--patches/server/0423-Add-API-for-quit-reason.patch (renamed from patches/server/0424-Add-API-for-quit-reason.patch)2
-rw-r--r--patches/server/0424-Add-Wandering-Trader-spawn-rate-config-options.patch (renamed from patches/server/0425-Add-Wandering-Trader-spawn-rate-config-options.patch)0
-rw-r--r--patches/server/0425-Add-Destroy-Speed-API.patch (renamed from patches/server/0426-Add-Destroy-Speed-API.patch)0
-rw-r--r--patches/server/0426-Fix-Player-spawnParticle-x-y-z-precision-loss.patch (renamed from patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch)0
-rw-r--r--patches/server/0427-Add-LivingEntity-clearActiveItem.patch (renamed from patches/server/0428-Add-LivingEntity-clearActiveItem.patch)0
-rw-r--r--patches/server/0428-Add-PlayerItemCooldownEvent.patch (renamed from patches/server/0429-Add-PlayerItemCooldownEvent.patch)0
-rw-r--r--patches/server/0429-Significantly-improve-performance-of-the-end-generat.patch (renamed from patches/server/0430-Significantly-improve-performance-of-the-end-generat.patch)0
-rw-r--r--patches/server/0430-More-lightning-API.patch (renamed from patches/server/0431-More-lightning-API.patch)0
-rw-r--r--patches/server/0431-Climbing-should-not-bypass-cramming-gamerule.patch (renamed from patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch)2
-rw-r--r--patches/server/0432-Add-missing-default-perms-for-commands.patch (renamed from patches/server/0433-Add-missing-default-perms-for-commands.patch)0
-rw-r--r--patches/server/0433-Add-PlayerShearBlockEvent.patch (renamed from patches/server/0434-Add-PlayerShearBlockEvent.patch)0
-rw-r--r--patches/server/0434-Limit-recipe-packets.patch (renamed from patches/server/0435-Limit-recipe-packets.patch)0
-rw-r--r--patches/server/0435-Fix-CraftSound-backwards-compatibility.patch (renamed from patches/server/0436-Fix-CraftSound-backwards-compatibility.patch)0
-rw-r--r--patches/server/0436-Player-Chunk-Load-Unload-Events.patch (renamed from patches/server/0437-Player-Chunk-Load-Unload-Events.patch)0
-rw-r--r--patches/server/0437-Optimize-Dynamic-get-Missing-Keys.patch (renamed from patches/server/0438-Optimize-Dynamic-get-Missing-Keys.patch)0
-rw-r--r--patches/server/0438-Expose-LivingEntity-hurt-direction.patch (renamed from patches/server/0439-Expose-LivingEntity-hurt-direction.patch)0
-rw-r--r--patches/server/0439-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/server/0440-Add-OBSTRUCTED-reason-to-BedEnterResult.patch)0
-rw-r--r--patches/server/0440-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch (renamed from patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch)0
-rw-r--r--patches/server/0441-Add-TargetHitEvent.patch (renamed from patches/server/0442-Add-TargetHitEvent.patch)0
-rw-r--r--patches/server/0442-MC-4-Fix-item-position-desync.patch (renamed from patches/server/0443-MC-4-Fix-item-position-desync.patch)2
-rw-r--r--patches/server/0443-Additional-Block-Material-API.patch (renamed from patches/server/0444-Additional-Block-Material-API.patch)0
-rw-r--r--patches/server/0444-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/server/0445-API-to-get-Material-from-Boats-and-Minecarts.patch)0
-rw-r--r--patches/server/0445-Allow-disabling-mob-spawner-spawn-egg-transformation.patch (renamed from patches/server/0446-Allow-disabling-mob-spawner-spawn-egg-transformation.patch)0
-rw-r--r--patches/server/0446-Fix-Not-a-string-Map-Conversion-spam.patch (renamed from patches/server/0447-Fix-Not-a-string-Map-Conversion-spam.patch)0
-rw-r--r--patches/server/0447-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/server/0448-Add-PlayerFlowerPotManipulateEvent.patch)0
-rw-r--r--patches/server/0448-Fix-interact-event-not-being-called-sometimes.patch (renamed from patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch)0
-rw-r--r--patches/server/0449-Zombie-API-breaking-doors.patch (renamed from patches/server/0450-Zombie-API-breaking-doors.patch)0
-rw-r--r--patches/server/0450-Fix-nerfed-slime-when-splitting.patch (renamed from patches/server/0451-Fix-nerfed-slime-when-splitting.patch)0
-rw-r--r--patches/server/0451-Add-EntityLoadCrossbowEvent.patch (renamed from patches/server/0452-Add-EntityLoadCrossbowEvent.patch)0
-rw-r--r--patches/server/0452-Add-WorldGameRuleChangeEvent.patch (renamed from patches/server/0453-Add-WorldGameRuleChangeEvent.patch)0
-rw-r--r--patches/server/0453-Add-ServerResourcesReloadedEvent.patch (renamed from patches/server/0454-Add-ServerResourcesReloadedEvent.patch)0
-rw-r--r--patches/server/0454-Add-world-settings-for-mobs-picking-up-loot.patch (renamed from patches/server/0455-Add-world-settings-for-mobs-picking-up-loot.patch)0
-rw-r--r--patches/server/0455-Add-BlockFailedDispenseEvent.patch (renamed from patches/server/0456-Add-BlockFailedDispenseEvent.patch)0
-rw-r--r--patches/server/0456-Add-PlayerLecternPageChangeEvent.patch (renamed from patches/server/0457-Add-PlayerLecternPageChangeEvent.patch)0
-rw-r--r--patches/server/0457-Add-PlayerLoomPatternSelectEvent.patch (renamed from patches/server/0458-Add-PlayerLoomPatternSelectEvent.patch)0
-rw-r--r--patches/server/0458-Configurable-door-breaking-difficulty.patch (renamed from patches/server/0459-Configurable-door-breaking-difficulty.patch)0
-rw-r--r--patches/server/0459-Empty-commands-shall-not-be-dispatched.patch (renamed from patches/server/0460-Empty-commands-shall-not-be-dispatched.patch)0
-rw-r--r--patches/server/0460-Remove-stale-POIs.patch (renamed from patches/server/0461-Remove-stale-POIs.patch)0
-rw-r--r--patches/server/0461-Fix-villager-boat-exploit.patch (renamed from patches/server/0462-Fix-villager-boat-exploit.patch)0
-rw-r--r--patches/server/0462-Add-sendOpLevel-API.patch (renamed from patches/server/0463-Add-sendOpLevel-API.patch)0
-rw-r--r--patches/server/0463-Add-RegistryAccess-for-managing-Registries.patch (renamed from patches/server/0464-Add-RegistryAccess-for-managing-Registries.patch)0
-rw-r--r--patches/server/0464-Add-StructuresLocateEvent.patch (renamed from patches/server/0465-Add-StructuresLocateEvent.patch)0
-rw-r--r--patches/server/0465-Collision-option-for-requiring-a-player-participant.patch (renamed from patches/server/0466-Collision-option-for-requiring-a-player-participant.patch)2
-rw-r--r--patches/server/0466-Return-chat-component-with-empty-text-instead-of-thr.patch (renamed from patches/server/0467-Return-chat-component-with-empty-text-instead-of-thr.patch)0
-rw-r--r--patches/server/0467-Make-schedule-command-per-world.patch (renamed from patches/server/0468-Make-schedule-command-per-world.patch)0
-rw-r--r--patches/server/0468-Configurable-max-leash-distance.patch (renamed from patches/server/0469-Configurable-max-leash-distance.patch)0
-rw-r--r--patches/server/0469-Add-BlockPreDispenseEvent.patch (renamed from patches/server/0470-Add-BlockPreDispenseEvent.patch)0
-rw-r--r--patches/server/0470-Add-PlayerChangeBeaconEffectEvent.patch (renamed from patches/server/0471-Add-PlayerChangeBeaconEffectEvent.patch)0
-rw-r--r--patches/server/0471-Add-toggle-for-always-placing-the-dragon-egg.patch (renamed from patches/server/0472-Add-toggle-for-always-placing-the-dragon-egg.patch)0
-rw-r--r--patches/server/0472-Add-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/server/0473-Add-PlayerStonecutterRecipeSelectEvent.patch)0
-rw-r--r--patches/server/0473-Expand-EntityUnleashEvent.patch (renamed from patches/server/0474-Expand-EntityUnleashEvent.patch)2
-rw-r--r--patches/server/0474-Reset-shield-blocking-on-dimension-change.patch (renamed from patches/server/0475-Reset-shield-blocking-on-dimension-change.patch)2
-rw-r--r--patches/server/0475-Add-DragonEggFormEvent.patch (renamed from patches/server/0476-Add-DragonEggFormEvent.patch)0
-rw-r--r--patches/server/0476-Add-EntityMoveEvent.patch (renamed from patches/server/0477-Add-EntityMoveEvent.patch)2
-rw-r--r--patches/server/0477-added-option-to-disable-pathfinding-updates-on-block.patch (renamed from patches/server/0478-added-option-to-disable-pathfinding-updates-on-block.patch)2
-rw-r--r--patches/server/0478-Inline-shift-direction-fields.patch (renamed from patches/server/0479-Inline-shift-direction-fields.patch)0
-rw-r--r--patches/server/0479-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/server/0480-Allow-adding-items-to-BlockDropItemEvent.patch)0
-rw-r--r--patches/server/0480-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/server/0481-Add-getMainThreadExecutor-to-BukkitScheduler.patch)0
-rw-r--r--patches/server/0481-living-entity-allow-attribute-registration.patch (renamed from patches/server/0482-living-entity-allow-attribute-registration.patch)0
-rw-r--r--patches/server/0482-fix-dead-slime-setSize-invincibility.patch (renamed from patches/server/0483-fix-dead-slime-setSize-invincibility.patch)0
-rw-r--r--patches/server/0483-Merchant-getRecipes-should-return-an-immutable-list.patch (renamed from patches/server/0484-Merchant-getRecipes-should-return-an-immutable-list.patch)0
-rw-r--r--patches/server/0484-Expose-Tracked-Players.patch (renamed from patches/server/0485-Expose-Tracked-Players.patch)0
-rw-r--r--patches/server/0485-Improve-ServerGUI.patch (renamed from patches/server/0486-Improve-ServerGUI.patch)0
-rw-r--r--patches/server/0486-fix-converting-txt-to-json-file.patch (renamed from patches/server/0487-fix-converting-txt-to-json-file.patch)0
-rw-r--r--patches/server/0487-Add-worldborder-events.patch (renamed from patches/server/0488-Add-worldborder-events.patch)0
-rw-r--r--patches/server/0488-Add-PlayerNameEntityEvent.patch (renamed from patches/server/0489-Add-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/server/0489-Add-recipe-to-cook-events.patch (renamed from patches/server/0490-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/server/0490-Add-Block-isValidTool.patch (renamed from patches/server/0491-Add-Block-isValidTool.patch)0
-rw-r--r--patches/server/0491-Allow-using-signs-inside-spawn-protection.patch (renamed from patches/server/0492-Allow-using-signs-inside-spawn-protection.patch)0
-rw-r--r--patches/server/0492-Expand-world-key-API.patch (renamed from patches/server/0493-Expand-world-key-API.patch)0
-rw-r--r--patches/server/0493-Add-fast-alternative-constructor-for-Rotations.patch (renamed from patches/server/0494-Add-fast-alternative-constructor-for-Rotations.patch)0
-rw-r--r--patches/server/0494-Drop-carried-item-when-player-has-disconnected.patch (renamed from patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch)0
-rw-r--r--patches/server/0495-forced-whitelist-use-configurable-kick-message.patch (renamed from patches/server/0496-forced-whitelist-use-configurable-kick-message.patch)0
-rw-r--r--patches/server/0496-Don-t-ignore-result-of-PlayerEditBookEvent.patch (renamed from patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch)0
-rw-r--r--patches/server/0497-Expose-protocol-version.patch (renamed from patches/server/0498-Expose-protocol-version.patch)0
-rw-r--r--patches/server/0498-Enhance-console-tab-completions-for-brigadier-comman.patch (renamed from patches/server/0499-Enhance-console-tab-completions-for-brigadier-comman.patch)0
-rw-r--r--patches/server/0499-Fix-PlayerItemConsumeEvent-cancelling-properly.patch (renamed from patches/server/0500-Fix-PlayerItemConsumeEvent-cancelling-properly.patch)0
-rw-r--r--patches/server/0500-Add-bypass-host-check.patch (renamed from patches/server/0501-Add-bypass-host-check.patch)0
-rw-r--r--patches/server/0501-Set-area-affect-cloud-rotation.patch (renamed from patches/server/0502-Set-area-affect-cloud-rotation.patch)0
-rw-r--r--patches/server/0502-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/server/0503-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/server/0503-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/server/0504-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/server/0504-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/server/0505-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/server/0505-fix-PigZombieAngerEvent-cancellation.patch (renamed from patches/server/0506-fix-PigZombieAngerEvent-cancellation.patch)0
-rw-r--r--patches/server/0506-fix-PlayerItemHeldEvent-firing-twice.patch (renamed from patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch)0
-rw-r--r--patches/server/0507-Add-PlayerDeepSleepEvent.patch (renamed from patches/server/0508-Add-PlayerDeepSleepEvent.patch)0
-rw-r--r--patches/server/0508-More-World-API.patch (renamed from patches/server/0509-More-World-API.patch)0
-rw-r--r--patches/server/0509-Add-PlayerBedFailEnterEvent.patch (renamed from patches/server/0510-Add-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/server/0510-Implement-methods-to-convert-between-Component-and-B.patch (renamed from patches/server/0511-Implement-methods-to-convert-between-Component-and-B.patch)0
-rw-r--r--patches/server/0511-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch (renamed from patches/server/0512-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch)2
-rw-r--r--patches/server/0512-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/server/0513-Introduce-beacon-activation-deactivation-events.patch)0
-rw-r--r--patches/server/0513-Add-Channel-initialization-listeners.patch (renamed from patches/server/0514-Add-Channel-initialization-listeners.patch)0
-rw-r--r--patches/server/0514-Send-empty-commands-if-tab-completion-is-disabled.patch (renamed from patches/server/0515-Send-empty-commands-if-tab-completion-is-disabled.patch)0
-rw-r--r--patches/server/0515-Add-more-WanderingTrader-API.patch (renamed from patches/server/0516-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/server/0516-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/server/0517-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/server/0517-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/server/0518-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/server/0518-Add-HiddenPotionEffect-API.patch (renamed from patches/server/0519-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/server/0519-Inventory-close.patch (renamed from patches/server/0520-Inventory-close.patch)0
-rw-r--r--patches/server/0520-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/server/0521-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/server/0521-Add-basic-Datapack-API.patch (renamed from patches/server/0522-Add-basic-Datapack-API.patch)0
-rw-r--r--patches/server/0522-Add-environment-variable-to-disable-server-gui.patch (renamed from patches/server/0523-Add-environment-variable-to-disable-server-gui.patch)0
-rw-r--r--patches/server/0523-Expand-PlayerGameModeChangeEvent.patch (renamed from patches/server/0524-Expand-PlayerGameModeChangeEvent.patch)2
-rw-r--r--patches/server/0524-ItemStack-repair-check-API.patch (renamed from patches/server/0525-ItemStack-repair-check-API.patch)0
-rw-r--r--patches/server/0525-More-Enchantment-API.patch (renamed from patches/server/0526-More-Enchantment-API.patch)0
-rw-r--r--patches/server/0526-Move-range-check-for-block-placing-up.patch (renamed from patches/server/0527-Move-range-check-for-block-placing-up.patch)0
-rw-r--r--patches/server/0527-Add-Mob-lookAt-API.patch (renamed from patches/server/0528-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/server/0528-Correctly-check-if-bucket-dispenses-will-succeed-for.patch (renamed from patches/server/0529-Correctly-check-if-bucket-dispenses-will-succeed-for.patch)0
-rw-r--r--patches/server/0529-Add-Unix-domain-socket-support.patch (renamed from patches/server/0530-Add-Unix-domain-socket-support.patch)0
-rw-r--r--patches/server/0530-Add-EntityInsideBlockEvent.patch (renamed from patches/server/0531-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/server/0531-Improve-item-default-attribute-API.patch (renamed from patches/server/0532-Improve-item-default-attribute-API.patch)0
-rw-r--r--patches/server/0532-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/server/0533-Add-cause-to-Weather-ThunderChangeEvents.patch)2
-rw-r--r--patches/server/0533-More-Lidded-Block-API.patch (renamed from patches/server/0534-More-Lidded-Block-API.patch)0
-rw-r--r--patches/server/0534-Limit-item-frame-cursors-on-maps.patch (renamed from patches/server/0535-Limit-item-frame-cursors-on-maps.patch)0
-rw-r--r--patches/server/0535-Add-PlayerKickEvent-causes.patch (renamed from patches/server/0536-Add-PlayerKickEvent-causes.patch)0
-rw-r--r--patches/server/0536-Add-PufferFishStateChangeEvent.patch (renamed from patches/server/0537-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/server/0537-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (renamed from patches/server/0538-Fix-PlayerBucketEmptyEvent-result-itemstack.patch)0
-rw-r--r--patches/server/0538-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (renamed from patches/server/0539-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch)0
-rw-r--r--patches/server/0539-Add-option-to-fix-items-merging-through-walls.patch (renamed from patches/server/0540-Add-option-to-fix-items-merging-through-walls.patch)0
-rw-r--r--patches/server/0540-Add-BellRevealRaiderEvent.patch (renamed from patches/server/0541-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/server/0541-Fix-invulnerable-end-crystals.patch (renamed from patches/server/0542-Fix-invulnerable-end-crystals.patch)0
-rw-r--r--patches/server/0542-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/server/0543-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/server/0543-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from patches/server/0544-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch)0
-rw-r--r--patches/server/0544-Line-Of-Sight-Changes.patch (renamed from patches/server/0545-Line-Of-Sight-Changes.patch)0
-rw-r--r--patches/server/0545-add-per-world-spawn-limits.patch (renamed from patches/server/0546-add-per-world-spawn-limits.patch)0
-rw-r--r--patches/server/0546-Fix-potions-splash-events.patch (renamed from patches/server/0547-Fix-potions-splash-events.patch)0
-rw-r--r--patches/server/0547-Add-more-LimitedRegion-API.patch (renamed from patches/server/0548-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/server/0548-Fix-PlayerDropItemEvent-using-wrong-item.patch (renamed from patches/server/0549-Fix-PlayerDropItemEvent-using-wrong-item.patch)2
-rw-r--r--patches/server/0549-Missing-Entity-API.patch (renamed from patches/server/0550-Missing-Entity-API.patch)2
-rw-r--r--patches/server/0550-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (renamed from patches/server/0551-Fix-return-value-of-Block-applyBoneMeal-always-being.patch)0
-rw-r--r--patches/server/0551-Use-getChunkIfLoadedImmediately-in-places.patch (renamed from patches/server/0552-Use-getChunkIfLoadedImmediately-in-places.patch)2
-rw-r--r--patches/server/0552-Fix-commands-from-signs-not-firing-command-events.patch (renamed from patches/server/0553-Fix-commands-from-signs-not-firing-command-events.patch)0
-rw-r--r--patches/server/0553-Add-PlayerArmSwingEvent.patch (renamed from patches/server/0554-Add-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/server/0554-Fix-kick-event-leave-message-not-being-sent.patch (renamed from patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch)2
-rw-r--r--patches/server/0555-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0556-Don-t-apply-cramming-damage-to-players.patch)2
-rw-r--r--patches/server/0556-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0557-Rate-options-and-timings-for-sensors-and-behaviors.patch)0
-rw-r--r--patches/server/0557-Add-missing-forceDrop-toggles.patch (renamed from patches/server/0558-Add-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0558-Stinger-API.patch (renamed from patches/server/0559-Stinger-API.patch)0
-rw-r--r--patches/server/0559-Add-System.out-err-catcher.patch (renamed from patches/server/0560-Add-System.out-err-catcher.patch)0
-rw-r--r--patches/server/0560-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch)0
-rw-r--r--patches/server/0561-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0562-Allow-skipping-writing-of-comments-to-server.propert.patch)0
-rw-r--r--patches/server/0562-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0563-Add-PlayerSetSpawnEvent.patch)2
-rw-r--r--patches/server/0563-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0564-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0564-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0565-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0565-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0566-Config-option-for-Piglins-guarding-chests.patch)0
-rw-r--r--patches/server/0566-Add-EntityDamageItemEvent.patch (renamed from patches/server/0567-Add-EntityDamageItemEvent.patch)0
-rw-r--r--patches/server/0567-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0568-Optimize-indirect-passenger-iteration.patch)2
-rw-r--r--patches/server/0568-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0569-Configurable-item-frame-map-cursor-update-interval.patch)0
-rw-r--r--patches/server/0569-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0570-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0570-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0571-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0571-Option-to-prevent-data-components-copy-in-smithing-r.patch (renamed from patches/server/0572-Option-to-prevent-data-components-copy-in-smithing-r.patch)0
-rw-r--r--patches/server/0572-More-CommandBlock-API.patch (renamed from patches/server/0573-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0573-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0574-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0574-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0575-Add-back-EntityPortalExitEvent.patch)2
-rw-r--r--patches/server/0575-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0576-Add-methods-to-find-targets-for-lightning-strikes.patch)2
-rw-r--r--patches/server/0576-Get-entity-default-attributes.patch (renamed from patches/server/0577-Get-entity-default-attributes.patch)0
-rw-r--r--patches/server/0577-Left-handed-API.patch (renamed from patches/server/0578-Left-handed-API.patch)0
-rw-r--r--patches/server/0578-Add-more-advancement-API.patch (renamed from patches/server/0579-Add-more-advancement-API.patch)0
-rw-r--r--patches/server/0579-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0580-Add-ItemFactory-getSpawnEgg-API.patch)0
-rw-r--r--patches/server/0580-Add-critical-damage-API.patch (renamed from patches/server/0581-Add-critical-damage-API.patch)2
-rw-r--r--patches/server/0581-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0582-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0582-Add-hasCollision-methods-to-various-places.patch (renamed from patches/server/0583-Add-hasCollision-methods-to-various-places.patch)0
-rw-r--r--patches/server/0583-Goat-ram-API.patch (renamed from patches/server/0584-Goat-ram-API.patch)0
-rw-r--r--patches/server/0584-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0585-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0585-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0586-Add-Raw-Byte-Entity-Serialization.patch)2
-rw-r--r--patches/server/0586-Vanilla-command-permission-fixes.patch (renamed from patches/server/0587-Vanilla-command-permission-fixes.patch)0
-rw-r--r--patches/server/0587-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0588-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)4
-rw-r--r--patches/server/0588-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0589-Fix-GameProfileCache-concurrency.patch)0
-rw-r--r--patches/server/0589-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0590-Improve-and-expand-AsyncCatcher.patch)0
-rw-r--r--patches/server/0590-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0591-Add-paper-mobcaps-and-paper-playermobcaps.patch)0
-rw-r--r--patches/server/0591-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0592-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0592-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0593-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0593-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0594-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0594-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0595-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)0
-rw-r--r--patches/server/0595-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0596-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0596-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch (renamed from patches/server/0597-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch)0
-rw-r--r--patches/server/0597-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0598-Oprimise-map-impl-for-tracked-players.patch)0
-rw-r--r--patches/server/0598-Add-missing-InventoryType.patch (renamed from patches/server/0599-Add-missing-InventoryType.patch)0
-rw-r--r--patches/server/0599-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0600-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0600-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0601-Fix-merchant-inventory-not-closing-on-entity-removal.patch)0
-rw-r--r--patches/server/0601-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0602-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0602-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0603-Add-packet-limiter-config.patch (renamed from patches/server/0604-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0604-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0605-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0605-Ensure-valid-vehicle-status.patch (renamed from patches/server/0606-Ensure-valid-vehicle-status.patch)2
-rw-r--r--patches/server/0606-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0607-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0607-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0608-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0608-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0609-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0609-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0610-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0610-Preserve-overstacked-loot.patch (renamed from patches/server/0611-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0611-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0612-Update-head-rotation-in-missing-places.patch)2
-rw-r--r--patches/server/0612-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0613-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0613-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0614-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0614-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0615-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0615-Configurable-feature-seeds.patch (renamed from patches/server/0616-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0616-Add-root-admin-user-detection.patch (renamed from patches/server/0617-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0617-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0618-don-t-attempt-to-teleport-dead-entities.patch)2
-rw-r--r--patches/server/0618-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0619-Prevent-excessive-velocity-through-repeated-crits.patch)0
-rw-r--r--patches/server/0619-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0620-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0620-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0621-Fix-Spigot-growth-modifiers.patch)0
-rw-r--r--patches/server/0621-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0622-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0622-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0623-Add-PlayerItemFrameChangeEvent.patch)2
-rw-r--r--patches/server/0623-Optimize-HashMapPalette.patch (renamed from patches/server/0624-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0624-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0625-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)0
-rw-r--r--patches/server/0625-Add-more-Campfire-API.patch (renamed from patches/server/0626-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0626-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0627-Forward-CraftEntity-in-teleport-command.patch)2
-rw-r--r--patches/server/0627-Improve-scoreboard-entries.patch (renamed from patches/server/0628-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/server/0628-Entity-powdered-snow-API.patch (renamed from patches/server/0629-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/server/0629-Add-API-for-item-entity-health.patch (renamed from patches/server/0630-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/server/0630-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0631-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0631-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0632-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0632-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0633-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0633-Bucketable-API.patch (renamed from patches/server/0634-Bucketable-API.patch)0
-rw-r--r--patches/server/0634-Validate-usernames.patch (renamed from patches/server/0635-Validate-usernames.patch)0
-rw-r--r--patches/server/0635-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0636-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0636-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0637-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)2
-rw-r--r--patches/server/0637-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0638-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0638-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (renamed from patches/server/0639-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch)0
-rw-r--r--patches/server/0639-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0640-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0640-Reset-placed-block-on-exception.patch (renamed from patches/server/0641-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0641-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0642-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0642-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0643-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0643-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0644-Multi-Block-Change-API-Implementation.patch)0
-rw-r--r--patches/server/0644-Fix-NotePlayEvent.patch (renamed from patches/server/0645-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0645-Freeze-Tick-Lock-API.patch (renamed from patches/server/0646-Freeze-Tick-Lock-API.patch)2
-rw-r--r--patches/server/0646-More-PotionEffectType-API.patch (renamed from patches/server/0647-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0647-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0648-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0648-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0649-API-for-creating-command-sender-which-forwards-feedb.patch)0
-rw-r--r--patches/server/0649-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0650-Add-missing-structure-set-seed-configs.patch)0
-rw-r--r--patches/server/0650-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0651-Fix-cancelled-powdered-snow-bucket-placement.patch)0
-rw-r--r--patches/server/0651-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0652-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)0
-rw-r--r--patches/server/0652-Add-GameEvent-tags.patch (renamed from patches/server/0653-Add-GameEvent-tags.patch)0
-rw-r--r--patches/server/0653-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0654-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)0
-rw-r--r--patches/server/0654-Furnace-RecipesUsed-API.patch (renamed from patches/server/0655-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0655-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0656-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0656-Add-missing-block-data-API.patch (renamed from patches/server/0657-Add-missing-block-data-API.patch)0
-rw-r--r--patches/server/0657-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0658-Option-to-have-default-CustomSpawners-in-custom-worl.patch)0
-rw-r--r--patches/server/0658-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0659-Put-world-into-worldlist-before-initing-the-world.patch)0
-rw-r--r--patches/server/0659-Custom-Potion-Mixes.patch (renamed from patches/server/0660-Custom-Potion-Mixes.patch)0
-rw-r--r--patches/server/0660-Force-close-world-loading-screen.patch (renamed from patches/server/0661-Force-close-world-loading-screen.patch)0
-rw-r--r--patches/server/0661-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0662-Fix-falling-block-spawn-methods.patch)0
-rw-r--r--patches/server/0662-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0663-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0663-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0664-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)2
-rw-r--r--patches/server/0664-More-Projectile-API.patch (renamed from patches/server/0665-More-Projectile-API.patch)0
-rw-r--r--patches/server/0665-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0666-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch)0
-rw-r--r--patches/server/0667-Implement-getComputedBiome-API.patch (renamed from patches/server/0668-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0668-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0669-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0669-Implement-enchantWithLevels-API.patch (renamed from patches/server/0670-Implement-enchantWithLevels-API.patch)0
-rw-r--r--patches/server/0670-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0671-Fix-saving-in-unloadWorld.patch)0
-rw-r--r--patches/server/0671-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0672-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0672-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0673-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0673-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0674-Fix-new-block-data-for-EntityChangeBlockEvent.patch)0
-rw-r--r--patches/server/0674-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0675-fix-player-loottables-running-when-mob-loot-gamerule.patch)2
-rw-r--r--patches/server/0675-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0676-Ensure-entity-passenger-world-matches-ridden-entity.patch)2
-rw-r--r--patches/server/0676-Cache-resource-keys-and-optimize-reference-Holder-ta.patch (renamed from patches/server/0677-Cache-resource-keys-and-optimize-reference-Holder-ta.patch)0
-rw-r--r--patches/server/0677-Allow-changing-the-EnderDragon-podium.patch (renamed from patches/server/0678-Allow-changing-the-EnderDragon-podium.patch)0
-rw-r--r--patches/server/0678-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0679-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0679-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch)0
-rw-r--r--patches/server/0680-Expand-PlayerItemDamageEvent.patch (renamed from patches/server/0681-Expand-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/server/0681-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0682-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/server/0682-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0683-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0683-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0684-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)0
-rw-r--r--patches/server/0684-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0685-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0685-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0686-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0686-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0687-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0687-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0688-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/server/0688-Don-t-tick-markers.patch (renamed from patches/server/0689-Don-t-tick-markers.patch)0
-rw-r--r--patches/server/0689-Expand-FallingBlock-API.patch (renamed from patches/server/0690-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/server/0690-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0691-Add-support-for-Proxy-Protocol.patch)0
-rw-r--r--patches/server/0691-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0692-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0692-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0693-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0693-Sanitize-sent-BlockEntity-NBT.patch (renamed from patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0694-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0695-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0695-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch)2
-rw-r--r--patches/server/0696-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch)0
-rw-r--r--patches/server/0697-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0698-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0698-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0699-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0699-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0700-Add-option-for-strict-advancement-dimension-checks.patch)2
-rw-r--r--patches/server/0700-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0701-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0701-Nameable-Banner-API.patch (renamed from patches/server/0702-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0702-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0703-Don-t-broadcast-messages-to-command-blocks.patch)0
-rw-r--r--patches/server/0703-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch)2
-rw-r--r--patches/server/0704-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0705-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0705-Add-Player-getFishHook.patch (renamed from patches/server/0706-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0706-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0707-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0707-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch)2
-rw-r--r--patches/server/0708-Fix-Bee-flower-NPE.patch (renamed from patches/server/0709-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0709-More-Teleport-API.patch (renamed from patches/server/0710-More-Teleport-API.patch)0
-rw-r--r--patches/server/0710-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0711-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/server/0711-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0712-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0713-Send-block-entities-after-destroy-prediction.patch)0
-rw-r--r--patches/server/0713-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch)0
-rw-r--r--patches/server/0714-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch)0
-rw-r--r--patches/server/0715-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0716-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0716-Collision-API.patch (renamed from patches/server/0717-Collision-API.patch)0
-rw-r--r--patches/server/0717-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0718-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0718-Block-Ticking-API.patch (renamed from patches/server/0719-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0719-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0720-Add-Velocity-IP-Forwarding-Support.patch)0
-rw-r--r--patches/server/0720-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0721-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/server/0721-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch)0
-rw-r--r--patches/server/0722-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0723-Stop-large-look-changes-from-crashing-the-server.patch)0
-rw-r--r--patches/server/0723-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch)0
-rw-r--r--patches/server/0724-Missing-eating-regain-reason.patch (renamed from patches/server/0725-Missing-eating-regain-reason.patch)0
-rw-r--r--patches/server/0725-Missing-effect-cause.patch (renamed from patches/server/0726-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0726-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0727-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0727-Add-source-block-to-BlockPhysicsEvent.patch (renamed from patches/server/0728-Add-source-block-to-BlockPhysicsEvent.patch)0
-rw-r--r--patches/server/0728-Configurable-chat-thread-limit.patch (renamed from patches/server/0729-Configurable-chat-thread-limit.patch)0
-rw-r--r--patches/server/0729-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0730-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0730-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0731-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0731-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0732-use-BlockFormEvent-for-mud-converting-into-clay.patch)0
-rw-r--r--patches/server/0732-Add-getDrops-to-BlockState.patch (renamed from patches/server/0733-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0733-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch)4
-rw-r--r--patches/server/0734-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch)0
-rw-r--r--patches/server/0735-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0736-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0736-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0737-EntityPickupItemEvent-fixes.patch)0
-rw-r--r--patches/server/0737-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0738-Correctly-handle-interactions-with-items-on-cooldown.patch)0
-rw-r--r--patches/server/0738-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch)2
-rw-r--r--patches/server/0739-Elder-Guardian-appearance-API.patch (renamed from patches/server/0740-Elder-Guardian-appearance-API.patch)0
-rw-r--r--patches/server/0740-Add-entity-knockback-API.patch (renamed from patches/server/0741-Add-entity-knockback-API.patch)0
-rw-r--r--patches/server/0741-Detect-headless-JREs.patch (renamed from patches/server/0742-Detect-headless-JREs.patch)0
-rw-r--r--patches/server/0742-fix-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0743-fix-entity-vehicle-collision-event-not-called.patch)0
-rw-r--r--patches/server/0743-Add-EntityToggleSitEvent.patch (renamed from patches/server/0744-Add-EntityToggleSitEvent.patch)0
-rw-r--r--patches/server/0744-Add-fire-tick-delay-option.patch (renamed from patches/server/0745-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0745-Add-Moving-Piston-API.patch (renamed from patches/server/0746-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0746-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0747-Ignore-impossible-spawn-tick.patch)0
-rw-r--r--patches/server/0747-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch (renamed from patches/server/0748-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch)0
-rw-r--r--patches/server/0748-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)2
-rw-r--r--patches/server/0749-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0750-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/server/0750-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0751-ensure-reset-EnderDragon-boss-event-name.patch)0
-rw-r--r--patches/server/0751-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0752-Add-Player-Warden-Warning-API.patch)0
-rw-r--r--patches/server/0752-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0753-Add-paper-dumplisteners-command.patch (renamed from patches/server/0754-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0754-check-global-player-list-where-appropriate.patch (renamed from patches/server/0755-check-global-player-list-where-appropriate.patch)0
-rw-r--r--patches/server/0755-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0756-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0756-ItemStack-damage-API.patch (renamed from patches/server/0757-ItemStack-damage-API.patch)0
-rw-r--r--patches/server/0757-Friction-API.patch (renamed from patches/server/0758-Friction-API.patch)0
-rw-r--r--patches/server/0758-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0759-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0759-Fix-premature-player-kicks-on-shutdown.patch (renamed from patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch)0
-rw-r--r--patches/server/0760-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0761-Sync-offhand-slot-in-menus.patch)2
-rw-r--r--patches/server/0761-Player-Entity-Tracking-Events.patch (renamed from patches/server/0762-Player-Entity-Tracking-Events.patch)2
-rw-r--r--patches/server/0762-Limit-pet-look-distance.patch (renamed from patches/server/0763-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0763-fix-Instruments.patch (renamed from patches/server/0764-fix-Instruments.patch)0
-rw-r--r--patches/server/0764-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0765-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0765-Add-BlockLockCheckEvent.patch (renamed from patches/server/0766-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/server/0766-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0767-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/server/0767-Improve-logging-and-errors.patch (renamed from patches/server/0768-Improve-logging-and-errors.patch)0
-rw-r--r--patches/server/0768-Improve-PortalEvents.patch (renamed from patches/server/0769-Improve-PortalEvents.patch)4
-rw-r--r--patches/server/0769-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0770-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0770-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0771-Add-missing-SpigotConfig-logCommands-check.patch)0
-rw-r--r--patches/server/0771-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0772-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0772-Flying-Fall-Damage.patch (renamed from patches/server/0773-Flying-Fall-Damage.patch)0
-rw-r--r--patches/server/0773-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)2
-rw-r--r--patches/server/0774-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0775-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0775-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0776-Use-single-player-info-update-packet-on-join.patch)0
-rw-r--r--patches/server/0776-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch)0
-rw-r--r--patches/server/0777-Win-Screen-API.patch (renamed from patches/server/0778-Win-Screen-API.patch)0
-rw-r--r--patches/server/0778-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0779-Remove-CraftItemStack-setAmount-null-assignment.patch)0
-rw-r--r--patches/server/0779-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0780-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0780-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0781-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/server/0781-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0782-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0783-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/server/0783-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0784-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0784-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0785-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0786-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0786-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch)0
-rw-r--r--patches/server/0787-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0788-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0788-Fix-inventories-returning-null-Locations.patch (renamed from patches/server/0789-Fix-inventories-returning-null-Locations.patch)0
-rw-r--r--patches/server/0789-Add-Shearable-API.patch (renamed from patches/server/0790-Add-Shearable-API.patch)0
-rw-r--r--patches/server/0790-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0791-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0791-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0792-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0793-Treat-sequence-violations-like-they-should-be.patch)0
-rw-r--r--patches/server/0793-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch)0
-rw-r--r--patches/server/0794-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)2
-rw-r--r--patches/server/0795-Use-array-for-gamerule-storage.patch (renamed from patches/server/0796-Use-array-for-gamerule-storage.patch)0
-rw-r--r--patches/server/0796-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch)0
-rw-r--r--patches/server/0797-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0798-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0799-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/server/0799-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0800-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0800-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0801-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0801-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0802-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0802-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0803-Expand-PlayerItemMendEvent.patch)0
-rw-r--r--patches/server/0803-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch)2
-rw-r--r--patches/server/0804-Add-transient-modifier-API.patch (renamed from patches/server/0805-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0805-Fix-block-place-logic.patch (renamed from patches/server/0806-Fix-block-place-logic.patch)0
-rw-r--r--patches/server/0806-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)0
-rw-r--r--patches/server/0807-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0808-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0808-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0809-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)0
-rw-r--r--patches/server/0809-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0810-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0810-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0811-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0811-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/server/0812-Add-event-for-player-editing-sign.patch (renamed from patches/server/0813-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/server/0813-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch)0
-rw-r--r--patches/server/0814-Fix-cmd-permission-levels-for-command-blocks.patch (renamed from patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch)0
-rw-r--r--patches/server/0815-Add-option-to-disable-block-updates.patch (renamed from patches/server/0816-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0816-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0817-Call-missing-BlockDispenseEvent.patch)0
-rw-r--r--patches/server/0817-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch)2
-rw-r--r--patches/server/0818-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0819-Optimize-player-lookups-for-beacons.patch)0
-rw-r--r--patches/server/0819-More-Sign-Block-API.patch (renamed from patches/server/0820-More-Sign-Block-API.patch)0
-rw-r--r--patches/server/0820-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0821-fix-item-meta-for-tadpole-buckets.patch)0
-rw-r--r--patches/server/0821-Fix-BanList-API.patch (renamed from patches/server/0822-Fix-BanList-API.patch)0
-rw-r--r--patches/server/0822-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0823-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0823-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0824-Fix-possible-NPE-on-painting-creation.patch)0
-rw-r--r--patches/server/0824-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0825-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0825-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0826-ExperienceOrb-should-call-EntitySpawnEvent.patch)0
-rw-r--r--patches/server/0826-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0827-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0827-Add-whitelist-events.patch (renamed from patches/server/0828-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0828-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0829-Implement-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/server/0829-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0830-Folia-scheduler-and-owned-region-API.patch)2
-rw-r--r--patches/server/0830-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0831-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0831-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0832-Fix-rotation-when-spawning-display-entities.patch)0
-rw-r--r--patches/server/0832-Only-capture-actual-tree-growth.patch (renamed from patches/server/0833-Only-capture-actual-tree-growth.patch)0
-rw-r--r--patches/server/0833-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0834-Use-correct-source-for-mushroom-block-spread-event.patch)0
-rw-r--r--patches/server/0834-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch)0
-rw-r--r--patches/server/0835-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0836-Use-correct-seed-on-api-world-load.patch)0
-rw-r--r--patches/server/0836-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0837-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0837-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0838-Cache-map-ids-on-item-frames.patch)2
-rw-r--r--patches/server/0838-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0839-API-for-updating-recipes-on-clients.patch)0
-rw-r--r--patches/server/0839-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0840-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/server/0840-Bandaid-fix-for-Effect.patch (renamed from patches/server/0841-Bandaid-fix-for-Effect.patch)0
-rw-r--r--patches/server/0841-SculkCatalyst-bloom-API.patch (renamed from patches/server/0842-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0842-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0843-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/server/0843-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0844-Deprecate-and-replace-methods-with-old-StructureType.patch)0
-rw-r--r--patches/server/0844-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch)0
-rw-r--r--patches/server/0845-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0846-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0847-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0848-Configurable-entity-tracking-range-by-Y-coordinate.patch)0
-rw-r--r--patches/server/0848-Add-Listing-API-for-Player.patch (renamed from patches/server/0849-Add-Listing-API-for-Player.patch)0
-rw-r--r--patches/server/0849-Configurable-Region-Compression-Format.patch (renamed from patches/server/0850-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0850-Add-BlockFace-to-BlockDamageEvent.patch (renamed from patches/server/0851-Add-BlockFace-to-BlockDamageEvent.patch)0
-rw-r--r--patches/server/0851-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/0852-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/0852-Expand-Pose-API.patch (renamed from patches/server/0853-Expand-Pose-API.patch)2
-rw-r--r--patches/server/0853-More-DragonBattle-API.patch (renamed from patches/server/0854-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/0854-Add-PlayerPickItemEvent.patch (renamed from patches/server/0855-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/server/0855-Allow-trident-custom-damage.patch (renamed from patches/server/0856-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/server/0856-Expose-hand-in-BlockCanBuildEvent.patch (renamed from patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/0857-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/0858-Optimize-nearest-structure-border-iteration.patch)0
-rw-r--r--patches/server/0858-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/0859-Implement-OfflinePlayer-isConnected.patch)0
-rw-r--r--patches/server/0859-Fix-slot-desync.patch (renamed from patches/server/0860-Fix-slot-desync.patch)0
-rw-r--r--patches/server/0860-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch)2
-rw-r--r--patches/server/0861-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/0862-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/0862-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/0863-Do-crystal-portal-proximity-check-before-entity-look.patch)0
-rw-r--r--patches/server/0863-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/0864-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch)0
-rw-r--r--patches/server/0865-Call-BlockRedstoneEvents-properly.patch (renamed from patches/server/0866-Call-BlockRedstoneEvents-properly.patch)0
-rw-r--r--patches/server/0866-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/0867-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/server/0867-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/0868-Fix-silent-equipment-change-for-mobs.patch)0
-rw-r--r--patches/server/0868-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/0869-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/0869-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch)0
-rw-r--r--patches/server/0870-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/0871-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)0
-rw-r--r--patches/server/0871-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/0872-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/0872-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/0873-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/0873-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/0874-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/0874-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/0875-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/0875-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/0876-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/0876-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/0877-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/0877-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch)0
-rw-r--r--patches/server/0878-Add-player-idle-duration-API.patch (renamed from patches/server/0879-Add-player-idle-duration-API.patch)0
-rw-r--r--patches/server/0879-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/0880-Don-t-check-if-we-can-see-non-visible-entities.patch)0
-rw-r--r--patches/server/0880-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/0881-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/0881-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)0
-rw-r--r--patches/server/0882-Optimize-VarInts.patch (renamed from patches/server/0883-Optimize-VarInts.patch)0
-rw-r--r--patches/server/0883-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/server/0884-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch)0
-rw-r--r--patches/server/0885-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch)0
-rw-r--r--patches/server/0886-Expand-LingeringPotion-API.patch (renamed from patches/server/0887-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/server/0887-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)0
-rw-r--r--patches/server/0888-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/server/0889-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/0890-Fix-several-issues-with-EntityBreedEvent.patch)0
-rw-r--r--patches/server/0890-Add-UUID-attribute-modifier-API.patch (renamed from patches/server/0891-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/server/0891-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch)0
-rw-r--r--patches/server/0892-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/0893-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/0893-Don-t-fire-sync-events-during-worldgen.patch (renamed from patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch)4
-rw-r--r--patches/server/0894-Add-Structure-check-API.patch (renamed from patches/server/0895-Add-Structure-check-API.patch)0
-rw-r--r--patches/server/0895-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)0
-rw-r--r--patches/server/0896-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/0897-Restore-vanilla-entity-drops-behavior.patch)4
-rw-r--r--patches/server/0897-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/0898-Dont-resend-blocks-on-interactions.patch)0
-rw-r--r--patches/server/0898-add-more-scoreboard-API.patch (renamed from patches/server/0899-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/0899-Improve-Registry.patch (renamed from patches/server/0900-Improve-Registry.patch)0
-rw-r--r--patches/server/0900-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (renamed from patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch)0
-rw-r--r--patches/server/0901-Add-experience-points-API.patch (renamed from patches/server/0902-Add-experience-points-API.patch)0
-rw-r--r--patches/server/0902-Add-drops-to-shear-events.patch (renamed from patches/server/0903-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/server/0903-Add-PlayerShieldDisableEvent.patch (renamed from patches/server/0904-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/server/0904-Validate-ResourceLocation-in-NBT-reading.patch (renamed from patches/server/0905-Validate-ResourceLocation-in-NBT-reading.patch)0
-rw-r--r--patches/server/0905-Properly-handle-experience-dropping-on-block-break.patch (renamed from patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch)0
-rw-r--r--patches/server/0906-Fixup-NamespacedKey-handling.patch (renamed from patches/server/0907-Fixup-NamespacedKey-handling.patch)0
-rw-r--r--patches/server/0907-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/server/0908-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/server/0908-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (renamed from patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch)0
-rw-r--r--patches/server/0909-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch)0
-rw-r--r--patches/server/0910-Add-ShulkerDuplicateEvent.patch (renamed from patches/server/0911-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/server/0911-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/server/0912-Add-api-for-spawn-egg-texture-colors.patch)0
-rw-r--r--patches/server/0912-Add-Lifecycle-Event-system.patch (renamed from patches/server/0913-Add-Lifecycle-Event-system.patch)0
-rw-r--r--patches/server/0913-ItemStack-Tooltip-API.patch (renamed from patches/server/0914-ItemStack-Tooltip-API.patch)0
-rw-r--r--patches/server/0914-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/server/0915-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/server/0915-Add-FluidState-API.patch (renamed from patches/server/0916-Add-FluidState-API.patch)0
-rw-r--r--patches/server/0916-add-number-format-api.patch (renamed from patches/server/0917-add-number-format-api.patch)0
-rw-r--r--patches/server/0917-improve-BanList-types.patch (renamed from patches/server/0918-improve-BanList-types.patch)0
-rw-r--r--patches/server/0918-Expanded-Hopper-API.patch (renamed from patches/server/0919-Expanded-Hopper-API.patch)0
-rw-r--r--patches/server/0919-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/server/0920-Add-BlockBreakProgressUpdateEvent.patch)2
-rw-r--r--patches/server/0920-Deprecate-ItemStack-setType.patch (renamed from patches/server/0921-Deprecate-ItemStack-setType.patch)0
-rw-r--r--patches/server/0921-Add-CartographyItemEvent.patch (renamed from patches/server/0922-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/server/0922-More-Raid-API.patch (renamed from patches/server/0923-More-Raid-API.patch)0
-rw-r--r--patches/server/0923-Add-onboarding-message-for-initial-server-start.patch (renamed from patches/server/0924-Add-onboarding-message-for-initial-server-start.patch)0
-rw-r--r--patches/server/0924-Configurable-max-block-fluid-ticks.patch (renamed from patches/server/0925-Configurable-max-block-fluid-ticks.patch)2
-rw-r--r--patches/server/0925-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0926-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0926-Disable-memory-reserve-allocating.patch (renamed from patches/server/0927-Disable-memory-reserve-allocating.patch)0
-rw-r--r--patches/server/0927-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch (renamed from patches/server/0928-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch)0
-rw-r--r--patches/server/0928-Fix-DamageSource-API.patch (renamed from patches/server/0929-Fix-DamageSource-API.patch)2
-rw-r--r--patches/server/0929-Fix-creation-of-invalid-block-entity-during-world-ge.patch (renamed from patches/server/0930-Fix-creation-of-invalid-block-entity-during-world-ge.patch)0
-rw-r--r--patches/server/0930-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch (renamed from patches/server/0931-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch)0
-rw-r--r--patches/server/0931-Improve-tag-parser-handling.patch (renamed from patches/server/0932-Improve-tag-parser-handling.patch)2
-rw-r--r--patches/server/0932-Item-Mutation-Fixes.patch (renamed from patches/server/0933-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/server/0933-Per-world-ticks-per-spawn-settings.patch (renamed from patches/server/0934-Per-world-ticks-per-spawn-settings.patch)0
-rw-r--r--patches/server/0934-Properly-track-the-changed-item-from-dispense-events.patch (renamed from patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch)0
-rw-r--r--patches/server/0935-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch)0
-rw-r--r--patches/server/0936-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch)0
-rw-r--r--patches/server/0937-Deep-clone-nbt-tags-in-PDC.patch (renamed from patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch)0
-rw-r--r--patches/server/0938-Support-old-UUID-format-for-NBT.patch (renamed from patches/server/0939-Support-old-UUID-format-for-NBT.patch)0
-rw-r--r--patches/server/0939-Fix-shield-disable-inconsistency.patch (renamed from patches/server/0940-Fix-shield-disable-inconsistency.patch)0
-rw-r--r--patches/server/0940-Handle-Large-Packets-disconnecting-client.patch (renamed from patches/server/0941-Handle-Large-Packets-disconnecting-client.patch)0
-rw-r--r--patches/server/0941-Fix-ItemFlags.patch (renamed from patches/server/0942-Fix-ItemFlags.patch)0
-rw-r--r--patches/server/0942-Fix-damage-modifier-inconsistencies.patch (renamed from patches/server/0943-Fix-damage-modifier-inconsistencies.patch)0
-rw-r--r--patches/server/0943-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch (renamed from patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch)0
-rw-r--r--patches/server/0944-improve-checking-handled-tags-in-itemmeta.patch (renamed from patches/server/0945-improve-checking-handled-tags-in-itemmeta.patch)0
-rw-r--r--patches/server/0945-Expose-hasColor-to-leather-armor.patch (renamed from patches/server/0946-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/server/0946-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch)0
-rw-r--r--patches/server/0947-General-ItemMeta-fixes.patch (renamed from patches/server/0948-General-ItemMeta-fixes.patch)0
-rw-r--r--patches/server/0948-More-Chest-Block-API.patch (renamed from patches/server/0949-More-Chest-Block-API.patch)0
-rw-r--r--patches/server/0949-Print-data-component-type-on-encoding-error.patch (renamed from patches/server/0950-Print-data-component-type-on-encoding-error.patch)0
-rw-r--r--patches/server/0950-Brigadier-based-command-API.patch (renamed from patches/server/0951-Brigadier-based-command-API.patch)0
-rw-r--r--patches/server/0951-Fix-issues-with-Recipe-API.patch (renamed from patches/server/0952-Fix-issues-with-Recipe-API.patch)0
-rw-r--r--patches/server/0952-Fix-equipment-slot-and-group-API.patch (renamed from patches/server/0953-Fix-equipment-slot-and-group-API.patch)0
-rw-r--r--patches/server/0953-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/server/0954-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch)0
-rw-r--r--patches/server/0954-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch)0
-rw-r--r--patches/server/0955-Prevent-NPE-if-hooked-entity-was-cleared.patch (renamed from patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch)0
-rw-r--r--patches/server/0956-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch (renamed from patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch)0
-rw-r--r--patches/server/0957-Add-missing-fishing-event-state.patch (renamed from patches/server/0958-Add-missing-fishing-event-state.patch)0
-rw-r--r--patches/server/0958-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch)0
-rw-r--r--patches/server/0959-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch (renamed from patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch)0
-rw-r--r--patches/server/0960-Adopt-MaterialRerouting.patch (renamed from patches/server/0961-Adopt-MaterialRerouting.patch)0
-rw-r--r--patches/server/0961-Suspicious-Effect-Entry-API.patch (renamed from patches/server/0962-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/server/0962-check-if-itemstack-is-stackable-first.patch (renamed from patches/server/0963-check-if-itemstack-is-stackable-first.patch)0
-rw-r--r--patches/server/0963-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0964-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0964-Configurable-damage-tick-when-blocking-with-shield.patch (renamed from patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch)0
-rw-r--r--patches/server/0965-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/server/0966-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/server/0966-disable-forced-empty-world-ticks.patch (renamed from patches/server/0967-disable-forced-empty-world-ticks.patch)2
-rw-r--r--patches/server/0967-Configurable-Sand-Duping.patch (renamed from patches/server/0986-Configurable-Sand-Duping.patch)0
-rw-r--r--patches/server/0968-Proxy-ItemStack-to-CraftItemStack.patch (renamed from patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch)0
-rw-r--r--patches/server/0969-Make-a-PDC-view-accessible-directly-from-ItemStack.patch (renamed from patches/server/0991-Make-a-PDC-view-accessible-directly-from-ItemStack.patch)0
-rw-r--r--patches/server/0970-Prioritize-Minecraft-commands-in-function-parsing-an.patch (renamed from patches/server/0992-Prioritize-Minecraft-commands-in-function-parsing-an.patch)2
-rw-r--r--patches/server/0971-Fix-NPE-for-Jukebox-setRecord.patch (renamed from patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch)0
-rw-r--r--patches/server/0972-fix-horse-inventories.patch (renamed from patches/server/0995-fix-horse-inventories.patch)0
-rw-r--r--patches/server/0973-Only-call-EntityDamageEvents-before-actuallyHurt.patch (renamed from patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch)4
-rw-r--r--patches/server/0974-Add-ItemType-getItemRarity.patch (renamed from patches/server/0997-Add-ItemType-getItemRarity.patch)0
-rw-r--r--patches/server/0975-Add-plugin-info-at-startup.patch (renamed from patches/server/0998-Add-plugin-info-at-startup.patch)0
-rw-r--r--patches/server/0976-Make-interaction-leniency-distance-configurable.patch (renamed from patches/server/0999-Make-interaction-leniency-distance-configurable.patch)4
-rw-r--r--patches/server/0977-Fix-PickupStatus-getting-reset.patch (renamed from patches/server/1000-Fix-PickupStatus-getting-reset.patch)2
-rw-r--r--patches/server/0978-Check-for-block-type-in-SculkSensorBlock-canActivate.patch (renamed from patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch)0
-rw-r--r--patches/server/0979-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch (renamed from patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch)0
-rw-r--r--patches/server/0980-Configuration-for-horizontal-only-item-merging.patch (renamed from patches/server/1003-Configuration-for-horizontal-only-item-merging.patch)0
-rw-r--r--patches/server/0981-Add-skipping-world-symlink-scan.patch (renamed from patches/server/1004-Add-skipping-world-symlink-scan.patch)0
-rw-r--r--patches/server/0982-Add-even-more-Enchantment-API.patch (renamed from patches/server/1005-Add-even-more-Enchantment-API.patch)0
-rw-r--r--patches/server/0983-Leashable-API.patch (renamed from patches/server/1006-Leashable-API.patch)0
-rw-r--r--patches/server/0984-Fix-CraftBukkit-drag-system.patch (renamed from patches/server/1007-Fix-CraftBukkit-drag-system.patch)4
-rw-r--r--patches/server/0985-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch (renamed from patches/server/1008-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch)0
-rw-r--r--patches/server/0986-Remove-set-damage-lootable-item-function-from-compas.patch (renamed from patches/server/1009-Remove-set-damage-lootable-item-function-from-compas.patch)0
-rw-r--r--patches/server/0987-Add-enchantment-seed-update-API.patch (renamed from patches/server/1010-Add-enchantment-seed-update-API.patch)0
-rw-r--r--patches/server/0988-Fix-synchronise-sending-chat-to-client-with-updating.patch (renamed from patches/server/1011-Fix-synchronise-sending-chat-to-client-with-updating.patch)4
-rw-r--r--patches/server/0989-Fix-InventoryOpenEvent-cancellation.patch (renamed from patches/server/1012-Fix-InventoryOpenEvent-cancellation.patch)6
-rw-r--r--patches/server/0990-Fire-BlockExpEvent-on-grindstone-use.patch (renamed from patches/server/1013-Fire-BlockExpEvent-on-grindstone-use.patch)0
-rw-r--r--patches/server/0991-Check-dead-flag-in-isAlive.patch (renamed from patches/server/1014-Check-dead-flag-in-isAlive.patch)4
-rw-r--r--patches/server/0992-Add-FeatureFlag-API.patch (renamed from patches/server/1015-Add-FeatureFlag-API.patch)4
-rw-r--r--patches/server/0993-Item-serialization-as-json.patch (renamed from patches/server/1017-Item-serialization-as-json.patch)9
-rw-r--r--patches/server/0994-Validate-slot-in-PlayerInventory-setSlot.patch (renamed from patches/server/1018-Validate-slot-in-PlayerInventory-setSlot.patch)0
-rw-r--r--patches/server/0995-Remove-wall-time-unused-skip-tick-protection.patch (renamed from patches/server/1019-Remove-wall-time-unused-skip-tick-protection.patch)0
-rw-r--r--patches/server/0996-Disable-pretty-printing-for-advancement-saving.patch (renamed from patches/server/1020-Disable-pretty-printing-for-advancement-saving.patch)0
-rw-r--r--patches/server/0997-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch (renamed from patches/server/1021-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch)4
-rw-r--r--patches/server/0998-Add-enchantWithLevels-with-enchantment-registry-set.patch (renamed from patches/server/1022-Add-enchantWithLevels-with-enchantment-registry-set.patch)0
-rw-r--r--patches/server/0999-Improve-entity-effect-API.patch (renamed from patches/server/1023-Improve-entity-effect-API.patch)4
-rw-r--r--patches/server/1000-Add-recipeBrewTime.patch (renamed from patches/server/1024-Add-recipeBrewTime.patch)0
-rw-r--r--patches/server/1001-Call-bucket-events-for-cauldrons.patch (renamed from patches/server/1025-Call-bucket-events-for-cauldrons.patch)0
-rw-r--r--patches/server/1002-Add-PlayerInsertLecternBookEvent.patch (renamed from patches/server/1026-Add-PlayerInsertLecternBookEvent.patch)0
-rw-r--r--patches/server/1003-Void-damage-configuration-API.patch (renamed from patches/server/1027-Void-damage-configuration-API.patch)10
-rw-r--r--patches/server/1004-Add-Offline-PDC-API.patch (renamed from patches/server/1028-Add-Offline-PDC-API.patch)0
-rw-r--r--patches/server/1005-Add-AnvilView-bypassEnchantmentLevelRestriction.patch (renamed from patches/server/1029-Add-AnvilView-bypassEnchantmentLevelRestriction.patch)0
-rw-r--r--patches/server/1006-Add-proper-async-player-disconnections.patch (renamed from patches/server/1030-Add-proper-async-player-disconnections.patch)20
-rw-r--r--patches/server/1007-Separate-dimensiondata-executor.patch (renamed from patches/server/1032-Separate-dimensiondata-executor.patch)4
-rw-r--r--patches/server/1008-Always-send-Banner-patterns-to-the-client.patch (renamed from patches/server/1033-Always-send-Banner-patterns-to-the-client.patch)0
-rw-r--r--patches/server/1009-API-for-checking-sent-chunks.patch (renamed from patches/server/1037-API-for-checking-sent-chunks.patch)23
-rw-r--r--patches/server/1010-Fix-CraftWorld-isChunkGenerated.patch (renamed from patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch)2
-rw-r--r--patches/server/1011-Add-startup-flag-to-disable-gamerule-limits.patch (renamed from patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch)7
-rw-r--r--patches/server/1012-Bundle-spark.patch (renamed from patches/server/1044-Bundle-spark.patch)30
-rw-r--r--patches/server/1013-Avoid-issues-with-certain-tasks-not-processing-durin.patch (renamed from patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch)4
-rw-r--r--patches/server/1014-Allow-using-old-ender-pearl-behavior.patch (renamed from patches/server/1054-Allow-using-old-ender-pearl-behavior.patch)10
-rw-r--r--patches/server/1015-Block-Enderpearl-Travel-Exploit.patch (renamed from patches/server/1055-Block-Enderpearl-Travel-Exploit.patch)4
-rw-r--r--patches/server/1016-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/1056-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/1017-Correct-update-cursor.patch (renamed from patches/server/1057-Correct-update-cursor.patch)8
-rw-r--r--patches/server/1018-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch (renamed from patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch)4
-rw-r--r--patches/server/1019-Improve-performance-of-RecipeMap-removeRecipe.patch (renamed from patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch)0
-rw-r--r--patches/server/1020-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch (renamed from patches/server/1061-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch)0
-rw-r--r--patches/server/1021-Fix-incorrect-invulnerability-damage-reduction.patch (renamed from patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch)6
-rw-r--r--patches/server/1022-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch (renamed from patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch)4
-rw-r--r--patches/server/1023-API-to-check-if-the-server-is-sleeping.patch (renamed from patches/server/1065-API-to-check-if-the-server-is-sleeping.patch)6
-rw-r--r--patches/server/1024-API-to-allow-disallow-tick-sleeping.patch (renamed from patches/server/1066-API-to-allow-disallow-tick-sleeping.patch)18
-rw-r--r--patches/server/1025-Configurable-Entity-Despawn-Time.patch (renamed from patches/server/1067-Configurable-Entity-Despawn-Time.patch)8
-rw-r--r--patches/server/1026-Expanded-Art-API.patch (renamed from patches/server/1068-Expanded-Art-API.patch)0
-rw-r--r--patches/server/1027-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch (renamed from patches/server/1069-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch)6
-rw-r--r--patches/server/1028-Registry-Modification-API.patch (renamed from patches/server/0988-Registry-Modification-API.patch)2
-rw-r--r--patches/server/1029-Add-registry-entry-and-builders.patch (renamed from patches/server/0989-Add-registry-entry-and-builders.patch)1
-rw-r--r--patches/server/1030-Tag-Lifecycle-Events.patch (renamed from patches/server/1016-Tag-Lifecycle-Events.patch)4
-rw-r--r--patches/server/1032-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch)2
-rw-r--r--patches/server/1033-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch)10
-rw-r--r--patches/server/1034-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch)10
-rw-r--r--patches/server/1035-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0971-Allow-Saving-of-Oversized-Chunks.patch)2
-rw-r--r--patches/server/1036-Flat-bedrock-generator-settings.patch (renamed from patches/server/0972-Flat-bedrock-generator-settings.patch)2
-rw-r--r--patches/server/1037-Entity-Activation-Range-2.0.patch (renamed from patches/server/0973-Entity-Activation-Range-2.0.patch)12
-rw-r--r--patches/server/1038-Anti-Xray.patch (renamed from patches/server/0974-Anti-Xray.patch)15
-rw-r--r--patches/server/1039-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch)10
-rw-r--r--patches/server/1040-Optimize-Collision-to-not-load-chunks.patch (renamed from patches/server/0976-Optimize-Collision-to-not-load-chunks.patch)4
-rw-r--r--patches/server/1041-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/0977-Optimize-GoalSelector-Goal.Flag-Set-operations.patch)19
-rw-r--r--patches/server/1042-Optimize-Hoppers.patch (renamed from patches/server/0978-Optimize-Hoppers.patch)6
-rw-r--r--patches/server/1043-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/0979-Optimize-Voxel-Shape-Merging.patch)2
-rw-r--r--patches/server/1044-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/0980-Optimize-Bit-Operations-by-inlining.patch)2
-rw-r--r--patches/server/1045-Remove-streams-from-hot-code.patch (renamed from patches/server/0981-Remove-streams-from-hot-code.patch)2
-rw-r--r--patches/server/1046-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/0982-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch)2
-rw-r--r--patches/server/1047-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/0983-Fix-entity-type-tags-suggestions-in-selectors.patch)8
-rw-r--r--patches/server/1048-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/0984-Handle-Oversized-block-entities-in-chunks.patch)2
-rw-r--r--patches/server/1049-Check-distance-in-entity-interactions.patch (renamed from patches/server/0985-Check-distance-in-entity-interactions.patch)11
-rw-r--r--patches/server/1050-Properly-resend-entities.patch (renamed from patches/server/0987-Properly-resend-entities.patch)24
-rw-r--r--patches/server/1051-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/0993-optimize-dirt-and-snow-spreading.patch)1
-rw-r--r--patches/server/1052-Optimise-getChunkAt-calls-for-loaded-chunks.patch (renamed from patches/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch)4
-rw-r--r--patches/server/1053-Rewrite-dataconverter-system.patch (renamed from patches/server/1034-Rewrite-dataconverter-system.patch)22
-rw-r--r--patches/server/1054-Moonrise-optimisation-patches.patch (renamed from patches/server/1035-Moonrise-optimisation-patches.patch)389
-rw-r--r--patches/server/1055-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/1036-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/1056-Improved-Watchdog-Support.patch (renamed from patches/server/1040-Improved-Watchdog-Support.patch)40
-rw-r--r--patches/server/1057-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1041-Detail-more-information-in-watchdog-dumps.patch)14
-rw-r--r--patches/server/1058-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/1042-Entity-load-save-limit-per-chunk.patch)0
-rw-r--r--patches/server/1059-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1043-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)2
-rw-r--r--patches/server/1060-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1045-Improve-performance-of-mass-crafts.patch)2
-rw-r--r--patches/server/1061-Incremental-chunk-and-player-saving.patch (renamed from patches/server/1046-Incremental-chunk-and-player-saving.patch)15
-rw-r--r--patches/server/1062-Optimise-general-POI-access.patch (renamed from patches/server/1047-Optimise-general-POI-access.patch)2
-rw-r--r--patches/server/1063-Fix-entity-tracker-desync-when-new-players-are-added.patch (renamed from patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch)2
-rw-r--r--patches/server/1064-Lag-compensation-ticks.patch (renamed from patches/server/1049-Lag-compensation-ticks.patch)22
-rw-r--r--patches/server/1065-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch)4
-rw-r--r--patches/server/1066-Optional-per-player-mob-spawns.patch (renamed from patches/server/1051-Optional-per-player-mob-spawns.patch)3
-rw-r--r--patches/server/1067-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)2
-rw-r--r--patches/server/1068-Eigencraft-redstone-implementation.patch (renamed from patches/server/1059-Eigencraft-redstone-implementation.patch)2
-rw-r--r--patches/server/1069-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1062-Add-Alternate-Current-redstone-implementation.patch)2
-rw-r--r--patches/server/1070-Improve-exact-choice-recipe-ingredients.patch2
-rw-r--r--patches/server/1071-Implement-chunk-view-API.patch48
764 files changed, 730 insertions, 709 deletions
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 00db4c45d0..89b8e3e9c8 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -2597,285 +2597,6 @@ index 0000000000000000000000000000000000000000..c2d917c2eac55b8a4411a6e159f177f9
+ ((Runnable)TO_RUN_HANDLE.getVolatile(this)).run();
+ }
+}
-diff --git a/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..7e440b4a46b040365df7317035e577d93e7d855d
---- /dev/null
-+++ b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java
-@@ -0,0 +1,273 @@
-+package ca.spottedleaf.moonrise.common.misc;
-+
-+import ca.spottedleaf.moonrise.common.list.ReferenceList;
-+import ca.spottedleaf.moonrise.common.util.CoordinateUtils;
-+import ca.spottedleaf.moonrise.common.util.MoonriseConstants;
-+import ca.spottedleaf.moonrise.common.util.ChunkSystem;
-+import ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel;
-+import ca.spottedleaf.moonrise.patches.chunk_system.level.chunk.ChunkData;
-+import ca.spottedleaf.moonrise.patches.chunk_tick_iteration.ChunkTickConstants;
-+import ca.spottedleaf.moonrise.patches.chunk_tick_iteration.ChunkTickServerLevel;
-+import it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap;
-+import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap;
-+import net.minecraft.core.BlockPos;
-+import net.minecraft.server.level.ServerLevel;
-+import net.minecraft.server.level.ServerPlayer;
-+import net.minecraft.world.level.ChunkPos;
-+import java.util.ArrayList;
-+
-+public final class NearbyPlayers {
-+
-+ public static enum NearbyMapType {
-+ GENERAL,
-+ GENERAL_SMALL,
-+ GENERAL_REALLY_SMALL,
-+ TICK_VIEW_DISTANCE,
-+ VIEW_DISTANCE,
-+ // Moonrise start - chunk tick iteration
-+ SPAWN_RANGE {
-+ @Override
-+ void addTo(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
-+ ((ChunkTickServerLevel)world).moonrise$addPlayerTickingRequest(chunkX, chunkZ);
-+ }
-+
-+ @Override
-+ void removeFrom(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
-+ ((ChunkTickServerLevel)world).moonrise$removePlayerTickingRequest(chunkX, chunkZ);
-+ }
-+ };
-+ // Moonrise end - chunk tick iteration
-+
-+ void addTo(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
-+
-+ }
-+
-+ void removeFrom(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
-+
-+ }
-+ }
-+
-+ private static final NearbyMapType[] MAP_TYPES = NearbyMapType.values();
-+ public static final int TOTAL_MAP_TYPES = MAP_TYPES.length;
-+
-+ private static final int GENERAL_AREA_VIEW_DISTANCE = MoonriseConstants.MAX_VIEW_DISTANCE + 1;
-+ private static final int GENERAL_SMALL_VIEW_DISTANCE = 10;
-+ private static final int GENERAL_REALLY_SMALL_VIEW_DISTANCE = 3;
-+
-+ public static final int GENERAL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_AREA_VIEW_DISTANCE << 4);
-+ public static final int GENERAL_SMALL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_SMALL_VIEW_DISTANCE << 4);
-+ public static final int GENERAL_REALLY_SMALL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_REALLY_SMALL_VIEW_DISTANCE << 4);
-+
-+ private final ServerLevel world;
-+ private final Reference2ReferenceOpenHashMap<ServerPlayer, TrackedPlayer[]> players = new Reference2ReferenceOpenHashMap<>();
-+ private final Long2ReferenceOpenHashMap<TrackedChunk> byChunk = new Long2ReferenceOpenHashMap<>();
-+ private final Long2ReferenceOpenHashMap<ReferenceList<ServerPlayer>>[] directByChunk = new Long2ReferenceOpenHashMap[TOTAL_MAP_TYPES];
-+ {
-+ for (int i = 0; i < this.directByChunk.length; ++i) {
-+ this.directByChunk[i] = new Long2ReferenceOpenHashMap<>();
-+ }
-+ }
-+
-+ public NearbyPlayers(final ServerLevel world) {
-+ this.world = world;
-+ }
-+
-+ public void addPlayer(final ServerPlayer player) {
-+ final TrackedPlayer[] newTrackers = new TrackedPlayer[TOTAL_MAP_TYPES];
-+ if (this.players.putIfAbsent(player, newTrackers) != null) {
-+ throw new IllegalStateException("Already have player " + player);
-+ }
-+
-+ final ChunkPos chunk = player.chunkPosition();
-+
-+ for (int i = 0; i < TOTAL_MAP_TYPES; ++i) {
-+ // use 0 for default, will be updated by tickPlayer
-+ (newTrackers[i] = new TrackedPlayer(player, MAP_TYPES[i])).add(chunk.x, chunk.z, 0);
-+ }
-+
-+ // update view distances
-+ this.tickPlayer(player);
-+ }
-+
-+ public void removePlayer(final ServerPlayer player) {
-+ final TrackedPlayer[] players = this.players.remove(player);
-+ if (players == null) {
-+ return; // May be called during teleportation before the player is actually placed
-+ }
-+
-+ for (final TrackedPlayer tracker : players) {
-+ tracker.remove();
-+ }
-+ }
-+
-+ public void clear() {
-+ if (this.players.isEmpty()) {
-+ return;
-+ }
-+
-+ for (final ServerPlayer player : new ArrayList<>(this.players.keySet())) {
-+ this.removePlayer(player);
-+ }
-+ }
-+
-+ public void tickPlayer(final ServerPlayer player) {
-+ final TrackedPlayer[] players = this.players.get(player);
-+ if (players == null) {
-+ throw new IllegalStateException("Don't have player " + player);
-+ }
-+
-+ final ChunkPos chunk = player.chunkPosition();
-+
-+ players[NearbyMapType.GENERAL.ordinal()].update(chunk.x, chunk.z, GENERAL_AREA_VIEW_DISTANCE);
-+ players[NearbyMapType.GENERAL_SMALL.ordinal()].update(chunk.x, chunk.z, GENERAL_SMALL_VIEW_DISTANCE);
-+ players[NearbyMapType.GENERAL_REALLY_SMALL.ordinal()].update(chunk.x, chunk.z, GENERAL_REALLY_SMALL_VIEW_DISTANCE);
-+ players[NearbyMapType.TICK_VIEW_DISTANCE.ordinal()].update(chunk.x, chunk.z, ChunkSystem.getTickViewDistance(player));
-+ players[NearbyMapType.VIEW_DISTANCE.ordinal()].update(chunk.x, chunk.z, ChunkSystem.getViewDistance(player));
-+ players[NearbyMapType.SPAWN_RANGE.ordinal()].update(chunk.x, chunk.z, ChunkTickConstants.PLAYER_SPAWN_TRACK_RANGE); // Moonrise - chunk tick iteration
-+ }
-+
-+ public TrackedChunk getChunk(final ChunkPos pos) {
-+ return this.byChunk.get(CoordinateUtils.getChunkKey(pos));
-+ }
-+
-+ public TrackedChunk getChunk(final BlockPos pos) {
-+ return this.byChunk.get(CoordinateUtils.getChunkKey(pos));
-+ }
-+
-+ public TrackedChunk getChunk(final int chunkX, final int chunkZ) {
-+ return this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
-+ }
-+
-+ public ReferenceList<ServerPlayer> getPlayers(final BlockPos pos, final NearbyMapType type) {
-+ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(pos));
-+ }
-+
-+ public ReferenceList<ServerPlayer> getPlayers(final ChunkPos pos, final NearbyMapType type) {
-+ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(pos));
-+ }
-+
-+ public ReferenceList<ServerPlayer> getPlayersByChunk(final int chunkX, final int chunkZ, final NearbyMapType type) {
-+ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
-+ }
-+
-+ public ReferenceList<ServerPlayer> getPlayersByBlock(final int blockX, final int blockZ, final NearbyMapType type) {
-+ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(blockX >> 4, blockZ >> 4));
-+ }
-+
-+ public static final class TrackedChunk {
-+
-+ private static final ServerPlayer[] EMPTY_PLAYERS_ARRAY = new ServerPlayer[0];
-+
-+ private final long chunkKey;
-+ private final NearbyPlayers nearbyPlayers;
-+ private final ReferenceList<ServerPlayer>[] players = new ReferenceList[TOTAL_MAP_TYPES];
-+ private int nonEmptyLists;
-+ private long updateCount;
-+
-+ public TrackedChunk(final long chunkKey, final NearbyPlayers nearbyPlayers) {
-+ this.chunkKey = chunkKey;
-+ this.nearbyPlayers = nearbyPlayers;
-+ }
-+
-+ public boolean isEmpty() {
-+ return this.nonEmptyLists == 0;
-+ }
-+
-+ public long getUpdateCount() {
-+ return this.updateCount;
-+ }
-+
-+ public ReferenceList<ServerPlayer> getPlayers(final NearbyMapType type) {
-+ return this.players[type.ordinal()];
-+ }
-+
-+ public void addPlayer(final ServerPlayer player, final NearbyMapType type) {
-+ ++this.updateCount;
-+
-+ final int idx = type.ordinal();
-+ final ReferenceList<ServerPlayer> list = this.players[idx];
-+ if (list == null) {
-+ ++this.nonEmptyLists;
-+ final ReferenceList<ServerPlayer> players = (this.players[idx] = new ReferenceList<>(EMPTY_PLAYERS_ARRAY));
-+ this.nearbyPlayers.directByChunk[idx].put(this.chunkKey, players);
-+ players.add(player);
-+ return;
-+ }
-+
-+ if (!list.add(player)) {
-+ throw new IllegalStateException("Already contains player " + player);
-+ }
-+ }
-+
-+ public void removePlayer(final ServerPlayer player, final NearbyMapType type) {
-+ ++this.updateCount;
-+
-+ final int idx = type.ordinal();
-+ final ReferenceList<ServerPlayer> list = this.players[idx];
-+ if (list == null) {
-+ throw new IllegalStateException("Does not contain player " + player);
-+ }
-+
-+ if (!list.remove(player)) {
-+ throw new IllegalStateException("Does not contain player " + player);
-+ }
-+
-+ if (list.size() == 0) {
-+ this.players[idx] = null;
-+ this.nearbyPlayers.directByChunk[idx].remove(this.chunkKey);
-+ --this.nonEmptyLists;
-+ }
-+ }
-+ }
-+
-+ private final class TrackedPlayer extends SingleUserAreaMap<ServerPlayer> {
-+
-+ private final NearbyMapType type;
-+
-+ public TrackedPlayer(final ServerPlayer player, final NearbyMapType type) {
-+ super(player);
-+ this.type = type;
-+ }
-+
-+ @Override
-+ protected void addCallback(final ServerPlayer parameter, final int chunkX, final int chunkZ) {
-+ final long chunkKey = CoordinateUtils.getChunkKey(chunkX, chunkZ);
-+
-+ final TrackedChunk chunk = NearbyPlayers.this.byChunk.get(chunkKey);
-+ final NearbyMapType type = this.type;
-+ if (chunk != null) {
-+ chunk.addPlayer(parameter, type);
-+ type.addTo(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
-+ } else {
-+ final TrackedChunk created = new TrackedChunk(chunkKey, NearbyPlayers.this);
-+ NearbyPlayers.this.byChunk.put(chunkKey, created);
-+ created.addPlayer(parameter, type);
-+ type.addTo(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
-+
-+ ((ChunkSystemLevel)NearbyPlayers.this.world).moonrise$requestChunkData(chunkKey).nearbyPlayers = created;
-+ }
-+ }
-+
-+ @Override
-+ protected void removeCallback(final ServerPlayer parameter, final int chunkX, final int chunkZ) {
-+ final long chunkKey = CoordinateUtils.getChunkKey(chunkX, chunkZ);
-+
-+ final TrackedChunk chunk = NearbyPlayers.this.byChunk.get(chunkKey);
-+ if (chunk == null) {
-+ throw new IllegalStateException("Chunk should exist at " + new ChunkPos(chunkKey));
-+ }
-+
-+ final NearbyMapType type = this.type;
-+ chunk.removePlayer(parameter, type);
-+ type.removeFrom(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
-+
-+ if (chunk.isEmpty()) {
-+ NearbyPlayers.this.byChunk.remove(chunkKey);
-+ final ChunkData chunkData = ((ChunkSystemLevel)NearbyPlayers.this.world).moonrise$releaseChunkData(chunkKey);
-+ if (chunkData != null) {
-+ chunkData.nearbyPlayers = null;
-+ }
-+ }
-+ }
-+ }
-+}
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/misc/PositionCountingAreaMap.java b/src/main/java/ca/spottedleaf/moonrise/common/misc/PositionCountingAreaMap.java
new file mode 100644
index 0000000000000000000000000000000000000000..90560769d09538f7a740753a41a3b8e017b0b92a
@@ -5625,7 +5346,7 @@ index 9cdcab885a915990a679f3fc9ae6885f7d125bfd..3e35a64b4b92ec25789e85c7445375dd
boolean flag1 = this.chunkMap.promoteChunkMap();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index ecbef5d54aef8e3f3bc2e4c34d2da6e96b1267b8..cba44ea8375692ce9d2511fba1ac1dd1d2d0cb1e 100644
+index 7ccf5329d6c4db1a9cfb78f07d5bdf982185240f..ca112107e2c3b66f18b0a4517dc85bc4c95888dc 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -240,6 +240,103 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0309-Add-debug-for-sync-chunk-loads.patch b/patches/server/0308-Add-debug-for-sync-chunk-loads.patch
index f3652f680c..11fb05a7eb 100644
--- a/patches/server/0309-Add-debug-for-sync-chunk-loads.patch
+++ b/patches/server/0308-Add-debug-for-sync-chunk-loads.patch
@@ -302,10 +302,10 @@ index 0000000000000000000000000000000000000000..95d6022c9cfb2e36ec5a71be6e343540
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index 2bd7f0554bdf668930c990156f65e97e4b64d8bc..6a2af3cd3aebe525a5ff41a801929547d59b8fec 100644
+index f4fa64ab18573cb9a22a9bfb79a351c388d1aaa5..df51c80b73e9922e4b0a1f2291ebabbb74d809ff 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-@@ -221,6 +221,7 @@ public class ServerChunkCache extends ChunkSource {
+@@ -215,6 +215,7 @@ public class ServerChunkCache extends ChunkSource {
Objects.requireNonNull(completablefuture);
chunkproviderserver_b.managedBlock(completablefuture::isDone);
@@ -314,7 +314,7 @@ index 2bd7f0554bdf668930c990156f65e97e4b64d8bc..6a2af3cd3aebe525a5ff41a801929547
ChunkAccess ichunkaccess1 = (ChunkAccess) chunkresult.orElse(null); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 6430e759c3d89033418f79c7f7aacb8ca5a5135b..578d284a3e39368c5285eafe84056b081a240e3d 100644
+index 6b97e29b0102b5521cba424f008478245c67d85f..5b47505353bf96bcb555910d1ebf645d14052f46 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -416,6 +416,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0310-Improve-java-version-check.patch b/patches/server/0309-Improve-java-version-check.patch
index 13df515e7c..13df515e7c 100644
--- a/patches/server/0310-Improve-java-version-check.patch
+++ b/patches/server/0309-Improve-java-version-check.patch
diff --git a/patches/server/0311-Add-ThrownEggHatchEvent.patch b/patches/server/0310-Add-ThrownEggHatchEvent.patch
index 4f5c62f3e6..4f5c62f3e6 100644
--- a/patches/server/0311-Add-ThrownEggHatchEvent.patch
+++ b/patches/server/0310-Add-ThrownEggHatchEvent.patch
diff --git a/patches/server/0312-Entity-Jump-API.patch b/patches/server/0311-Entity-Jump-API.patch
index 8fe49892fd..8fe49892fd 100644
--- a/patches/server/0312-Entity-Jump-API.patch
+++ b/patches/server/0311-Entity-Jump-API.patch
diff --git a/patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0312-Add-option-to-nerf-pigmen-from-nether-portals.patch
index 2bbd5a37f8..155da7f04a 100644
--- a/patches/server/0313-Add-option-to-nerf-pigmen-from-nether-portals.patch
+++ b/patches/server/0312-Add-option-to-nerf-pigmen-from-nether-portals.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e932bd4c922d7015bba0ef06e349d74f5c1a209c..a330a603349f7f9d694cef66f67ba465e3110a1c 100644
+index 2179f631bf410297db2438e587f4b5ecb7ebc218..dcc6543f895c9bbf09301e64164873aa54c7b8b5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -407,6 +407,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0314-Make-the-GUI-graph-fancier.patch b/patches/server/0313-Make-the-GUI-graph-fancier.patch
index 25e1012aa6..25e1012aa6 100644
--- a/patches/server/0314-Make-the-GUI-graph-fancier.patch
+++ b/patches/server/0313-Make-the-GUI-graph-fancier.patch
diff --git a/patches/server/0315-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0314-add-hand-to-BlockMultiPlaceEvent.patch
index b9b59dc0c9..b9b59dc0c9 100644
--- a/patches/server/0315-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/patches/server/0314-add-hand-to-BlockMultiPlaceEvent.patch
diff --git a/patches/server/0316-Validate-tripwire-hook-placement-before-update.patch b/patches/server/0315-Validate-tripwire-hook-placement-before-update.patch
index b607c1afe9..b607c1afe9 100644
--- a/patches/server/0316-Validate-tripwire-hook-placement-before-update.patch
+++ b/patches/server/0315-Validate-tripwire-hook-placement-before-update.patch
diff --git a/patches/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch b/patches/server/0316-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
index 8991de1b70..8991de1b70 100644
--- a/patches/server/0317-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
+++ b/patches/server/0316-Add-option-to-allow-iron-golems-to-spawn-in-air.patch
diff --git a/patches/server/0318-Configurable-chance-of-villager-zombie-infection.patch b/patches/server/0317-Configurable-chance-of-villager-zombie-infection.patch
index e26452bb88..e26452bb88 100644
--- a/patches/server/0318-Configurable-chance-of-villager-zombie-infection.patch
+++ b/patches/server/0317-Configurable-chance-of-villager-zombie-infection.patch
diff --git a/patches/server/0319-Optimise-Chunk-getFluid.patch b/patches/server/0318-Optimise-Chunk-getFluid.patch
index 05f68c017f..05f68c017f 100644
--- a/patches/server/0319-Optimise-Chunk-getFluid.patch
+++ b/patches/server/0318-Optimise-Chunk-getFluid.patch
diff --git a/patches/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/server/0319-Set-spigots-verbose-world-setting-to-false-by-def.patch
index d6e5084490..d6e5084490 100644
--- a/patches/server/0320-Set-spigots-verbose-world-setting-to-false-by-def.patch
+++ b/patches/server/0319-Set-spigots-verbose-world-setting-to-false-by-def.patch
diff --git a/patches/server/0321-Add-tick-times-API-and-mspt-command.patch b/patches/server/0320-Add-tick-times-API-and-mspt-command.patch
index fc732e1f3d..fc732e1f3d 100644
--- a/patches/server/0321-Add-tick-times-API-and-mspt-command.patch
+++ b/patches/server/0320-Add-tick-times-API-and-mspt-command.patch
diff --git a/patches/server/0322-Expose-MinecraftServer-isRunning.patch b/patches/server/0321-Expose-MinecraftServer-isRunning.patch
index 7a4ecb699a..7a4ecb699a 100644
--- a/patches/server/0322-Expose-MinecraftServer-isRunning.patch
+++ b/patches/server/0321-Expose-MinecraftServer-isRunning.patch
diff --git a/patches/server/0323-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0322-Add-Raw-Byte-ItemStack-Serialization.patch
index 9389066286..9389066286 100644
--- a/patches/server/0323-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/server/0322-Add-Raw-Byte-ItemStack-Serialization.patch
diff --git a/patches/server/0324-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0323-Pillager-patrol-spawn-settings-and-per-player-option.patch
index 9ff443b665..5eefab8ebc 100644
--- a/patches/server/0324-Pillager-patrol-spawn-settings-and-per-player-option.patch
+++ b/patches/server/0323-Pillager-patrol-spawn-settings-and-per-player-option.patch
@@ -10,7 +10,7 @@ When not per player it will use the Vanilla mechanic of one delay per
world and the world age for the start day.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index a624cab05e9a4308a7f887f9edcf0ec1555f94a8..df409f2dc2c49282f128a9fdd9c248a2f6d9a7c9 100644
+index 9b194fcae767647b719ca687d0574ef74dc310da..6a282b80e062a0dd769c0d94357bce9a40240200 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -295,6 +295,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0325-Remote-Connections-shouldn-t-hold-up-shutdown.patch b/patches/server/0324-Remote-Connections-shouldn-t-hold-up-shutdown.patch
index b9679f9f48..b9679f9f48 100644
--- a/patches/server/0325-Remote-Connections-shouldn-t-hold-up-shutdown.patch
+++ b/patches/server/0324-Remote-Connections-shouldn-t-hold-up-shutdown.patch
diff --git a/patches/server/0326-Do-not-allow-Vexes-to-load-chunks.patch b/patches/server/0325-Do-not-allow-Vexes-to-load-chunks.patch
index 0bc83a1344..0bc83a1344 100644
--- a/patches/server/0326-Do-not-allow-Vexes-to-load-chunks.patch
+++ b/patches/server/0325-Do-not-allow-Vexes-to-load-chunks.patch
diff --git a/patches/server/0327-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/server/0326-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
index d7626e4743..d7626e4743 100644
--- a/patches/server/0327-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
+++ b/patches/server/0326-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
diff --git a/patches/server/0328-Don-t-tick-dead-players.patch b/patches/server/0327-Don-t-tick-dead-players.patch
index f9381a4e08..d57954dd0b 100644
--- a/patches/server/0328-Don-t-tick-dead-players.patch
+++ b/patches/server/0327-Don-t-tick-dead-players.patch
@@ -7,7 +7,7 @@ Causes sync chunk loads and who knows what all else.
This is safe because Spectators are skipped in unloaded chunks too in vanilla.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index df409f2dc2c49282f128a9fdd9c248a2f6d9a7c9..957266d14ce2b9b99f7c97289458fc837e4d665a 100644
+index 6a282b80e062a0dd769c0d94357bce9a40240200..4d73ccb30fde83497405b6a6a788f69e0349aec1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -990,7 +990,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch b/patches/server/0328-Dead-Player-s-shouldn-t-be-able-to-move.patch
index 705855f9ab..705855f9ab 100644
--- a/patches/server/0329-Dead-Player-s-shouldn-t-be-able-to-move.patch
+++ b/patches/server/0328-Dead-Player-s-shouldn-t-be-able-to-move.patch
diff --git a/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0329-Don-t-move-existing-players-to-world-spawn.patch
index 099054c278..96bba89a99 100644
--- a/patches/server/0330-Don-t-move-existing-players-to-world-spawn.patch
+++ b/patches/server/0329-Don-t-move-existing-players-to-world-spawn.patch
@@ -13,7 +13,7 @@ By skipping this, we avoid potential for a large spike on server start.
public net.minecraft.server.level.ServerPlayer fudgeSpawnLocation(Lnet/minecraft/server/level/ServerLevel;)V
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 957266d14ce2b9b99f7c97289458fc837e4d665a..21f7b26bbf2b3e231032b7a09fa6e82f8244f495 100644
+index 4d73ccb30fde83497405b6a6a788f69e0349aec1..be5ca29b0c8e1a78fc84885bb4b1c112fefdb63b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -417,7 +417,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0331-Optimize-Pathfinding.patch b/patches/server/0330-Optimize-Pathfinding.patch
index 76c7c6e423..76c7c6e423 100644
--- a/patches/server/0331-Optimize-Pathfinding.patch
+++ b/patches/server/0330-Optimize-Pathfinding.patch
diff --git a/patches/server/0332-Reduce-Either-Optional-allocation.patch b/patches/server/0331-Reduce-Either-Optional-allocation.patch
index d42e0ac184..d42e0ac184 100644
--- a/patches/server/0332-Reduce-Either-Optional-allocation.patch
+++ b/patches/server/0331-Reduce-Either-Optional-allocation.patch
diff --git a/patches/server/0333-Reduce-memory-footprint-of-CompoundTag.patch b/patches/server/0332-Reduce-memory-footprint-of-CompoundTag.patch
index c29c346e90..c29c346e90 100644
--- a/patches/server/0333-Reduce-memory-footprint-of-CompoundTag.patch
+++ b/patches/server/0332-Reduce-memory-footprint-of-CompoundTag.patch
diff --git a/patches/server/0334-Prevent-opening-inventories-when-frozen.patch b/patches/server/0333-Prevent-opening-inventories-when-frozen.patch
index 5df9fdb825..135823dafe 100644
--- a/patches/server/0334-Prevent-opening-inventories-when-frozen.patch
+++ b/patches/server/0333-Prevent-opening-inventories-when-frozen.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 21f7b26bbf2b3e231032b7a09fa6e82f8244f495..ba6dbbd56f5b0c2eb5566172e64fbf258f146ef0 100644
+index be5ca29b0c8e1a78fc84885bb4b1c112fefdb63b..01afc19c566c07a1e57b57ab37d0df6095a64eac 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -935,7 +935,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0334-Don-t-run-entity-collision-code-if-not-needed.patch
index 1f1a31479b..1f1a31479b 100644
--- a/patches/server/0335-Don-t-run-entity-collision-code-if-not-needed.patch
+++ b/patches/server/0334-Don-t-run-entity-collision-code-if-not-needed.patch
diff --git a/patches/server/0336-Implement-Player-Client-Options-API.patch b/patches/server/0335-Implement-Player-Client-Options-API.patch
index bafe2fdfae..11cdc881a7 100644
--- a/patches/server/0336-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0335-Implement-Player-Client-Options-API.patch
@@ -88,7 +88,7 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index ba6dbbd56f5b0c2eb5566172e64fbf258f146ef0..d00d43697d7fc5b7fa162fd4e773f21fb5594087 100644
+index 01afc19c566c07a1e57b57ab37d0df6095a64eac..0efa13f8eff9458318f462e42fdbffe90e21d814 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -418,7 +418,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/server/0336-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
index 0db5556d5a..0db5556d5a 100644
--- a/patches/server/0337-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
+++ b/patches/server/0336-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch
diff --git a/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0337-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
index 42ec9120c0..c9d312ca37 100644
--- a/patches/server/0338-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
+++ b/patches/server/0337-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch
@@ -43,7 +43,7 @@ index 914e9e0af7533cbf487ea0413da447d5eb8d527b..69f54e812794b23e5f54606da86f7116
EntityType<?> entitytypes = entity.getType();
int i = entitytypes.clientTrackingRange() * 16;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d00d43697d7fc5b7fa162fd4e773f21fb5594087..07b1bc1a06ac1fec83ba76a73b3cc1bd8f560208 100644
+index 0efa13f8eff9458318f462e42fdbffe90e21d814..b1340a5021991d09a0f4a6ad4ce5d7389feb1175 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -315,6 +315,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0338-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
index fcb4074808..c1f4591380 100644
--- a/patches/server/0339-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
+++ b/patches/server/0338-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
@@ -84,7 +84,7 @@ index 8239b9e2e1f5aa4f961aa40513f308f2fe44e7ef..f11bea4618757ac8060098ab7a7a2642
}
// Paper end - Entity#getEntitySpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a330a603349f7f9d694cef66f67ba465e3110a1c..e5c280df931fc712e41f4decfeb2871b870d2e4a 100644
+index dcc6543f895c9bbf09301e64164873aa54c7b8b5..bccd5d2ef5cdc01d2785231d47ec17481f87f2cb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2528,27 +2528,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0339-Add-PlayerAttackEntityCooldownResetEvent.patch
index 4851f70e32..4851f70e32 100644
--- a/patches/server/0340-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/patches/server/0339-Add-PlayerAttackEntityCooldownResetEvent.patch
diff --git a/patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch b/patches/server/0340-Don-t-fire-BlockFade-on-worldgen-threads.patch
index 92b514b27e..92b514b27e 100644
--- a/patches/server/0341-Don-t-fire-BlockFade-on-worldgen-threads.patch
+++ b/patches/server/0340-Don-t-fire-BlockFade-on-worldgen-threads.patch
diff --git a/patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch b/patches/server/0341-Add-phantom-creative-and-insomniac-controls.patch
index 3d6d830fae..3d6d830fae 100644
--- a/patches/server/0342-Add-phantom-creative-and-insomniac-controls.patch
+++ b/patches/server/0341-Add-phantom-creative-and-insomniac-controls.patch
diff --git a/patches/server/0343-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0342-Fix-item-duplication-and-teleport-issues.patch
index 7f2cff96c8..6121c288cf 100644
--- a/patches/server/0343-Fix-item-duplication-and-teleport-issues.patch
+++ b/patches/server/0342-Fix-item-duplication-and-teleport-issues.patch
@@ -16,7 +16,7 @@ So even if something NEW comes up, it would be impossible to drop the
same item twice because the source was destroyed.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e5c280df931fc712e41f4decfeb2871b870d2e4a..c48f634fe80919cb1c2c4d2c1fd647dc63c87749 100644
+index bccd5d2ef5cdc01d2785231d47ec17481f87f2cb..2dc87373d687c04f89c7a3b033c8a188ba415904 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2656,11 +2656,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0344-Villager-Restocks-API.patch b/patches/server/0343-Villager-Restocks-API.patch
index 4ad766705c..4ad766705c 100644
--- a/patches/server/0344-Villager-Restocks-API.patch
+++ b/patches/server/0343-Villager-Restocks-API.patch
diff --git a/patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/server/0344-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
index e423cfabe1..e423cfabe1 100644
--- a/patches/server/0345-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
+++ b/patches/server/0344-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch
diff --git a/patches/server/0346-misc-debugging-dumps.patch b/patches/server/0345-misc-debugging-dumps.patch
index fc898c3359..fc898c3359 100644
--- a/patches/server/0346-misc-debugging-dumps.patch
+++ b/patches/server/0345-misc-debugging-dumps.patch
diff --git a/patches/server/0347-Prevent-teleporting-dead-entities.patch b/patches/server/0346-Prevent-teleporting-dead-entities.patch
index 75dbbc6f16..75dbbc6f16 100644
--- a/patches/server/0347-Prevent-teleporting-dead-entities.patch
+++ b/patches/server/0346-Prevent-teleporting-dead-entities.patch
diff --git a/patches/server/0348-Implement-Mob-Goal-API.patch b/patches/server/0347-Implement-Mob-Goal-API.patch
index 147803336e..246988f711 100644
--- a/patches/server/0348-Implement-Mob-Goal-API.patch
+++ b/patches/server/0347-Implement-Mob-Goal-API.patch
@@ -18,7 +18,7 @@ index d5ad109d2deb4fe756924ebaac4091017beb6b99..cc0a3c29aeb67e486fb75c1d6cc28019
testImplementation("org.hamcrest:hamcrest:2.2")
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
new file mode 100644
-index 0000000000000000000000000000000000000000..36621b42f0dbca9d82a2ca284f30fd9eceab166e
+index 0000000000000000000000000000000000000000..99d0118061233eced90ca5aed2eb5ff0b188837b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
@@ -0,0 +1,379 @@
@@ -317,7 +317,7 @@ index 0000000000000000000000000000000000000000..36621b42f0dbca9d82a2ca284f30fd9e
+ public static EnumSet<GoalType> vanillaToPaper(Goal goal) {
+ EnumSet<GoalType> goals = EnumSet.noneOf(GoalType.class);
+ for (GoalType type : GoalType.values()) {
-+ if (goal.getFlags().hasElement(paperToVanilla(type))) {
++ if (goal.hasFlag(paperToVanilla(type))) {
+ goals.add(type);
+ }
+ }
@@ -403,7 +403,7 @@ index 0000000000000000000000000000000000000000..36621b42f0dbca9d82a2ca284f30fd9e
+}
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/PaperCustomGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/PaperCustomGoal.java
new file mode 100644
-index 0000000000000000000000000000000000000000..26c745dd9ccdfdd5c5039f2acc5201b9b91fb274
+index 0000000000000000000000000000000000000000..2625ff0d8fa1fb2b5166326dc729bc41b054779b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/PaperCustomGoal.java
@@ -0,0 +1,53 @@
@@ -423,7 +423,7 @@ index 0000000000000000000000000000000000000000..26c745dd9ccdfdd5c5039f2acc5201b9
+
+ this.setFlags(MobGoalHelper.paperToVanilla(handle.getTypes()));
+ if (this.getFlags().size() == 0) {
-+ this.getFlags().addUnchecked(Flag.UNKNOWN_BEHAVIOR);
++ this.addFlag(Flag.UNKNOWN_BEHAVIOR);
+ }
+ }
+
@@ -462,7 +462,7 @@ index 0000000000000000000000000000000000000000..26c745dd9ccdfdd5c5039f2acc5201b9
+}
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/PaperMobGoals.java b/src/main/java/com/destroystokyo/paper/entity/ai/PaperMobGoals.java
new file mode 100644
-index 0000000000000000000000000000000000000000..e8a427ea777af040d0e2b9cc0ba2a80b9176d026
+index 0000000000000000000000000000000000000000..7e72fbb1659327452a2a1c665fd852b53670c85d
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/PaperMobGoals.java
@@ -0,0 +1,226 @@
@@ -587,7 +587,7 @@ index 0000000000000000000000000000000000000000..e8a427ea777af040d0e2b9cc0ba2a80b
+ CraftMob craftMob = (CraftMob) mob;
+ Set<Goal<T>> goals = new HashSet<>();
+ for (WrappedGoal item : getHandle(craftMob, type).getAvailableGoals()) {
-+ if (!item.getGoal().getFlags().hasElement(MobGoalHelper.paperToVanilla(type))) {
++ if (!item.getGoal().hasFlag(MobGoalHelper.paperToVanilla(type))) {
+ continue;
+ }
+
@@ -610,7 +610,7 @@ index 0000000000000000000000000000000000000000..e8a427ea777af040d0e2b9cc0ba2a80b
+ continue;
+ }
+ for (WrappedGoal item : getHandle(craftMob, internalType).getAvailableGoals()) {
-+ if (item.getGoal().getFlags().hasElement(MobGoalHelper.paperToVanilla(type))) {
++ if (item.getGoal().hasFlag(MobGoalHelper.paperToVanilla(type))) {
+ continue;
+ }
+
@@ -640,7 +640,7 @@ index 0000000000000000000000000000000000000000..e8a427ea777af040d0e2b9cc0ba2a80b
+ Set<Goal<T>> goals = new HashSet<>();
+ getHandle(craftMob, type).getAvailableGoals()
+ .stream().filter(WrappedGoal::isRunning)
-+ .filter(item -> item.getGoal().getFlags().hasElement(MobGoalHelper.paperToVanilla(type)))
++ .filter(item -> item.getGoal().hasFlag(MobGoalHelper.paperToVanilla(type)))
+ .forEach(item -> {
+ if (item.getGoal() instanceof PaperCustomGoal) {
+ //noinspection unchecked
@@ -663,7 +663,7 @@ index 0000000000000000000000000000000000000000..e8a427ea777af040d0e2b9cc0ba2a80b
+ getHandle(craftMob, internalType).getAvailableGoals()
+ .stream()
+ .filter(WrappedGoal::isRunning)
-+ .filter(item -> !item.getGoal().getFlags().hasElement(MobGoalHelper.paperToVanilla(type)))
++ .filter(item -> !item.getGoal().hasFlag(MobGoalHelper.paperToVanilla(type)))
+ .forEach(item -> {
+ if (item.getGoal() instanceof PaperCustomGoal) {
+ //noinspection unchecked
@@ -760,10 +760,27 @@ index 0000000000000000000000000000000000000000..b5c594a5499556ad452d9939c75e150a
+ }
+}
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
-index a8d6d7054110b5d95830296699f004418dae10db..acc25b08ed3b9f978229fa017d23f9fa0da519e3 100644
+index a8d6d7054110b5d95830296699f004418dae10db..7a98d6e0d7e9b8d3967bf9498fd25a0c3148e039 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
-@@ -62,7 +62,19 @@ public abstract class Goal {
+@@ -46,6 +46,16 @@ public abstract class Goal {
+ return this.flags;
+ }
+
++ // Paper start - Mob Goal API
++ public boolean hasFlag(final Goal.Flag flag) {
++ return this.flags.contains(flag);
++ }
++
++ public void addFlag(final Goal.Flag flag) {
++ this.flags.add(flag);
++ }
++ // Paper end - Mob Goal API
++
+ protected int adjustedTickDelay(int ticks) {
+ return this.requiresUpdateEveryTick() ? ticks : reducedTickDelay(ticks);
+ }
+@@ -62,7 +72,19 @@ public abstract class Goal {
return (ServerLevel)world;
}
diff --git a/patches/server/0349-Add-villager-reputation-API.patch b/patches/server/0348-Add-villager-reputation-API.patch
index f08d60eeae..f08d60eeae 100644
--- a/patches/server/0349-Add-villager-reputation-API.patch
+++ b/patches/server/0348-Add-villager-reputation-API.patch
diff --git a/patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch b/patches/server/0349-ExperienceOrb-merging-stacking-API-and-fixes.patch
index 83f8e86f82..83f8e86f82 100644
--- a/patches/server/0350-ExperienceOrb-merging-stacking-API-and-fixes.patch
+++ b/patches/server/0349-ExperienceOrb-merging-stacking-API-and-fixes.patch
diff --git a/patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0350-Fix-PotionEffect-ignores-icon-flag.patch
index 6d08a4cd68..6d08a4cd68 100644
--- a/patches/server/0351-Fix-PotionEffect-ignores-icon-flag.patch
+++ b/patches/server/0350-Fix-PotionEffect-ignores-icon-flag.patch
diff --git a/patches/server/0352-Potential-bed-API.patch b/patches/server/0351-Potential-bed-API.patch
index e4dbfa304f..e4dbfa304f 100644
--- a/patches/server/0352-Potential-bed-API.patch
+++ b/patches/server/0351-Potential-bed-API.patch
diff --git a/patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0352-Wait-for-Async-Tasks-during-shutdown.patch
index c5497b4e08..c5497b4e08 100644
--- a/patches/server/0353-Wait-for-Async-Tasks-during-shutdown.patch
+++ b/patches/server/0352-Wait-for-Async-Tasks-during-shutdown.patch
diff --git a/patches/server/0354-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/server/0353-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
index 60f62b1aef..60f62b1aef 100644
--- a/patches/server/0354-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
+++ b/patches/server/0353-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
diff --git a/patches/server/0355-Add-option-for-console-having-all-permissions.patch b/patches/server/0354-Add-option-for-console-having-all-permissions.patch
index ace91d22dd..ace91d22dd 100644
--- a/patches/server/0355-Add-option-for-console-having-all-permissions.patch
+++ b/patches/server/0354-Add-option-for-console-having-all-permissions.patch
diff --git a/patches/server/0356-Fix-villager-trading-demand-MC-163962.patch b/patches/server/0355-Fix-villager-trading-demand-MC-163962.patch
index bd7b6c4273..bd7b6c4273 100644
--- a/patches/server/0356-Fix-villager-trading-demand-MC-163962.patch
+++ b/patches/server/0355-Fix-villager-trading-demand-MC-163962.patch
diff --git a/patches/server/0357-Maps-shouldn-t-load-chunks.patch b/patches/server/0356-Maps-shouldn-t-load-chunks.patch
index 5466a9cdef..5466a9cdef 100644
--- a/patches/server/0357-Maps-shouldn-t-load-chunks.patch
+++ b/patches/server/0356-Maps-shouldn-t-load-chunks.patch
diff --git a/patches/server/0358-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/patches/server/0357-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
index a9541d0791..a9541d0791 100644
--- a/patches/server/0358-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
+++ b/patches/server/0357-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch
diff --git a/patches/server/0359-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/server/0358-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
index 2b6515bcf7..2b6515bcf7 100644
--- a/patches/server/0359-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
+++ b/patches/server/0358-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch
diff --git a/patches/server/0360-Fix-piston-physics-inconsistency-MC-188840.patch b/patches/server/0359-Fix-piston-physics-inconsistency-MC-188840.patch
index aca7ba66df..aca7ba66df 100644
--- a/patches/server/0360-Fix-piston-physics-inconsistency-MC-188840.patch
+++ b/patches/server/0359-Fix-piston-physics-inconsistency-MC-188840.patch
diff --git a/patches/server/0361-Fix-missing-chunks-due-to-integer-overflow.patch b/patches/server/0360-Fix-missing-chunks-due-to-integer-overflow.patch
index e7af97469b..e7af97469b 100644
--- a/patches/server/0361-Fix-missing-chunks-due-to-integer-overflow.patch
+++ b/patches/server/0360-Fix-missing-chunks-due-to-integer-overflow.patch
diff --git a/patches/server/0362-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0361-Prevent-position-desync-causing-tp-exploit.patch
index f73360e724..f73360e724 100644
--- a/patches/server/0362-Prevent-position-desync-causing-tp-exploit.patch
+++ b/patches/server/0361-Prevent-position-desync-causing-tp-exploit.patch
diff --git a/patches/server/0363-Inventory-getHolder-method-without-block-snapshot.patch b/patches/server/0362-Inventory-getHolder-method-without-block-snapshot.patch
index e5f25132df..e5f25132df 100644
--- a/patches/server/0363-Inventory-getHolder-method-without-block-snapshot.patch
+++ b/patches/server/0362-Inventory-getHolder-method-without-block-snapshot.patch
diff --git a/patches/server/0364-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0363-Add-PlayerRecipeBookClickEvent.patch
index 58ea92d25f..58ea92d25f 100644
--- a/patches/server/0364-Add-PlayerRecipeBookClickEvent.patch
+++ b/patches/server/0363-Add-PlayerRecipeBookClickEvent.patch
diff --git a/patches/server/0365-Hide-sync-chunk-writes-behind-flag.patch b/patches/server/0364-Hide-sync-chunk-writes-behind-flag.patch
index 8703d3b68a..8703d3b68a 100644
--- a/patches/server/0365-Hide-sync-chunk-writes-behind-flag.patch
+++ b/patches/server/0364-Hide-sync-chunk-writes-behind-flag.patch
diff --git a/patches/server/0366-Add-permission-for-command-blocks.patch b/patches/server/0365-Add-permission-for-command-blocks.patch
index 3d1a2ff8ed..3d1a2ff8ed 100644
--- a/patches/server/0366-Add-permission-for-command-blocks.patch
+++ b/patches/server/0365-Add-permission-for-command-blocks.patch
diff --git a/patches/server/0367-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/server/0366-Ensure-Entity-position-and-AABB-are-never-invalid.patch
index 19958b8498..2190689071 100644
--- a/patches/server/0367-Ensure-Entity-position-and-AABB-are-never-invalid.patch
+++ b/patches/server/0366-Ensure-Entity-position-and-AABB-are-never-invalid.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Ensure Entity position and AABB are never invalid
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c48f634fe80919cb1c2c4d2c1fd647dc63c87749..3860265a50b62fbd36c9e1b32680c3b62d5342a6 100644
+index 2dc87373d687c04f89c7a3b033c8a188ba415904..abcdb8d082dd0bbcd60c1d0d924b6774dd196ea7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -678,8 +678,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0367-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index 6ea3956f08..6ea3956f08 100644
--- a/patches/server/0368-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0367-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
diff --git a/patches/server/0369-Paper-dumpitem-command.patch b/patches/server/0368-Paper-dumpitem-command.patch
index 3c84400215..3c84400215 100644
--- a/patches/server/0369-Paper-dumpitem-command.patch
+++ b/patches/server/0368-Paper-dumpitem-command.patch
diff --git a/patches/server/0370-Improve-Legacy-Component-serialization-size.patch b/patches/server/0369-Improve-Legacy-Component-serialization-size.patch
index e52764c13c..e52764c13c 100644
--- a/patches/server/0370-Improve-Legacy-Component-serialization-size.patch
+++ b/patches/server/0369-Improve-Legacy-Component-serialization-size.patch
diff --git a/patches/server/0371-Add-BlockStateMeta-clearBlockState.patch b/patches/server/0370-Add-BlockStateMeta-clearBlockState.patch
index 426769212c..426769212c 100644
--- a/patches/server/0371-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/server/0370-Add-BlockStateMeta-clearBlockState.patch
diff --git a/patches/server/0372-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0371-Convert-legacy-attributes-in-Item-Meta.patch
index bfbf591996..bfbf591996 100644
--- a/patches/server/0372-Convert-legacy-attributes-in-Item-Meta.patch
+++ b/patches/server/0371-Convert-legacy-attributes-in-Item-Meta.patch
diff --git a/patches/server/0373-Do-not-accept-invalid-client-settings.patch b/patches/server/0372-Do-not-accept-invalid-client-settings.patch
index 61d7b987d0..61d7b987d0 100644
--- a/patches/server/0373-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0372-Do-not-accept-invalid-client-settings.patch
diff --git a/patches/server/0374-Improve-fix-EntityTargetLivingEntityEvent.patch b/patches/server/0373-Improve-fix-EntityTargetLivingEntityEvent.patch
index 2777b41e11..2777b41e11 100644
--- a/patches/server/0374-Improve-fix-EntityTargetLivingEntityEvent.patch
+++ b/patches/server/0373-Improve-fix-EntityTargetLivingEntityEvent.patch
diff --git a/patches/server/0375-Add-entity-liquid-API.patch b/patches/server/0374-Add-entity-liquid-API.patch
index e7b8d36eb5..e7b8d36eb5 100644
--- a/patches/server/0375-Add-entity-liquid-API.patch
+++ b/patches/server/0374-Add-entity-liquid-API.patch
diff --git a/patches/server/0376-Add-PrepareResultEvent.patch b/patches/server/0375-Add-PrepareResultEvent.patch
index 50383f0c23..50383f0c23 100644
--- a/patches/server/0376-Add-PrepareResultEvent.patch
+++ b/patches/server/0375-Add-PrepareResultEvent.patch
diff --git a/patches/server/0377-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0376-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
index 446ad63d2d..446ad63d2d 100644
--- a/patches/server/0377-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
+++ b/patches/server/0376-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
diff --git a/patches/server/0378-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0377-Fix-arrows-never-despawning-MC-125757.patch
index 5f3fad60eb..dd322f1d86 100644
--- a/patches/server/0378-Fix-arrows-never-despawning-MC-125757.patch
+++ b/patches/server/0377-Fix-arrows-never-despawning-MC-125757.patch
@@ -9,7 +9,7 @@ instead of getting stuck in a never despawn state (bubble columns,
etc).
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index a05fc651a952b57a8a2fcb32d26d024875037d38..52765e1b9f5a026e7108ff5a7d97681cdb2870e9 100644
+index 2b4df4e417b5655341a640a1c133457f78338970..6637da7a1c17152e8fc5f0f12d8da55bab6070de 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -244,6 +244,7 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/0379-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0378-Thread-Safe-Vanilla-Command-permission-checking.patch
index 475b277470..475b277470 100644
--- a/patches/server/0379-Thread-Safe-Vanilla-Command-permission-checking.patch
+++ b/patches/server/0378-Thread-Safe-Vanilla-Command-permission-checking.patch
diff --git a/patches/server/0380-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0379-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
index 769befb013..769befb013 100644
--- a/patches/server/0380-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
+++ b/patches/server/0379-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
diff --git a/patches/server/0381-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0380-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
index 7b65f71eac..7b65f71eac 100644
--- a/patches/server/0381-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
+++ b/patches/server/0380-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
diff --git a/patches/server/0382-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0381-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
index ef009ef823..ef009ef823 100644
--- a/patches/server/0382-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
+++ b/patches/server/0381-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
diff --git a/patches/server/0383-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0382-Optimize-NetworkManager-Exception-Handling.patch
index 8626e3b900..8626e3b900 100644
--- a/patches/server/0383-Optimize-NetworkManager-Exception-Handling.patch
+++ b/patches/server/0382-Optimize-NetworkManager-Exception-Handling.patch
diff --git a/patches/server/0384-Fix-some-rails-connecting-improperly.patch b/patches/server/0383-Fix-some-rails-connecting-improperly.patch
index c22d4e1fdf..c22d4e1fdf 100644
--- a/patches/server/0384-Fix-some-rails-connecting-improperly.patch
+++ b/patches/server/0383-Fix-some-rails-connecting-improperly.patch
diff --git a/patches/server/0385-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0384-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
index 75cd32bb83..75cd32bb83 100644
--- a/patches/server/0385-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
+++ b/patches/server/0384-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
diff --git a/patches/server/0386-Brand-support.patch b/patches/server/0385-Brand-support.patch
index 7fe7a24ff5..623e6bf4e9 100644
--- a/patches/server/0386-Brand-support.patch
+++ b/patches/server/0385-Brand-support.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 07b1bc1a06ac1fec83ba76a73b3cc1bd8f560208..475ad396d842617b53ccf59fd07bfe1682852e50 100644
+index b1340a5021991d09a0f4a6ad4ce5d7389feb1175..ed2164d8c652b135f9cb777f1a6242bcfec36bbc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -320,6 +320,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0387-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0386-Add-playPickupItemAnimation-to-LivingEntity.patch
index 5b48b5baca..5b48b5baca 100644
--- a/patches/server/0387-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/server/0386-Add-playPickupItemAnimation-to-LivingEntity.patch
diff --git a/patches/server/0388-Don-t-require-FACING-data.patch b/patches/server/0387-Don-t-require-FACING-data.patch
index 2cec1e5276..2cec1e5276 100644
--- a/patches/server/0388-Don-t-require-FACING-data.patch
+++ b/patches/server/0387-Don-t-require-FACING-data.patch
diff --git a/patches/server/0389-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0388-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
index 152014d89c..152014d89c 100644
--- a/patches/server/0389-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
+++ b/patches/server/0388-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
diff --git a/patches/server/0390-Add-moon-phase-API.patch b/patches/server/0389-Add-moon-phase-API.patch
index 2fcd34c334..2fcd34c334 100644
--- a/patches/server/0390-Add-moon-phase-API.patch
+++ b/patches/server/0389-Add-moon-phase-API.patch
diff --git a/patches/server/0391-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0390-Do-not-let-the-server-load-chunks-from-newer-version.patch
index 3bdfea31f7..3bdfea31f7 100644
--- a/patches/server/0391-Do-not-let-the-server-load-chunks-from-newer-version.patch
+++ b/patches/server/0390-Do-not-let-the-server-load-chunks-from-newer-version.patch
diff --git a/patches/server/0392-Prevent-headless-pistons-from-being-created.patch b/patches/server/0391-Prevent-headless-pistons-from-being-created.patch
index 788473f265..788473f265 100644
--- a/patches/server/0392-Prevent-headless-pistons-from-being-created.patch
+++ b/patches/server/0391-Prevent-headless-pistons-from-being-created.patch
diff --git a/patches/server/0393-Add-BellRingEvent.patch b/patches/server/0392-Add-BellRingEvent.patch
index c78e88ccaa..c78e88ccaa 100644
--- a/patches/server/0393-Add-BellRingEvent.patch
+++ b/patches/server/0392-Add-BellRingEvent.patch
diff --git a/patches/server/0394-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0393-Add-zombie-targets-turtle-egg-config.patch
index 73a1b707b4..73a1b707b4 100644
--- a/patches/server/0394-Add-zombie-targets-turtle-egg-config.patch
+++ b/patches/server/0393-Add-zombie-targets-turtle-egg-config.patch
diff --git a/patches/server/0395-Buffer-joins-to-world.patch b/patches/server/0394-Buffer-joins-to-world.patch
index 217062d3c5..217062d3c5 100644
--- a/patches/server/0395-Buffer-joins-to-world.patch
+++ b/patches/server/0394-Buffer-joins-to-world.patch
diff --git a/patches/server/0396-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0395-Fix-hex-colors-not-working-in-some-kick-messages.patch
index 1cafcc355b..1cafcc355b 100644
--- a/patches/server/0396-Fix-hex-colors-not-working-in-some-kick-messages.patch
+++ b/patches/server/0395-Fix-hex-colors-not-working-in-some-kick-messages.patch
diff --git a/patches/server/0397-Add-more-Evoker-API.patch b/patches/server/0396-Add-more-Evoker-API.patch
index f44eceff55..f44eceff55 100644
--- a/patches/server/0397-Add-more-Evoker-API.patch
+++ b/patches/server/0396-Add-more-Evoker-API.patch
diff --git a/patches/server/0398-Add-methods-to-get-translation-keys.patch b/patches/server/0397-Add-methods-to-get-translation-keys.patch
index 667be15737..667be15737 100644
--- a/patches/server/0398-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0397-Add-methods-to-get-translation-keys.patch
diff --git a/patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0398-Create-HoverEvent-from-ItemStack-Entity.patch
index d487492e0c..d487492e0c 100644
--- a/patches/server/0399-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/server/0398-Create-HoverEvent-from-ItemStack-Entity.patch
diff --git a/patches/server/0400-Cache-block-data-strings.patch b/patches/server/0399-Cache-block-data-strings.patch
index 89a3e25bc6..89a3e25bc6 100644
--- a/patches/server/0400-Cache-block-data-strings.patch
+++ b/patches/server/0399-Cache-block-data-strings.patch
diff --git a/patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0400-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 6b7040ff05..a3a03437b2 100644
--- a/patches/server/0401-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0400-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -22,7 +22,7 @@ index eab19d5ac362c4779e91fad0ede3e4c26f29ab01..0d7dae5fa79cd302d73d1be51d8bf908
this.lastGoodY = this.awaitingPositionFromClient.y;
this.lastGoodZ = this.awaitingPositionFromClient.z;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 3860265a50b62fbd36c9e1b32680c3b62d5342a6..e93f8a9eefc082d66d0e1804c98d0df7db914cd8 100644
+index abcdb8d082dd0bbcd60c1d0d924b6774dd196ea7..d871b45ea22f1f2019ca1d1e0708d8861daec633 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -180,6 +180,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0402-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0401-Add-additional-open-container-api-to-HumanEntity.patch
index 4f9cf8d9d9..4f9cf8d9d9 100644
--- a/patches/server/0402-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/patches/server/0401-Add-additional-open-container-api-to-HumanEntity.patch
diff --git a/patches/server/0403-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0402-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
index 9a0c6f1492..9a0c6f1492 100644
--- a/patches/server/0403-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
+++ b/patches/server/0402-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
diff --git a/patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0403-Extend-block-drop-capture-to-capture-all-items-added.patch
index a483ce60ab..f8c5daee20 100644
--- a/patches/server/0404-Extend-block-drop-capture-to-capture-all-items-added.patch
+++ b/patches/server/0403-Extend-block-drop-capture-to-capture-all-items-added.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f01fe053888f7f5124c6b157044dfd46ea98ae23..1ed0940d8bdc4210992a335b3691c1cd3a13580a 100644
+index d32606cba7222aa538cca3882314f9f87f33684f..f6b91771445ab4f48525f24025a9f5249f176cd5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1199,6 +1199,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0404-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 848aa202cd..9806d3ed44 100644
--- a/patches/server/0405-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0404-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e93f8a9eefc082d66d0e1804c98d0df7db914cd8..56e4a5316e873c0a6fc3495bbfba6dc503cc9c9c 100644
+index d871b45ea22f1f2019ca1d1e0708d8861daec633..b8e63ccc00668713e5759aaf04597359870397f3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4760,4 +4760,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0406-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0405-Lazily-track-plugin-scoreboards-by-default.patch
index 28ae9df043..28ae9df043 100644
--- a/patches/server/0406-Lazily-track-plugin-scoreboards-by-default.patch
+++ b/patches/server/0405-Lazily-track-plugin-scoreboards-by-default.patch
diff --git a/patches/server/0407-Entity-isTicking.patch b/patches/server/0406-Entity-isTicking.patch
index f4c67478a8..cd8df4b7db 100644
--- a/patches/server/0407-Entity-isTicking.patch
+++ b/patches/server/0406-Entity-isTicking.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 56e4a5316e873c0a6fc3495bbfba6dc503cc9c9c..7609a58979388cb62be7ae94a51cc14774464214 100644
+index b8e63ccc00668713e5759aaf04597359870397f3..1efaae5d9dab0bbcc2bbef772eb0f5cdf8ff384c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4765,5 +4765,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0407-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
index 70bf2759a9..70bf2759a9 100644
--- a/patches/server/0408-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
+++ b/patches/server/0407-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
diff --git a/patches/server/0409-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/server/0408-Fix-Concurrency-issue-in-ShufflingList.patch
index f04a40e1ac..f04a40e1ac 100644
--- a/patches/server/0409-Fix-Concurrency-issue-in-ShufflingList.patch
+++ b/patches/server/0408-Fix-Concurrency-issue-in-ShufflingList.patch
diff --git a/patches/server/0410-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0409-Reset-Ender-Crystals-on-Dragon-Spawn.patch
index 0c53eb55ed..0c53eb55ed 100644
--- a/patches/server/0410-Reset-Ender-Crystals-on-Dragon-Spawn.patch
+++ b/patches/server/0409-Reset-Ender-Crystals-on-Dragon-Spawn.patch
diff --git a/patches/server/0411-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0410-Fix-for-large-move-vectors-crashing-server.patch
index 2eef81bb77..2eef81bb77 100644
--- a/patches/server/0411-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0410-Fix-for-large-move-vectors-crashing-server.patch
diff --git a/patches/server/0412-Optimise-getType-calls.patch b/patches/server/0411-Optimise-getType-calls.patch
index da94b3a7b4..da94b3a7b4 100644
--- a/patches/server/0412-Optimise-getType-calls.patch
+++ b/patches/server/0411-Optimise-getType-calls.patch
diff --git a/patches/server/0413-Villager-resetOffers.patch b/patches/server/0412-Villager-resetOffers.patch
index 1c9cac618a..1c9cac618a 100644
--- a/patches/server/0413-Villager-resetOffers.patch
+++ b/patches/server/0412-Villager-resetOffers.patch
diff --git a/patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0413-Retain-block-place-order-when-capturing-blockstates.patch
index 8816366bcc..8816366bcc 100644
--- a/patches/server/0414-Retain-block-place-order-when-capturing-blockstates.patch
+++ b/patches/server/0413-Retain-block-place-order-when-capturing-blockstates.patch
diff --git a/patches/server/0415-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0414-Fix-item-locations-dropped-from-campfires.patch
index df4949c1b8..df4949c1b8 100644
--- a/patches/server/0415-Fix-item-locations-dropped-from-campfires.patch
+++ b/patches/server/0414-Fix-item-locations-dropped-from-campfires.patch
diff --git a/patches/server/0416-Fix-bell-block-entity-memory-leak.patch b/patches/server/0415-Fix-bell-block-entity-memory-leak.patch
index 5343b073cd..5343b073cd 100644
--- a/patches/server/0416-Fix-bell-block-entity-memory-leak.patch
+++ b/patches/server/0415-Fix-bell-block-entity-memory-leak.patch
diff --git a/patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0416-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
index 8498d60497..8498d60497 100644
--- a/patches/server/0417-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
+++ b/patches/server/0416-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
diff --git a/patches/server/0418-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0417-Add-getOfflinePlayerIfCached-String.patch
index 3b226a9a85..3b226a9a85 100644
--- a/patches/server/0418-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0417-Add-getOfflinePlayerIfCached-String.patch
diff --git a/patches/server/0419-Add-ignore-discounts-API.patch b/patches/server/0418-Add-ignore-discounts-API.patch
index a25e1bf557..a25e1bf557 100644
--- a/patches/server/0419-Add-ignore-discounts-API.patch
+++ b/patches/server/0418-Add-ignore-discounts-API.patch
diff --git a/patches/server/0420-Toggle-for-removing-existing-dragon.patch b/patches/server/0419-Toggle-for-removing-existing-dragon.patch
index 5efff5ff3f..5efff5ff3f 100644
--- a/patches/server/0420-Toggle-for-removing-existing-dragon.patch
+++ b/patches/server/0419-Toggle-for-removing-existing-dragon.patch
diff --git a/patches/server/0421-Fix-client-lag-on-advancement-loading.patch b/patches/server/0420-Fix-client-lag-on-advancement-loading.patch
index 4866bbae4b..4866bbae4b 100644
--- a/patches/server/0421-Fix-client-lag-on-advancement-loading.patch
+++ b/patches/server/0420-Fix-client-lag-on-advancement-loading.patch
diff --git a/patches/server/0422-Item-no-age-no-player-pickup.patch b/patches/server/0421-Item-no-age-no-player-pickup.patch
index 1fffbaf558..1fffbaf558 100644
--- a/patches/server/0422-Item-no-age-no-player-pickup.patch
+++ b/patches/server/0421-Item-no-age-no-player-pickup.patch
diff --git a/patches/server/0423-Beacon-API-custom-effect-ranges.patch b/patches/server/0422-Beacon-API-custom-effect-ranges.patch
index 6afe0e8f7c..6afe0e8f7c 100644
--- a/patches/server/0423-Beacon-API-custom-effect-ranges.patch
+++ b/patches/server/0422-Beacon-API-custom-effect-ranges.patch
diff --git a/patches/server/0424-Add-API-for-quit-reason.patch b/patches/server/0423-Add-API-for-quit-reason.patch
index ef6e4a94d3..954d1e73be 100644
--- a/patches/server/0424-Add-API-for-quit-reason.patch
+++ b/patches/server/0423-Add-API-for-quit-reason.patch
@@ -28,7 +28,7 @@ index f9158826f16e45c81714c2e0a284828bc5bb95c8..448bde861b4190a678a8ccb63cade43c
Connection.LOGGER.debug("Failed to sent packet", throwable);
if (this.getSending() == PacketFlow.CLIENTBOUND) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 475ad396d842617b53ccf59fd07bfe1682852e50..6344947f445e1da19d21de67a51b88de65eceb7a 100644
+index ed2164d8c652b135f9cb777f1a6242bcfec36bbc..1dfc696ff2e122c6c61fdd1c7c5761ae81fa75ec 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -321,6 +321,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0425-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0424-Add-Wandering-Trader-spawn-rate-config-options.patch
index 30e4e03f24..30e4e03f24 100644
--- a/patches/server/0425-Add-Wandering-Trader-spawn-rate-config-options.patch
+++ b/patches/server/0424-Add-Wandering-Trader-spawn-rate-config-options.patch
diff --git a/patches/server/0426-Add-Destroy-Speed-API.patch b/patches/server/0425-Add-Destroy-Speed-API.patch
index 251968d61c..251968d61c 100644
--- a/patches/server/0426-Add-Destroy-Speed-API.patch
+++ b/patches/server/0425-Add-Destroy-Speed-API.patch
diff --git a/patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0426-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 92b41a4864..92b41a4864 100644
--- a/patches/server/0427-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0426-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
diff --git a/patches/server/0428-Add-LivingEntity-clearActiveItem.patch b/patches/server/0427-Add-LivingEntity-clearActiveItem.patch
index f470d50f88..f470d50f88 100644
--- a/patches/server/0428-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/server/0427-Add-LivingEntity-clearActiveItem.patch
diff --git a/patches/server/0429-Add-PlayerItemCooldownEvent.patch b/patches/server/0428-Add-PlayerItemCooldownEvent.patch
index 773d0201e7..773d0201e7 100644
--- a/patches/server/0429-Add-PlayerItemCooldownEvent.patch
+++ b/patches/server/0428-Add-PlayerItemCooldownEvent.patch
diff --git a/patches/server/0430-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0429-Significantly-improve-performance-of-the-end-generat.patch
index ed3ee50bc9..ed3ee50bc9 100644
--- a/patches/server/0430-Significantly-improve-performance-of-the-end-generat.patch
+++ b/patches/server/0429-Significantly-improve-performance-of-the-end-generat.patch
diff --git a/patches/server/0431-More-lightning-API.patch b/patches/server/0430-More-lightning-API.patch
index 967871902a..967871902a 100644
--- a/patches/server/0431-More-lightning-API.patch
+++ b/patches/server/0430-More-lightning-API.patch
diff --git a/patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0431-Climbing-should-not-bypass-cramming-gamerule.patch
index ea3919bcb2..b6573a018f 100644
--- a/patches/server/0432-Climbing-should-not-bypass-cramming-gamerule.patch
+++ b/patches/server/0431-Climbing-should-not-bypass-cramming-gamerule.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 7609a58979388cb62be7ae94a51cc14774464214..fc40880fadb20f7c274c94b1e6a2fa6d0118e672 100644
+index 1efaae5d9dab0bbcc2bbef772eb0f5cdf8ff384c..20e6b199758130d5c758c79488031c40849cc51d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2219,6 +2219,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0433-Add-missing-default-perms-for-commands.patch b/patches/server/0432-Add-missing-default-perms-for-commands.patch
index 95a842cb3f..95a842cb3f 100644
--- a/patches/server/0433-Add-missing-default-perms-for-commands.patch
+++ b/patches/server/0432-Add-missing-default-perms-for-commands.patch
diff --git a/patches/server/0434-Add-PlayerShearBlockEvent.patch b/patches/server/0433-Add-PlayerShearBlockEvent.patch
index dc2dd37c19..dc2dd37c19 100644
--- a/patches/server/0434-Add-PlayerShearBlockEvent.patch
+++ b/patches/server/0433-Add-PlayerShearBlockEvent.patch
diff --git a/patches/server/0435-Limit-recipe-packets.patch b/patches/server/0434-Limit-recipe-packets.patch
index 39de7be41f..39de7be41f 100644
--- a/patches/server/0435-Limit-recipe-packets.patch
+++ b/patches/server/0434-Limit-recipe-packets.patch
diff --git a/patches/server/0436-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0435-Fix-CraftSound-backwards-compatibility.patch
index 604e24920d..604e24920d 100644
--- a/patches/server/0436-Fix-CraftSound-backwards-compatibility.patch
+++ b/patches/server/0435-Fix-CraftSound-backwards-compatibility.patch
diff --git a/patches/server/0437-Player-Chunk-Load-Unload-Events.patch b/patches/server/0436-Player-Chunk-Load-Unload-Events.patch
index 0fee853cd3..0fee853cd3 100644
--- a/patches/server/0437-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/server/0436-Player-Chunk-Load-Unload-Events.patch
diff --git a/patches/server/0438-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0437-Optimize-Dynamic-get-Missing-Keys.patch
index e8bbac8b76..e8bbac8b76 100644
--- a/patches/server/0438-Optimize-Dynamic-get-Missing-Keys.patch
+++ b/patches/server/0437-Optimize-Dynamic-get-Missing-Keys.patch
diff --git a/patches/server/0439-Expose-LivingEntity-hurt-direction.patch b/patches/server/0438-Expose-LivingEntity-hurt-direction.patch
index 3720327ae5..3720327ae5 100644
--- a/patches/server/0439-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/server/0438-Expose-LivingEntity-hurt-direction.patch
diff --git a/patches/server/0440-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0439-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index 675b673d78..675b673d78 100644
--- a/patches/server/0440-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/server/0439-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
diff --git a/patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0440-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
index 3122449eed..3122449eed 100644
--- a/patches/server/0441-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
+++ b/patches/server/0440-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
diff --git a/patches/server/0442-Add-TargetHitEvent.patch b/patches/server/0441-Add-TargetHitEvent.patch
index 816c525fd2..816c525fd2 100644
--- a/patches/server/0442-Add-TargetHitEvent.patch
+++ b/patches/server/0441-Add-TargetHitEvent.patch
diff --git a/patches/server/0443-MC-4-Fix-item-position-desync.patch b/patches/server/0442-MC-4-Fix-item-position-desync.patch
index f3354a6790..0451493f65 100644
--- a/patches/server/0443-MC-4-Fix-item-position-desync.patch
+++ b/patches/server/0442-MC-4-Fix-item-position-desync.patch
@@ -28,7 +28,7 @@ index 488ebd443903af812913437f1ade3002093f2470..a043ac10834562d357ef0b5aded2e916
public Vec3 decode(long x, long y, long z) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index fc40880fadb20f7c274c94b1e6a2fa6d0118e672..64ea966438b0ec9d029b628543177b0faa2c259d 100644
+index 20e6b199758130d5c758c79488031c40849cc51d..0d99d310746cc584b2d89d0c1b7083049f4d1593 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4505,6 +4505,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0444-Additional-Block-Material-API.patch b/patches/server/0443-Additional-Block-Material-API.patch
index 19f5b4b7ef..19f5b4b7ef 100644
--- a/patches/server/0444-Additional-Block-Material-API.patch
+++ b/patches/server/0443-Additional-Block-Material-API.patch
diff --git a/patches/server/0445-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0444-API-to-get-Material-from-Boats-and-Minecarts.patch
index 25467e469e..25467e469e 100644
--- a/patches/server/0445-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/server/0444-API-to-get-Material-from-Boats-and-Minecarts.patch
diff --git a/patches/server/0446-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0445-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
index 140d605ba0..140d605ba0 100644
--- a/patches/server/0446-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
+++ b/patches/server/0445-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
diff --git a/patches/server/0447-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0446-Fix-Not-a-string-Map-Conversion-spam.patch
index 8952de7633..8952de7633 100644
--- a/patches/server/0447-Fix-Not-a-string-Map-Conversion-spam.patch
+++ b/patches/server/0446-Fix-Not-a-string-Map-Conversion-spam.patch
diff --git a/patches/server/0448-Add-PlayerFlowerPotManipulateEvent.patch b/patches/server/0447-Add-PlayerFlowerPotManipulateEvent.patch
index 8b8fb61ee2..8b8fb61ee2 100644
--- a/patches/server/0448-Add-PlayerFlowerPotManipulateEvent.patch
+++ b/patches/server/0447-Add-PlayerFlowerPotManipulateEvent.patch
diff --git a/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0448-Fix-interact-event-not-being-called-sometimes.patch
index d8a7435cf0..d8a7435cf0 100644
--- a/patches/server/0449-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0448-Fix-interact-event-not-being-called-sometimes.patch
diff --git a/patches/server/0450-Zombie-API-breaking-doors.patch b/patches/server/0449-Zombie-API-breaking-doors.patch
index b0741f110f..b0741f110f 100644
--- a/patches/server/0450-Zombie-API-breaking-doors.patch
+++ b/patches/server/0449-Zombie-API-breaking-doors.patch
diff --git a/patches/server/0451-Fix-nerfed-slime-when-splitting.patch b/patches/server/0450-Fix-nerfed-slime-when-splitting.patch
index c35358b895..c35358b895 100644
--- a/patches/server/0451-Fix-nerfed-slime-when-splitting.patch
+++ b/patches/server/0450-Fix-nerfed-slime-when-splitting.patch
diff --git a/patches/server/0452-Add-EntityLoadCrossbowEvent.patch b/patches/server/0451-Add-EntityLoadCrossbowEvent.patch
index be830ab067..be830ab067 100644
--- a/patches/server/0452-Add-EntityLoadCrossbowEvent.patch
+++ b/patches/server/0451-Add-EntityLoadCrossbowEvent.patch
diff --git a/patches/server/0453-Add-WorldGameRuleChangeEvent.patch b/patches/server/0452-Add-WorldGameRuleChangeEvent.patch
index a35834efa7..a35834efa7 100644
--- a/patches/server/0453-Add-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0452-Add-WorldGameRuleChangeEvent.patch
diff --git a/patches/server/0454-Add-ServerResourcesReloadedEvent.patch b/patches/server/0453-Add-ServerResourcesReloadedEvent.patch
index b6ef8ff126..b6ef8ff126 100644
--- a/patches/server/0454-Add-ServerResourcesReloadedEvent.patch
+++ b/patches/server/0453-Add-ServerResourcesReloadedEvent.patch
diff --git a/patches/server/0455-Add-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0454-Add-world-settings-for-mobs-picking-up-loot.patch
index 284e61124a..284e61124a 100644
--- a/patches/server/0455-Add-world-settings-for-mobs-picking-up-loot.patch
+++ b/patches/server/0454-Add-world-settings-for-mobs-picking-up-loot.patch
diff --git a/patches/server/0456-Add-BlockFailedDispenseEvent.patch b/patches/server/0455-Add-BlockFailedDispenseEvent.patch
index 7d8f896e06..7d8f896e06 100644
--- a/patches/server/0456-Add-BlockFailedDispenseEvent.patch
+++ b/patches/server/0455-Add-BlockFailedDispenseEvent.patch
diff --git a/patches/server/0457-Add-PlayerLecternPageChangeEvent.patch b/patches/server/0456-Add-PlayerLecternPageChangeEvent.patch
index 15052d962d..15052d962d 100644
--- a/patches/server/0457-Add-PlayerLecternPageChangeEvent.patch
+++ b/patches/server/0456-Add-PlayerLecternPageChangeEvent.patch
diff --git a/patches/server/0458-Add-PlayerLoomPatternSelectEvent.patch b/patches/server/0457-Add-PlayerLoomPatternSelectEvent.patch
index b523b29e0f..b523b29e0f 100644
--- a/patches/server/0458-Add-PlayerLoomPatternSelectEvent.patch
+++ b/patches/server/0457-Add-PlayerLoomPatternSelectEvent.patch
diff --git a/patches/server/0459-Configurable-door-breaking-difficulty.patch b/patches/server/0458-Configurable-door-breaking-difficulty.patch
index 94b37c735f..94b37c735f 100644
--- a/patches/server/0459-Configurable-door-breaking-difficulty.patch
+++ b/patches/server/0458-Configurable-door-breaking-difficulty.patch
diff --git a/patches/server/0460-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0459-Empty-commands-shall-not-be-dispatched.patch
index 9d321da35f..9d321da35f 100644
--- a/patches/server/0460-Empty-commands-shall-not-be-dispatched.patch
+++ b/patches/server/0459-Empty-commands-shall-not-be-dispatched.patch
diff --git a/patches/server/0461-Remove-stale-POIs.patch b/patches/server/0460-Remove-stale-POIs.patch
index 2c29fc65e4..2c29fc65e4 100644
--- a/patches/server/0461-Remove-stale-POIs.patch
+++ b/patches/server/0460-Remove-stale-POIs.patch
diff --git a/patches/server/0462-Fix-villager-boat-exploit.patch b/patches/server/0461-Fix-villager-boat-exploit.patch
index 8a06e563da..8a06e563da 100644
--- a/patches/server/0462-Fix-villager-boat-exploit.patch
+++ b/patches/server/0461-Fix-villager-boat-exploit.patch
diff --git a/patches/server/0463-Add-sendOpLevel-API.patch b/patches/server/0462-Add-sendOpLevel-API.patch
index df8490e384..df8490e384 100644
--- a/patches/server/0463-Add-sendOpLevel-API.patch
+++ b/patches/server/0462-Add-sendOpLevel-API.patch
diff --git a/patches/server/0464-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0463-Add-RegistryAccess-for-managing-Registries.patch
index 9c82b85992..9c82b85992 100644
--- a/patches/server/0464-Add-RegistryAccess-for-managing-Registries.patch
+++ b/patches/server/0463-Add-RegistryAccess-for-managing-Registries.patch
diff --git a/patches/server/0465-Add-StructuresLocateEvent.patch b/patches/server/0464-Add-StructuresLocateEvent.patch
index 6f3d0638ff..6f3d0638ff 100644
--- a/patches/server/0465-Add-StructuresLocateEvent.patch
+++ b/patches/server/0464-Add-StructuresLocateEvent.patch
diff --git a/patches/server/0466-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0465-Collision-option-for-requiring-a-player-participant.patch
index 7ab28c02eb..5eb393d403 100644
--- a/patches/server/0466-Collision-option-for-requiring-a-player-participant.patch
+++ b/patches/server/0465-Collision-option-for-requiring-a-player-participant.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Collision option for requiring a player participant
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 64ea966438b0ec9d029b628543177b0faa2c259d..fe7c8a3748627232508c6c9a366977345dda9ad7 100644
+index 0d99d310746cc584b2d89d0c1b7083049f4d1593..7cfb97fa2cf2c0167859b7ba888299d983c280a3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2048,6 +2048,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0467-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0466-Return-chat-component-with-empty-text-instead-of-thr.patch
index 20c17b39c0..20c17b39c0 100644
--- a/patches/server/0467-Return-chat-component-with-empty-text-instead-of-thr.patch
+++ b/patches/server/0466-Return-chat-component-with-empty-text-instead-of-thr.patch
diff --git a/patches/server/0468-Make-schedule-command-per-world.patch b/patches/server/0467-Make-schedule-command-per-world.patch
index 3ac2f8e3f4..3ac2f8e3f4 100644
--- a/patches/server/0468-Make-schedule-command-per-world.patch
+++ b/patches/server/0467-Make-schedule-command-per-world.patch
diff --git a/patches/server/0469-Configurable-max-leash-distance.patch b/patches/server/0468-Configurable-max-leash-distance.patch
index 39054ac60f..39054ac60f 100644
--- a/patches/server/0469-Configurable-max-leash-distance.patch
+++ b/patches/server/0468-Configurable-max-leash-distance.patch
diff --git a/patches/server/0470-Add-BlockPreDispenseEvent.patch b/patches/server/0469-Add-BlockPreDispenseEvent.patch
index f2725046a1..f2725046a1 100644
--- a/patches/server/0470-Add-BlockPreDispenseEvent.patch
+++ b/patches/server/0469-Add-BlockPreDispenseEvent.patch
diff --git a/patches/server/0471-Add-PlayerChangeBeaconEffectEvent.patch b/patches/server/0470-Add-PlayerChangeBeaconEffectEvent.patch
index f8164b3839..f8164b3839 100644
--- a/patches/server/0471-Add-PlayerChangeBeaconEffectEvent.patch
+++ b/patches/server/0470-Add-PlayerChangeBeaconEffectEvent.patch
diff --git a/patches/server/0472-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0471-Add-toggle-for-always-placing-the-dragon-egg.patch
index 0b28271dd1..0b28271dd1 100644
--- a/patches/server/0472-Add-toggle-for-always-placing-the-dragon-egg.patch
+++ b/patches/server/0471-Add-toggle-for-always-placing-the-dragon-egg.patch
diff --git a/patches/server/0473-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0472-Add-PlayerStonecutterRecipeSelectEvent.patch
index 66c297aace..66c297aace 100644
--- a/patches/server/0473-Add-PlayerStonecutterRecipeSelectEvent.patch
+++ b/patches/server/0472-Add-PlayerStonecutterRecipeSelectEvent.patch
diff --git a/patches/server/0474-Expand-EntityUnleashEvent.patch b/patches/server/0473-Expand-EntityUnleashEvent.patch
index 41da32df15..ffe8078715 100644
--- a/patches/server/0474-Expand-EntityUnleashEvent.patch
+++ b/patches/server/0473-Expand-EntityUnleashEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand EntityUnleashEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index fe7c8a3748627232508c6c9a366977345dda9ad7..627946dba408cea922614497c0c1b2b48a429f06 100644
+index 7cfb97fa2cf2c0167859b7ba888299d983c280a3..a3dab1d471e2ac876758d73c7b418a179349a97f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2715,12 +2715,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0475-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0474-Reset-shield-blocking-on-dimension-change.patch
index 3126d1c539..a884682d0d 100644
--- a/patches/server/0475-Reset-shield-blocking-on-dimension-change.patch
+++ b/patches/server/0474-Reset-shield-blocking-on-dimension-change.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Reset shield blocking on dimension change
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6344947f445e1da19d21de67a51b88de65eceb7a..f046b8e6307079878d94eab615a5463a807e6c6c 100644
+index 1dfc696ff2e122c6c61fdd1c7c5761ae81fa75ec..82921c10beee7c37994881618c508fc3a14834eb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1604,6 +1604,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0476-Add-DragonEggFormEvent.patch b/patches/server/0475-Add-DragonEggFormEvent.patch
index 34506b3c79..34506b3c79 100644
--- a/patches/server/0476-Add-DragonEggFormEvent.patch
+++ b/patches/server/0475-Add-DragonEggFormEvent.patch
diff --git a/patches/server/0477-Add-EntityMoveEvent.patch b/patches/server/0476-Add-EntityMoveEvent.patch
index c0285a9e47..26e8fba2fe 100644
--- a/patches/server/0477-Add-EntityMoveEvent.patch
+++ b/patches/server/0476-Add-EntityMoveEvent.patch
@@ -17,7 +17,7 @@ index d6fe710a4e3784ba38776a0496eac7fa702aed88..b28a2756429270414f8ef89539f91ce0
gameprofilerfiller.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index e56f9e823f9460854c6f0f2f05422136c12aabba..de948bb8903c48e0431c1a46f5aac4fc1828b581 100644
+index 412c1af3282d5d5bbcb7276c6cf90e9ce87668ba..59a94b2decc48b4e277ebb1d3042cc851fa34882 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -230,6 +230,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0478-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0477-added-option-to-disable-pathfinding-updates-on-block.patch
index dd3704bba6..240905a8fd 100644
--- a/patches/server/0478-added-option-to-disable-pathfinding-updates-on-block.patch
+++ b/patches/server/0477-added-option-to-disable-pathfinding-updates-on-block.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] added option to disable pathfinding updates on block changes
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index de948bb8903c48e0431c1a46f5aac4fc1828b581..dc2b8d8e62cf1405191aa4fc8d4fa548c7249032 100644
+index 59a94b2decc48b4e277ebb1d3042cc851fa34882..4f2d1a70007cd0a30567886e970bbfda6d750488 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1363,6 +1363,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0479-Inline-shift-direction-fields.patch b/patches/server/0478-Inline-shift-direction-fields.patch
index e47ea8a571..e47ea8a571 100644
--- a/patches/server/0479-Inline-shift-direction-fields.patch
+++ b/patches/server/0478-Inline-shift-direction-fields.patch
diff --git a/patches/server/0480-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0479-Allow-adding-items-to-BlockDropItemEvent.patch
index 7b84a8ac96..7b84a8ac96 100644
--- a/patches/server/0480-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/server/0479-Allow-adding-items-to-BlockDropItemEvent.patch
diff --git a/patches/server/0481-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0480-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index 2f143cc0b4..2f143cc0b4 100644
--- a/patches/server/0481-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/server/0480-Add-getMainThreadExecutor-to-BukkitScheduler.patch
diff --git a/patches/server/0482-living-entity-allow-attribute-registration.patch b/patches/server/0481-living-entity-allow-attribute-registration.patch
index ef6df5b4ed..ef6df5b4ed 100644
--- a/patches/server/0482-living-entity-allow-attribute-registration.patch
+++ b/patches/server/0481-living-entity-allow-attribute-registration.patch
diff --git a/patches/server/0483-fix-dead-slime-setSize-invincibility.patch b/patches/server/0482-fix-dead-slime-setSize-invincibility.patch
index 494e56127e..494e56127e 100644
--- a/patches/server/0483-fix-dead-slime-setSize-invincibility.patch
+++ b/patches/server/0482-fix-dead-slime-setSize-invincibility.patch
diff --git a/patches/server/0484-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0483-Merchant-getRecipes-should-return-an-immutable-list.patch
index d40a7cf8d7..d40a7cf8d7 100644
--- a/patches/server/0484-Merchant-getRecipes-should-return-an-immutable-list.patch
+++ b/patches/server/0483-Merchant-getRecipes-should-return-an-immutable-list.patch
diff --git a/patches/server/0485-Expose-Tracked-Players.patch b/patches/server/0484-Expose-Tracked-Players.patch
index 5e7f3c585c..5e7f3c585c 100644
--- a/patches/server/0485-Expose-Tracked-Players.patch
+++ b/patches/server/0484-Expose-Tracked-Players.patch
diff --git a/patches/server/0486-Improve-ServerGUI.patch b/patches/server/0485-Improve-ServerGUI.patch
index 8dde1d1a9b..8dde1d1a9b 100644
--- a/patches/server/0486-Improve-ServerGUI.patch
+++ b/patches/server/0485-Improve-ServerGUI.patch
diff --git a/patches/server/0487-fix-converting-txt-to-json-file.patch b/patches/server/0486-fix-converting-txt-to-json-file.patch
index b71e73914b..b71e73914b 100644
--- a/patches/server/0487-fix-converting-txt-to-json-file.patch
+++ b/patches/server/0486-fix-converting-txt-to-json-file.patch
diff --git a/patches/server/0488-Add-worldborder-events.patch b/patches/server/0487-Add-worldborder-events.patch
index 014dba4c88..014dba4c88 100644
--- a/patches/server/0488-Add-worldborder-events.patch
+++ b/patches/server/0487-Add-worldborder-events.patch
diff --git a/patches/server/0489-Add-PlayerNameEntityEvent.patch b/patches/server/0488-Add-PlayerNameEntityEvent.patch
index 8d982f76db..8d982f76db 100644
--- a/patches/server/0489-Add-PlayerNameEntityEvent.patch
+++ b/patches/server/0488-Add-PlayerNameEntityEvent.patch
diff --git a/patches/server/0490-Add-recipe-to-cook-events.patch b/patches/server/0489-Add-recipe-to-cook-events.patch
index 416e598dc6..416e598dc6 100644
--- a/patches/server/0490-Add-recipe-to-cook-events.patch
+++ b/patches/server/0489-Add-recipe-to-cook-events.patch
diff --git a/patches/server/0491-Add-Block-isValidTool.patch b/patches/server/0490-Add-Block-isValidTool.patch
index e0c42e8e37..e0c42e8e37 100644
--- a/patches/server/0491-Add-Block-isValidTool.patch
+++ b/patches/server/0490-Add-Block-isValidTool.patch
diff --git a/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0491-Allow-using-signs-inside-spawn-protection.patch
index e9bc959bc0..e9bc959bc0 100644
--- a/patches/server/0492-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0491-Allow-using-signs-inside-spawn-protection.patch
diff --git a/patches/server/0493-Expand-world-key-API.patch b/patches/server/0492-Expand-world-key-API.patch
index 7e7d90c838..7e7d90c838 100644
--- a/patches/server/0493-Expand-world-key-API.patch
+++ b/patches/server/0492-Expand-world-key-API.patch
diff --git a/patches/server/0494-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0493-Add-fast-alternative-constructor-for-Rotations.patch
index e28775fc9a..e28775fc9a 100644
--- a/patches/server/0494-Add-fast-alternative-constructor-for-Rotations.patch
+++ b/patches/server/0493-Add-fast-alternative-constructor-for-Rotations.patch
diff --git a/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0494-Drop-carried-item-when-player-has-disconnected.patch
index 588c687302..588c687302 100644
--- a/patches/server/0495-Drop-carried-item-when-player-has-disconnected.patch
+++ b/patches/server/0494-Drop-carried-item-when-player-has-disconnected.patch
diff --git a/patches/server/0496-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0495-forced-whitelist-use-configurable-kick-message.patch
index f9aab54d8f..f9aab54d8f 100644
--- a/patches/server/0496-forced-whitelist-use-configurable-kick-message.patch
+++ b/patches/server/0495-forced-whitelist-use-configurable-kick-message.patch
diff --git a/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0496-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index 0c7f609166..0c7f609166 100644
--- a/patches/server/0497-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0496-Don-t-ignore-result-of-PlayerEditBookEvent.patch
diff --git a/patches/server/0498-Expose-protocol-version.patch b/patches/server/0497-Expose-protocol-version.patch
index cd6a7ab2b0..cd6a7ab2b0 100644
--- a/patches/server/0498-Expose-protocol-version.patch
+++ b/patches/server/0497-Expose-protocol-version.patch
diff --git a/patches/server/0499-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0498-Enhance-console-tab-completions-for-brigadier-comman.patch
index 3d1a0fb945..3d1a0fb945 100644
--- a/patches/server/0499-Enhance-console-tab-completions-for-brigadier-comman.patch
+++ b/patches/server/0498-Enhance-console-tab-completions-for-brigadier-comman.patch
diff --git a/patches/server/0500-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0499-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
index ce126cbfd4..ce126cbfd4 100644
--- a/patches/server/0500-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
+++ b/patches/server/0499-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
diff --git a/patches/server/0501-Add-bypass-host-check.patch b/patches/server/0500-Add-bypass-host-check.patch
index 53fea6e14d..53fea6e14d 100644
--- a/patches/server/0501-Add-bypass-host-check.patch
+++ b/patches/server/0500-Add-bypass-host-check.patch
diff --git a/patches/server/0502-Set-area-affect-cloud-rotation.patch b/patches/server/0501-Set-area-affect-cloud-rotation.patch
index 92bb3dc84a..92bb3dc84a 100644
--- a/patches/server/0502-Set-area-affect-cloud-rotation.patch
+++ b/patches/server/0501-Set-area-affect-cloud-rotation.patch
diff --git a/patches/server/0503-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0502-add-isDeeplySleeping-to-HumanEntity.patch
index 645f1201ea..645f1201ea 100644
--- a/patches/server/0503-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/server/0502-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/server/0504-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0503-add-consumeFuel-to-FurnaceBurnEvent.patch
index 150b4fe7c0..150b4fe7c0 100644
--- a/patches/server/0504-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/server/0503-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/server/0505-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0504-add-get-set-drop-chance-to-EntityEquipment.patch
index e794470410..e794470410 100644
--- a/patches/server/0505-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/server/0504-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/server/0506-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0505-fix-PigZombieAngerEvent-cancellation.patch
index 040d076f37..040d076f37 100644
--- a/patches/server/0506-fix-PigZombieAngerEvent-cancellation.patch
+++ b/patches/server/0505-fix-PigZombieAngerEvent-cancellation.patch
diff --git a/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0506-fix-PlayerItemHeldEvent-firing-twice.patch
index 7da0534687..7da0534687 100644
--- a/patches/server/0507-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0506-fix-PlayerItemHeldEvent-firing-twice.patch
diff --git a/patches/server/0508-Add-PlayerDeepSleepEvent.patch b/patches/server/0507-Add-PlayerDeepSleepEvent.patch
index 1750b3bc37..1750b3bc37 100644
--- a/patches/server/0508-Add-PlayerDeepSleepEvent.patch
+++ b/patches/server/0507-Add-PlayerDeepSleepEvent.patch
diff --git a/patches/server/0509-More-World-API.patch b/patches/server/0508-More-World-API.patch
index 2b853eb7b0..2b853eb7b0 100644
--- a/patches/server/0509-More-World-API.patch
+++ b/patches/server/0508-More-World-API.patch
diff --git a/patches/server/0510-Add-PlayerBedFailEnterEvent.patch b/patches/server/0509-Add-PlayerBedFailEnterEvent.patch
index 375fec28c9..375fec28c9 100644
--- a/patches/server/0510-Add-PlayerBedFailEnterEvent.patch
+++ b/patches/server/0509-Add-PlayerBedFailEnterEvent.patch
diff --git a/patches/server/0511-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0510-Implement-methods-to-convert-between-Component-and-B.patch
index c5765e9de7..c5765e9de7 100644
--- a/patches/server/0511-Implement-methods-to-convert-between-Component-and-B.patch
+++ b/patches/server/0510-Implement-methods-to-convert-between-Component-and-B.patch
diff --git a/patches/server/0512-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0511-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
index 017cc4e93e..3013063e3f 100644
--- a/patches/server/0512-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
+++ b/patches/server/0511-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Expand PlayerRespawnEvent, fix passed parameter issues
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f046b8e6307079878d94eab615a5463a807e6c6c..c22dce8b30c8af3e37b497b0d97c6ceef0295883 100644
+index 82921c10beee7c37994881618c508fc3a14834eb..0e4fe0a2a160c4965cdbfe3d6d375a66c129894d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1447,7 +1447,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0513-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0512-Introduce-beacon-activation-deactivation-events.patch
index 336acbe811..336acbe811 100644
--- a/patches/server/0513-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/server/0512-Introduce-beacon-activation-deactivation-events.patch
diff --git a/patches/server/0514-Add-Channel-initialization-listeners.patch b/patches/server/0513-Add-Channel-initialization-listeners.patch
index 430324c8f2..430324c8f2 100644
--- a/patches/server/0514-Add-Channel-initialization-listeners.patch
+++ b/patches/server/0513-Add-Channel-initialization-listeners.patch
diff --git a/patches/server/0515-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0514-Send-empty-commands-if-tab-completion-is-disabled.patch
index 35cf408aa7..35cf408aa7 100644
--- a/patches/server/0515-Send-empty-commands-if-tab-completion-is-disabled.patch
+++ b/patches/server/0514-Send-empty-commands-if-tab-completion-is-disabled.patch
diff --git a/patches/server/0516-Add-more-WanderingTrader-API.patch b/patches/server/0515-Add-more-WanderingTrader-API.patch
index 4221f28015..4221f28015 100644
--- a/patches/server/0516-Add-more-WanderingTrader-API.patch
+++ b/patches/server/0515-Add-more-WanderingTrader-API.patch
diff --git a/patches/server/0517-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0516-Add-EntityBlockStorage-clearEntities.patch
index 51ffd96ff7..51ffd96ff7 100644
--- a/patches/server/0517-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/server/0516-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/server/0518-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0517-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 9df7276feb..9df7276feb 100644
--- a/patches/server/0518-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/server/0517-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/server/0519-Add-HiddenPotionEffect-API.patch b/patches/server/0518-Add-HiddenPotionEffect-API.patch
index 2d0b0d5b03..2d0b0d5b03 100644
--- a/patches/server/0519-Add-HiddenPotionEffect-API.patch
+++ b/patches/server/0518-Add-HiddenPotionEffect-API.patch
diff --git a/patches/server/0520-Inventory-close.patch b/patches/server/0519-Inventory-close.patch
index 9dcad3d0b1..9dcad3d0b1 100644
--- a/patches/server/0520-Inventory-close.patch
+++ b/patches/server/0519-Inventory-close.patch
diff --git a/patches/server/0521-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0520-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index cf84510891..cf84510891 100644
--- a/patches/server/0521-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/server/0520-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/server/0522-Add-basic-Datapack-API.patch b/patches/server/0521-Add-basic-Datapack-API.patch
index 990697b9ea..990697b9ea 100644
--- a/patches/server/0522-Add-basic-Datapack-API.patch
+++ b/patches/server/0521-Add-basic-Datapack-API.patch
diff --git a/patches/server/0523-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0522-Add-environment-variable-to-disable-server-gui.patch
index 186cfa260f..186cfa260f 100644
--- a/patches/server/0523-Add-environment-variable-to-disable-server-gui.patch
+++ b/patches/server/0522-Add-environment-variable-to-disable-server-gui.patch
diff --git a/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0523-Expand-PlayerGameModeChangeEvent.patch
index 3b41fe4053..4f480ddd87 100644
--- a/patches/server/0524-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0523-Expand-PlayerGameModeChangeEvent.patch
@@ -45,7 +45,7 @@ index 7f09119bc7d661e08a960dd2bd46006efe752d3e..d1da3600dc07107309b20ebe6e7c0c4d
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c22dce8b30c8af3e37b497b0d97c6ceef0295883..2125f9dc87dbf31a66004dc859788f584e099e73 100644
+index 0e4fe0a2a160c4965cdbfe3d6d375a66c129894d..32fc24fa05660ff941fc02bb3c1827790acbbb1a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2315,10 +2315,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0525-ItemStack-repair-check-API.patch b/patches/server/0524-ItemStack-repair-check-API.patch
index 33c7e11836..33c7e11836 100644
--- a/patches/server/0525-ItemStack-repair-check-API.patch
+++ b/patches/server/0524-ItemStack-repair-check-API.patch
diff --git a/patches/server/0526-More-Enchantment-API.patch b/patches/server/0525-More-Enchantment-API.patch
index a3bf8f8e7e..a3bf8f8e7e 100644
--- a/patches/server/0526-More-Enchantment-API.patch
+++ b/patches/server/0525-More-Enchantment-API.patch
diff --git a/patches/server/0527-Move-range-check-for-block-placing-up.patch b/patches/server/0526-Move-range-check-for-block-placing-up.patch
index 8bb305c92a..8bb305c92a 100644
--- a/patches/server/0527-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0526-Move-range-check-for-block-placing-up.patch
diff --git a/patches/server/0528-Add-Mob-lookAt-API.patch b/patches/server/0527-Add-Mob-lookAt-API.patch
index 8a8ba9fdcd..8a8ba9fdcd 100644
--- a/patches/server/0528-Add-Mob-lookAt-API.patch
+++ b/patches/server/0527-Add-Mob-lookAt-API.patch
diff --git a/patches/server/0529-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/0528-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
index cc05cc8b4e..cc05cc8b4e 100644
--- a/patches/server/0529-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
+++ b/patches/server/0528-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
diff --git a/patches/server/0530-Add-Unix-domain-socket-support.patch b/patches/server/0529-Add-Unix-domain-socket-support.patch
index 445d662e9c..445d662e9c 100644
--- a/patches/server/0530-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0529-Add-Unix-domain-socket-support.patch
diff --git a/patches/server/0531-Add-EntityInsideBlockEvent.patch b/patches/server/0530-Add-EntityInsideBlockEvent.patch
index 980fe20f4d..980fe20f4d 100644
--- a/patches/server/0531-Add-EntityInsideBlockEvent.patch
+++ b/patches/server/0530-Add-EntityInsideBlockEvent.patch
diff --git a/patches/server/0532-Improve-item-default-attribute-API.patch b/patches/server/0531-Improve-item-default-attribute-API.patch
index 4ded5398f8..4ded5398f8 100644
--- a/patches/server/0532-Improve-item-default-attribute-API.patch
+++ b/patches/server/0531-Improve-item-default-attribute-API.patch
diff --git a/patches/server/0533-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0532-Add-cause-to-Weather-ThunderChangeEvents.patch
index 6293b65e40..41b63decc5 100644
--- a/patches/server/0533-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0532-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add cause to Weather/ThunderChangeEvents
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index dc2b8d8e62cf1405191aa4fc8d4fa548c7249032..c05ccab70bd81d536f93352f30aab9b07b90876a 100644
+index 4f2d1a70007cd0a30567886e970bbfda6d750488..4982cdfbceb829e06f26eb927e1176bb4a975336 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -435,8 +435,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0534-More-Lidded-Block-API.patch b/patches/server/0533-More-Lidded-Block-API.patch
index 437434c525..437434c525 100644
--- a/patches/server/0534-More-Lidded-Block-API.patch
+++ b/patches/server/0533-More-Lidded-Block-API.patch
diff --git a/patches/server/0535-Limit-item-frame-cursors-on-maps.patch b/patches/server/0534-Limit-item-frame-cursors-on-maps.patch
index a55a4490c0..a55a4490c0 100644
--- a/patches/server/0535-Limit-item-frame-cursors-on-maps.patch
+++ b/patches/server/0534-Limit-item-frame-cursors-on-maps.patch
diff --git a/patches/server/0536-Add-PlayerKickEvent-causes.patch b/patches/server/0535-Add-PlayerKickEvent-causes.patch
index 3cf5bd7d58..3cf5bd7d58 100644
--- a/patches/server/0536-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0535-Add-PlayerKickEvent-causes.patch
diff --git a/patches/server/0537-Add-PufferFishStateChangeEvent.patch b/patches/server/0536-Add-PufferFishStateChangeEvent.patch
index 0574c7ed8c..0574c7ed8c 100644
--- a/patches/server/0537-Add-PufferFishStateChangeEvent.patch
+++ b/patches/server/0536-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/server/0538-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0537-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
index 646e52a326..646e52a326 100644
--- a/patches/server/0538-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
+++ b/patches/server/0537-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
diff --git a/patches/server/0539-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0538-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
index ee4d412a1c..ee4d412a1c 100644
--- a/patches/server/0539-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
+++ b/patches/server/0538-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
diff --git a/patches/server/0540-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0539-Add-option-to-fix-items-merging-through-walls.patch
index b4e4e39ae1..b4e4e39ae1 100644
--- a/patches/server/0540-Add-option-to-fix-items-merging-through-walls.patch
+++ b/patches/server/0539-Add-option-to-fix-items-merging-through-walls.patch
diff --git a/patches/server/0541-Add-BellRevealRaiderEvent.patch b/patches/server/0540-Add-BellRevealRaiderEvent.patch
index 871aa2a198..871aa2a198 100644
--- a/patches/server/0541-Add-BellRevealRaiderEvent.patch
+++ b/patches/server/0540-Add-BellRevealRaiderEvent.patch
diff --git a/patches/server/0542-Fix-invulnerable-end-crystals.patch b/patches/server/0541-Fix-invulnerable-end-crystals.patch
index 4349e5a8ad..4349e5a8ad 100644
--- a/patches/server/0542-Fix-invulnerable-end-crystals.patch
+++ b/patches/server/0541-Fix-invulnerable-end-crystals.patch
diff --git a/patches/server/0543-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0542-Add-ElderGuardianAppearanceEvent.patch
index e28248ff5d..e28248ff5d 100644
--- a/patches/server/0543-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/server/0542-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/server/0544-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0543-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
index 3d03f4c4d2..3d03f4c4d2 100644
--- a/patches/server/0544-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
+++ b/patches/server/0543-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
diff --git a/patches/server/0545-Line-Of-Sight-Changes.patch b/patches/server/0544-Line-Of-Sight-Changes.patch
index 24bc253f3b..24bc253f3b 100644
--- a/patches/server/0545-Line-Of-Sight-Changes.patch
+++ b/patches/server/0544-Line-Of-Sight-Changes.patch
diff --git a/patches/server/0546-add-per-world-spawn-limits.patch b/patches/server/0545-add-per-world-spawn-limits.patch
index 6ed4ae68af..6ed4ae68af 100644
--- a/patches/server/0546-add-per-world-spawn-limits.patch
+++ b/patches/server/0545-add-per-world-spawn-limits.patch
diff --git a/patches/server/0547-Fix-potions-splash-events.patch b/patches/server/0546-Fix-potions-splash-events.patch
index 68350d52f2..68350d52f2 100644
--- a/patches/server/0547-Fix-potions-splash-events.patch
+++ b/patches/server/0546-Fix-potions-splash-events.patch
diff --git a/patches/server/0548-Add-more-LimitedRegion-API.patch b/patches/server/0547-Add-more-LimitedRegion-API.patch
index f46a2383c8..f46a2383c8 100644
--- a/patches/server/0548-Add-more-LimitedRegion-API.patch
+++ b/patches/server/0547-Add-more-LimitedRegion-API.patch
diff --git a/patches/server/0549-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0548-Fix-PlayerDropItemEvent-using-wrong-item.patch
index 6fbcb401ee..c5e9aa8056 100644
--- a/patches/server/0549-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0548-Fix-PlayerDropItemEvent-using-wrong-item.patch
@@ -31,7 +31,7 @@ index c81fd3e1108fb0a02f9240263404af2b968c8494..0d9de4c61c7b26a6ff37c12fde629161
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 2125f9dc87dbf31a66004dc859788f584e099e73..b1224b0ef12a746477047073f5bb94405871ce85 100644
+index 32fc24fa05660ff941fc02bb3c1827790acbbb1a..33974faafabe763ac7d932f2fdb814ea914ccf88 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2724,7 +2724,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0550-Missing-Entity-API.patch b/patches/server/0549-Missing-Entity-API.patch
index c9324ba0e3..72a11a4b7e 100644
--- a/patches/server/0550-Missing-Entity-API.patch
+++ b/patches/server/0549-Missing-Entity-API.patch
@@ -45,7 +45,7 @@ Co-authored-by: maxcom1 <[email protected]>
Co-authored-by: TotalledZebra <[email protected]>
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
-index 36621b42f0dbca9d82a2ca284f30fd9eceab166e..d5d617d72c1d160564e3e53d3c6bdffe3d868145 100644
+index 99d0118061233eced90ca5aed2eb5ff0b188837b..6bdc683b5ade408ee27f1d6636b4d60c8c89cb7c 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
@@ -164,7 +164,7 @@ public class MobGoalHelper {
diff --git a/patches/server/0551-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0550-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
index 40cc161932..40cc161932 100644
--- a/patches/server/0551-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
+++ b/patches/server/0550-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
diff --git a/patches/server/0552-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0551-Use-getChunkIfLoadedImmediately-in-places.patch
index 3d73d4e80f..908ee6c4ee 100644
--- a/patches/server/0552-Use-getChunkIfLoadedImmediately-in-places.patch
+++ b/patches/server/0551-Use-getChunkIfLoadedImmediately-in-places.patch
@@ -8,7 +8,7 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk
load in that case).
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c05ccab70bd81d536f93352f30aab9b07b90876a..93656336af194994f59072fa89bfc338d89d76af 100644
+index 4982cdfbceb829e06f26eb927e1176bb4a975336..dc3d6bbbd79a0decc134f792d884962534717c0e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -233,7 +233,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0553-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0552-Fix-commands-from-signs-not-firing-command-events.patch
index c851f91672..c851f91672 100644
--- a/patches/server/0553-Fix-commands-from-signs-not-firing-command-events.patch
+++ b/patches/server/0552-Fix-commands-from-signs-not-firing-command-events.patch
diff --git a/patches/server/0554-Add-PlayerArmSwingEvent.patch b/patches/server/0553-Add-PlayerArmSwingEvent.patch
index dd3c00cbf0..dd3c00cbf0 100644
--- a/patches/server/0554-Add-PlayerArmSwingEvent.patch
+++ b/patches/server/0553-Add-PlayerArmSwingEvent.patch
diff --git a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0554-Fix-kick-event-leave-message-not-being-sent.patch
index d221b29c44..3ea1b881c0 100644
--- a/patches/server/0555-Fix-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0554-Fix-kick-event-leave-message-not-being-sent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix kick event leave message not being sent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index b1224b0ef12a746477047073f5bb94405871ce85..6c3ec21bb61e15becb35c01112770471c2364c5f 100644
+index 33974faafabe763ac7d932f2fdb814ea914ccf88..2d8760216b63e0858088cc5f505406fca48e0151 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -316,7 +316,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0556-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0555-Don-t-apply-cramming-damage-to-players.patch
index 14f5ce16cf..19a62b06fd 100644
--- a/patches/server/0556-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0555-Don-t-apply-cramming-damage-to-players.patch
@@ -11,7 +11,7 @@ It does not make a lot of sense to damage players if they get crammed,
For those who really want it a config option is provided.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6c3ec21bb61e15becb35c01112770471c2364c5f..4c18d13fdc2221342adb390a6b68be871036c87c 100644
+index 2d8760216b63e0858088cc5f505406fca48e0151..ff678000823fef5f7b04b0023468a17ef1477758 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1805,7 +1805,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0557-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0556-Rate-options-and-timings-for-sensors-and-behaviors.patch
index 3473ea4ceb..3473ea4ceb 100644
--- a/patches/server/0557-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0556-Rate-options-and-timings-for-sensors-and-behaviors.patch
diff --git a/patches/server/0558-Add-missing-forceDrop-toggles.patch b/patches/server/0557-Add-missing-forceDrop-toggles.patch
index aa609aadba..aa609aadba 100644
--- a/patches/server/0558-Add-missing-forceDrop-toggles.patch
+++ b/patches/server/0557-Add-missing-forceDrop-toggles.patch
diff --git a/patches/server/0559-Stinger-API.patch b/patches/server/0558-Stinger-API.patch
index 9e851372d0..9e851372d0 100644
--- a/patches/server/0559-Stinger-API.patch
+++ b/patches/server/0558-Stinger-API.patch
diff --git a/patches/server/0560-Add-System.out-err-catcher.patch b/patches/server/0559-Add-System.out-err-catcher.patch
index 8b01f8520a..8b01f8520a 100644
--- a/patches/server/0560-Add-System.out-err-catcher.patch
+++ b/patches/server/0559-Add-System.out-err-catcher.patch
diff --git a/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0560-Prevent-AFK-kick-while-watching-end-credits.patch
index f27fa5d0f8..f27fa5d0f8 100644
--- a/patches/server/0561-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0560-Prevent-AFK-kick-while-watching-end-credits.patch
diff --git a/patches/server/0562-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0561-Allow-skipping-writing-of-comments-to-server.propert.patch
index 1fce522892..1fce522892 100644
--- a/patches/server/0562-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0561-Allow-skipping-writing-of-comments-to-server.propert.patch
diff --git a/patches/server/0563-Add-PlayerSetSpawnEvent.patch b/patches/server/0562-Add-PlayerSetSpawnEvent.patch
index bd56b41cb9..e86f643009 100644
--- a/patches/server/0563-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0562-Add-PlayerSetSpawnEvent.patch
@@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..15db9368227dbc29d07d74e85bd126b3
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 4c18d13fdc2221342adb390a6b68be871036c87c..f2cc608d2cf040be2912b604f0d6cab21e33ded0 100644
+index ff678000823fef5f7b04b0023468a17ef1477758..2392b30ef6cc2050be28f6dbd1d922227ab4a490 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1681,7 +1681,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0564-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0563-Make-hoppers-respect-inventory-max-stack-size.patch
index fc01c5cad4..fc01c5cad4 100644
--- a/patches/server/0564-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0563-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0565-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0564-Optimize-entity-tracker-passenger-checks.patch
index e64be30cfc..e64be30cfc 100644
--- a/patches/server/0565-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0564-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0566-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0565-Config-option-for-Piglins-guarding-chests.patch
index 32c61a7ec0..32c61a7ec0 100644
--- a/patches/server/0566-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0565-Config-option-for-Piglins-guarding-chests.patch
diff --git a/patches/server/0567-Add-EntityDamageItemEvent.patch b/patches/server/0566-Add-EntityDamageItemEvent.patch
index bfe6c8751a..bfe6c8751a 100644
--- a/patches/server/0567-Add-EntityDamageItemEvent.patch
+++ b/patches/server/0566-Add-EntityDamageItemEvent.patch
diff --git a/patches/server/0568-Optimize-indirect-passenger-iteration.patch b/patches/server/0567-Optimize-indirect-passenger-iteration.patch
index 40567f5fc9..605e07ec53 100644
--- a/patches/server/0568-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0567-Optimize-indirect-passenger-iteration.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize indirect passenger iteration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 627946dba408cea922614497c0c1b2b48a429f06..20f613427d7521456e1a3609a7be2db50da56cd1 100644
+index a3dab1d471e2ac876758d73c7b418a179349a97f..ba1338f25f065a0079e05dd6a20a9cc8b80eef0d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4118,20 +4118,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0569-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0568-Configurable-item-frame-map-cursor-update-interval.patch
index 03aaddc9be..03aaddc9be 100644
--- a/patches/server/0569-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0568-Configurable-item-frame-map-cursor-update-interval.patch
diff --git a/patches/server/0570-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0569-Change-EnderEye-target-without-changing-other-things.patch
index 5612422ea7..5612422ea7 100644
--- a/patches/server/0570-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0569-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0571-Add-BlockBreakBlockEvent.patch b/patches/server/0570-Add-BlockBreakBlockEvent.patch
index 36b29ddf20..36b29ddf20 100644
--- a/patches/server/0571-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0570-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0572-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/server/0571-Option-to-prevent-data-components-copy-in-smithing-r.patch
index 1c9a4f5da5..1c9a4f5da5 100644
--- a/patches/server/0572-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/server/0571-Option-to-prevent-data-components-copy-in-smithing-r.patch
diff --git a/patches/server/0573-More-CommandBlock-API.patch b/patches/server/0572-More-CommandBlock-API.patch
index 5fa4fa81e1..5fa4fa81e1 100644
--- a/patches/server/0573-More-CommandBlock-API.patch
+++ b/patches/server/0572-More-CommandBlock-API.patch
diff --git a/patches/server/0574-Add-missing-team-sidebar-display-slots.patch b/patches/server/0573-Add-missing-team-sidebar-display-slots.patch
index de7d3fc8e5..de7d3fc8e5 100644
--- a/patches/server/0574-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0573-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0575-Add-back-EntityPortalExitEvent.patch b/patches/server/0574-Add-back-EntityPortalExitEvent.patch
index cda1504b0b..84893e4fc4 100644
--- a/patches/server/0575-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0574-Add-back-EntityPortalExitEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 20f613427d7521456e1a3609a7be2db50da56cd1..dbea0da4b2c0dda744a1995c779049d3d63351cb 100644
+index ba1338f25f065a0079e05dd6a20a9cc8b80eef0d..2a9be5b06f2f9db8f1ed2061c4fc3f94600e266a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3522,6 +3522,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0576-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0575-Add-methods-to-find-targets-for-lightning-strikes.patch
index a21e15c6fc..b9b5d77d15 100644
--- a/patches/server/0576-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0575-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
public net.minecraft.server.level.ServerLevel findLightningRod(Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 93656336af194994f59072fa89bfc338d89d76af..e6ff03143b3639f375323393814b1256b98687ad 100644
+index dc3d6bbbd79a0decc134f792d884962534717c0e..75d0143556dad6e830d3defdd9afecfd7587cdfa 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -741,6 +741,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0577-Get-entity-default-attributes.patch b/patches/server/0576-Get-entity-default-attributes.patch
index 1f2a14bb52..1f2a14bb52 100644
--- a/patches/server/0577-Get-entity-default-attributes.patch
+++ b/patches/server/0576-Get-entity-default-attributes.patch
diff --git a/patches/server/0578-Left-handed-API.patch b/patches/server/0577-Left-handed-API.patch
index 50bb0d4ebe..50bb0d4ebe 100644
--- a/patches/server/0578-Left-handed-API.patch
+++ b/patches/server/0577-Left-handed-API.patch
diff --git a/patches/server/0579-Add-more-advancement-API.patch b/patches/server/0578-Add-more-advancement-API.patch
index 70ac177106..70ac177106 100644
--- a/patches/server/0579-Add-more-advancement-API.patch
+++ b/patches/server/0578-Add-more-advancement-API.patch
diff --git a/patches/server/0580-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0579-Add-ItemFactory-getSpawnEgg-API.patch
index b15779d35b..b15779d35b 100644
--- a/patches/server/0580-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0579-Add-ItemFactory-getSpawnEgg-API.patch
diff --git a/patches/server/0581-Add-critical-damage-API.patch b/patches/server/0580-Add-critical-damage-API.patch
index a4fa089b63..8f17aa1780 100644
--- a/patches/server/0581-Add-critical-damage-API.patch
+++ b/patches/server/0580-Add-critical-damage-API.patch
@@ -49,7 +49,7 @@ index 13f21822d0eb1d167b9b71addb46c4f508301c8d..4e33c6c612939e6970d5984825115768
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index 52765e1b9f5a026e7108ff5a7d97681cdb2870e9..aab7d546317d93876ccd0e02c0631ccc7c8f9bf5 100644
+index 6637da7a1c17152e8fc5f0f12d8da55bab6070de..320ace815df1a76232df53d5ddeb3aef9b358d8e 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -465,6 +465,7 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/0582-Fix-issues-with-mob-conversion.patch b/patches/server/0581-Fix-issues-with-mob-conversion.patch
index c286b73b30..c286b73b30 100644
--- a/patches/server/0582-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0581-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0583-Add-hasCollision-methods-to-various-places.patch b/patches/server/0582-Add-hasCollision-methods-to-various-places.patch
index 421b0ba92e..421b0ba92e 100644
--- a/patches/server/0583-Add-hasCollision-methods-to-various-places.patch
+++ b/patches/server/0582-Add-hasCollision-methods-to-various-places.patch
diff --git a/patches/server/0584-Goat-ram-API.patch b/patches/server/0583-Goat-ram-API.patch
index 21d6196f4c..21d6196f4c 100644
--- a/patches/server/0584-Goat-ram-API.patch
+++ b/patches/server/0583-Goat-ram-API.patch
diff --git a/patches/server/0585-Add-API-for-resetting-a-single-score.patch b/patches/server/0584-Add-API-for-resetting-a-single-score.patch
index b9dd1c2be3..b9dd1c2be3 100644
--- a/patches/server/0585-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0584-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0586-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0585-Add-Raw-Byte-Entity-Serialization.patch
index 270801e16a..efff5ebd8c 100644
--- a/patches/server/0586-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0585-Add-Raw-Byte-Entity-Serialization.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index dbea0da4b2c0dda744a1995c779049d3d63351cb..ca0353307f6a1d937ec9663a19489135b9844963 100644
+index 2a9be5b06f2f9db8f1ed2061c4fc3f94600e266a..fe1a30e4c73dbecbd44187dbdef0d98b7613e524 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2284,6 +2284,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0587-Vanilla-command-permission-fixes.patch b/patches/server/0586-Vanilla-command-permission-fixes.patch
index 90d31ae40c..90d31ae40c 100644
--- a/patches/server/0587-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0586-Vanilla-command-permission-fixes.patch
diff --git a/patches/server/0588-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0587-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index f403613911..9cf58cf3c8 100644
--- a/patches/server/0588-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0587-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -9,7 +9,7 @@ chunk through it. This should also be OK from a leak prevention/
state desync POV because the TE is getting unloaded anyways.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index e6ff03143b3639f375323393814b1256b98687ad..2ac09e8eece6ff772c94bb1efd01cc1c45194435 100644
+index 75d0143556dad6e830d3defdd9afecfd7587cdfa..1301622961ffdcfcccc9658a0e4498bc04ad93f5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1245,9 +1245,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -28,7 +28,7 @@ index e6ff03143b3639f375323393814b1256b98687ad..2ac09e8eece6ff772c94bb1efd01cc1c
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f2cc608d2cf040be2912b604f0d6cab21e33ded0..215be207e29254312bb85f259a684a7de6876aa9 100644
+index 2392b30ef6cc2050be28f6dbd1d922227ab4a490..0401e274a600b87c4c983a90819a17c9dfbd7172 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1966,6 +1966,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0589-Fix-GameProfileCache-concurrency.patch b/patches/server/0588-Fix-GameProfileCache-concurrency.patch
index 6cb7e5235f..6cb7e5235f 100644
--- a/patches/server/0589-Fix-GameProfileCache-concurrency.patch
+++ b/patches/server/0588-Fix-GameProfileCache-concurrency.patch
diff --git a/patches/server/0590-Improve-and-expand-AsyncCatcher.patch b/patches/server/0589-Improve-and-expand-AsyncCatcher.patch
index 3214e81ee8..3214e81ee8 100644
--- a/patches/server/0590-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0589-Improve-and-expand-AsyncCatcher.patch
diff --git a/patches/server/0591-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0590-Add-paper-mobcaps-and-paper-playermobcaps.patch
index d04dadb215..d04dadb215 100644
--- a/patches/server/0591-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0590-Add-paper-mobcaps-and-paper-playermobcaps.patch
diff --git a/patches/server/0592-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0591-Sanitize-ResourceLocation-error-logging.patch
index 602f0d3b27..602f0d3b27 100644
--- a/patches/server/0592-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0591-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0593-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0592-Manually-inline-methods-in-BlockPosition.patch
index 67bbeaf54d..67bbeaf54d 100644
--- a/patches/server/0593-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0592-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0594-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0593-Name-craft-scheduler-threads-according-to-the-plugin.patch
index 30f250f235..30f250f235 100644
--- a/patches/server/0594-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0593-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0595-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0594-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index 73d62bea98..73d62bea98 100644
--- a/patches/server/0595-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0594-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
diff --git a/patches/server/0596-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0595-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index eff1d0a95f..eff1d0a95f 100644
--- a/patches/server/0596-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0595-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0597-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0596-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
index 1626fb7b50..1626fb7b50 100644
--- a/patches/server/0597-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
+++ b/patches/server/0596-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
diff --git a/patches/server/0598-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0597-Oprimise-map-impl-for-tracked-players.patch
index cea8c3752e..cea8c3752e 100644
--- a/patches/server/0598-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0597-Oprimise-map-impl-for-tracked-players.patch
diff --git a/patches/server/0599-Add-missing-InventoryType.patch b/patches/server/0598-Add-missing-InventoryType.patch
index 768c150fc1..768c150fc1 100644
--- a/patches/server/0599-Add-missing-InventoryType.patch
+++ b/patches/server/0598-Add-missing-InventoryType.patch
diff --git a/patches/server/0600-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0599-Optimise-BlockSoil-nearby-water-lookup.patch
index 4a5d6c5b9d..4a5d6c5b9d 100644
--- a/patches/server/0600-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0599-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0601-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0600-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 553f865869..553f865869 100644
--- a/patches/server/0601-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0600-Fix-merchant-inventory-not-closing-on-entity-removal.patch
diff --git a/patches/server/0602-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0601-Check-requirement-before-suggesting-root-nodes.patch
index fce5e326f9..fce5e326f9 100644
--- a/patches/server/0602-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0601-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0602-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 064dbb8062..064dbb8062 100644
--- a/patches/server/0603-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0602-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0604-Add-packet-limiter-config.patch b/patches/server/0603-Add-packet-limiter-config.patch
index e49a44446e..e49a44446e 100644
--- a/patches/server/0604-Add-packet-limiter-config.patch
+++ b/patches/server/0603-Add-packet-limiter-config.patch
diff --git a/patches/server/0605-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0604-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index f5c3a81df3..f5c3a81df3 100644
--- a/patches/server/0605-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0604-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0606-Ensure-valid-vehicle-status.patch b/patches/server/0605-Ensure-valid-vehicle-status.patch
index 88fa596782..472fc15d9d 100644
--- a/patches/server/0606-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0605-Ensure-valid-vehicle-status.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ensure valid vehicle status
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 215be207e29254312bb85f259a684a7de6876aa9..e2a8e0291a5c0c00d7d6135a0d34fb8bab7b4cd5 100644
+index 0401e274a600b87c4c983a90819a17c9dfbd7172..0efd5d23924efec5e2bff0c7b3dddb6e97723e29 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -696,7 +696,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0607-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0606-Prevent-softlocked-end-exit-portal-generation.patch
index 4c54f27f94..4c54f27f94 100644
--- a/patches/server/0607-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0606-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0608-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0607-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index a145d67c1a..a145d67c1a 100644
--- a/patches/server/0608-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0607-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0609-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0608-Don-t-log-debug-logging-being-disabled.patch
index 8e733b1cea..8e733b1cea 100644
--- a/patches/server/0609-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0608-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0610-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0609-fix-various-menus-with-empty-level-accesses.patch
index efe5d1ddce..efe5d1ddce 100644
--- a/patches/server/0610-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0609-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0611-Preserve-overstacked-loot.patch b/patches/server/0610-Preserve-overstacked-loot.patch
index db50d2fd8a..db50d2fd8a 100644
--- a/patches/server/0611-Preserve-overstacked-loot.patch
+++ b/patches/server/0610-Preserve-overstacked-loot.patch
diff --git a/patches/server/0612-Update-head-rotation-in-missing-places.patch b/patches/server/0611-Update-head-rotation-in-missing-places.patch
index 0d645ccc95..33df7692a3 100644
--- a/patches/server/0612-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0611-Update-head-rotation-in-missing-places.patch
@@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw.
This issue only applies to players.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ca0353307f6a1d937ec9663a19489135b9844963..6457b529ce3dead642f4435c76c3e8a1e31023ba 100644
+index fe1a30e4c73dbecbd44187dbdef0d98b7613e524..c19c866cfd709a5d6f4c62d55f12e5938493466b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1938,6 +1938,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0613-prevent-unintended-light-block-manipulation.patch b/patches/server/0612-prevent-unintended-light-block-manipulation.patch
index e9851e3744..e9851e3744 100644
--- a/patches/server/0613-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0612-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0614-Fix-CraftCriteria-defaults-map.patch b/patches/server/0613-Fix-CraftCriteria-defaults-map.patch
index 3e79bd7fb7..3e79bd7fb7 100644
--- a/patches/server/0614-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0613-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0615-Fix-upstreams-block-state-factories.patch b/patches/server/0614-Fix-upstreams-block-state-factories.patch
index d5198201c5..d5198201c5 100644
--- a/patches/server/0615-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0614-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0616-Configurable-feature-seeds.patch b/patches/server/0615-Configurable-feature-seeds.patch
index 9a0502f3a7..9a0502f3a7 100644
--- a/patches/server/0616-Configurable-feature-seeds.patch
+++ b/patches/server/0615-Configurable-feature-seeds.patch
diff --git a/patches/server/0617-Add-root-admin-user-detection.patch b/patches/server/0616-Add-root-admin-user-detection.patch
index df739cc33c..df739cc33c 100644
--- a/patches/server/0617-Add-root-admin-user-detection.patch
+++ b/patches/server/0616-Add-root-admin-user-detection.patch
diff --git a/patches/server/0618-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0617-don-t-attempt-to-teleport-dead-entities.patch
index 1457012403..e6ea0360ce 100644
--- a/patches/server/0618-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0617-don-t-attempt-to-teleport-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 6457b529ce3dead642f4435c76c3e8a1e31023ba..7de1cd151d4ccea4b4f069cc50fc399038ce5de9 100644
+index c19c866cfd709a5d6f4c62d55f12e5938493466b..b60807aea433ddf35def3a97d7d3808c62f1b5ac 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -718,7 +718,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0619-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0618-Prevent-excessive-velocity-through-repeated-crits.patch
index c290d77cb1..c290d77cb1 100644
--- a/patches/server/0619-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0618-Prevent-excessive-velocity-through-repeated-crits.patch
diff --git a/patches/server/0620-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0619-Remove-client-side-code-using-deprecated-for-removal.patch
index 4a04ac055a..4a04ac055a 100644
--- a/patches/server/0620-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0619-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0621-Fix-Spigot-growth-modifiers.patch b/patches/server/0620-Fix-Spigot-growth-modifiers.patch
index 4e7f192262..4e7f192262 100644
--- a/patches/server/0621-Fix-Spigot-growth-modifiers.patch
+++ b/patches/server/0620-Fix-Spigot-growth-modifiers.patch
diff --git a/patches/server/0622-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0621-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index b017de75d1..b017de75d1 100644
--- a/patches/server/0622-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0621-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0623-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0622-Add-PlayerItemFrameChangeEvent.patch
index b7e908ab6e..3124caa15b 100644
--- a/patches/server/0623-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0622-Add-PlayerItemFrameChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerItemFrameChangeEvent
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
-index c0deabf9d86d086fbd8cbaac5a02badf5c01c870..30af4cbb17148c247a46c0346419d6c838dbc9d2 100644
+index dc642c311b711ad97a598485ff38083ccda827af..916017571ecde95721df9bdc07c5e7b5dc60c957 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -1,6 +1,7 @@
diff --git a/patches/server/0624-Optimize-HashMapPalette.patch b/patches/server/0623-Optimize-HashMapPalette.patch
index a490eb0c20..a490eb0c20 100644
--- a/patches/server/0624-Optimize-HashMapPalette.patch
+++ b/patches/server/0623-Optimize-HashMapPalette.patch
diff --git a/patches/server/0625-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0624-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index cde811d346..cde811d346 100644
--- a/patches/server/0625-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0624-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0626-Add-more-Campfire-API.patch b/patches/server/0625-Add-more-Campfire-API.patch
index c490c151c3..c490c151c3 100644
--- a/patches/server/0626-Add-more-Campfire-API.patch
+++ b/patches/server/0625-Add-more-Campfire-API.patch
diff --git a/patches/server/0627-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0626-Forward-CraftEntity-in-teleport-command.patch
index 5318066ae6..126144476d 100644
--- a/patches/server/0627-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0626-Forward-CraftEntity-in-teleport-command.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Forward CraftEntity in teleport command
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 7de1cd151d4ccea4b4f069cc50fc399038ce5de9..68b072415d312e22ef00da3689efcd4631934163 100644
+index b60807aea433ddf35def3a97d7d3808c62f1b5ac..46884e4d6b7c434d58bd2f7e7e27cfcdcd0e2065 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3511,6 +3511,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0628-Improve-scoreboard-entries.patch b/patches/server/0627-Improve-scoreboard-entries.patch
index 8acac86ce3..8acac86ce3 100644
--- a/patches/server/0628-Improve-scoreboard-entries.patch
+++ b/patches/server/0627-Improve-scoreboard-entries.patch
diff --git a/patches/server/0629-Entity-powdered-snow-API.patch b/patches/server/0628-Entity-powdered-snow-API.patch
index acfaef73e3..acfaef73e3 100644
--- a/patches/server/0629-Entity-powdered-snow-API.patch
+++ b/patches/server/0628-Entity-powdered-snow-API.patch
diff --git a/patches/server/0630-Add-API-for-item-entity-health.patch b/patches/server/0629-Add-API-for-item-entity-health.patch
index cd2757b544..cd2757b544 100644
--- a/patches/server/0630-Add-API-for-item-entity-health.patch
+++ b/patches/server/0629-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0631-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0630-Configurable-max-block-light-for-monster-spawning.patch
index 8c19486a5f..8c19486a5f 100644
--- a/patches/server/0631-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0630-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0632-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0631-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index b239d74e25..b239d74e25 100644
--- a/patches/server/0632-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0631-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0633-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0632-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index cfaa295706..cfaa295706 100644
--- a/patches/server/0633-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0632-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0634-Bucketable-API.patch b/patches/server/0633-Bucketable-API.patch
index 274ccde059..274ccde059 100644
--- a/patches/server/0634-Bucketable-API.patch
+++ b/patches/server/0633-Bucketable-API.patch
diff --git a/patches/server/0635-Validate-usernames.patch b/patches/server/0634-Validate-usernames.patch
index 62c4153948..62c4153948 100644
--- a/patches/server/0635-Validate-usernames.patch
+++ b/patches/server/0634-Validate-usernames.patch
diff --git a/patches/server/0636-Make-water-animal-spawn-height-configurable.patch b/patches/server/0635-Make-water-animal-spawn-height-configurable.patch
index 341b55b1f6..341b55b1f6 100644
--- a/patches/server/0636-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0635-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0637-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0636-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index af63e382de..ae4199c5aa 100644
--- a/patches/server/0637-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0636-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -18,7 +18,7 @@ index edd2e83df282b0e24d4c7e3a34776a5b039c2c6b..c133a646baf88e0489d358e302d67f21
biomeProvider = gen.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 3205ef2b0027a2fa7f9ba5ed3437f71f1c6e02b5..fda4b5f2b848b432138207eff9a77fed6aaf3805 100644
+index 3ed78515fed78f5a679b9002e2e3a0aa6984aa70..8ca9a5d274a28f5feab492a446afea6b187b5d6a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -363,7 +363,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0638-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0637-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 2146865230..2146865230 100644
--- a/patches/server/0638-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0637-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0639-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0638-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
index be0eedab93..be0eedab93 100644
--- a/patches/server/0639-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
+++ b/patches/server/0638-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
diff --git a/patches/server/0640-Multiple-Entries-with-Scoreboards.patch b/patches/server/0639-Multiple-Entries-with-Scoreboards.patch
index 558cc93da5..558cc93da5 100644
--- a/patches/server/0640-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0639-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0641-Reset-placed-block-on-exception.patch b/patches/server/0640-Reset-placed-block-on-exception.patch
index 09609b372b..09609b372b 100644
--- a/patches/server/0641-Reset-placed-block-on-exception.patch
+++ b/patches/server/0640-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0642-Add-configurable-height-for-slime-spawn.patch b/patches/server/0641-Add-configurable-height-for-slime-spawn.patch
index dfc8ecb349..dfc8ecb349 100644
--- a/patches/server/0642-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0641-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0643-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0642-Fix-xp-reward-for-baby-zombies.patch
index 3ec320760f..3ec320760f 100644
--- a/patches/server/0643-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0642-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0644-Multi-Block-Change-API-Implementation.patch b/patches/server/0643-Multi-Block-Change-API-Implementation.patch
index ae2c0b83d4..ae2c0b83d4 100644
--- a/patches/server/0644-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0643-Multi-Block-Change-API-Implementation.patch
diff --git a/patches/server/0645-Fix-NotePlayEvent.patch b/patches/server/0644-Fix-NotePlayEvent.patch
index cdffcd6f0f..cdffcd6f0f 100644
--- a/patches/server/0645-Fix-NotePlayEvent.patch
+++ b/patches/server/0644-Fix-NotePlayEvent.patch
diff --git a/patches/server/0646-Freeze-Tick-Lock-API.patch b/patches/server/0645-Freeze-Tick-Lock-API.patch
index 7738c9a43c..4a4f993639 100644
--- a/patches/server/0646-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0645-Freeze-Tick-Lock-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Freeze Tick Lock API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 68b072415d312e22ef00da3689efcd4631934163..05a105cfc59bad7ca8fdf2355c6338cdff446d6a 100644
+index 46884e4d6b7c434d58bd2f7e7e27cfcdcd0e2065..405911682f96fc54e7146333474f7d470b24035f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -415,6 +415,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0647-More-PotionEffectType-API.patch b/patches/server/0646-More-PotionEffectType-API.patch
index 2773c98338..2773c98338 100644
--- a/patches/server/0647-More-PotionEffectType-API.patch
+++ b/patches/server/0646-More-PotionEffectType-API.patch
diff --git a/patches/server/0648-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0647-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 027285c2b1..027285c2b1 100644
--- a/patches/server/0648-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0647-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0649-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0648-API-for-creating-command-sender-which-forwards-feedb.patch
index f86274766d..f86274766d 100644
--- a/patches/server/0649-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0648-API-for-creating-command-sender-which-forwards-feedb.patch
diff --git a/patches/server/0650-Add-missing-structure-set-seed-configs.patch b/patches/server/0649-Add-missing-structure-set-seed-configs.patch
index e2dfe31280..e2dfe31280 100644
--- a/patches/server/0650-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0649-Add-missing-structure-set-seed-configs.patch
diff --git a/patches/server/0651-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0650-Fix-cancelled-powdered-snow-bucket-placement.patch
index f07f56f707..f07f56f707 100644
--- a/patches/server/0651-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0650-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0652-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0651-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index d5922672e4..d5922672e4 100644
--- a/patches/server/0652-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0651-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
diff --git a/patches/server/0653-Add-GameEvent-tags.patch b/patches/server/0652-Add-GameEvent-tags.patch
index bb674d2f17..bb674d2f17 100644
--- a/patches/server/0653-Add-GameEvent-tags.patch
+++ b/patches/server/0652-Add-GameEvent-tags.patch
diff --git a/patches/server/0654-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0653-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index 5929e0f042..5929e0f042 100644
--- a/patches/server/0654-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0653-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0655-Furnace-RecipesUsed-API.patch b/patches/server/0654-Furnace-RecipesUsed-API.patch
index f2b8d8fe65..f2b8d8fe65 100644
--- a/patches/server/0655-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0654-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0656-Configurable-sculk-sensor-listener-range.patch b/patches/server/0655-Configurable-sculk-sensor-listener-range.patch
index 3dd1324354..3dd1324354 100644
--- a/patches/server/0656-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0655-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0657-Add-missing-block-data-API.patch b/patches/server/0656-Add-missing-block-data-API.patch
index 7c18d0cb0d..7c18d0cb0d 100644
--- a/patches/server/0657-Add-missing-block-data-API.patch
+++ b/patches/server/0656-Add-missing-block-data-API.patch
diff --git a/patches/server/0658-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0657-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index 69da29074a..69da29074a 100644
--- a/patches/server/0658-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0657-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0659-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0658-Put-world-into-worldlist-before-initing-the-world.patch
index ffe26b0b55..ffe26b0b55 100644
--- a/patches/server/0659-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0658-Put-world-into-worldlist-before-initing-the-world.patch
diff --git a/patches/server/0660-Custom-Potion-Mixes.patch b/patches/server/0659-Custom-Potion-Mixes.patch
index 162f383a75..162f383a75 100644
--- a/patches/server/0660-Custom-Potion-Mixes.patch
+++ b/patches/server/0659-Custom-Potion-Mixes.patch
diff --git a/patches/server/0661-Force-close-world-loading-screen.patch b/patches/server/0660-Force-close-world-loading-screen.patch
index f609c7e093..f609c7e093 100644
--- a/patches/server/0661-Force-close-world-loading-screen.patch
+++ b/patches/server/0660-Force-close-world-loading-screen.patch
diff --git a/patches/server/0662-Fix-falling-block-spawn-methods.patch b/patches/server/0661-Fix-falling-block-spawn-methods.patch
index 9703a17436..9703a17436 100644
--- a/patches/server/0662-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0661-Fix-falling-block-spawn-methods.patch
diff --git a/patches/server/0663-Expose-furnace-minecart-push-values.patch b/patches/server/0662-Expose-furnace-minecart-push-values.patch
index fb48aabb5f..fb48aabb5f 100644
--- a/patches/server/0663-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0662-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0664-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0663-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index c98e7fd0f3..b6a532242d 100644
--- a/patches/server/0664-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0663-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
@@ -15,7 +15,7 @@ piercing arrows to avoid duplicate damage being applied.
protected net.minecraft.world.entity.projectile.Projectile hitCancelled
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index aab7d546317d93876ccd0e02c0631ccc7c8f9bf5..0abe2fe6d7cf0a2084b7219c3ab0c5118586a8fe 100644
+index 320ace815df1a76232df53d5ddeb3aef9b358d8e..758fa49f9b420fdbb583ca3443b81ca151478ea8 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -345,6 +345,19 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/0665-More-Projectile-API.patch b/patches/server/0664-More-Projectile-API.patch
index 8f77d7deb8..8f77d7deb8 100644
--- a/patches/server/0665-More-Projectile-API.patch
+++ b/patches/server/0664-More-Projectile-API.patch
diff --git a/patches/server/0666-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0665-Fix-swamp-hut-cat-generation-deadlock.patch
index ed87313991..ed87313991 100644
--- a/patches/server/0666-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0665-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index 7ccbeb4b00..7ccbeb4b00 100644
--- a/patches/server/0667-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0666-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0668-Implement-getComputedBiome-API.patch b/patches/server/0667-Implement-getComputedBiome-API.patch
index dab55a6218..dab55a6218 100644
--- a/patches/server/0668-Implement-getComputedBiome-API.patch
+++ b/patches/server/0667-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0669-Make-some-itemstacks-nonnull.patch b/patches/server/0668-Make-some-itemstacks-nonnull.patch
index 20944d9088..20944d9088 100644
--- a/patches/server/0669-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0668-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0670-Implement-enchantWithLevels-API.patch b/patches/server/0669-Implement-enchantWithLevels-API.patch
index 008d6aaf29..008d6aaf29 100644
--- a/patches/server/0670-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0669-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0671-Fix-saving-in-unloadWorld.patch b/patches/server/0670-Fix-saving-in-unloadWorld.patch
index 540896076f..540896076f 100644
--- a/patches/server/0671-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0670-Fix-saving-in-unloadWorld.patch
diff --git a/patches/server/0672-Buffer-OOB-setBlock-calls.patch b/patches/server/0671-Buffer-OOB-setBlock-calls.patch
index 1b7ba291c4..1b7ba291c4 100644
--- a/patches/server/0672-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0671-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0673-Add-TameableDeathMessageEvent.patch b/patches/server/0672-Add-TameableDeathMessageEvent.patch
index 85016be93d..85016be93d 100644
--- a/patches/server/0673-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0672-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0674-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0673-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index fd2ea22a5e..fd2ea22a5e 100644
--- a/patches/server/0674-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0673-Fix-new-block-data-for-EntityChangeBlockEvent.patch
diff --git a/patches/server/0675-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0674-fix-player-loottables-running-when-mob-loot-gamerule.patch
index 2bc0c5993d..a858720f1e 100644
--- a/patches/server/0675-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0674-fix-player-loottables-running-when-mob-loot-gamerule.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index e2a8e0291a5c0c00d7d6135a0d34fb8bab7b4cd5..15158bec7e2ca90b45347ba09cf17f25e919f9cf 100644
+index 0efd5d23924efec5e2bff0c7b3dddb6e97723e29..ed8a1457b99f862762e49c84db2585ce410f278a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1215,12 +1215,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0676-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0675-Ensure-entity-passenger-world-matches-ridden-entity.patch
index 78807f6d4c..43c04c7c05 100644
--- a/patches/server/0676-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0675-Ensure-entity-passenger-world-matches-ridden-entity.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity
Bad plugins doing this would cause some obvious problems...
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 05a105cfc59bad7ca8fdf2355c6338cdff446d6a..8cf1a2a4dbf1d26d17dc5b4f67a52f7df54dae81 100644
+index 405911682f96fc54e7146333474f7d470b24035f..d078f48a7652a2e01984329ccf8301daa7ec4c38 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2833,7 +2833,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0677-Cache-resource-keys-and-optimize-reference-Holder-ta.patch b/patches/server/0676-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
index 7356aca21a..7356aca21a 100644
--- a/patches/server/0677-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
+++ b/patches/server/0676-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
diff --git a/patches/server/0678-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0677-Allow-changing-the-EnderDragon-podium.patch
index 0676f66fd1..0676f66fd1 100644
--- a/patches/server/0678-Allow-changing-the-EnderDragon-podium.patch
+++ b/patches/server/0677-Allow-changing-the-EnderDragon-podium.patch
diff --git a/patches/server/0679-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0678-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index f885dbe8b4..f885dbe8b4 100644
--- a/patches/server/0679-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0678-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0679-Use-username-instead-of-display-name-in-PlayerList-g.patch
index 7ba2f534fa..7ba2f534fa 100644
--- a/patches/server/0680-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0679-Use-username-instead-of-display-name-in-PlayerList-g.patch
diff --git a/patches/server/0681-Expand-PlayerItemDamageEvent.patch b/patches/server/0680-Expand-PlayerItemDamageEvent.patch
index 85a05db466..85a05db466 100644
--- a/patches/server/0681-Expand-PlayerItemDamageEvent.patch
+++ b/patches/server/0680-Expand-PlayerItemDamageEvent.patch
diff --git a/patches/server/0682-WorldCreator-keepSpawnLoaded.patch b/patches/server/0681-WorldCreator-keepSpawnLoaded.patch
index ab38fc7006..ab38fc7006 100644
--- a/patches/server/0682-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0681-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/server/0683-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0682-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index ed8adb4503..ed8adb4503 100644
--- a/patches/server/0683-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0682-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0684-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0683-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index 105d2132f3..105d2132f3 100644
--- a/patches/server/0684-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0683-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0685-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0684-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 79ada84e8b..79ada84e8b 100644
--- a/patches/server/0685-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0684-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0686-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0685-Fire-CauldronLevelChange-on-initial-fill.patch
index 86520e0647..86520e0647 100644
--- a/patches/server/0686-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0685-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0687-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0686-fix-powder-snow-cauldrons-not-turning-to-water.patch
index 201c323a35..201c323a35 100644
--- a/patches/server/0687-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0686-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0688-Add-PlayerStopUsingItemEvent.patch b/patches/server/0687-Add-PlayerStopUsingItemEvent.patch
index c787da04da..c787da04da 100644
--- a/patches/server/0688-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0687-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/server/0689-Don-t-tick-markers.patch b/patches/server/0688-Don-t-tick-markers.patch
index 64875a4975..64875a4975 100644
--- a/patches/server/0689-Don-t-tick-markers.patch
+++ b/patches/server/0688-Don-t-tick-markers.patch
diff --git a/patches/server/0690-Expand-FallingBlock-API.patch b/patches/server/0689-Expand-FallingBlock-API.patch
index 789dd54c78..789dd54c78 100644
--- a/patches/server/0690-Expand-FallingBlock-API.patch
+++ b/patches/server/0689-Expand-FallingBlock-API.patch
diff --git a/patches/server/0691-Add-support-for-Proxy-Protocol.patch b/patches/server/0690-Add-support-for-Proxy-Protocol.patch
index 6c7cf55fb0..6c7cf55fb0 100644
--- a/patches/server/0691-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0690-Add-support-for-Proxy-Protocol.patch
diff --git a/patches/server/0692-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0691-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 4726c2f65c..4726c2f65c 100644
--- a/patches/server/0692-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0691-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0693-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0692-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index 7158b83635..7158b83635 100644
--- a/patches/server/0693-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0692-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0693-Sanitize-sent-BlockEntity-NBT.patch
index 6225689cb3..6225689cb3 100644
--- a/patches/server/0694-Sanitize-sent-BlockEntity-NBT.patch
+++ b/patches/server/0693-Sanitize-sent-BlockEntity-NBT.patch
diff --git a/patches/server/0695-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0694-Disable-component-selector-resolving-in-books-by-def.patch
index 7231198032..7231198032 100644
--- a/patches/server/0695-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0694-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0695-Prevent-entity-loading-causing-async-lookups.patch
index 59efbd6204..aeeb1e6d38 100644
--- a/patches/server/0696-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0695-Prevent-entity-loading-causing-async-lookups.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent entity loading causing async lookups
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8cf1a2a4dbf1d26d17dc5b4f67a52f7df54dae81..36f82ba16f30fe4054b19e62a8157cf3d4d07671 100644
+index d078f48a7652a2e01984329ccf8301daa7ec4c38..8a4f99fcc32daad1e20035f9ad61a6d9801d1e3c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -729,6 +729,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0696-Throw-exception-on-world-create-while-being-ticked.patch
index b3abc73cb6..b3abc73cb6 100644
--- a/patches/server/0697-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0696-Throw-exception-on-world-create-while-being-ticked.patch
diff --git a/patches/server/0698-Dont-resent-entity-on-art-update.patch b/patches/server/0697-Dont-resent-entity-on-art-update.patch
index 38d1a4ca58..38d1a4ca58 100644
--- a/patches/server/0698-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0697-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0699-Add-WardenAngerChangeEvent.patch b/patches/server/0698-Add-WardenAngerChangeEvent.patch
index 8df5686f9f..8df5686f9f 100644
--- a/patches/server/0699-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0698-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0700-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0699-Add-option-for-strict-advancement-dimension-checks.patch
index 97a9fe7a86..707c7aaf9d 100644
--- a/patches/server/0700-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0699-Add-option-for-strict-advancement-dimension-checks.patch
@@ -24,7 +24,7 @@ index 01b8f7024fbc965bc6a7f97f79ba3dec964ef769..801823d003a8e28a13fe90db4604cd09
} else {
BlockPos blockPos = BlockPos.containing(x, y, z);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 15158bec7e2ca90b45347ba09cf17f25e919f9cf..6236f5cbd32e9547bbb1312c322195e440dadc60 100644
+index ed8a1457b99f862762e49c84db2585ce410f278a..2821203352974f5bd1e873969f3bc64842761702 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1646,6 +1646,12 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0701-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0700-Add-missing-important-BlockStateListPopulator-method.patch
index 94a1b50995..94a1b50995 100644
--- a/patches/server/0701-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0700-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0702-Nameable-Banner-API.patch b/patches/server/0701-Nameable-Banner-API.patch
index b481d9a835..b481d9a835 100644
--- a/patches/server/0702-Nameable-Banner-API.patch
+++ b/patches/server/0701-Nameable-Banner-API.patch
diff --git a/patches/server/0703-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0702-Don-t-broadcast-messages-to-command-blocks.patch
index e27e3d40a7..e27e3d40a7 100644
--- a/patches/server/0703-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0702-Don-t-broadcast-messages-to-command-blocks.patch
diff --git a/patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0703-Prevent-empty-items-from-being-added-to-world.patch
index 0ce15dc3d4..77b154f4ed 100644
--- a/patches/server/0704-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0703-Prevent-empty-items-from-being-added-to-world.patch
@@ -7,7 +7,7 @@ The previous solution caused a bunch of bandaid fixes inorder to resolve edge ca
Just simply prevent them from being added to the world instead.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 08b819c19eda2ab53b1b37af7a90e38b06b67b85..32d368a18e14f247b4ddcb9d3dc16aa116359be4 100644
+index ee0459e37b817648e37b1ea84a3edf7c52d00855..528c2a0aff23255275982ce3e42ce16087992f57 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1206,6 +1206,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0705-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0704-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index c2e21a749e..c2e21a749e 100644
--- a/patches/server/0705-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0704-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0706-Add-Player-getFishHook.patch b/patches/server/0705-Add-Player-getFishHook.patch
index 15a4d9dca1..15a4d9dca1 100644
--- a/patches/server/0706-Add-Player-getFishHook.patch
+++ b/patches/server/0705-Add-Player-getFishHook.patch
diff --git a/patches/server/0707-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0706-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 32aaf6dc6e..32aaf6dc6e 100644
--- a/patches/server/0707-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0706-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0707-Add-various-missing-EntityDropItemEvent-calls.patch
index 91e73baabd..f0dd9ffa73 100644
--- a/patches/server/0708-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0707-Add-various-missing-EntityDropItemEvent-calls.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 36f82ba16f30fe4054b19e62a8157cf3d4d07671..ad548e41740221fa5bb1aee6ba484e213bd1e779 100644
+index 8a4f99fcc32daad1e20035f9ad61a6d9801d1e3c..41026637304430f1cbf4ed5dc1d44b807afa90af 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2698,6 +2698,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0709-Fix-Bee-flower-NPE.patch b/patches/server/0708-Fix-Bee-flower-NPE.patch
index 17dc8e7e29..17dc8e7e29 100644
--- a/patches/server/0709-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0708-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0710-More-Teleport-API.patch b/patches/server/0709-More-Teleport-API.patch
index 8aa4c173f9..8aa4c173f9 100644
--- a/patches/server/0710-More-Teleport-API.patch
+++ b/patches/server/0709-More-Teleport-API.patch
diff --git a/patches/server/0711-Add-EntityPortalReadyEvent.patch b/patches/server/0710-Add-EntityPortalReadyEvent.patch
index 086f824533..086f824533 100644
--- a/patches/server/0711-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0710-Add-EntityPortalReadyEvent.patch
diff --git a/patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0711-Don-t-use-level-random-in-entity-constructors.patch
index d083d9ffea..d083d9ffea 100644
--- a/patches/server/0712-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0711-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0713-Send-block-entities-after-destroy-prediction.patch b/patches/server/0712-Send-block-entities-after-destroy-prediction.patch
index f82930ea8f..f82930ea8f 100644
--- a/patches/server/0713-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0712-Send-block-entities-after-destroy-prediction.patch
diff --git a/patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0713-Warn-on-plugins-accessing-faraway-chunks.patch
index 056fcc0002..056fcc0002 100644
--- a/patches/server/0714-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0713-Warn-on-plugins-accessing-faraway-chunks.patch
diff --git a/patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0714-Custom-Chat-Completion-Suggestions-API.patch
index 3ec8f74557..3ec8f74557 100644
--- a/patches/server/0715-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0714-Custom-Chat-Completion-Suggestions-API.patch
diff --git a/patches/server/0716-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0715-Add-and-fix-missing-BlockFadeEvents.patch
index 1ac5d1e5ab..1ac5d1e5ab 100644
--- a/patches/server/0716-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0715-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0717-Collision-API.patch b/patches/server/0716-Collision-API.patch
index 04a7bbffba..04a7bbffba 100644
--- a/patches/server/0717-Collision-API.patch
+++ b/patches/server/0716-Collision-API.patch
diff --git a/patches/server/0718-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0717-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index 4627673f0f..4627673f0f 100644
--- a/patches/server/0718-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0717-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0719-Block-Ticking-API.patch b/patches/server/0718-Block-Ticking-API.patch
index f143dbcf0e..f143dbcf0e 100644
--- a/patches/server/0719-Block-Ticking-API.patch
+++ b/patches/server/0718-Block-Ticking-API.patch
diff --git a/patches/server/0720-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0719-Add-Velocity-IP-Forwarding-Support.patch
index a276b2c88d..a276b2c88d 100644
--- a/patches/server/0720-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0719-Add-Velocity-IP-Forwarding-Support.patch
diff --git a/patches/server/0721-Add-NamespacedKey-biome-methods.patch b/patches/server/0720-Add-NamespacedKey-biome-methods.patch
index 8420d9c080..8420d9c080 100644
--- a/patches/server/0721-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0720-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0721-Fix-plugin-loggers-on-server-shutdown.patch
index d88c01161e..d88c01161e 100644
--- a/patches/server/0722-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0721-Fix-plugin-loggers-on-server-shutdown.patch
diff --git a/patches/server/0723-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0722-Stop-large-look-changes-from-crashing-the-server.patch
index 9bf6f902e6..9bf6f902e6 100644
--- a/patches/server/0723-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0722-Stop-large-look-changes-from-crashing-the-server.patch
diff --git a/patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0723-Fire-EntityChangeBlockEvent-in-more-places.patch
index 49bb57e2aa..49bb57e2aa 100644
--- a/patches/server/0724-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0723-Fire-EntityChangeBlockEvent-in-more-places.patch
diff --git a/patches/server/0725-Missing-eating-regain-reason.patch b/patches/server/0724-Missing-eating-regain-reason.patch
index 9b79d094d3..9b79d094d3 100644
--- a/patches/server/0725-Missing-eating-regain-reason.patch
+++ b/patches/server/0724-Missing-eating-regain-reason.patch
diff --git a/patches/server/0726-Missing-effect-cause.patch b/patches/server/0725-Missing-effect-cause.patch
index 85e40f7bb1..85e40f7bb1 100644
--- a/patches/server/0726-Missing-effect-cause.patch
+++ b/patches/server/0725-Missing-effect-cause.patch
diff --git a/patches/server/0727-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0726-Added-byte-array-serialization-deserialization-for-P.patch
index f2a4d437f0..f2a4d437f0 100644
--- a/patches/server/0727-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0726-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0728-Add-source-block-to-BlockPhysicsEvent.patch b/patches/server/0727-Add-source-block-to-BlockPhysicsEvent.patch
index 91adea4a23..91adea4a23 100644
--- a/patches/server/0728-Add-source-block-to-BlockPhysicsEvent.patch
+++ b/patches/server/0727-Add-source-block-to-BlockPhysicsEvent.patch
diff --git a/patches/server/0729-Configurable-chat-thread-limit.patch b/patches/server/0728-Configurable-chat-thread-limit.patch
index 43277b9fb4..43277b9fb4 100644
--- a/patches/server/0729-Configurable-chat-thread-limit.patch
+++ b/patches/server/0728-Configurable-chat-thread-limit.patch
diff --git a/patches/server/0730-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0729-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index 3ce15af172..3ce15af172 100644
--- a/patches/server/0730-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0729-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0731-fix-Jigsaw-block-kicking-user.patch b/patches/server/0730-fix-Jigsaw-block-kicking-user.patch
index 749d498f57..749d498f57 100644
--- a/patches/server/0731-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0730-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0732-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0731-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 3159c4b594..3159c4b594 100644
--- a/patches/server/0732-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0731-use-BlockFormEvent-for-mud-converting-into-clay.patch
diff --git a/patches/server/0733-Add-getDrops-to-BlockState.patch b/patches/server/0732-Add-getDrops-to-BlockState.patch
index ea12f69bde..ea12f69bde 100644
--- a/patches/server/0733-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0732-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0733-Fix-a-bunch-of-vanilla-bugs.patch
index d1bf68f023..1cd84fb056 100644
--- a/patches/server/0734-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0733-Fix-a-bunch-of-vanilla-bugs.patch
@@ -89,7 +89,7 @@ index 6854ca4d4fec2b4fa541c3fabf63787665572609..e7b444a10b244828827b3c66c5346520
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 32d368a18e14f247b4ddcb9d3dc16aa116359be4..03959bd6f40db9fb8f5da83377b8427ed0341f8a 100644
+index 528c2a0aff23255275982ce3e42ce16087992f57..d778f3dbe84b57f42703042ddd161e5c4bd4f14d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -754,7 +754,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -220,7 +220,7 @@ index 14b47d6fa189f2a666b12ef7e7708d204c2b0452..4c6dc427b90012b0945e073dd905dc7e
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
-index 30af4cbb17148c247a46c0346419d6c838dbc9d2..d431ee93cd7e87a24ff4079288facd089053d725 100644
+index 916017571ecde95721df9bdc07c5e7b5dc60c957..3ef9be2b076160783adce2f1d74b3118544e66da 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -272,6 +272,14 @@ public class ItemFrame extends HangingEntity {
diff --git a/patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0734-Remove-unnecessary-onTrackingStart-during-navigation.patch
index 3bc7296f88..3bc7296f88 100644
--- a/patches/server/0735-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0734-Remove-unnecessary-onTrackingStart-during-navigation.patch
diff --git a/patches/server/0736-Fix-custom-piglin-loved-items.patch b/patches/server/0735-Fix-custom-piglin-loved-items.patch
index 358bd47f1e..358bd47f1e 100644
--- a/patches/server/0736-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0735-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0737-EntityPickupItemEvent-fixes.patch b/patches/server/0736-EntityPickupItemEvent-fixes.patch
index 829f3de4fd..829f3de4fd 100644
--- a/patches/server/0737-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0736-EntityPickupItemEvent-fixes.patch
diff --git a/patches/server/0738-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0737-Correctly-handle-interactions-with-items-on-cooldown.patch
index d902a451c9..d902a451c9 100644
--- a/patches/server/0738-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0737-Correctly-handle-interactions-with-items-on-cooldown.patch
diff --git a/patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0738-Add-PlayerInventorySlotChangeEvent.patch
index 69d629988b..0c20c14c02 100644
--- a/patches/server/0739-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0738-Add-PlayerInventorySlotChangeEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 6236f5cbd32e9547bbb1312c322195e440dadc60..f6f1542657a6d96c34523ee3c3ab43586dd65e25 100644
+index 2821203352974f5bd1e873969f3bc64842761702..1dd593b7d90b29f238ef077753271b0d199c066c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -379,6 +379,25 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0740-Elder-Guardian-appearance-API.patch b/patches/server/0739-Elder-Guardian-appearance-API.patch
index fe6d385831..fe6d385831 100644
--- a/patches/server/0740-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0739-Elder-Guardian-appearance-API.patch
diff --git a/patches/server/0741-Add-entity-knockback-API.patch b/patches/server/0740-Add-entity-knockback-API.patch
index a9b58b4c8d..a9b58b4c8d 100644
--- a/patches/server/0741-Add-entity-knockback-API.patch
+++ b/patches/server/0740-Add-entity-knockback-API.patch
diff --git a/patches/server/0742-Detect-headless-JREs.patch b/patches/server/0741-Detect-headless-JREs.patch
index 6c876a6796..6c876a6796 100644
--- a/patches/server/0742-Detect-headless-JREs.patch
+++ b/patches/server/0741-Detect-headless-JREs.patch
diff --git a/patches/server/0743-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0742-fix-entity-vehicle-collision-event-not-called.patch
index 5511a3cdd1..5511a3cdd1 100644
--- a/patches/server/0743-fix-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0742-fix-entity-vehicle-collision-event-not-called.patch
diff --git a/patches/server/0744-Add-EntityToggleSitEvent.patch b/patches/server/0743-Add-EntityToggleSitEvent.patch
index 375c8635da..375c8635da 100644
--- a/patches/server/0744-Add-EntityToggleSitEvent.patch
+++ b/patches/server/0743-Add-EntityToggleSitEvent.patch
diff --git a/patches/server/0745-Add-fire-tick-delay-option.patch b/patches/server/0744-Add-fire-tick-delay-option.patch
index 8e6c314b76..8e6c314b76 100644
--- a/patches/server/0745-Add-fire-tick-delay-option.patch
+++ b/patches/server/0744-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0746-Add-Moving-Piston-API.patch b/patches/server/0745-Add-Moving-Piston-API.patch
index e3d3955822..e3d3955822 100644
--- a/patches/server/0746-Add-Moving-Piston-API.patch
+++ b/patches/server/0745-Add-Moving-Piston-API.patch
diff --git a/patches/server/0747-Ignore-impossible-spawn-tick.patch b/patches/server/0746-Ignore-impossible-spawn-tick.patch
index ee2750f36d..ee2750f36d 100644
--- a/patches/server/0747-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0746-Ignore-impossible-spawn-tick.patch
diff --git a/patches/server/0748-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch b/patches/server/0747-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
index 2fe35c8b32..2fe35c8b32 100644
--- a/patches/server/0748-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
+++ b/patches/server/0747-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
diff --git a/patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0748-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index 58f70904f6..693191cfdb 100644
--- a/patches/server/0749-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0748-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ad548e41740221fa5bb1aee6ba484e213bd1e779..0b55f92576a4257d210a53e9e77fcd573d558fc7 100644
+index 41026637304430f1cbf4ed5dc1d44b807afa90af..584d658694ad23c0d047ca40208f766b9f44f8d6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3351,6 +3351,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0750-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0749-Add-PrePlayerAttackEntityEvent.patch
index 5ca555ff3c..5ca555ff3c 100644
--- a/patches/server/0750-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0749-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/server/0751-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0750-ensure-reset-EnderDragon-boss-event-name.patch
index 4c5db1221b..4c5db1221b 100644
--- a/patches/server/0751-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0750-ensure-reset-EnderDragon-boss-event-name.patch
diff --git a/patches/server/0752-Add-Player-Warden-Warning-API.patch b/patches/server/0751-Add-Player-Warden-Warning-API.patch
index 7edc6b34a9..7edc6b34a9 100644
--- a/patches/server/0752-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0751-Add-Player-Warden-Warning-API.patch
diff --git a/patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0752-More-vanilla-friendly-methods-to-update-trades.patch
index 54ee0482e2..54ee0482e2 100644
--- a/patches/server/0753-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0752-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0754-Add-paper-dumplisteners-command.patch b/patches/server/0753-Add-paper-dumplisteners-command.patch
index aabb60033d..aabb60033d 100644
--- a/patches/server/0754-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0753-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0755-check-global-player-list-where-appropriate.patch b/patches/server/0754-check-global-player-list-where-appropriate.patch
index 2c629600b2..2c629600b2 100644
--- a/patches/server/0755-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0754-check-global-player-list-where-appropriate.patch
diff --git a/patches/server/0756-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0755-Fix-async-entity-add-due-to-fungus-trees.patch
index 009feeb37a..009feeb37a 100644
--- a/patches/server/0756-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0755-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0757-ItemStack-damage-API.patch b/patches/server/0756-ItemStack-damage-API.patch
index de20adcd15..de20adcd15 100644
--- a/patches/server/0757-ItemStack-damage-API.patch
+++ b/patches/server/0756-ItemStack-damage-API.patch
diff --git a/patches/server/0758-Friction-API.patch b/patches/server/0757-Friction-API.patch
index 2314f923e3..2314f923e3 100644
--- a/patches/server/0758-Friction-API.patch
+++ b/patches/server/0757-Friction-API.patch
diff --git a/patches/server/0759-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0758-Ability-to-control-player-s-insomnia-and-phantoms.patch
index 0b482955d5..0b482955d5 100644
--- a/patches/server/0759-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0758-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0759-Fix-premature-player-kicks-on-shutdown.patch
index 7453334efc..7453334efc 100644
--- a/patches/server/0760-Fix-premature-player-kicks-on-shutdown.patch
+++ b/patches/server/0759-Fix-premature-player-kicks-on-shutdown.patch
diff --git a/patches/server/0761-Sync-offhand-slot-in-menus.patch b/patches/server/0760-Sync-offhand-slot-in-menus.patch
index 32cd4e42b8..76adeb1c2c 100644
--- a/patches/server/0761-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0760-Sync-offhand-slot-in-menus.patch
@@ -8,7 +8,7 @@ offhand slot isn't sent. This is not correct because you *can* put stuff into th
by pressing the offhand swap item
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index f6f1542657a6d96c34523ee3c3ab43586dd65e25..a62e16b88a400c0715ddbdc33d25663303cc9103 100644
+index 1dd593b7d90b29f238ef077753271b0d199c066c..3a96eb35787ac4b45e4b212c221593516a32ea4d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -348,6 +348,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0762-Player-Entity-Tracking-Events.patch b/patches/server/0761-Player-Entity-Tracking-Events.patch
index 3cbe275c83..5bd2153391 100644
--- a/patches/server/0762-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0761-Player-Entity-Tracking-Events.patch
@@ -21,7 +21,7 @@ index 2d325c998e40a65af10d6adbb0dc304bea50e3d8..c1c2eeba0f5b8e499cc51cc1df7bf9ac
} else if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 0b55f92576a4257d210a53e9e77fcd573d558fc7..827f141834ac903adca919f3514a468b7b6de089 100644
+index 584d658694ad23c0d047ca40208f766b9f44f8d6..59dd5179b3ac6e448304a94d1e6343b3c08d674d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4106,7 +4106,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0763-Limit-pet-look-distance.patch b/patches/server/0762-Limit-pet-look-distance.patch
index 983f861539..983f861539 100644
--- a/patches/server/0763-Limit-pet-look-distance.patch
+++ b/patches/server/0762-Limit-pet-look-distance.patch
diff --git a/patches/server/0764-fix-Instruments.patch b/patches/server/0763-fix-Instruments.patch
index 8e1919eba3..8e1919eba3 100644
--- a/patches/server/0764-fix-Instruments.patch
+++ b/patches/server/0763-fix-Instruments.patch
diff --git a/patches/server/0765-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0764-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index 12e018cb68..12e018cb68 100644
--- a/patches/server/0765-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0764-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0766-Add-BlockLockCheckEvent.patch b/patches/server/0765-Add-BlockLockCheckEvent.patch
index b06f734eb2..b06f734eb2 100644
--- a/patches/server/0766-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0765-Add-BlockLockCheckEvent.patch
diff --git a/patches/server/0767-Add-Sneaking-API-for-Entities.patch b/patches/server/0766-Add-Sneaking-API-for-Entities.patch
index a4f307c126..a4f307c126 100644
--- a/patches/server/0767-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0766-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/server/0768-Improve-logging-and-errors.patch b/patches/server/0767-Improve-logging-and-errors.patch
index aec88d7e1b..aec88d7e1b 100644
--- a/patches/server/0768-Improve-logging-and-errors.patch
+++ b/patches/server/0767-Improve-logging-and-errors.patch
diff --git a/patches/server/0769-Improve-PortalEvents.patch b/patches/server/0768-Improve-PortalEvents.patch
index 88802cbfdd..f69655a373 100644
--- a/patches/server/0769-Improve-PortalEvents.patch
+++ b/patches/server/0768-Improve-PortalEvents.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Improve PortalEvents
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index a62e16b88a400c0715ddbdc33d25663303cc9103..a5eaac3fb6d949098a9fca20d9dbff59c56773ed 100644
+index 3a96eb35787ac4b45e4b212c221593516a32ea4d..07f14652768d4715eb9053b5a8381816a61b0d28 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1552,7 +1552,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -18,7 +18,7 @@ index a62e16b88a400c0715ddbdc33d25663303cc9103..a5eaac3fb6d949098a9fca20d9dbff59
// Paper start - gateway-specific teleport event
if (this.portalProcess != null && this.portalProcess.isSamePortal(((net.minecraft.world.level.block.EndGatewayBlock) net.minecraft.world.level.block.Blocks.END_GATEWAY)) && this.serverLevel().getBlockEntity(this.portalProcess.getEntryPosition()) instanceof net.minecraft.world.level.block.entity.TheEndGatewayBlockEntity theEndGatewayBlockEntity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 827f141834ac903adca919f3514a468b7b6de089..1f9379ac11b15b564e70fcab655bc5e50b584e65 100644
+index 59dd5179b3ac6e448304a94d1e6343b3c08d674d..1fa9a243c883120402ecc191d98a750b742bdbd0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3777,7 +3777,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0770-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0769-Add-config-option-for-spider-worldborder-climbing.patch
index 6d4efc38b6..6d4efc38b6 100644
--- a/patches/server/0770-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0769-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0771-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0770-Add-missing-SpigotConfig-logCommands-check.patch
index a8a18cd319..a8a18cd319 100644
--- a/patches/server/0771-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0770-Add-missing-SpigotConfig-logCommands-check.patch
diff --git a/patches/server/0772-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0771-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 581ad00ec1..581ad00ec1 100644
--- a/patches/server/0772-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0771-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0773-Flying-Fall-Damage.patch b/patches/server/0772-Flying-Fall-Damage.patch
index d74e2cad08..d74e2cad08 100644
--- a/patches/server/0773-Flying-Fall-Damage.patch
+++ b/patches/server/0772-Flying-Fall-Damage.patch
diff --git a/patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0773-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index 35080d56e0..2ab3512daf 100644
--- a/patches/server/0774-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0773-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Expose pre-collision moving velocity to
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 1f9379ac11b15b564e70fcab655bc5e50b584e65..5b2341e07d66feb4a3975eb2eb6208306c3ebaa9 100644
+index 1fa9a243c883120402ecc191d98a750b742bdbd0..7897bec4aa04c93793af819cfaf8a7a751c4f1e4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -977,6 +977,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0775-config-for-disabling-entity-tag-tags.patch b/patches/server/0774-config-for-disabling-entity-tag-tags.patch
index 70bef01fe4..70bef01fe4 100644
--- a/patches/server/0775-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0774-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0776-Use-single-player-info-update-packet-on-join.patch b/patches/server/0775-Use-single-player-info-update-packet-on-join.patch
index 3bef6e1531..3bef6e1531 100644
--- a/patches/server/0776-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0775-Use-single-player-info-update-packet-on-join.patch
diff --git a/patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0776-Correctly-shrink-items-during-EntityResurrectEvent.patch
index f16e8a752f..f16e8a752f 100644
--- a/patches/server/0777-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0776-Correctly-shrink-items-during-EntityResurrectEvent.patch
diff --git a/patches/server/0778-Win-Screen-API.patch b/patches/server/0777-Win-Screen-API.patch
index 1b79652c2a..1b79652c2a 100644
--- a/patches/server/0778-Win-Screen-API.patch
+++ b/patches/server/0777-Win-Screen-API.patch
diff --git a/patches/server/0779-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0778-Remove-CraftItemStack-setAmount-null-assignment.patch
index aa0acd564f..aa0acd564f 100644
--- a/patches/server/0779-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0778-Remove-CraftItemStack-setAmount-null-assignment.patch
diff --git a/patches/server/0780-Fix-force-opening-enchantment-tables.patch b/patches/server/0779-Fix-force-opening-enchantment-tables.patch
index deac4001bb..deac4001bb 100644
--- a/patches/server/0780-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0779-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0781-Add-Entity-Body-Yaw-API.patch b/patches/server/0780-Add-Entity-Body-Yaw-API.patch
index e46f48b4ac..e46f48b4ac 100644
--- a/patches/server/0781-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0780-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0781-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index c3a7139e9a..c3a7139e9a 100644
--- a/patches/server/0782-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0781-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0783-Add-EntityFertilizeEggEvent.patch b/patches/server/0782-Add-EntityFertilizeEggEvent.patch
index 5cca5ebf89..5cca5ebf89 100644
--- a/patches/server/0783-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0782-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/server/0784-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0783-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index 5807cdf697..5807cdf697 100644
--- a/patches/server/0784-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0783-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0784-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index f182b8195b..f182b8195b 100644
--- a/patches/server/0785-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0784-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0786-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0785-Correctly-handle-ArmorStand-invisibility.patch
index 4c4c5048be..4c4c5048be 100644
--- a/patches/server/0786-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0785-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0786-Fix-advancement-triggers-for-entity-damage.patch
index ce38a29549..ce38a29549 100644
--- a/patches/server/0787-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0786-Fix-advancement-triggers-for-entity-damage.patch
diff --git a/patches/server/0788-Fix-text-display-error-on-spawn.patch b/patches/server/0787-Fix-text-display-error-on-spawn.patch
index d783ac8eee..d783ac8eee 100644
--- a/patches/server/0788-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0787-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0789-Fix-inventories-returning-null-Locations.patch b/patches/server/0788-Fix-inventories-returning-null-Locations.patch
index 715c9ff910..715c9ff910 100644
--- a/patches/server/0789-Fix-inventories-returning-null-Locations.patch
+++ b/patches/server/0788-Fix-inventories-returning-null-Locations.patch
diff --git a/patches/server/0790-Add-Shearable-API.patch b/patches/server/0789-Add-Shearable-API.patch
index 302cec90c2..302cec90c2 100644
--- a/patches/server/0790-Add-Shearable-API.patch
+++ b/patches/server/0789-Add-Shearable-API.patch
diff --git a/patches/server/0791-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0790-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 254a94df3a..254a94df3a 100644
--- a/patches/server/0791-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0790-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0791-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index 16390f90c4..16390f90c4 100644
--- a/patches/server/0792-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0791-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0793-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0792-Treat-sequence-violations-like-they-should-be.patch
index 68d70efd4d..68d70efd4d 100644
--- a/patches/server/0793-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0792-Treat-sequence-violations-like-they-should-be.patch
diff --git a/patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0793-Prevent-causing-expired-keys-from-impacting-new-join.patch
index f86d440282..f86d440282 100644
--- a/patches/server/0794-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0793-Prevent-causing-expired-keys-from-impacting-new-join.patch
diff --git a/patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0794-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index 2339341967..a1e0e51950 100644
--- a/patches/server/0795-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0794-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent GameEvents being fired from unloaded chunks
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 334b21a37196f4bf1046d9506c9a491d2662adad..362e4466f443a9c1a04bda74f7c60f7df8944169 100644
+index 8e72d36c2e2b5ff91b16188c95646b8447b6b2b8..1242ddeb98c5a0582591a071ef615f726f6aa132 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1361,6 +1361,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0796-Use-array-for-gamerule-storage.patch b/patches/server/0795-Use-array-for-gamerule-storage.patch
index efb6cfeb50..efb6cfeb50 100644
--- a/patches/server/0796-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0795-Use-array-for-gamerule-storage.patch
diff --git a/patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0796-Fix-a-couple-of-upstream-bed-issues.patch
index d47a0b12c8..d47a0b12c8 100644
--- a/patches/server/0797-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0796-Fix-a-couple-of-upstream-bed-issues.patch
diff --git a/patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0797-Fix-demo-flag-not-enabling-demo-mode.patch
index db1ba5d6f6..db1ba5d6f6 100644
--- a/patches/server/0798-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0797-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0799-Add-Mob-Experience-reward-API.patch b/patches/server/0798-Add-Mob-Experience-reward-API.patch
index 9e59c458f8..9e59c458f8 100644
--- a/patches/server/0799-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0798-Add-Mob-Experience-reward-API.patch
diff --git a/patches/server/0800-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0799-Break-redstone-on-top-of-trap-doors-early.patch
index ded460b32b..ded460b32b 100644
--- a/patches/server/0800-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0799-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0801-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0800-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index becde16ce8..becde16ce8 100644
--- a/patches/server/0801-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0800-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0802-More-accurate-isInOpenWater-impl.patch b/patches/server/0801-More-accurate-isInOpenWater-impl.patch
index 6e110094dd..6e110094dd 100644
--- a/patches/server/0802-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0801-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0803-Expand-PlayerItemMendEvent.patch b/patches/server/0802-Expand-PlayerItemMendEvent.patch
index 2bab45aff4..2bab45aff4 100644
--- a/patches/server/0803-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0802-Expand-PlayerItemMendEvent.patch
diff --git a/patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0803-Refresh-ProjectileSource-for-projectiles.patch
index 4d8e3cc45f..e5f111d2bb 100644
--- a/patches/server/0804-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0803-Refresh-ProjectileSource-for-projectiles.patch
@@ -14,7 +14,7 @@ clearing the owner.
Co-authored-by: Warrior <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5b2341e07d66feb4a3975eb2eb6208306c3ebaa9..29804084c93af884aea92d25b05e9bf20b92b620 100644
+index 7897bec4aa04c93793af819cfaf8a7a751c4f1e4..777b6a5d63138c9332c1d32f1df6d0cc2e3b2844 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -394,6 +394,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0805-Add-transient-modifier-API.patch b/patches/server/0804-Add-transient-modifier-API.patch
index 36cc0a030a..36cc0a030a 100644
--- a/patches/server/0805-Add-transient-modifier-API.patch
+++ b/patches/server/0804-Add-transient-modifier-API.patch
diff --git a/patches/server/0806-Fix-block-place-logic.patch b/patches/server/0805-Fix-block-place-logic.patch
index 09a934ba3e..09a934ba3e 100644
--- a/patches/server/0806-Fix-block-place-logic.patch
+++ b/patches/server/0805-Fix-block-place-logic.patch
diff --git a/patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0806-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index 41d0f0984e..41d0f0984e 100644
--- a/patches/server/0807-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0806-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
diff --git a/patches/server/0808-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0807-Call-BlockGrowEvent-for-missing-blocks.patch
index d48638c261..d48638c261 100644
--- a/patches/server/0808-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0807-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0809-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0808-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index 516bf15511..516bf15511 100644
--- a/patches/server/0809-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0808-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
diff --git a/patches/server/0810-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0809-fix-MapLike-spam-for-missing-key-selector.patch
index 2bd3b889f1..2bd3b889f1 100644
--- a/patches/server/0810-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0809-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0811-Fix-sniffer-removeExploredLocation.patch b/patches/server/0810-Fix-sniffer-removeExploredLocation.patch
index e8b1703090..e8b1703090 100644
--- a/patches/server/0811-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0810-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0811-Add-method-to-remove-all-active-potion-effects.patch
index 21ed7d09a9..21ed7d09a9 100644
--- a/patches/server/0812-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0811-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/server/0813-Add-event-for-player-editing-sign.patch b/patches/server/0812-Add-event-for-player-editing-sign.patch
index 9affd7f9eb..9affd7f9eb 100644
--- a/patches/server/0813-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0812-Add-event-for-player-editing-sign.patch
diff --git a/patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0813-Only-tick-item-frames-if-players-can-see-it.patch
index 79607ddfe1..79607ddfe1 100644
--- a/patches/server/0814-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0813-Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0814-Fix-cmd-permission-levels-for-command-blocks.patch
index ef8302664b..ef8302664b 100644
--- a/patches/server/0815-Fix-cmd-permission-levels-for-command-blocks.patch
+++ b/patches/server/0814-Fix-cmd-permission-levels-for-command-blocks.patch
diff --git a/patches/server/0816-Add-option-to-disable-block-updates.patch b/patches/server/0815-Add-option-to-disable-block-updates.patch
index 0ea835ecc9..0ea835ecc9 100644
--- a/patches/server/0816-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0815-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0817-Call-missing-BlockDispenseEvent.patch b/patches/server/0816-Call-missing-BlockDispenseEvent.patch
index b0cd223356..b0cd223356 100644
--- a/patches/server/0817-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0816-Call-missing-BlockDispenseEvent.patch
diff --git a/patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0817-Don-t-load-chunks-for-supporting-block-checks.patch
index c00de60113..306f756bb9 100644
--- a/patches/server/0818-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0817-Don-t-load-chunks-for-supporting-block-checks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't load chunks for supporting block checks
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 29804084c93af884aea92d25b05e9bf20b92b620..d3457d9576dcacb0adbcc1884a407d5b24680563 100644
+index 777b6a5d63138c9332c1d32f1df6d0cc2e3b2844..f2c36ab6d4124bee1ce4c534481117d655343a10 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1242,7 +1242,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0819-Optimize-player-lookups-for-beacons.patch b/patches/server/0818-Optimize-player-lookups-for-beacons.patch
index 7e1285d891..7e1285d891 100644
--- a/patches/server/0819-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0818-Optimize-player-lookups-for-beacons.patch
diff --git a/patches/server/0820-More-Sign-Block-API.patch b/patches/server/0819-More-Sign-Block-API.patch
index 41c9eb5851..41c9eb5851 100644
--- a/patches/server/0820-More-Sign-Block-API.patch
+++ b/patches/server/0819-More-Sign-Block-API.patch
diff --git a/patches/server/0821-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0820-fix-item-meta-for-tadpole-buckets.patch
index 0ad43795a2..0ad43795a2 100644
--- a/patches/server/0821-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0820-fix-item-meta-for-tadpole-buckets.patch
diff --git a/patches/server/0822-Fix-BanList-API.patch b/patches/server/0821-Fix-BanList-API.patch
index 7cf35da66c..7cf35da66c 100644
--- a/patches/server/0822-Fix-BanList-API.patch
+++ b/patches/server/0821-Fix-BanList-API.patch
diff --git a/patches/server/0823-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0822-Determine-lava-and-water-fluid-explosion-resistance-.patch
index 4f2b8e09cd..4f2b8e09cd 100644
--- a/patches/server/0823-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0822-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0824-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0823-Fix-possible-NPE-on-painting-creation.patch
index 814434abed..814434abed 100644
--- a/patches/server/0824-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0823-Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/server/0825-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0824-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index c481798890..c481798890 100644
--- a/patches/server/0825-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0824-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0826-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0825-ExperienceOrb-should-call-EntitySpawnEvent.patch
index da24259a50..da24259a50 100644
--- a/patches/server/0826-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0825-ExperienceOrb-should-call-EntitySpawnEvent.patch
diff --git a/patches/server/0827-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0826-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 301b345fb9..301b345fb9 100644
--- a/patches/server/0827-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0826-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0828-Add-whitelist-events.patch b/patches/server/0827-Add-whitelist-events.patch
index 96884032fb..96884032fb 100644
--- a/patches/server/0828-Add-whitelist-events.patch
+++ b/patches/server/0827-Add-whitelist-events.patch
diff --git a/patches/server/0829-Implement-PlayerFailMoveEvent.patch b/patches/server/0828-Implement-PlayerFailMoveEvent.patch
index bc287c4f27..bc287c4f27 100644
--- a/patches/server/0829-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0828-Implement-PlayerFailMoveEvent.patch
diff --git a/patches/server/0830-Folia-scheduler-and-owned-region-API.patch b/patches/server/0829-Folia-scheduler-and-owned-region-API.patch
index cf424af53f..fe801d1588 100644
--- a/patches/server/0830-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0829-Folia-scheduler-and-owned-region-API.patch
@@ -1185,7 +1185,7 @@ index 28ca991e89fc0c651220c65cb939f9ebb12d9c93..8b54fab09699dec0cb0fb6063accb04e
this.players.remove(entityplayer);
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d3457d9576dcacb0adbcc1884a407d5b24680563..c7292ddae2a2cb11434a6962706bc2a8dd5d2cdc 100644
+index f2c36ab6d4124bee1ce4c534481117d655343a10..86f3955f938a512d1cc3207862549f4a6e6e67c8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -263,10 +263,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0831-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0830-Only-erase-allay-memory-on-non-item-targets.patch
index 6342f7dee7..6342f7dee7 100644
--- a/patches/server/0831-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0830-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0832-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0831-Fix-rotation-when-spawning-display-entities.patch
index 3cc44c57fa..3cc44c57fa 100644
--- a/patches/server/0832-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0831-Fix-rotation-when-spawning-display-entities.patch
diff --git a/patches/server/0833-Only-capture-actual-tree-growth.patch b/patches/server/0832-Only-capture-actual-tree-growth.patch
index 738f88f33b..738f88f33b 100644
--- a/patches/server/0833-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0832-Only-capture-actual-tree-growth.patch
diff --git a/patches/server/0834-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0833-Use-correct-source-for-mushroom-block-spread-event.patch
index 658d9ec376..658d9ec376 100644
--- a/patches/server/0834-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0833-Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0834-Respect-randomizeData-on-more-entities-when-spawning.patch
index eb12d81d79..eb12d81d79 100644
--- a/patches/server/0835-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0834-Respect-randomizeData-on-more-entities-when-spawning.patch
diff --git a/patches/server/0836-Use-correct-seed-on-api-world-load.patch b/patches/server/0835-Use-correct-seed-on-api-world-load.patch
index 80e41be4af..80e41be4af 100644
--- a/patches/server/0836-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0835-Use-correct-seed-on-api-world-load.patch
diff --git a/patches/server/0837-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0836-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index d87f310ded..d87f310ded 100644
--- a/patches/server/0837-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0836-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0838-Cache-map-ids-on-item-frames.patch b/patches/server/0837-Cache-map-ids-on-item-frames.patch
index 368e04a7a0..50c1186a78 100644
--- a/patches/server/0838-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0837-Cache-map-ids-on-item-frames.patch
@@ -18,7 +18,7 @@ index 436eb27ddc6a36b8bbf46efd9532c4e371024a98..12d5af9dc6e5d5ed4ea427384226dc5d
if (worldmap != null) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
-index d431ee93cd7e87a24ff4079288facd089053d725..bbdaaa1cc0b4aed28bc39385508d221055b99d4d 100644
+index 3ef9be2b076160783adce2f1d74b3118544e66da..7d83ad8a61f6aafbc063506c1858554f9b700b70 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -51,6 +51,7 @@ public class ItemFrame extends HangingEntity {
diff --git a/patches/server/0839-API-for-updating-recipes-on-clients.patch b/patches/server/0838-API-for-updating-recipes-on-clients.patch
index 77a9a4fe09..77a9a4fe09 100644
--- a/patches/server/0839-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0838-API-for-updating-recipes-on-clients.patch
diff --git a/patches/server/0840-Fix-custom-statistic-criteria-creation.patch b/patches/server/0839-Fix-custom-statistic-criteria-creation.patch
index b601922015..b601922015 100644
--- a/patches/server/0840-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0839-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/server/0841-Bandaid-fix-for-Effect.patch b/patches/server/0840-Bandaid-fix-for-Effect.patch
index 38971ab5b3..38971ab5b3 100644
--- a/patches/server/0841-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0840-Bandaid-fix-for-Effect.patch
diff --git a/patches/server/0842-SculkCatalyst-bloom-API.patch b/patches/server/0841-SculkCatalyst-bloom-API.patch
index ba050f6086..ba050f6086 100644
--- a/patches/server/0842-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0841-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0842-API-for-an-entity-s-scoreboard-name.patch
index 4fed66f489..4fed66f489 100644
--- a/patches/server/0843-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0842-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/server/0844-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0843-Deprecate-and-replace-methods-with-old-StructureType.patch
index d058ddea87..d058ddea87 100644
--- a/patches/server/0844-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0843-Deprecate-and-replace-methods-with-old-StructureType.patch
diff --git a/patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0844-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index 8c20d499c8..8c20d499c8 100644
--- a/patches/server/0845-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0844-Don-t-tab-complete-namespaced-commands-if-send-names.patch
diff --git a/patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0845-Properly-handle-BlockBreakEvent-isDropItems.patch
index 3dbf3d2344..3dbf3d2344 100644
--- a/patches/server/0846-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0845-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0846-Fire-entity-death-event-for-ender-dragon.patch
index f3f16c5e4c..f3f16c5e4c 100644
--- a/patches/server/0847-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0846-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0848-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0847-Configurable-entity-tracking-range-by-Y-coordinate.patch
index b838446e28..b838446e28 100644
--- a/patches/server/0848-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0847-Configurable-entity-tracking-range-by-Y-coordinate.patch
diff --git a/patches/server/0849-Add-Listing-API-for-Player.patch b/patches/server/0848-Add-Listing-API-for-Player.patch
index b23b4a4362..b23b4a4362 100644
--- a/patches/server/0849-Add-Listing-API-for-Player.patch
+++ b/patches/server/0848-Add-Listing-API-for-Player.patch
diff --git a/patches/server/0850-Configurable-Region-Compression-Format.patch b/patches/server/0849-Configurable-Region-Compression-Format.patch
index ce17b1e202..ce17b1e202 100644
--- a/patches/server/0850-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0849-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/0851-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0850-Add-BlockFace-to-BlockDamageEvent.patch
index a5b150b6fc..a5b150b6fc 100644
--- a/patches/server/0851-Add-BlockFace-to-BlockDamageEvent.patch
+++ b/patches/server/0850-Add-BlockFace-to-BlockDamageEvent.patch
diff --git a/patches/server/0852-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0851-Fix-NPE-on-Boat-getStatus.patch
index 19f832054d..19f832054d 100644
--- a/patches/server/0852-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/0851-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/0853-Expand-Pose-API.patch b/patches/server/0852-Expand-Pose-API.patch
index 81b59bbf22..dbb1f034ea 100644
--- a/patches/server/0853-Expand-Pose-API.patch
+++ b/patches/server/0852-Expand-Pose-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand Pose API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c7292ddae2a2cb11434a6962706bc2a8dd5d2cdc..aa317a143e2c38a0385a83651a78403401a75d9e 100644
+index 86f3955f938a512d1cc3207862549f4a6e6e67c8..96c252a797a971f36ccaf83ee00da27cf38a2f6c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -428,6 +428,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0854-More-DragonBattle-API.patch b/patches/server/0853-More-DragonBattle-API.patch
index a752a4de81..a752a4de81 100644
--- a/patches/server/0854-More-DragonBattle-API.patch
+++ b/patches/server/0853-More-DragonBattle-API.patch
diff --git a/patches/server/0855-Add-PlayerPickItemEvent.patch b/patches/server/0854-Add-PlayerPickItemEvent.patch
index 3a9bbc6a05..3a9bbc6a05 100644
--- a/patches/server/0855-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0854-Add-PlayerPickItemEvent.patch
diff --git a/patches/server/0856-Allow-trident-custom-damage.patch b/patches/server/0855-Allow-trident-custom-damage.patch
index 7cdbc23677..7cdbc23677 100644
--- a/patches/server/0856-Allow-trident-custom-damage.patch
+++ b/patches/server/0855-Allow-trident-custom-damage.patch
diff --git a/patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0856-Expose-hand-in-BlockCanBuildEvent.patch
index 6b01456a9d..6b01456a9d 100644
--- a/patches/server/0857-Expose-hand-in-BlockCanBuildEvent.patch
+++ b/patches/server/0856-Expose-hand-in-BlockCanBuildEvent.patch
diff --git a/patches/server/0858-Optimize-nearest-structure-border-iteration.patch b/patches/server/0857-Optimize-nearest-structure-border-iteration.patch
index 8b4cd3484e..8b4cd3484e 100644
--- a/patches/server/0858-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/0857-Optimize-nearest-structure-border-iteration.patch
diff --git a/patches/server/0859-Implement-OfflinePlayer-isConnected.patch b/patches/server/0858-Implement-OfflinePlayer-isConnected.patch
index 3d4be22227..3d4be22227 100644
--- a/patches/server/0859-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0858-Implement-OfflinePlayer-isConnected.patch
diff --git a/patches/server/0860-Fix-slot-desync.patch b/patches/server/0859-Fix-slot-desync.patch
index 6a3b4b7930..6a3b4b7930 100644
--- a/patches/server/0860-Fix-slot-desync.patch
+++ b/patches/server/0859-Fix-slot-desync.patch
diff --git a/patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0860-Add-titleOverride-to-InventoryOpenEvent.patch
index 58b1cc5e7e..2c3544fe76 100644
--- a/patches/server/0861-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/0860-Add-titleOverride-to-InventoryOpenEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add titleOverride to InventoryOpenEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index bfaf2cc79afebb0b51f6eb7081de2230546752ef..4c49a7a5dc702e1ab2d1b12f41af7c9ce1368e06 100644
+index 9eb5848b02fed596af8d5d99d9e5aaf1f1a34a76..0df899728a65db072afd40054ecb86ba72fd5745 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1907,12 +1907,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0862-Configure-sniffer-egg-hatch-time.patch b/patches/server/0861-Configure-sniffer-egg-hatch-time.patch
index e39971b614..e39971b614 100644
--- a/patches/server/0862-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/0861-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/0863-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0862-Do-crystal-portal-proximity-check-before-entity-look.patch
index 0ba2ce3d55..0ba2ce3d55 100644
--- a/patches/server/0863-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/0862-Do-crystal-portal-proximity-check-before-entity-look.patch
diff --git a/patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0863-Skip-POI-finding-if-stuck-in-vehicle.patch
index ef5cb8a16f..ef5cb8a16f 100644
--- a/patches/server/0864-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/0863-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0864-Add-slot-sanity-checks-in-container-clicks.patch
index 5b15672a01..5b15672a01 100644
--- a/patches/server/0865-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/0864-Add-slot-sanity-checks-in-container-clicks.patch
diff --git a/patches/server/0866-Call-BlockRedstoneEvents-properly.patch b/patches/server/0865-Call-BlockRedstoneEvents-properly.patch
index d5fec3e60b..d5fec3e60b 100644
--- a/patches/server/0866-Call-BlockRedstoneEvents-properly.patch
+++ b/patches/server/0865-Call-BlockRedstoneEvents-properly.patch
diff --git a/patches/server/0867-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0866-Allow-proper-checking-of-empty-item-stacks.patch
index 85819379c1..85819379c1 100644
--- a/patches/server/0867-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/0866-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/server/0868-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0867-Fix-silent-equipment-change-for-mobs.patch
index ef965e7c29..ef965e7c29 100644
--- a/patches/server/0868-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/0867-Fix-silent-equipment-change-for-mobs.patch
diff --git a/patches/server/0869-Fix-spigot-s-Forced-Stats.patch b/patches/server/0868-Fix-spigot-s-Forced-Stats.patch
index 8e920d0d89..8e920d0d89 100644
--- a/patches/server/0869-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/0868-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0869-Add-missing-InventoryHolders-to-inventories.patch
index 6464e85d97..6464e85d97 100644
--- a/patches/server/0870-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/0869-Add-missing-InventoryHolders-to-inventories.patch
diff --git a/patches/server/0871-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0870-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index c55e56d157..c55e56d157 100644
--- a/patches/server/0871-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/0870-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
diff --git a/patches/server/0872-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0871-Add-missing-logs-for-log-ips-config-option.patch
index 2898d66615..2898d66615 100644
--- a/patches/server/0872-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/0871-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/0873-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0872-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index b6ec32df61..b6ec32df61 100644
--- a/patches/server/0873-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/0872-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/0874-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0873-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/0874-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/0873-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/0875-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0874-Fix-team-sidebar-objectives-not-being-cleared.patch
index cebe7aefc2..cebe7aefc2 100644
--- a/patches/server/0875-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/0874-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/0876-Fix-missing-map-initialize-event-call.patch b/patches/server/0875-Fix-missing-map-initialize-event-call.patch
index f9d9852b1b..f9d9852b1b 100644
--- a/patches/server/0876-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/0875-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/0877-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0876-Update-entity-data-when-attaching-firework-to-entity.patch
index f2c094976f..f2c094976f 100644
--- a/patches/server/0877-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/0876-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0877-Fix-UnsafeValues-loadAdvancement.patch
index 0da2e5aca2..0da2e5aca2 100644
--- a/patches/server/0878-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0877-Fix-UnsafeValues-loadAdvancement.patch
diff --git a/patches/server/0879-Add-player-idle-duration-API.patch b/patches/server/0878-Add-player-idle-duration-API.patch
index 7d46c27071..7d46c27071 100644
--- a/patches/server/0879-Add-player-idle-duration-API.patch
+++ b/patches/server/0878-Add-player-idle-duration-API.patch
diff --git a/patches/server/0880-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0879-Don-t-check-if-we-can-see-non-visible-entities.patch
index f93e6dba80..f93e6dba80 100644
--- a/patches/server/0880-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/0879-Don-t-check-if-we-can-see-non-visible-entities.patch
diff --git a/patches/server/0881-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0880-Fix-NPE-in-SculkBloomEvent-world-access.patch
index 3f44bad4f1..3f44bad4f1 100644
--- a/patches/server/0881-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/0880-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0881-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 8d4340bc13..8d4340bc13 100644
--- a/patches/server/0882-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0881-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
diff --git a/patches/server/0883-Optimize-VarInts.patch b/patches/server/0882-Optimize-VarInts.patch
index b96957d432..b96957d432 100644
--- a/patches/server/0883-Optimize-VarInts.patch
+++ b/patches/server/0882-Optimize-VarInts.patch
diff --git a/patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0883-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index bc760b1a56..bc760b1a56 100644
--- a/patches/server/0884-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0883-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0884-Add-predicate-for-blocks-when-raytracing.patch
index 52e7d29745..52e7d29745 100644
--- a/patches/server/0885-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0884-Add-predicate-for-blocks-when-raytracing.patch
diff --git a/patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0885-Broadcast-take-item-packets-with-collector-as-source.patch
index bbba71fa10..bbba71fa10 100644
--- a/patches/server/0886-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0885-Broadcast-take-item-packets-with-collector-as-source.patch
diff --git a/patches/server/0887-Expand-LingeringPotion-API.patch b/patches/server/0886-Expand-LingeringPotion-API.patch
index 3a58f0528a..3a58f0528a 100644
--- a/patches/server/0887-Expand-LingeringPotion-API.patch
+++ b/patches/server/0886-Expand-LingeringPotion-API.patch
diff --git a/patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0887-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index 50b3a3d9a2..50b3a3d9a2 100644
--- a/patches/server/0888-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0887-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
diff --git a/patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0888-Add-hand-to-fish-event-for-all-player-interactions.patch
index 49bef0d9a5..49bef0d9a5 100644
--- a/patches/server/0889-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/0888-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/server/0890-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0889-Fix-several-issues-with-EntityBreedEvent.patch
index 7d7a988fc0..7d7a988fc0 100644
--- a/patches/server/0890-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/0889-Fix-several-issues-with-EntityBreedEvent.patch
diff --git a/patches/server/0891-Add-UUID-attribute-modifier-API.patch b/patches/server/0890-Add-UUID-attribute-modifier-API.patch
index 4b5e695553..4b5e695553 100644
--- a/patches/server/0891-Add-UUID-attribute-modifier-API.patch
+++ b/patches/server/0890-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0891-Fix-missing-event-call-for-entity-teleport-API.patch
index 5eaf062157..5eaf062157 100644
--- a/patches/server/0892-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/0891-Fix-missing-event-call-for-entity-teleport-API.patch
diff --git a/patches/server/0893-Lazily-create-LootContext-for-criterions.patch b/patches/server/0892-Lazily-create-LootContext-for-criterions.patch
index d1033bf7e7..d1033bf7e7 100644
--- a/patches/server/0893-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/0892-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0893-Don-t-fire-sync-events-during-worldgen.patch
index a8e936d27c..875d04d629 100644
--- a/patches/server/0894-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0893-Don-t-fire-sync-events-during-worldgen.patch
@@ -19,7 +19,7 @@ where generation happened directly to a ServerLevel and the
entity still has the flag set.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 1197788c4e0cc8740e69cfcc36d731bf6bc9fcb1..97f1722ed5566dcb8c7e0ccdefea1f89574eb12e 100644
+index 2a56e7846b3def7d1e9a2d5e473a6806a1acec28..48566fa87db695517214e17b560c84d78f0130bf 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1195,6 +1195,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -31,7 +31,7 @@ index 1197788c4e0cc8740e69cfcc36d731bf6bc9fcb1..97f1722ed5566dcb8c7e0ccdefea1f89
if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 1c070437ef763b56791d61b8c36e623c3dc80649..ea4a31e08452a311798ace8554cfa16e41acf15c 100644
+index 098a526fdfe92e452f06b66189cd9cbd821198eb..b1145c1da1d2432f261804b335fe204d4b4247f6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -632,7 +632,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0895-Add-Structure-check-API.patch b/patches/server/0894-Add-Structure-check-API.patch
index cac7acf30a..cac7acf30a 100644
--- a/patches/server/0895-Add-Structure-check-API.patch
+++ b/patches/server/0894-Add-Structure-check-API.patch
diff --git a/patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0895-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index 7490845b11..7490845b11 100644
--- a/patches/server/0896-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/0895-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
diff --git a/patches/server/0897-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0896-Restore-vanilla-entity-drops-behavior.patch
index 2ba631968a..8b3b48ea0a 100644
--- a/patches/server/0897-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0896-Restore-vanilla-entity-drops-behavior.patch
@@ -9,7 +9,7 @@ on dropping the item instead of generalizing it for all dropped
items like CB does.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 4c49a7a5dc702e1ab2d1b12f41af7c9ce1368e06..d82a22d9ef5a7f649d424c01e88a12094ce0a41f 100644
+index 0df899728a65db072afd40054ecb86ba72fd5745..ebef3db3e42d3cb8c36ace390af0fc90a5405d26 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1232,20 +1232,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -37,7 +37,7 @@ index 4c49a7a5dc702e1ab2d1b12f41af7c9ce1368e06..d82a22d9ef5a7f649d424c01e88a1209
loot.addAll(this.drops);
this.drops.clear(); // SPIGOT-5188: make sure to clear
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ea4a31e08452a311798ace8554cfa16e41acf15c..c5724826fade3ade6fea3d4f6173b46fdeaf9679 100644
+index b1145c1da1d2432f261804b335fe204d4b4247f6..16e3554ae5e729f5e561a95156a27dcdbf97e141 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2704,19 +2704,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0898-Dont-resend-blocks-on-interactions.patch b/patches/server/0897-Dont-resend-blocks-on-interactions.patch
index 233b0fcc64..233b0fcc64 100644
--- a/patches/server/0898-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/0897-Dont-resend-blocks-on-interactions.patch
diff --git a/patches/server/0899-add-more-scoreboard-API.patch b/patches/server/0898-add-more-scoreboard-API.patch
index 3365b53a36..3365b53a36 100644
--- a/patches/server/0899-add-more-scoreboard-API.patch
+++ b/patches/server/0898-add-more-scoreboard-API.patch
diff --git a/patches/server/0900-Improve-Registry.patch b/patches/server/0899-Improve-Registry.patch
index 5546233da5..5546233da5 100644
--- a/patches/server/0900-Improve-Registry.patch
+++ b/patches/server/0899-Improve-Registry.patch
diff --git a/patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0900-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index 77af9e78a8..77af9e78a8 100644
--- a/patches/server/0901-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0900-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
diff --git a/patches/server/0902-Add-experience-points-API.patch b/patches/server/0901-Add-experience-points-API.patch
index 61c6907b76..61c6907b76 100644
--- a/patches/server/0902-Add-experience-points-API.patch
+++ b/patches/server/0901-Add-experience-points-API.patch
diff --git a/patches/server/0903-Add-drops-to-shear-events.patch b/patches/server/0902-Add-drops-to-shear-events.patch
index caeec5beb3..caeec5beb3 100644
--- a/patches/server/0903-Add-drops-to-shear-events.patch
+++ b/patches/server/0902-Add-drops-to-shear-events.patch
diff --git a/patches/server/0904-Add-PlayerShieldDisableEvent.patch b/patches/server/0903-Add-PlayerShieldDisableEvent.patch
index 57e60cbd4c..57e60cbd4c 100644
--- a/patches/server/0904-Add-PlayerShieldDisableEvent.patch
+++ b/patches/server/0903-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/server/0905-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0904-Validate-ResourceLocation-in-NBT-reading.patch
index 670efb3867..670efb3867 100644
--- a/patches/server/0905-Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/0904-Validate-ResourceLocation-in-NBT-reading.patch
diff --git a/patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0905-Properly-handle-experience-dropping-on-block-break.patch
index 6c91059eb0..6c91059eb0 100644
--- a/patches/server/0906-Properly-handle-experience-dropping-on-block-break.patch
+++ b/patches/server/0905-Properly-handle-experience-dropping-on-block-break.patch
diff --git a/patches/server/0907-Fixup-NamespacedKey-handling.patch b/patches/server/0906-Fixup-NamespacedKey-handling.patch
index 2de1c49d0b..2de1c49d0b 100644
--- a/patches/server/0907-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0906-Fixup-NamespacedKey-handling.patch
diff --git a/patches/server/0908-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0907-Expose-LootTable-of-DecoratedPot.patch
index afa86977a9..afa86977a9 100644
--- a/patches/server/0908-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/server/0907-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0908-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
index 2d8a23a3c4..2d8a23a3c4 100644
--- a/patches/server/0909-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
+++ b/patches/server/0908-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
diff --git a/patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0909-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
index fe27657709..fe27657709 100644
--- a/patches/server/0910-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
+++ b/patches/server/0909-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
diff --git a/patches/server/0911-Add-ShulkerDuplicateEvent.patch b/patches/server/0910-Add-ShulkerDuplicateEvent.patch
index bba3132bf6..bba3132bf6 100644
--- a/patches/server/0911-Add-ShulkerDuplicateEvent.patch
+++ b/patches/server/0910-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/server/0912-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0911-Add-api-for-spawn-egg-texture-colors.patch
index e75dc4c961..e75dc4c961 100644
--- a/patches/server/0912-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/0911-Add-api-for-spawn-egg-texture-colors.patch
diff --git a/patches/server/0913-Add-Lifecycle-Event-system.patch b/patches/server/0912-Add-Lifecycle-Event-system.patch
index c6d462c4f3..c6d462c4f3 100644
--- a/patches/server/0913-Add-Lifecycle-Event-system.patch
+++ b/patches/server/0912-Add-Lifecycle-Event-system.patch
diff --git a/patches/server/0914-ItemStack-Tooltip-API.patch b/patches/server/0913-ItemStack-Tooltip-API.patch
index 3f3d1ceb3a..3f3d1ceb3a 100644
--- a/patches/server/0914-ItemStack-Tooltip-API.patch
+++ b/patches/server/0913-ItemStack-Tooltip-API.patch
diff --git a/patches/server/0915-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/0914-Add-getChunkSnapshot-includeLightData-parameter.patch
index 750a593b62..750a593b62 100644
--- a/patches/server/0915-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/server/0914-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/server/0916-Add-FluidState-API.patch b/patches/server/0915-Add-FluidState-API.patch
index e1e2fe004f..e1e2fe004f 100644
--- a/patches/server/0916-Add-FluidState-API.patch
+++ b/patches/server/0915-Add-FluidState-API.patch
diff --git a/patches/server/0917-add-number-format-api.patch b/patches/server/0916-add-number-format-api.patch
index d412b5f929..d412b5f929 100644
--- a/patches/server/0917-add-number-format-api.patch
+++ b/patches/server/0916-add-number-format-api.patch
diff --git a/patches/server/0918-improve-BanList-types.patch b/patches/server/0917-improve-BanList-types.patch
index bb669a58a1..bb669a58a1 100644
--- a/patches/server/0918-improve-BanList-types.patch
+++ b/patches/server/0917-improve-BanList-types.patch
diff --git a/patches/server/0919-Expanded-Hopper-API.patch b/patches/server/0918-Expanded-Hopper-API.patch
index 2b59ac9974..2b59ac9974 100644
--- a/patches/server/0919-Expanded-Hopper-API.patch
+++ b/patches/server/0918-Expanded-Hopper-API.patch
diff --git a/patches/server/0920-Add-BlockBreakProgressUpdateEvent.patch b/patches/server/0919-Add-BlockBreakProgressUpdateEvent.patch
index f6e72fda26..396e5e799f 100644
--- a/patches/server/0920-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/server/0919-Add-BlockBreakProgressUpdateEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockBreakProgressUpdateEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 97f1722ed5566dcb8c7e0ccdefea1f89574eb12e..c78014bc2a8197d7f57cb652eb2ae4610073aa19 100644
+index 48566fa87db695517214e17b560c84d78f0130bf..2b934a8212b71d60303f3f24b3ce4a5074a9ebab 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1291,6 +1291,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0921-Deprecate-ItemStack-setType.patch b/patches/server/0920-Deprecate-ItemStack-setType.patch
index e58b22013f..e58b22013f 100644
--- a/patches/server/0921-Deprecate-ItemStack-setType.patch
+++ b/patches/server/0920-Deprecate-ItemStack-setType.patch
diff --git a/patches/server/0922-Add-CartographyItemEvent.patch b/patches/server/0921-Add-CartographyItemEvent.patch
index 6288c2ac9e..6288c2ac9e 100644
--- a/patches/server/0922-Add-CartographyItemEvent.patch
+++ b/patches/server/0921-Add-CartographyItemEvent.patch
diff --git a/patches/server/0923-More-Raid-API.patch b/patches/server/0922-More-Raid-API.patch
index dacd8f6bc9..dacd8f6bc9 100644
--- a/patches/server/0923-More-Raid-API.patch
+++ b/patches/server/0922-More-Raid-API.patch
diff --git a/patches/server/0924-Add-onboarding-message-for-initial-server-start.patch b/patches/server/0923-Add-onboarding-message-for-initial-server-start.patch
index 63a50b5690..63a50b5690 100644
--- a/patches/server/0924-Add-onboarding-message-for-initial-server-start.patch
+++ b/patches/server/0923-Add-onboarding-message-for-initial-server-start.patch
diff --git a/patches/server/0925-Configurable-max-block-fluid-ticks.patch b/patches/server/0924-Configurable-max-block-fluid-ticks.patch
index 018b1a92a1..4a935d8cb6 100644
--- a/patches/server/0925-Configurable-max-block-fluid-ticks.patch
+++ b/patches/server/0924-Configurable-max-block-fluid-ticks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable max block/fluid ticks
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c78014bc2a8197d7f57cb652eb2ae4610073aa19..fbe3836f54245378b46fe2679cd30e68d05fa749 100644
+index 2b934a8212b71d60303f3f24b3ce4a5074a9ebab..dce6f7e23219f655a1085cc0aa33c31aeb5ce139 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -495,9 +495,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0926-Fix-bees-aging-inside-hives.patch b/patches/server/0925-Fix-bees-aging-inside-hives.patch
index 6d5756bd43..6d5756bd43 100644
--- a/patches/server/0926-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0925-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0927-Disable-memory-reserve-allocating.patch b/patches/server/0926-Disable-memory-reserve-allocating.patch
index ea801f5092..ea801f5092 100644
--- a/patches/server/0927-Disable-memory-reserve-allocating.patch
+++ b/patches/server/0926-Disable-memory-reserve-allocating.patch
diff --git a/patches/server/0928-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0927-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
index 3cf04503d8..3cf04503d8 100644
--- a/patches/server/0928-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
+++ b/patches/server/0927-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
diff --git a/patches/server/0929-Fix-DamageSource-API.patch b/patches/server/0928-Fix-DamageSource-API.patch
index 7cffc77010..ffb2fb917d 100644
--- a/patches/server/0929-Fix-DamageSource-API.patch
+++ b/patches/server/0928-Fix-DamageSource-API.patch
@@ -84,7 +84,7 @@ index fddbdb7322a2063996a28c5c3d93c265188b1256..be87cb3cfa15a7d889118cdc4b87232e
public DamageSource sonicBoom(Entity attacker) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c5724826fade3ade6fea3d4f6173b46fdeaf9679..cd0c72dbf026630eae7d479f532c5de7b0606988 100644
+index 16e3554ae5e729f5e561a95156a27dcdbf97e141..2f3c02b2bd44a97773dc410483d6bf761fe5fe80 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3419,7 +3419,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0930-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0929-Fix-creation-of-invalid-block-entity-during-world-ge.patch
index ce119a2b69..ce119a2b69 100644
--- a/patches/server/0930-Fix-creation-of-invalid-block-entity-during-world-ge.patch
+++ b/patches/server/0929-Fix-creation-of-invalid-block-entity-during-world-ge.patch
diff --git a/patches/server/0931-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch b/patches/server/0930-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
index 52c8009585..52c8009585 100644
--- a/patches/server/0931-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
+++ b/patches/server/0930-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
diff --git a/patches/server/0932-Improve-tag-parser-handling.patch b/patches/server/0931-Improve-tag-parser-handling.patch
index 6902b54527..f02da534c5 100644
--- a/patches/server/0932-Improve-tag-parser-handling.patch
+++ b/patches/server/0931-Improve-tag-parser-handling.patch
@@ -252,7 +252,7 @@ index 898b19887ed34c87003fc63cb5905df2ba6234a5..b47eeb23055b135d5567552ba983bfbc
private void write(FriendlyByteBuf buf) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e9478fed28995a3ce5527e80232203eed503104c..a13c199446423dbc807f916157bb7cac33229389 100644
+index 367df4b4bc9506469c68fcab2ef196d88abf7f97..4186bcf9f0ee21fba1c643b7da5b596f87f2dc92 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -776,6 +776,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0933-Item-Mutation-Fixes.patch b/patches/server/0932-Item-Mutation-Fixes.patch
index ad85291f0b..ad85291f0b 100644
--- a/patches/server/0933-Item-Mutation-Fixes.patch
+++ b/patches/server/0932-Item-Mutation-Fixes.patch
diff --git a/patches/server/0934-Per-world-ticks-per-spawn-settings.patch b/patches/server/0933-Per-world-ticks-per-spawn-settings.patch
index 1f8b8b243b..1f8b8b243b 100644
--- a/patches/server/0934-Per-world-ticks-per-spawn-settings.patch
+++ b/patches/server/0933-Per-world-ticks-per-spawn-settings.patch
diff --git a/patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0934-Properly-track-the-changed-item-from-dispense-events.patch
index 8e7c716f12..8e7c716f12 100644
--- a/patches/server/0935-Properly-track-the-changed-item-from-dispense-events.patch
+++ b/patches/server/0934-Properly-track-the-changed-item-from-dispense-events.patch
diff --git a/patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0935-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
index 8533ebb3e0..8533ebb3e0 100644
--- a/patches/server/0936-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
+++ b/patches/server/0935-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
diff --git a/patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0936-Add-config-for-mobs-immune-to-default-effects.patch
index 0cea399af3..0cea399af3 100644
--- a/patches/server/0937-Add-config-for-mobs-immune-to-default-effects.patch
+++ b/patches/server/0936-Add-config-for-mobs-immune-to-default-effects.patch
diff --git a/patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0937-Deep-clone-nbt-tags-in-PDC.patch
index 2d822d6907..2d822d6907 100644
--- a/patches/server/0938-Deep-clone-nbt-tags-in-PDC.patch
+++ b/patches/server/0937-Deep-clone-nbt-tags-in-PDC.patch
diff --git a/patches/server/0939-Support-old-UUID-format-for-NBT.patch b/patches/server/0938-Support-old-UUID-format-for-NBT.patch
index 68ff8a5255..68ff8a5255 100644
--- a/patches/server/0939-Support-old-UUID-format-for-NBT.patch
+++ b/patches/server/0938-Support-old-UUID-format-for-NBT.patch
diff --git a/patches/server/0940-Fix-shield-disable-inconsistency.patch b/patches/server/0939-Fix-shield-disable-inconsistency.patch
index be86c1bbee..be86c1bbee 100644
--- a/patches/server/0940-Fix-shield-disable-inconsistency.patch
+++ b/patches/server/0939-Fix-shield-disable-inconsistency.patch
diff --git a/patches/server/0941-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0940-Handle-Large-Packets-disconnecting-client.patch
index bb12ac74e3..bb12ac74e3 100644
--- a/patches/server/0941-Handle-Large-Packets-disconnecting-client.patch
+++ b/patches/server/0940-Handle-Large-Packets-disconnecting-client.patch
diff --git a/patches/server/0942-Fix-ItemFlags.patch b/patches/server/0941-Fix-ItemFlags.patch
index abcf47b19c..abcf47b19c 100644
--- a/patches/server/0942-Fix-ItemFlags.patch
+++ b/patches/server/0941-Fix-ItemFlags.patch
diff --git a/patches/server/0943-Fix-damage-modifier-inconsistencies.patch b/patches/server/0942-Fix-damage-modifier-inconsistencies.patch
index 57f6c98116..57f6c98116 100644
--- a/patches/server/0943-Fix-damage-modifier-inconsistencies.patch
+++ b/patches/server/0942-Fix-damage-modifier-inconsistencies.patch
diff --git a/patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0943-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
index 7944a47a7b..7944a47a7b 100644
--- a/patches/server/0944-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
+++ b/patches/server/0943-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
diff --git a/patches/server/0945-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0944-improve-checking-handled-tags-in-itemmeta.patch
index 9ca8bac6e1..9ca8bac6e1 100644
--- a/patches/server/0945-improve-checking-handled-tags-in-itemmeta.patch
+++ b/patches/server/0944-improve-checking-handled-tags-in-itemmeta.patch
diff --git a/patches/server/0946-Expose-hasColor-to-leather-armor.patch b/patches/server/0945-Expose-hasColor-to-leather-armor.patch
index 9166ad6261..9166ad6261 100644
--- a/patches/server/0946-Expose-hasColor-to-leather-armor.patch
+++ b/patches/server/0945-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0946-Added-API-to-get-player-ha-proxy-address.patch
index f3ff104890..f3ff104890 100644
--- a/patches/server/0947-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/server/0946-Added-API-to-get-player-ha-proxy-address.patch
diff --git a/patches/server/0948-General-ItemMeta-fixes.patch b/patches/server/0947-General-ItemMeta-fixes.patch
index 4986b0d71d..4986b0d71d 100644
--- a/patches/server/0948-General-ItemMeta-fixes.patch
+++ b/patches/server/0947-General-ItemMeta-fixes.patch
diff --git a/patches/server/0949-More-Chest-Block-API.patch b/patches/server/0948-More-Chest-Block-API.patch
index 5f4d4bb730..5f4d4bb730 100644
--- a/patches/server/0949-More-Chest-Block-API.patch
+++ b/patches/server/0948-More-Chest-Block-API.patch
diff --git a/patches/server/0950-Print-data-component-type-on-encoding-error.patch b/patches/server/0949-Print-data-component-type-on-encoding-error.patch
index f003f33b92..f003f33b92 100644
--- a/patches/server/0950-Print-data-component-type-on-encoding-error.patch
+++ b/patches/server/0949-Print-data-component-type-on-encoding-error.patch
diff --git a/patches/server/0951-Brigadier-based-command-API.patch b/patches/server/0950-Brigadier-based-command-API.patch
index c50f9ac281..c50f9ac281 100644
--- a/patches/server/0951-Brigadier-based-command-API.patch
+++ b/patches/server/0950-Brigadier-based-command-API.patch
diff --git a/patches/server/0952-Fix-issues-with-Recipe-API.patch b/patches/server/0951-Fix-issues-with-Recipe-API.patch
index 76f46113e4..76f46113e4 100644
--- a/patches/server/0952-Fix-issues-with-Recipe-API.patch
+++ b/patches/server/0951-Fix-issues-with-Recipe-API.patch
diff --git a/patches/server/0953-Fix-equipment-slot-and-group-API.patch b/patches/server/0952-Fix-equipment-slot-and-group-API.patch
index c01f208839..c01f208839 100644
--- a/patches/server/0953-Fix-equipment-slot-and-group-API.patch
+++ b/patches/server/0952-Fix-equipment-slot-and-group-API.patch
diff --git a/patches/server/0954-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0953-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
index 8b39d13b43..8b39d13b43 100644
--- a/patches/server/0954-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
+++ b/patches/server/0953-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
diff --git a/patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0954-Prevent-sending-oversized-item-data-in-equipment-and.patch
index cdd00c9d1c..cdd00c9d1c 100644
--- a/patches/server/0955-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0954-Prevent-sending-oversized-item-data-in-equipment-and.patch
diff --git a/patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0955-Prevent-NPE-if-hooked-entity-was-cleared.patch
index 46c3f04628..46c3f04628 100644
--- a/patches/server/0956-Prevent-NPE-if-hooked-entity-was-cleared.patch
+++ b/patches/server/0955-Prevent-NPE-if-hooked-entity-was-cleared.patch
diff --git a/patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0956-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
index 43e4372099..43e4372099 100644
--- a/patches/server/0957-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
+++ b/patches/server/0956-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
diff --git a/patches/server/0958-Add-missing-fishing-event-state.patch b/patches/server/0957-Add-missing-fishing-event-state.patch
index 02db45e2f8..02db45e2f8 100644
--- a/patches/server/0958-Add-missing-fishing-event-state.patch
+++ b/patches/server/0957-Add-missing-fishing-event-state.patch
diff --git a/patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0958-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index a64cff1780..a64cff1780 100644
--- a/patches/server/0959-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/server/0958-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
diff --git a/patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0959-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
index ad15cb7b28..ad15cb7b28 100644
--- a/patches/server/0960-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
+++ b/patches/server/0959-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
diff --git a/patches/server/0961-Adopt-MaterialRerouting.patch b/patches/server/0960-Adopt-MaterialRerouting.patch
index e66973fb9d..e66973fb9d 100644
--- a/patches/server/0961-Adopt-MaterialRerouting.patch
+++ b/patches/server/0960-Adopt-MaterialRerouting.patch
diff --git a/patches/server/0962-Suspicious-Effect-Entry-API.patch b/patches/server/0961-Suspicious-Effect-Entry-API.patch
index d2599dfa85..d2599dfa85 100644
--- a/patches/server/0962-Suspicious-Effect-Entry-API.patch
+++ b/patches/server/0961-Suspicious-Effect-Entry-API.patch
diff --git a/patches/server/0963-check-if-itemstack-is-stackable-first.patch b/patches/server/0962-check-if-itemstack-is-stackable-first.patch
index 4dbe6283a7..4dbe6283a7 100644
--- a/patches/server/0963-check-if-itemstack-is-stackable-first.patch
+++ b/patches/server/0962-check-if-itemstack-is-stackable-first.patch
diff --git a/patches/server/0964-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0963-Fix-removing-recipes-from-RecipeIterator.patch
index f64e093768..f64e093768 100644
--- a/patches/server/0964-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0963-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0964-Configurable-damage-tick-when-blocking-with-shield.patch
index 15084ae211..15084ae211 100644
--- a/patches/server/0965-Configurable-damage-tick-when-blocking-with-shield.patch
+++ b/patches/server/0964-Configurable-damage-tick-when-blocking-with-shield.patch
diff --git a/patches/server/0966-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0965-Properly-remove-the-experimental-smithing-inventory-.patch
index aa554450a4..aa554450a4 100644
--- a/patches/server/0966-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/server/0965-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/server/0967-disable-forced-empty-world-ticks.patch b/patches/server/0966-disable-forced-empty-world-ticks.patch
index c67fc320fd..e91abe7c46 100644
--- a/patches/server/0967-disable-forced-empty-world-ticks.patch
+++ b/patches/server/0966-disable-forced-empty-world-ticks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] disable forced empty world ticks
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index fbe3836f54245378b46fe2679cd30e68d05fa749..1a823b403fef4cbd12ed737036894220a9435ebf 100644
+index dce6f7e23219f655a1085cc0aa33c31aeb5ce139..1977815fce8acc10c8f2d1f168e6342c9faff5c0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -515,7 +515,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0986-Configurable-Sand-Duping.patch b/patches/server/0967-Configurable-Sand-Duping.patch
index a6f10ad4f7..a6f10ad4f7 100644
--- a/patches/server/0986-Configurable-Sand-Duping.patch
+++ b/patches/server/0967-Configurable-Sand-Duping.patch
diff --git a/patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/0968-Proxy-ItemStack-to-CraftItemStack.patch
index 0319169c3a..0319169c3a 100644
--- a/patches/server/0990-Proxy-ItemStack-to-CraftItemStack.patch
+++ b/patches/server/0968-Proxy-ItemStack-to-CraftItemStack.patch
diff --git a/patches/server/0991-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/server/0969-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
index f0bd1ac5eb..f0bd1ac5eb 100644
--- a/patches/server/0991-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
+++ b/patches/server/0969-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
diff --git a/patches/server/0992-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/server/0970-Prioritize-Minecraft-commands-in-function-parsing-an.patch
index a31a29a23b..36fec903f6 100644
--- a/patches/server/0992-Prioritize-Minecraft-commands-in-function-parsing-an.patch
+++ b/patches/server/0970-Prioritize-Minecraft-commands-in-function-parsing-an.patch
@@ -118,7 +118,7 @@ index 85a890403645f0f9d381e85b48efcae126673945..bcc27fec043a57eb5064934c967982de
@Override
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
-index 2daf16ae4a30fe03bc1a1bbc3eb95b3b7bcd83fa..64bf4444ffba25cb40743a32267aa790ad1738f9 100644
+index 62704cbfe3a232809b3e62d1f1d8beb3bea6496e..56d6bbd37556f11a603aa3c8647217cc9a2dc5da 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -315,10 +315,7 @@ public class Commands {
diff --git a/patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch b/patches/server/0971-Fix-NPE-for-Jukebox-setRecord.patch
index 511e06324c..511e06324c 100644
--- a/patches/server/0994-Fix-NPE-for-Jukebox-setRecord.patch
+++ b/patches/server/0971-Fix-NPE-for-Jukebox-setRecord.patch
diff --git a/patches/server/0995-fix-horse-inventories.patch b/patches/server/0972-fix-horse-inventories.patch
index 9737a4fa71..9737a4fa71 100644
--- a/patches/server/0995-fix-horse-inventories.patch
+++ b/patches/server/0972-fix-horse-inventories.patch
diff --git a/patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/0973-Only-call-EntityDamageEvents-before-actuallyHurt.patch
index e031f18dd9..fd653b5505 100644
--- a/patches/server/0996-Only-call-EntityDamageEvents-before-actuallyHurt.patch
+++ b/patches/server/0973-Only-call-EntityDamageEvents-before-actuallyHurt.patch
@@ -12,7 +12,7 @@ This patch moves the invocation directly before the #actuallyHurt calls,
respective invulnerable timings.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 902b756a05bee72573102111ddd6f7b225277171..71691b3fbb8d48acb1b4e7268d46b0d094aea056 100644
+index 4eed8d90a8879e731ac9d7ae80d9b650fdcf4408..d80b6bf55f08bbe93be45d48a0a35b542a719f85 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1489,12 +1489,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -52,7 +52,7 @@ index 902b756a05bee72573102111ddd6f7b225277171..71691b3fbb8d48acb1b4e7268d46b0d0
// CraftBukkit start
if (!this.actuallyHurt(world, source, (float) event.getFinalDamage(), event)) {
return false;
-@@ -1664,6 +1668,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1656,6 +1660,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
diff --git a/patches/server/0997-Add-ItemType-getItemRarity.patch b/patches/server/0974-Add-ItemType-getItemRarity.patch
index 0863f02f5c..0863f02f5c 100644
--- a/patches/server/0997-Add-ItemType-getItemRarity.patch
+++ b/patches/server/0974-Add-ItemType-getItemRarity.patch
diff --git a/patches/server/0998-Add-plugin-info-at-startup.patch b/patches/server/0975-Add-plugin-info-at-startup.patch
index 051309bbed..051309bbed 100644
--- a/patches/server/0998-Add-plugin-info-at-startup.patch
+++ b/patches/server/0975-Add-plugin-info-at-startup.patch
diff --git a/patches/server/0999-Make-interaction-leniency-distance-configurable.patch b/patches/server/0976-Make-interaction-leniency-distance-configurable.patch
index cf93c9f33f..69a9a42c95 100644
--- a/patches/server/0999-Make-interaction-leniency-distance-configurable.patch
+++ b/patches/server/0976-Make-interaction-leniency-distance-configurable.patch
@@ -12,10 +12,10 @@ This value however may be too low in high latency environments.
The patch exposes a new configuration option to configure said value.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 719e9e4df3b833c4ac0418f7db913c45a1020b44..7d1f62e5ff87c946e03211af8e93e68f44945d41 100644
+index 401f4a071847cb987dbff3ae0e989d3a04fd9a7d..bb91b3c167d83548c4684d54851840dea183a937 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2789,7 +2789,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2788,7 +2788,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = entity.getBoundingBox();
diff --git a/patches/server/1000-Fix-PickupStatus-getting-reset.patch b/patches/server/0977-Fix-PickupStatus-getting-reset.patch
index 3e43a8b904..0b7125c54b 100644
--- a/patches/server/1000-Fix-PickupStatus-getting-reset.patch
+++ b/patches/server/0977-Fix-PickupStatus-getting-reset.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix PickupStatus getting reset
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index 9c781ad45fd0295cc8ffe5ba901dc7a59ece06f2..c4a8054666b1b28812a72c42755db8f1fb9348a0 100644
+index 6edb5a76a503242a6528875184ccd62d6499205f..f4513b1887f823b088dabe425be042b8fb2bde66 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -729,7 +729,14 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/server/0978-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
index 6232a450ee..6232a450ee 100644
--- a/patches/server/1001-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
+++ b/patches/server/0978-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
diff --git a/patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/0979-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index f1ae0ae4f5..f1ae0ae4f5 100644
--- a/patches/server/1002-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/server/0979-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
diff --git a/patches/server/1003-Configuration-for-horizontal-only-item-merging.patch b/patches/server/0980-Configuration-for-horizontal-only-item-merging.patch
index 4b1c29914b..4b1c29914b 100644
--- a/patches/server/1003-Configuration-for-horizontal-only-item-merging.patch
+++ b/patches/server/0980-Configuration-for-horizontal-only-item-merging.patch
diff --git a/patches/server/1004-Add-skipping-world-symlink-scan.patch b/patches/server/0981-Add-skipping-world-symlink-scan.patch
index f3221508c6..f3221508c6 100644
--- a/patches/server/1004-Add-skipping-world-symlink-scan.patch
+++ b/patches/server/0981-Add-skipping-world-symlink-scan.patch
diff --git a/patches/server/1005-Add-even-more-Enchantment-API.patch b/patches/server/0982-Add-even-more-Enchantment-API.patch
index dfc79b5b19..dfc79b5b19 100644
--- a/patches/server/1005-Add-even-more-Enchantment-API.patch
+++ b/patches/server/0982-Add-even-more-Enchantment-API.patch
diff --git a/patches/server/1006-Leashable-API.patch b/patches/server/0983-Leashable-API.patch
index f616274a77..f616274a77 100644
--- a/patches/server/1006-Leashable-API.patch
+++ b/patches/server/0983-Leashable-API.patch
diff --git a/patches/server/1007-Fix-CraftBukkit-drag-system.patch b/patches/server/0984-Fix-CraftBukkit-drag-system.patch
index c18df6ff73..b906987532 100644
--- a/patches/server/1007-Fix-CraftBukkit-drag-system.patch
+++ b/patches/server/0984-Fix-CraftBukkit-drag-system.patch
@@ -10,10 +10,10 @@ public net.minecraft.world.inventory.AbstractContainerMenu quickcraftType
public net.minecraft.world.inventory.AbstractContainerMenu resetQuickCraft()V
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 7d1f62e5ff87c946e03211af8e93e68f44945d41..1d55650b44ebd9f8f1b968db6ec9a239072b1fa5 100644
+index bb91b3c167d83548c4684d54851840dea183a937..999342b938af72cdf6023a4e399461ba18a90522 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3148,6 +3148,25 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3147,6 +3147,25 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
break;
case QUICK_CRAFT:
diff --git a/patches/server/1008-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch b/patches/server/0985-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
index c2857c2245..c2857c2245 100644
--- a/patches/server/1008-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
+++ b/patches/server/0985-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
diff --git a/patches/server/1009-Remove-set-damage-lootable-item-function-from-compas.patch b/patches/server/0986-Remove-set-damage-lootable-item-function-from-compas.patch
index 562103f268..562103f268 100644
--- a/patches/server/1009-Remove-set-damage-lootable-item-function-from-compas.patch
+++ b/patches/server/0986-Remove-set-damage-lootable-item-function-from-compas.patch
diff --git a/patches/server/1010-Add-enchantment-seed-update-API.patch b/patches/server/0987-Add-enchantment-seed-update-API.patch
index b00d119b56..b00d119b56 100644
--- a/patches/server/1010-Add-enchantment-seed-update-API.patch
+++ b/patches/server/0987-Add-enchantment-seed-update-API.patch
diff --git a/patches/server/1011-Fix-synchronise-sending-chat-to-client-with-updating.patch b/patches/server/0988-Fix-synchronise-sending-chat-to-client-with-updating.patch
index ae48559d44..c9e5b7811a 100644
--- a/patches/server/1011-Fix-synchronise-sending-chat-to-client-with-updating.patch
+++ b/patches/server/0988-Fix-synchronise-sending-chat-to-client-with-updating.patch
@@ -9,10 +9,10 @@ In the case where multiple messages from different players are being processed i
This also applies to the last seen state of the server, which becomes inconsistent in the same way as the message signature cache and would cause any messages sent to be rejected by the server too.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1d55650b44ebd9f8f1b968db6ec9a239072b1fa5..db5398cf02034075a857b8606b247cbc667542c0 100644
+index 999342b938af72cdf6023a4e399461ba18a90522..accf3e43f58fe3588578cb15f53695d825e58670 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2729,8 +2729,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2728,8 +2728,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return;
}
// CraftBukkit end
diff --git a/patches/server/1012-Fix-InventoryOpenEvent-cancellation.patch b/patches/server/0989-Fix-InventoryOpenEvent-cancellation.patch
index 2f3f918bd2..b548d7d08a 100644
--- a/patches/server/1012-Fix-InventoryOpenEvent-cancellation.patch
+++ b/patches/server/0989-Fix-InventoryOpenEvent-cancellation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix InventoryOpenEvent cancellation
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 3a5debc21b6f70e961dcca9048193e94df54b6cc..85394cd2c69cad0ce59160734037a03d6d1ab330 100644
+index ebef3db3e42d3cb8c36ace390af0fc90a5405d26..8c0dcce3c43775185bc23df3a52a2f8ba1a72544 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1925,6 +1925,10 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -20,10 +20,10 @@ index 3a5debc21b6f70e961dcca9048193e94df54b6cc..85394cd2c69cad0ce59160734037a03d
return OptionalInt.empty();
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index 5d189ba60d40f5c42b2dacc339594ed067418e95..504c996220b278c194c93e001a3b326d549868ec 100644
+index c4bc1819cba3287c4a67ae5d00f8c4d6ab899732..0d168d15d9adeb90a183d4a847931cbf2281a5c7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-@@ -572,8 +572,7 @@ public class ServerPlayerGameMode {
+@@ -569,8 +569,7 @@ public class ServerPlayerGameMode {
} else if (this.gameModeForPlayer == GameType.SPECTATOR) {
MenuProvider itileinventory = iblockdata.getMenuProvider(world, blockposition);
diff --git a/patches/server/1013-Fire-BlockExpEvent-on-grindstone-use.patch b/patches/server/0990-Fire-BlockExpEvent-on-grindstone-use.patch
index e5944fabfe..e5944fabfe 100644
--- a/patches/server/1013-Fire-BlockExpEvent-on-grindstone-use.patch
+++ b/patches/server/0990-Fire-BlockExpEvent-on-grindstone-use.patch
diff --git a/patches/server/1014-Check-dead-flag-in-isAlive.patch b/patches/server/0991-Check-dead-flag-in-isAlive.patch
index 99cf6fce62..bbd47a436e 100644
--- a/patches/server/1014-Check-dead-flag-in-isAlive.patch
+++ b/patches/server/0991-Check-dead-flag-in-isAlive.patch
@@ -15,10 +15,10 @@ Also, even if the plugin is responsibly checking !isDead() before modifying heal
I am currently unable to replicate, these "revived" entities can still appear
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 71691b3fbb8d48acb1b4e7268d46b0d094aea056..75afe539b1dcb8cdccc0cad3c2b8974872e21a63 100644
+index d80b6bf55f08bbe93be45d48a0a35b542a719f85..28e411016b4e95c0adf884fa2944cd0de87e168e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2160,7 +2160,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2152,7 +2152,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public boolean isAlive() {
diff --git a/patches/server/1015-Add-FeatureFlag-API.patch b/patches/server/0992-Add-FeatureFlag-API.patch
index 3bb81a304c..5a2e33108f 100644
--- a/patches/server/1015-Add-FeatureFlag-API.patch
+++ b/patches/server/0992-Add-FeatureFlag-API.patch
@@ -161,10 +161,10 @@ index f0bd7d01f56bb792886354ca4f199e46c2cf7503..adc6741e0e017660fbd39a62b69be1e6
+ // Paper end - feature flag API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index cbbbea3f31416e6c11125400d37fe21252830d67..afbe7fd926d20d6aef0807663c34838a7f63cd2b 100644
+index dc03536264a7e529957736ab040fe4966280b87e..d6888eff1df78f8cac1c6366b0d92fe0c89e660e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2364,10 +2364,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2359,10 +2359,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.persistentDataContainer;
}
diff --git a/patches/server/1017-Item-serialization-as-json.patch b/patches/server/0993-Item-serialization-as-json.patch
index df8590e623..c2c79640bd 100644
--- a/patches/server/1017-Item-serialization-as-json.patch
+++ b/patches/server/0993-Item-serialization-as-json.patch
@@ -28,10 +28,10 @@ index 17b6bd630e9767c5e9fa5ceff228fb81f124be8c..0a905a59d97ed833cb4f1903006d6f34
public static final Codec<CustomData> CODEC_WITH_ID = CODEC.validate(
component -> component.getUnsafe().contains("id", 8) ? DataResult.success(component) : DataResult.error(() -> "Missing id for entity in: " + component)
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 869b0977a463d46ff7983f8d15c3c679027e7135..ffbb1763f245a97da58a7d9eae627e61ce200da4 100644
+index 869b0977a463d46ff7983f8d15c3c679027e7135..0e8f4710c0ce05e8cd42cbbc9fedc05bf8585a19 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -527,6 +527,39 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -527,6 +527,36 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow());
}
@@ -60,10 +60,7 @@ index 869b0977a463d46ff7983f8d15c3c679027e7135..ffbb1763f245a97da58a7d9eae627e61
+
+ final int dataVersion = data.get("DataVersion").getAsInt();
+ final int currentVersion = org.bukkit.craftbukkit.util.CraftMagicNumbers.INSTANCE.getDataVersion();
-+ data = ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertJson(
-+ ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK,
-+ data, false, dataVersion, currentVersion
-+ );
++ data = (com.google.gson.JsonObject) MinecraftServer.getServer().fixerUpper.update(References.ITEM_STACK, new Dynamic<>(com.mojang.serialization.JsonOps.INSTANCE, data), dataVersion, currentVersion).getValue();
+ com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> ops = MinecraftServer.getServer().registryAccess().createSerializationContext(com.mojang.serialization.JsonOps.INSTANCE);
+ return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.CODEC.parse(ops, data).getOrThrow(IllegalArgumentException::new));
+ }
diff --git a/patches/server/1018-Validate-slot-in-PlayerInventory-setSlot.patch b/patches/server/0994-Validate-slot-in-PlayerInventory-setSlot.patch
index 3c402b2284..3c402b2284 100644
--- a/patches/server/1018-Validate-slot-in-PlayerInventory-setSlot.patch
+++ b/patches/server/0994-Validate-slot-in-PlayerInventory-setSlot.patch
diff --git a/patches/server/1019-Remove-wall-time-unused-skip-tick-protection.patch b/patches/server/0995-Remove-wall-time-unused-skip-tick-protection.patch
index c25e6680dc..c25e6680dc 100644
--- a/patches/server/1019-Remove-wall-time-unused-skip-tick-protection.patch
+++ b/patches/server/0995-Remove-wall-time-unused-skip-tick-protection.patch
diff --git a/patches/server/1020-Disable-pretty-printing-for-advancement-saving.patch b/patches/server/0996-Disable-pretty-printing-for-advancement-saving.patch
index c6ad9249f5..c6ad9249f5 100644
--- a/patches/server/1020-Disable-pretty-printing-for-advancement-saving.patch
+++ b/patches/server/0996-Disable-pretty-printing-for-advancement-saving.patch
diff --git a/patches/server/1021-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch b/patches/server/0997-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
index 798f905585..981a755659 100644
--- a/patches/server/1021-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
+++ b/patches/server/0997-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerCommandPreprocessEvent on signed commands
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index db5398cf02034075a857b8606b247cbc667542c0..dffaf05fe84809e1597451244e729a9d1a85d8e2 100644
+index accf3e43f58fe3588578cb15f53695d825e58670..dd8635efd225cef74924db01a84d41cb80e262b9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -2256,24 +2256,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2255,24 +2255,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PlayerCommandPreprocessEvent event = new PlayerCommandPreprocessEvent(this.getCraftPlayer(), command, new LazyPlayerSet(this.server));
this.cserver.getPluginManager().callEvent(event);
diff --git a/patches/server/1022-Add-enchantWithLevels-with-enchantment-registry-set.patch b/patches/server/0998-Add-enchantWithLevels-with-enchantment-registry-set.patch
index e5bee685df..e5bee685df 100644
--- a/patches/server/1022-Add-enchantWithLevels-with-enchantment-registry-set.patch
+++ b/patches/server/0998-Add-enchantWithLevels-with-enchantment-registry-set.patch
diff --git a/patches/server/1023-Improve-entity-effect-API.patch b/patches/server/0999-Improve-entity-effect-API.patch
index 47cfcf093b..44c3ec968e 100644
--- a/patches/server/1023-Improve-entity-effect-API.patch
+++ b/patches/server/0999-Improve-entity-effect-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Improve entity effect API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 628dd0d2ba78a36a2d64e4ece9bc395d38f833ca..b25b10c24a379097233e61bcc10add841b6a7115 100644
+index 2298b3203ce6bf8aca9f819fe27ab5ef6594dbed..7142319f6779078e65369bc406d898473abee85e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-@@ -1295,4 +1295,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
+@@ -1291,4 +1291,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return this.getHandle().getScoreboardName();
}
// Paper end - entity scoreboard name
diff --git a/patches/server/1024-Add-recipeBrewTime.patch b/patches/server/1000-Add-recipeBrewTime.patch
index 201d9008bf..201d9008bf 100644
--- a/patches/server/1024-Add-recipeBrewTime.patch
+++ b/patches/server/1000-Add-recipeBrewTime.patch
diff --git a/patches/server/1025-Call-bucket-events-for-cauldrons.patch b/patches/server/1001-Call-bucket-events-for-cauldrons.patch
index ab192b82a4..ab192b82a4 100644
--- a/patches/server/1025-Call-bucket-events-for-cauldrons.patch
+++ b/patches/server/1001-Call-bucket-events-for-cauldrons.patch
diff --git a/patches/server/1026-Add-PlayerInsertLecternBookEvent.patch b/patches/server/1002-Add-PlayerInsertLecternBookEvent.patch
index 44910a07b7..44910a07b7 100644
--- a/patches/server/1026-Add-PlayerInsertLecternBookEvent.patch
+++ b/patches/server/1002-Add-PlayerInsertLecternBookEvent.patch
diff --git a/patches/server/1027-Void-damage-configuration-API.patch b/patches/server/1003-Void-damage-configuration-API.patch
index d25f3c11b4..c800c17a0e 100644
--- a/patches/server/1027-Void-damage-configuration-API.patch
+++ b/patches/server/1003-Void-damage-configuration-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Void damage configuration API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 89e898e14c0a6388bbd76a2f74828cf6cd46e7a9..4304beeca3c0cd7ef224f9ed74ec49066f1e22a0 100644
+index 2f3c02b2bd44a97773dc410483d6bf761fe5fe80..6acba522ea92cabcb9f89414e3edce513003771b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -858,8 +858,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -823,8 +823,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void checkBelowWorld() {
@@ -20,10 +20,10 @@ index 89e898e14c0a6388bbd76a2f74828cf6cd46e7a9..4304beeca3c0cd7ef224f9ed74ec4906
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 75afe539b1dcb8cdccc0cad3c2b8974872e21a63..4277d59f466e800e93770cecb45ab9c76c16aab8 100644
+index 28e411016b4e95c0adf884fa2944cd0de87e168e..3491f96439e7f5eac98bdfcb2edac49b33408cfc 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2712,7 +2712,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2704,7 +2704,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
protected void onBelowWorld() {
@@ -33,7 +33,7 @@ index 75afe539b1dcb8cdccc0cad3c2b8974872e21a63..4277d59f466e800e93770cecb45ab9c7
protected void updateSwingTime() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index afbe7fd926d20d6aef0807663c34838a7f63cd2b..4ecd7a33adf950f192bd14028d8dafdf285a2eb6 100644
+index d6888eff1df78f8cac1c6366b0d92fe0c89e660e..536058b4cf5d97a602ac6860e285dbcc4814ff25 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -168,6 +168,41 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/1028-Add-Offline-PDC-API.patch b/patches/server/1004-Add-Offline-PDC-API.patch
index f1513955cb..f1513955cb 100644
--- a/patches/server/1028-Add-Offline-PDC-API.patch
+++ b/patches/server/1004-Add-Offline-PDC-API.patch
diff --git a/patches/server/1029-Add-AnvilView-bypassEnchantmentLevelRestriction.patch b/patches/server/1005-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
index 7084bf9f8d..7084bf9f8d 100644
--- a/patches/server/1029-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
+++ b/patches/server/1005-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
diff --git a/patches/server/1030-Add-proper-async-player-disconnections.patch b/patches/server/1006-Add-proper-async-player-disconnections.patch
index ee9eacec67..bdedbfb3f4 100644
--- a/patches/server/1030-Add-proper-async-player-disconnections.patch
+++ b/patches/server/1006-Add-proper-async-player-disconnections.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add proper async player disconnections
Blocking can cause performance problems
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index 9d6738b431867836c5e64bc13e887fd4af4627e1..e300293ba64a8ac54cc9c5348ecc9f3ed2d27e19 100644
+index f454df4ea912a127b3a2483ff19e697fb419630e..aed2c5b70900def6b1c4b97010b1db26c258f501 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
-@@ -844,6 +844,14 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -743,6 +743,14 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
}
@@ -23,7 +23,7 @@ index 9d6738b431867836c5e64bc13e887fd4af4627e1..e300293ba64a8ac54cc9c5348ecc9f3e
+
public void setupCompression(int compressionThreshold, boolean rejectsBadPackets) {
if (compressionThreshold >= 0) {
- com.velocitypowered.natives.compression.VelocityCompressor compressor = com.velocitypowered.natives.util.Natives.compress.get().create(io.papermc.paper.configuration.GlobalConfiguration.get().misc.compressionLevel.or(-1)); // Paper - Use Velocity cipher
+ ChannelHandler channelhandler = this.channel.pipeline().get("decompress");
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index fc242acade3ff06c9213428cde103cf078216382..b0bc66dc7248aae691dcab68b925b52a1695e63f 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -74,7 +74,7 @@ index fc242acade3ff06c9213428cde103cf078216382..b0bc66dc7248aae691dcab68b925b52a
return this.server.isSingleplayerOwner(this.playerProfile());
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc84da18e5 100644
+index dd8635efd225cef74924db01a84d41cb80e262b9..fbc885e38b9568a51b0d1a604d5ebff408ee071e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -767,7 +767,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -112,7 +112,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
return;
}
this.lastBookTick = MinecraftServer.currentTick;
-@@ -2365,7 +2365,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2364,7 +2364,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit
if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) {
@@ -121,7 +121,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false));
} else {
-@@ -2388,7 +2388,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2387,7 +2387,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (optional.isEmpty()) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -130,7 +130,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
}
return optional;
-@@ -2559,7 +2559,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2558,7 +2558,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// this.chatSpamThrottler.increment();
if (!this.chatSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) && !this.server.isSingleplayerOwner(this.player.getGameProfile())) {
// CraftBukkit end
@@ -139,7 +139,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
}
}
-@@ -2571,7 +2571,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2570,7 +2570,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
synchronized (this.lastSeenMessages) {
if (!this.lastSeenMessages.applyOffset(packet.offset())) {
ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString());
@@ -148,7 +148,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
}
}
-@@ -2724,7 +2724,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2723,7 +2723,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (i > 4096) {
@@ -157,7 +157,7 @@ index dffaf05fe84809e1597451244e729a9d1a85d8e2..864c9203f65c24d288d9ac1d39e8b5fc
}
}
-@@ -3335,7 +3335,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3334,7 +3334,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Paper start - auto recipe limit
if (!org.bukkit.Bukkit.isPrimaryThread()) {
if (!this.recipeSpamPackets.isIncrementAndUnderThreshold()) {
diff --git a/patches/server/1032-Separate-dimensiondata-executor.patch b/patches/server/1007-Separate-dimensiondata-executor.patch
index 901507d860..9946b6b259 100644
--- a/patches/server/1032-Separate-dimensiondata-executor.patch
+++ b/patches/server/1007-Separate-dimensiondata-executor.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Separate dimensiondata executor
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
-index 1a31024b46a5d7960f1e0f172f8ebcf396dd3139..38ffa1c4c204f73746c4b87127de92b631548eb1 100644
+index cc5e2710d3edeaf60284ed95c33999c701d0678a..eb6a589280a433d915ad7c035b7ec4ddafb162a0 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
@@ -94,6 +94,7 @@ public class Util {
@@ -16,7 +16,7 @@ index 1a31024b46a5d7960f1e0f172f8ebcf396dd3139..38ffa1c4c204f73746c4b87127de92b6
private static final TracingExecutor DOWNLOAD_POOL = makeIoExecutor("Download-", true);
// Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread
public static final ExecutorService PROFILE_EXECUTOR = Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() {
-@@ -265,6 +266,21 @@ public class Util {
+@@ -264,6 +265,21 @@ public class Util {
}));
}
diff --git a/patches/server/1033-Always-send-Banner-patterns-to-the-client.patch b/patches/server/1008-Always-send-Banner-patterns-to-the-client.patch
index 2810d7155c..2810d7155c 100644
--- a/patches/server/1033-Always-send-Banner-patterns-to-the-client.patch
+++ b/patches/server/1008-Always-send-Banner-patterns-to-the-client.patch
diff --git a/patches/server/1037-API-for-checking-sent-chunks.patch b/patches/server/1009-API-for-checking-sent-chunks.patch
index 67f4f99ba6..eccceb68bd 100644
--- a/patches/server/1037-API-for-checking-sent-chunks.patch
+++ b/patches/server/1009-API-for-checking-sent-chunks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API for checking sent chunks
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 79d72a2f6cd85f18c644bd48801fdda86f9d235a..84c494ca81b8f58604b372ac7236147776817a4f 100644
+index a51115038962f322f45f0de2bbe52d7c1c6f7529..58b485c4cfd2ced26a7178aa4380d66c0250b014 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3485,6 +3485,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3485,6 +3485,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
@@ -16,28 +16,27 @@ index 79d72a2f6cd85f18c644bd48801fdda86f9d235a..84c494ca81b8f58604b372ac72361477
+ @Override
+ public Set<java.lang.Long> getSentChunkKeys() {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
-+ return it.unimi.dsi.fastutil.longs.LongSets.unmodifiable(
-+ this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().clone()
-+ );
++ final it.unimi.dsi.fastutil.longs.LongOpenHashSet keys = new it.unimi.dsi.fastutil.longs.LongOpenHashSet();
++ this.getHandle().getChunkTrackingView().forEach(pos -> keys.add(pos.longKey));
++ return it.unimi.dsi.fastutil.longs.LongSets.unmodifiable(keys);
+ }
+
+ @Override
+ public Set<org.bukkit.Chunk> getSentChunks() {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
-+ final it.unimi.dsi.fastutil.longs.LongOpenHashSet rawChunkKeys = this.getHandle().moonrise$getChunkLoader().getSentChunksRaw();
-+ final it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<org.bukkit.Chunk> chunks = new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>(rawChunkKeys.size());
++ final it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<org.bukkit.Chunk> chunks = new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>();
+ final org.bukkit.World world = this.getWorld();
-+
-+ final it.unimi.dsi.fastutil.longs.LongIterator iter = this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().longIterator();
-+ while (iter.hasNext()) chunks.add(world.getChunkAt(iter.nextLong(), false));
-+
++ this.getHandle().getChunkTrackingView().forEach(pos -> {
++ final org.bukkit.Chunk chunk = world.getChunkAt(pos.longKey);
++ chunks.add(chunk);
++ });
+ return it.unimi.dsi.fastutil.objects.ObjectSets.unmodifiable(chunks);
+ }
+
+ @Override
+ public boolean isChunkSent(final long chunkKey) {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
-+ return this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().contains(chunkKey);
++ return this.getHandle().getChunkTrackingView().contains(new net.minecraft.world.level.ChunkPos(chunkKey));
+ }
+ // Paper end
+
diff --git a/patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1010-Fix-CraftWorld-isChunkGenerated.patch
index 1f7efead99..0a53f85075 100644
--- a/patches/server/1038-Fix-CraftWorld-isChunkGenerated.patch
+++ b/patches/server/1010-Fix-CraftWorld-isChunkGenerated.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix CraftWorld#isChunkGenerated
The upstream implementation is returning true for non-full chunks.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 7c936f59ad8fc1fa244adcc19c413d6e0e4f7323..a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0 100644
+index 536058b4cf5d97a602ac6860e285dbcc4814ff25..73b0438908894bdd64835f21290250c88625a41a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -398,11 +398,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch b/patches/server/1011-Add-startup-flag-to-disable-gamerule-limits.patch
index c36b3a527e..4ee3bdaf31 100644
--- a/patches/server/1039-Add-startup-flag-to-disable-gamerule-limits.patch
+++ b/patches/server/1011-Add-startup-flag-to-disable-gamerule-limits.patch
@@ -5,11 +5,14 @@ Subject: [PATCH] Add startup flag to disable gamerule limits
-DPaper.DisableGameRuleLimits=true will disable gamerule limits
+== AT ==
+public net.minecraft.server.level.ChunkLevel ENTITY_TICKING_LEVEL
+
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 33267af4258f36df0d9525ac581b52bfeebc7591..346cffdd8ca047980eb4fc99d99b577d9e4cde13 100644
+index 1977815fce8acc10c8f2d1f168e6342c9faff5c0..7aedeb487a80ab6dbc67bac60a2cef29177c27d4 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2081,13 +2081,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1775,13 +1775,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
if (this.lastSpawnChunkRadius > 1) {
diff --git a/patches/server/1044-Bundle-spark.patch b/patches/server/1012-Bundle-spark.patch
index 9001159e9f..0ebf98a479 100644
--- a/patches/server/1044-Bundle-spark.patch
+++ b/patches/server/1012-Bundle-spark.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Bundle spark
diff --git a/build.gradle.kts b/build.gradle.kts
-index b27ffd7e2e981698b3c3dc9ba52ce698c2bad71f..2da91ed6363c0851e4c459188f5e8ef5475e0c97 100644
+index d79040747ec4dfddc866f0ad36d8423db957e98d..c056b0fa1bcf6abdbaf99490285225aa630e6f4e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -77,6 +77,10 @@ dependencies {
+@@ -72,6 +72,10 @@ dependencies {
implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion")
implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion")
// Paper end - Remap reflection
@@ -279,10 +279,10 @@ index 6b8ed8a0baaf4a57d20e57cec3400af5561ddd79..48604e7f96adc9e226e034054c5e2bad
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a..c9548714429901d306f77e6dde888f57198f93b4 100644
+index c7f84fac5929046d06c38a7624c497dbcda2ff37..1532129320859dc6b5749cd44c0c304eea14befc 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -765,6 +765,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -689,6 +689,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Configurable player collision
this.server.enablePlugins(org.bukkit.plugin.PluginLoadOrder.POSTWORLD);
@@ -291,7 +291,7 @@ index ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a..c9548714429901d306f77e6dde888f57
if (io.papermc.paper.plugin.PluginInitializerManager.instance().pluginRemapper != null) io.papermc.paper.plugin.PluginInitializerManager.instance().pluginRemapper.pluginsEnabled(); // Paper - Remap plugins
io.papermc.paper.command.brigadier.PaperCommands.INSTANCE.setValid(); // Paper - reset invalid state for event fire below
io.papermc.paper.plugin.lifecycle.event.LifecycleEventRunner.INSTANCE.callReloadableRegistrarEvent(io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents.COMMANDS, io.papermc.paper.command.brigadier.PaperCommands.INSTANCE, org.bukkit.plugin.Plugin.class, io.papermc.paper.plugin.lifecycle.event.registrar.ReloadableRegistrarEvent.Cause.INITIAL); // Paper - call commands event for regular plugins
-@@ -1052,6 +1054,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -966,6 +968,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
// CraftBukkit start
if (this.server != null) {
@@ -299,15 +299,15 @@ index ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a..c9548714429901d306f77e6dde888f57
this.server.disablePlugins();
this.server.waitForAsyncTasksShutdown(); // Paper - Wait for Async Tasks during shutdown
}
-@@ -1245,6 +1248,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- // tasks are default scheduled at -1 + delay, and first tick will tick at 1
- final long actualDoneTimeMs = System.currentTimeMillis() - org.bukkit.craftbukkit.Main.BOOT_TIME.toEpochMilli(); // Paper - Add total time
- LOGGER.info("Done ({})! For help, type \"help\"", String.format(java.util.Locale.ROOT, "%.3fs", actualDoneTimeMs / 1000.00D)); // Paper - Add total time
+@@ -1143,6 +1146,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ this.statusIcon = (ServerStatus.Favicon) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
+ this.status = this.buildServerStatus();
+
+ this.server.spark.enableBeforePlugins(); // Paper - spark
- org.spigotmc.WatchdogThread.tick();
- // Paper end - Improved Watchdog Support
+ // Spigot start
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
-@@ -1627,17 +1631,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ Arrays.fill( this.recentTps, 20 );
+@@ -1504,17 +1508,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
if (this.emptyTicks >= j) {
@@ -329,7 +329,7 @@ index ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a..c9548714429901d306f77e6dde888f57
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
++this.tickCount;
this.tickRateManager.tick();
-@@ -1655,11 +1663,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1532,11 +1540,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ProfilerFiller gameprofilerfiller = Profiler.get();
this.runAllTasks(); // Paper - move runAllTasks() into full server tick (previously for timings)
@@ -344,7 +344,7 @@ index ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a..c9548714429901d306f77e6dde888f57
long k = Util.getNanos() - i;
int l = this.tickCount % 100;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index c06863578c5d654706d93e73059d89c12ae502a5..17a158ff6ce6520b69a5a0032ba4c05449dd0cf8 100644
+index cce0e570c8217c8e7cc81642d303e1b96f70f4f3..2f47d95943c00020a24ea3ff1a49e64e114de675 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -223,6 +223,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -364,7 +364,7 @@ index c06863578c5d654706d93e73059d89c12ae502a5..17a158ff6ce6520b69a5a0032ba4c054
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1df118625aeb57f3353c40f9552f00d2f34fc655..11ff5f3b5cd25f0ad6ca944d59bca8434f8510d8 100644
+index 338b60f0254d55ac4a0645ca351d0ce736ce0681..918072dd3f1308d9dc680754052317eb00789762 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -312,6 +312,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch b/patches/server/1013-Avoid-issues-with-certain-tasks-not-processing-durin.patch
index 2a84e33ec5..6e39f330ee 100644
--- a/patches/server/1053-Avoid-issues-with-certain-tasks-not-processing-durin.patch
+++ b/patches/server/1013-Avoid-issues-with-certain-tasks-not-processing-durin.patch
@@ -11,10 +11,10 @@ sleep by default, which avoids the problem and makes it more obvious to check if
enabled. We also unload chunks during sleep to prevent memory leaks caused by plugin chunk loads.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c851133115328f0508f65a7b7d79326ff2106b1c..a2f274504a5ce13b491d4a5d77b3e26fcf7a85a6 100644
+index 1532129320859dc6b5749cd44c0c304eea14befc..b3980a33470646f530e289f9b83509d3aa952720 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1639,6 +1639,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1515,6 +1515,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit
diff --git a/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch b/patches/server/1014-Allow-using-old-ender-pearl-behavior.patch
index a55e614f56..e9a608a86d 100644
--- a/patches/server/1054-Allow-using-old-ender-pearl-behavior.patch
+++ b/patches/server/1014-Allow-using-old-ender-pearl-behavior.patch
@@ -9,10 +9,10 @@ When enabled, ender pearls will not load chunks and will save to the world inste
public net.minecraft.world.entity.projectile.Projectile cachedOwner
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index a2cd4385fca0cf2ec164d06be2732755506c0249..8aff5b7dd14b835788348b22b1fec4d381df816f 100644
+index 8c0dcce3c43775185bc23df3a52a2f8ba1a72544..382194ef4b5723d2b3476084c566b6d07cc9c91d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -834,6 +834,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
+@@ -798,6 +798,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
while (iterator.hasNext()) {
ThrownEnderpearl entityenderpearl = (ThrownEnderpearl) iterator.next();
@@ -20,7 +20,7 @@ index a2cd4385fca0cf2ec164d06be2732755506c0249..8aff5b7dd14b835788348b22b1fec4d3
if (entityenderpearl.isRemoved()) {
ServerPlayer.LOGGER.warn("Trying to save removed ender pearl, skipping");
-@@ -3123,7 +3124,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
+@@ -3079,7 +3080,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
}
public static long placeEnderPearlTicket(ServerLevel world, ChunkPos chunkPos) {
@@ -30,10 +30,10 @@ index a2cd4385fca0cf2ec164d06be2732755506c0249..8aff5b7dd14b835788348b22b1fec4d3
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index d67c0c9cbbbe92b988f64e19e0e89414c9eb7921..9b71655a425356132afb786eff623f558e1e3498 100644
+index f0e6e9478e42cd867237aec990fb1f739d46214e..af209a95b3f83e9c2c3f6473e3be7ca4414ebf40 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
-@@ -602,7 +602,13 @@ public abstract class PlayerList {
+@@ -601,7 +601,13 @@ public abstract class PlayerList {
while (iterator.hasNext()) {
ThrownEnderpearl entityenderpearl = (ThrownEnderpearl) iterator.next();
diff --git a/patches/server/1055-Block-Enderpearl-Travel-Exploit.patch b/patches/server/1015-Block-Enderpearl-Travel-Exploit.patch
index 440fcb5d1c..3f43bcbf1b 100644
--- a/patches/server/1055-Block-Enderpearl-Travel-Exploit.patch
+++ b/patches/server/1015-Block-Enderpearl-Travel-Exploit.patch
@@ -19,10 +19,10 @@ fully prevent enderpearl travel exploits.
public net.minecraft.world.entity.projectile.Projectile ownerUUID
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 3817703e5b759a27bb6c722f56b41ef321b9c432..5c9d15dbc55aec3ec99143a255e42b5e28a9e95e 100644
+index 7aedeb487a80ab6dbc67bac60a2cef29177c27d4..c52ed5fe9f67c62c16cb4a0f6dc33c0050f487c6 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2682,6 +2682,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2292,6 +2292,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public void onTickingEnd(Entity entity) {
ServerLevel.this.entityTickList.remove(entity);
diff --git a/patches/server/1056-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/1016-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index 3783dd5df6..3783dd5df6 100644
--- a/patches/server/1056-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/1016-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/1057-Correct-update-cursor.patch b/patches/server/1017-Correct-update-cursor.patch
index b737dc411d..c6dddb8143 100644
--- a/patches/server/1057-Correct-update-cursor.patch
+++ b/patches/server/1017-Correct-update-cursor.patch
@@ -10,10 +10,10 @@ now leads to an IOOB.
patch uses instead.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9090df6431758a143a6b29be34eb5e60d5af4561..84fa24880d02dc7ba1ec8bda3575be38447fd4b2 100644
+index fbc885e38b9568a51b0d1a604d5ebff408ee071e..cfad5925f7d6b9970e8abef981b67e805bf1866a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-@@ -3354,7 +3354,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3281,7 +3281,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
case PLACE_SOME:
case PLACE_ONE:
case SWAP_WITH_CURSOR:
@@ -22,7 +22,7 @@ index 9090df6431758a143a6b29be34eb5e60d5af4561..84fa24880d02dc7ba1ec8bda3575be38
this.player.connection.send(new ClientboundContainerSetSlotPacket(this.player.containerMenu.containerId, this.player.inventoryMenu.incrementStateId(), packet.getSlotNum(), this.player.containerMenu.getSlot(packet.getSlotNum()).getItem()));
break;
// Modified clicked only
-@@ -3366,7 +3366,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3293,7 +3293,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
case DROP_ALL_CURSOR:
case DROP_ONE_CURSOR:
case CLONE_STACK:
@@ -31,7 +31,7 @@ index 9090df6431758a143a6b29be34eb5e60d5af4561..84fa24880d02dc7ba1ec8bda3575be38
break;
// Nothing
case NOTHING:
-@@ -3544,7 +3544,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -3471,7 +3471,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Reset the slot
if (packet.slotNum() >= 0) {
this.player.connection.send(new ClientboundContainerSetSlotPacket(this.player.inventoryMenu.containerId, this.player.inventoryMenu.incrementStateId(), packet.slotNum(), this.player.inventoryMenu.getSlot(packet.slotNum()).getItem()));
diff --git a/patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch b/patches/server/1018-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch
index 594dad2b53..e2ab689f85 100644
--- a/patches/server/1058-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch
+++ b/patches/server/1018-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Call CraftPlayer#onEntityRemove for all online players
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 5c9d15dbc55aec3ec99143a255e42b5e28a9e95e..b3e709c9ce116bf41cd050674ee1fb31b08e684f 100644
+index c52ed5fe9f67c62c16cb4a0f6dc33c0050f487c6..f02fbe3d1ba00c9b1fb8533da22d2670870316bf 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2804,7 +2804,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2413,7 +2413,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit start
entity.valid = false;
if (!(entity instanceof ServerPlayer)) {
diff --git a/patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch b/patches/server/1019-Improve-performance-of-RecipeMap-removeRecipe.patch
index ced8d08b40..ced8d08b40 100644
--- a/patches/server/1060-Improve-performance-of-RecipeMap-removeRecipe.patch
+++ b/patches/server/1019-Improve-performance-of-RecipeMap-removeRecipe.patch
diff --git a/patches/server/1061-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch b/patches/server/1020-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
index 81c7b52685..81c7b52685 100644
--- a/patches/server/1061-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
+++ b/patches/server/1020-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
diff --git a/patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch b/patches/server/1021-Fix-incorrect-invulnerability-damage-reduction.patch
index 5126da9b2f..a665946e8f 100644
--- a/patches/server/1063-Fix-incorrect-invulnerability-damage-reduction.patch
+++ b/patches/server/1021-Fix-incorrect-invulnerability-damage-reduction.patch
@@ -27,7 +27,7 @@ Instead, this patch makes use of the DamageModifier API, implementing
the last-damage-reduction as a DamageModifier.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 26d72c4b58bfd768fd246a33bdd7e00fe058bd8f..885449de288dfc9a907ab76330b0ca0c15410243 100644
+index 3491f96439e7f5eac98bdfcb2edac49b33408cfc..cd0cd411ac2278eabfffc331321ce478730daffb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1505,12 +1505,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -54,7 +54,7 @@ index 26d72c4b58bfd768fd246a33bdd7e00fe058bd8f..885449de288dfc9a907ab76330b0ca0c
amount = computeAmountFromEntityDamageEvent(event);
// Paper end - only call damage event when actuallyHurt will be called - move call logic down
// CraftBukkit start
-@@ -2333,8 +2333,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2325,8 +2325,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
// CraftBukkit start
@@ -75,7 +75,7 @@ index 26d72c4b58bfd768fd246a33bdd7e00fe058bd8f..885449de288dfc9a907ab76330b0ca0c
com.google.common.base.Function<Double, Double> freezing = new com.google.common.base.Function<Double, Double>() {
@Override
-@@ -2411,7 +2422,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2403,7 +2414,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
};
float absorptionModifier = absorption.apply((double) f).floatValue();
diff --git a/patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch b/patches/server/1022-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch
index 53488562d9..8b9038f0d0 100644
--- a/patches/server/1064-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch
+++ b/patches/server/1022-Fix-NPE-when-EntityResurrectEvent-is-uncancelled.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix NPE when EntityResurrectEvent is uncancelled
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 885449de288dfc9a907ab76330b0ca0c15410243..96b4fbe4a4655777ff10b32e3257e2fac2aba12a 100644
+index cd0cd411ac2278eabfffc331321ce478730daffb..bef31f70ed9bc9f4bea62dda2339b7a281485dce 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -1722,6 +1722,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1714,6 +1714,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!itemstack1.isEmpty() && itemstack != null) { // Paper - only reduce item if actual totem was found
itemstack1.shrink(1);
}
diff --git a/patches/server/1065-API-to-check-if-the-server-is-sleeping.patch b/patches/server/1023-API-to-check-if-the-server-is-sleeping.patch
index d20ddcd4bb..5fb7f0aa88 100644
--- a/patches/server/1065-API-to-check-if-the-server-is-sleeping.patch
+++ b/patches/server/1023-API-to-check-if-the-server-is-sleeping.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] API to check if the server is sleeping
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index a2f274504a5ce13b491d4a5d77b3e26fcf7a85a6..f07661d09f21b8691ef2e09a1e8ddce6ad53b473 100644
+index b3980a33470646f530e289f9b83509d3aa952720..1c5a439650146bee85a98d8072ee131300264eee 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -3187,4 +3187,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -3026,4 +3026,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Add tick times API and /mspt command
@@ -20,7 +20,7 @@ index a2f274504a5ce13b491d4a5d77b3e26fcf7a85a6..f07661d09f21b8691ef2e09a1e8ddce6
+ // Paper end - API to check if the server is sleeping
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 11ff5f3b5cd25f0ad6ca944d59bca8434f8510d8..7afc3d4244c096f78d48338da2eb65c4e834b6f1 100644
+index 918072dd3f1308d9dc680754052317eb00789762..df9cfdcc27d6f596d554d7271b1d6a30cd3fbc0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3258,4 +3258,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1066-API-to-allow-disallow-tick-sleeping.patch b/patches/server/1024-API-to-allow-disallow-tick-sleeping.patch
index 83c055d4a0..108d734c76 100644
--- a/patches/server/1066-API-to-allow-disallow-tick-sleeping.patch
+++ b/patches/server/1024-API-to-allow-disallow-tick-sleeping.patch
@@ -5,18 +5,18 @@ Subject: [PATCH] API to allow/disallow tick sleeping
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index f07661d09f21b8691ef2e09a1e8ddce6ad53b473..3ea668e3b33353d8a6353ebc4f18e7103b573353 100644
+index 1c5a439650146bee85a98d8072ee131300264eee..c3d02e4712a1543fc59d88e5d20adcb6c806be0f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -332,6 +332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- public volatile Thread shutdownThread; // Paper
- public volatile boolean abnormalExit = false; // Paper
- public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
+@@ -328,6 +328,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ // Spigot end
+ public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
+ public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
+ private final Set<String> pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
- ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
-@@ -1624,8 +1625,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ AtomicReference<S> atomicreference = new AtomicReference();
+@@ -1500,8 +1501,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long i = Util.getNanos();
int j = this.pauseWhileEmptySeconds() * 20;
@@ -27,7 +27,7 @@ index f07661d09f21b8691ef2e09a1e8ddce6ad53b473..3ea668e3b33353d8a6353ebc4f18e710
++this.emptyTicks;
} else {
this.emptyTicks = 0;
-@@ -3192,5 +3194,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -3031,5 +3033,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public boolean isTickPaused() {
return this.emptyTicks > 0 && this.emptyTicks >= this.pauseWhileEmptySeconds() * 20;
}
@@ -51,7 +51,7 @@ index f07661d09f21b8691ef2e09a1e8ddce6ad53b473..3ea668e3b33353d8a6353ebc4f18e710
// Paper end - API to check if the server is sleeping
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7afc3d4244c096f78d48338da2eb65c4e834b6f1..ac8af406180bc680d46e8edc3da0fc2e5211345a 100644
+index df9cfdcc27d6f596d554d7271b1d6a30cd3fbc0e..6370b780af5043f32d07346ea4dd7f23c819f7a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3264,5 +3264,10 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1067-Configurable-Entity-Despawn-Time.patch b/patches/server/1025-Configurable-Entity-Despawn-Time.patch
index 2018b8c0d5..e71155127d 100644
--- a/patches/server/1067-Configurable-Entity-Despawn-Time.patch
+++ b/patches/server/1025-Configurable-Entity-Despawn-Time.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable Entity Despawn Time
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 62cefff26daecd4626ef1d1ab033dcd003e0b799..27618d07d718cb2a5783536e11d56f712303487b 100644
+index 6acba522ea92cabcb9f89414e3edce513003771b..9865fb52bcee1dd4dd068e69e45cd85fbcbe9060 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -388,6 +388,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -429,6 +429,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean fixedPose = false; // Paper - Expand Pose API
@@ -16,7 +16,7 @@ index 62cefff26daecd4626ef1d1ab033dcd003e0b799..27618d07d718cb2a5783536e11d56f71
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
-@@ -570,6 +571,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -461,6 +462,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -24,7 +24,7 @@ index 62cefff26daecd4626ef1d1ab033dcd003e0b799..27618d07d718cb2a5783536e11d56f71
this.passengers = ImmutableList.of();
this.deltaMovement = Vec3.ZERO;
this.bb = Entity.INITIAL_AABB;
-@@ -872,6 +874,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -731,6 +733,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void tick() {
diff --git a/patches/server/1068-Expanded-Art-API.patch b/patches/server/1026-Expanded-Art-API.patch
index 56e4179720..56e4179720 100644
--- a/patches/server/1068-Expanded-Art-API.patch
+++ b/patches/server/1026-Expanded-Art-API.patch
diff --git a/patches/server/1069-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch b/patches/server/1027-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch
index e878cdca42..fbec856a9d 100644
--- a/patches/server/1069-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch
+++ b/patches/server/1027-Only-attempt-to-find-spawn-position-if-there-isn-t-a.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Only attempt to find spawn position if there isn't a fixed
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3ea668e3b33353d8a6353ebc4f18e7103b573353..ab4f1bd1ebf0af54f3fa88ee9e2007d20445e7e9 100644
+index c3d02e4712a1543fc59d88e5d20adcb6c806be0f..430ef84d5984819bbea0c406122d5c6cc04284d2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -817,7 +817,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -740,7 +740,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldProperties.setSpawn(BlockPos.ZERO.above(80), 0.0F);
} else {
ServerChunkCache chunkproviderserver = world.getChunkSource();
@@ -18,7 +18,7 @@ index 3ea668e3b33353d8a6353ebc4f18e7103b573353..ab4f1bd1ebf0af54f3fa88ee9e2007d2
// CraftBukkit start
if (world.generator != null) {
Random rand = new Random(world.getSeed());
-@@ -833,6 +833,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -756,6 +756,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// CraftBukkit end
diff --git a/patches/server/0988-Registry-Modification-API.patch b/patches/server/1028-Registry-Modification-API.patch
index 9997b4479e..adac59c3b3 100644
--- a/patches/server/0988-Registry-Modification-API.patch
+++ b/patches/server/1028-Registry-Modification-API.patch
@@ -3,8 +3,6 @@ From: Jake Potrebic <[email protected]>
Date: Mon, 27 Feb 2023 18:28:39 -0800
Subject: [PATCH] Registry Modification API
-Feature patch
-
== AT ==
public net.minecraft.core.MappedRegistry validateWrite(Lnet/minecraft/resources/ResourceKey;)V
public net.minecraft.resources.RegistryOps lookupProvider
diff --git a/patches/server/0989-Add-registry-entry-and-builders.patch b/patches/server/1029-Add-registry-entry-and-builders.patch
index 36bfa68a40..a0aa6a26c8 100644
--- a/patches/server/0989-Add-registry-entry-and-builders.patch
+++ b/patches/server/1029-Add-registry-entry-and-builders.patch
@@ -3,7 +3,6 @@ From: Bjarne Koll <[email protected]>
Date: Thu, 13 Jun 2024 23:45:32 +0200
Subject: [PATCH] Add registry entry and builders
-Feature patch
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
index 86c9f87cdb41c0d1ccc2a61b501f969cfaae47bc..fd024576e70e0c121c1477a0b7777af18159b7c4 100644
diff --git a/patches/server/1016-Tag-Lifecycle-Events.patch b/patches/server/1030-Tag-Lifecycle-Events.patch
index d000792dbc..291ec0be33 100644
--- a/patches/server/1016-Tag-Lifecycle-Events.patch
+++ b/patches/server/1030-Tag-Lifecycle-Events.patch
@@ -474,10 +474,10 @@ index 1b167e8e0b42a49de1c5f0ea33dc9bef6ddd0f83..f102d3ea4e470fca2c3f74a0e3c1552b
static <E> void loadContentsFromNetwork(
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 6bdc9dbbbe11b368892e77fe162199a40418cfde..8d9ddcb1652526c21c4004c6b0e1c83bc33d3934 100644
+index 430ef84d5984819bbea0c406122d5c6cc04284d2..682417e20459ffd576e494e1a279c477589103ba 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -2208,7 +2208,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2230,7 +2230,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return stream.<Pack>map(resourcepackrepository::getPack).filter(Objects::nonNull).map(Pack::open).collect(ImmutableList.toImmutableList()); // CraftBukkit - decompile error // Paper - decompile error // todo: is this needed anymore?
}, this).thenCompose((immutablelist) -> {
MultiPackResourceManager resourcemanager = new MultiPackResourceManager(PackType.SERVER_DATA, immutablelist);
diff --git a/patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/1032-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index 75e816d9a8..4e08c4e606 100644
--- a/patches/server/0968-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/1032-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
@@ -11,8 +11,6 @@ Replace all calls to the new place to the unnecessary forward.
Optimize getType and getBlockData to manually inline and optimize the calls
-Feature patch
-
diff --git a/src/main/java/net/minecraft/core/Vec3i.java b/src/main/java/net/minecraft/core/Vec3i.java
index 2f2bcc1b9b32e58bf70ae6c171177ceb333ed6cd..d7afddd1d961495f0b50302a8da0a70fcd3ba1b0 100644
--- a/src/main/java/net/minecraft/core/Vec3i.java
diff --git a/patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/1033-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index b5ae9afd5c..4981fc8cb7 100644
--- a/patches/server/0969-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/1033-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -12,13 +12,11 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
Additionally, numerous issues to player position tracking on maps has been fixed.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 1977815fce8acc10c8f2d1f168e6342c9faff5c0..629e7ac9fd6a849b89f75b9611495270e8589a82 100644
+index f02fbe3d1ba00c9b1fb8533da22d2670870316bf..b98b8d42fb95185551a4559ce22abad33e000d33 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2348,6 +2348,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2362,6 +2362,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
{
if ( iter.next().player == entity )
{
@@ -27,10 +25,10 @@ index 1977815fce8acc10c8f2d1f168e6342c9faff5c0..629e7ac9fd6a849b89f75b9611495270
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index d82a22d9ef5a7f649d424c01e88a12094ce0a41f..3a5debc21b6f70e961dcca9048193e94df54b6cc 100644
+index 382194ef4b5723d2b3476084c566b6d07cc9c91d..f6e3073e1f1ff99f6917d84974a18e3e756fa9ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-@@ -2788,6 +2788,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
+@@ -2793,6 +2793,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
this.awardStat(Stats.DROP);
}
diff --git a/patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/1034-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index 100511b4f9..964b69d8d4 100644
--- a/patches/server/0970-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/1034-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
@@ -27,10 +27,8 @@ and then catch exceptions and close if they fire.
Part of this commit was authored by: Spottedleaf, sandtechnology
-Feature patch
-
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index f454df4ea912a127b3a2483ff19e697fb419630e..bc75a81074c20bccad5fd1adf6aa8821f7ad2317 100644
+index aed2c5b70900def6b1c4b97010b1db26c258f501..6bedd5eeb80fc0b33655add119d1f5c5be0a1b85 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -93,7 +93,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -222,7 +220,7 @@ index f454df4ea912a127b3a2483ff19e697fb419630e..bc75a81074c20bccad5fd1adf6aa8821
// Spigot End
if (this.channel == null) {
this.delayedDisconnect = disconnectionInfo;
-@@ -780,7 +864,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -788,7 +872,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
public void handleDisconnection() {
if (this.channel != null && !this.channel.isOpen()) {
if (this.disconnectionHandled) {
@@ -231,7 +229,7 @@ index f454df4ea912a127b3a2483ff19e697fb419630e..bc75a81074c20bccad5fd1adf6aa8821
} else {
this.disconnectionHandled = true;
PacketListener packetlistener = this.getPacketListener();
-@@ -793,7 +877,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -801,7 +885,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
packetlistener1.onDisconnect(disconnectiondetails);
}
@@ -240,7 +238,7 @@ index f454df4ea912a127b3a2483ff19e697fb419630e..bc75a81074c20bccad5fd1adf6aa8821
// Paper start - Add PlayerConnectionCloseEvent
final PacketListener packetListener = this.getPacketListener();
if (packetListener instanceof net.minecraft.server.network.ServerCommonPacketListenerImpl commonPacketListener) {
-@@ -830,4 +914,93 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -838,4 +922,93 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
public void setBandwidthLogger(LocalSampleLogger log) {
this.bandwidthDebugMonitor = new BandwidthDebugMonitor(log);
}
diff --git a/patches/server/0971-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/1035-Allow-Saving-of-Oversized-Chunks.patch
index 99f43d8eff..0b77f00d70 100644
--- a/patches/server/0971-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/1035-Allow-Saving-of-Oversized-Chunks.patch
@@ -30,8 +30,6 @@ This fix also maintains compatability if someone switches server jars to one wit
this fix, as the data will remain in the oversized file. Once the server returns
to a jar with this fix, the data will be restored.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
index 0028f4fd331b6f94be2a2b4d90e56dcdd881178d..863960ead8deaa0553be1c98e4fa09f07fcb8ef0 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java
diff --git a/patches/server/0972-Flat-bedrock-generator-settings.patch b/patches/server/1036-Flat-bedrock-generator-settings.patch
index 02d20a69ae..5084ca1e6b 100644
--- a/patches/server/0972-Flat-bedrock-generator-settings.patch
+++ b/patches/server/1036-Flat-bedrock-generator-settings.patch
@@ -18,8 +18,6 @@ public net.minecraft.world.level.levelgen.SurfaceRules$SurfaceRule
Co-authored-by: Noah van der Aa <[email protected]>
-Feature patch
-
diff --git a/src/main/java/io/papermc/paper/world/worldgen/OptionallyFlatBedrockConditionSource.java b/src/main/java/io/papermc/paper/world/worldgen/OptionallyFlatBedrockConditionSource.java
new file mode 100644
index 0000000000000000000000000000000000000000..b5580727eef106fa193e450038d1b20d8d396059
diff --git a/patches/server/0973-Entity-Activation-Range-2.0.patch b/patches/server/1037-Entity-Activation-Range-2.0.patch
index 173bdc6c8d..184cf71959 100644
--- a/patches/server/0973-Entity-Activation-Range-2.0.patch
+++ b/patches/server/1037-Entity-Activation-Range-2.0.patch
@@ -13,13 +13,11 @@ Adds water Mobs to activation range config and nerfs fish
Adds flying monsters to control ghast and phantoms
Adds villagers as separate config
-Feature patch
-
== AT ==
public net.minecraft.world.entity.Entity isInsidePortal
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index abd416ecf8b9e847d80704f13a5076f61ed846ef..459fb89295bce269b4f36fccc5e8acfc4b6f4550 100644
+index b98b8d42fb95185551a4559ce22abad33e000d33..5d6f135f3d1b845e289d20d566e1b54440231365 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -968,11 +968,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -89,7 +87,7 @@ index abd416ecf8b9e847d80704f13a5076f61ed846ef..459fb89295bce269b4f36fccc5e8acfc
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index cd0c72dbf026630eae7d479f532c5de7b0606988..4848898823410009cf47e2a58f3d162006fd8b54 100644
+index 9865fb52bcee1dd4dd068e69e45cd85fbcbe9060..5d8ea207cd5a2e3d608bc01922d4430e0bb60f32 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -421,6 +421,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -101,7 +99,7 @@ index cd0c72dbf026630eae7d479f532c5de7b0606988..4848898823410009cf47e2a58f3d1620
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
// Paper start - Entity origin API
@javax.annotation.Nullable
-@@ -1001,6 +1003,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1010,6 +1012,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} else {
this.wasOnFire = this.isOnFire();
if (type == MoverType.PISTON) {
@@ -110,7 +108,7 @@ index cd0c72dbf026630eae7d479f532c5de7b0606988..4848898823410009cf47e2a58f3d1620
movement = this.limitPistonMovement(movement);
if (movement.equals(Vec3.ZERO)) {
return;
-@@ -1015,6 +1019,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1024,6 +1028,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.stuckSpeedMultiplier = Vec3.ZERO;
this.setDeltaMovement(Vec3.ZERO);
}
@@ -125,7 +123,7 @@ index cd0c72dbf026630eae7d479f532c5de7b0606988..4848898823410009cf47e2a58f3d1620
movement = this.maybeBackOffFromEdge(movement, type);
Vec3 vec3d1 = this.collide(movement);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
-index 8ac12520650501139d53f6db3ae1ee6417db7bb9..5a3059cadbc9735b4b48745c6b1b11196596b06d 100644
+index a66ed6527d95b9c40b6c5983455fc078fd9eb2bf..5a0b51342f4a646101f4588697bcae7d1ca8a010 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -231,6 +231,19 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
diff --git a/patches/server/0974-Anti-Xray.patch b/patches/server/1038-Anti-Xray.patch
index b111b27754..2d38c2b972 100644
--- a/patches/server/0974-Anti-Xray.patch
+++ b/patches/server/1038-Anti-Xray.patch
@@ -3,7 +3,6 @@ From: stonar96 <[email protected]>
Date: Thu, 25 Nov 2021 13:27:51 +0100
Subject: [PATCH] Anti-Xray
-Feature patch
diff --git a/src/main/java/com/destroystokyo/paper/antixray/BitStorageReader.java b/src/main/java/com/destroystokyo/paper/antixray/BitStorageReader.java
new file mode 100644
@@ -1105,7 +1104,7 @@ index 183b2191fa1c1b27adedf39593e1b5a223fb1279..8ead66c134688b11dca15f6509147e72
private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buf) {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 459fb89295bce269b4f36fccc5e8acfc4b6f4550..c785a76f1291c65310bca0c4a75078fe1055e4e5 100644
+index 5d6f135f3d1b845e289d20d566e1b54440231365..6c71ef3c7430623900a7021f853d2bb514273e4d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -349,7 +349,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1118,7 +1117,7 @@ index 459fb89295bce269b4f36fccc5e8acfc4b6f4550..c785a76f1291c65310bca0c4a75078fe
this.convertable = convertable_conversionsession;
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index c4bc1819cba3287c4a67ae5d00f8c4d6ab899732..f2dd272a01b4e946a6746865d55ebc9861f8361b 100644
+index 0d168d15d9adeb90a183d4a847931cbf2281a5c7..fdba8a7344760c5903f838d0e0d65edef23262bb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -48,7 +48,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
@@ -1158,7 +1157,7 @@ index cdd66e6ce96e2613afe7f06ca8da3cfaa6704b2d..dafa2cf7d3c49fc5bdcd68d2a9528127
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), handler.getPlayer().getBukkitEntity()).callEvent();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index f0e6e9478e42cd867237aec990fb1f739d46214e..0a328ec362c3c21b5b8634f8fba844b143a24509 100644
+index af209a95b3f83e9c2c3f6473e3be7ca4414ebf40..4efdd8f0ca73b59eb90abfe1fadbcb34d845fcd4 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -426,7 +426,7 @@ public abstract class PlayerList {
@@ -1599,10 +1598,10 @@ index bfc8b87941578e8f52f7cd9035776b7db5ab2221..028174f712ea9605f22243b76c3f5dd6
private static final byte[] EMPTY_LIGHT = new byte[2048];
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 338b60f0254d55ac4a0645ca351d0ce736ce0681..87477ad186b5f692a39f323a618d016b669d8051 100644
+index 6370b780af5043f32d07346ea4dd7f23c819f7a0..ef836e1a6481775263bdbe3668febd577ac96aec 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2714,7 +2714,7 @@ public final class CraftServer implements Server {
+@@ -2718,7 +2718,7 @@ public final class CraftServer implements Server {
public ChunkGenerator.ChunkData createChunkData(World world) {
Preconditions.checkArgument(world != null, "World cannot be null");
ServerLevel handle = ((CraftWorld) world).getHandle();
@@ -1612,10 +1611,10 @@ index 338b60f0254d55ac4a0645ca351d0ce736ce0681..87477ad186b5f692a39f323a618d016b
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index dc03536264a7e529957736ab040fe4966280b87e..cbbbea3f31416e6c11125400d37fe21252830d67 100644
+index 73b0438908894bdd64835f21290250c88625a41a..2ead4edd2e6298ea3c22490e91319c64752815fc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -453,11 +453,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -511,11 +511,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
List<ServerPlayer> playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false);
if (playersInRange.isEmpty()) return;
diff --git a/patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1039-Use-Velocity-compression-and-cipher-natives.patch
index 31f2a97ab6..4fe3d49978 100644
--- a/patches/server/0975-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/1039-Use-Velocity-compression-and-cipher-natives.patch
@@ -3,13 +3,11 @@ From: Andrew Steinborn <[email protected]>
Date: Mon, 26 Jul 2021 02:15:17 -0400
Subject: [PATCH] Use Velocity compression and cipher natives
-Feature patch
-
== AT ==
private-f net.minecraft.network.CompressionDecoder inflater
diff --git a/build.gradle.kts b/build.gradle.kts
-index d79040747ec4dfddc866f0ad36d8423db957e98d..b27ffd7e2e981698b3c3dc9ba52ce698c2bad71f 100644
+index c056b0fa1bcf6abdbaf99490285225aa630e6f4e..2da91ed6363c0851e4c459188f5e8ef5475e0c97 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -51,6 +51,11 @@ dependencies {
@@ -286,7 +284,7 @@ index 34a80d2f34555663ab1b394972957089214cb337..ec30c291188ac3bba7f1c3bc397576d1
return this.threshold;
}
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
-index bc75a81074c20bccad5fd1adf6aa8821f7ad2317..9d6738b431867836c5e64bc13e887fd4af4627e1 100644
+index 6bedd5eeb80fc0b33655add119d1f5c5be0a1b85..e300293ba64a8ac54cc9c5348ecc9f3ed2d27e19 100644
--- a/src/main/java/net/minecraft/network/Connection.java
+++ b/src/main/java/net/minecraft/network/Connection.java
@@ -792,11 +792,28 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -322,7 +320,7 @@ index bc75a81074c20bccad5fd1adf6aa8821f7ad2317..9d6738b431867836c5e64bc13e887fd4
public boolean isEncrypted() {
return this.encrypted;
-@@ -829,14 +846,15 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -837,14 +854,15 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
public void setupCompression(int compressionThreshold, boolean rejectsBadPackets) {
if (compressionThreshold >= 0) {
@@ -340,7 +338,7 @@ index bc75a81074c20bccad5fd1adf6aa8821f7ad2317..9d6738b431867836c5e64bc13e887fd4
}
channelhandler = this.channel.pipeline().get("compress");
-@@ -845,7 +863,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
+@@ -853,7 +871,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
packetcompressor.setThreshold(compressionThreshold);
} else {
diff --git a/patches/server/0976-Optimize-Collision-to-not-load-chunks.patch b/patches/server/1040-Optimize-Collision-to-not-load-chunks.patch
index 62ee13c684..1ae5b2022c 100644
--- a/patches/server/0976-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/1040-Optimize-Collision-to-not-load-chunks.patch
@@ -13,10 +13,8 @@ If that serting is not enabled, collisions will be ignored for players, since
movement will load only the chunk the player enters anyways and avoids loading
massive amounts of surrounding chunks due to large AABB lookups.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4848898823410009cf47e2a58f3d162006fd8b54..4f43f7892debfb59308d81b2647867c8b1f1b007 100644
+index 5d8ea207cd5a2e3d608bc01922d4430e0bb60f32..0deb12c9b5397695a363b9bb598843ed2b6e396c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -259,6 +259,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0977-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1041-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index 9a50ca7915..04866c7805 100644
--- a/patches/server/0977-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/1041-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
@@ -6,10 +6,8 @@ Subject: [PATCH] Optimize GoalSelector Goal.Flag Set operations
Optimise the stream.anyMatch statement to move to a bitset
where we can replace the call with a single bitwise operation.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
-index acc25b08ed3b9f978229fa017d23f9fa0da519e3..71c952621580fe95730835ed0eab7c9852550030 100644
+index 7a98d6e0d7e9b8d3967bf9498fd25a0c3148e039..6773b066f3278c79759a5fbce56aeb2464923425 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/Goal.java
@@ -7,7 +7,16 @@ import net.minecraft.world.entity.Entity;
@@ -46,7 +44,7 @@ index acc25b08ed3b9f978229fa017d23f9fa0da519e3..71c952621580fe95730835ed0eab7c98
}
@Override
-@@ -42,8 +56,10 @@ public abstract class Goal {
+@@ -42,17 +56,19 @@ public abstract class Goal {
return this.getClass().getSimpleName();
}
@@ -58,7 +56,18 @@ index acc25b08ed3b9f978229fa017d23f9fa0da519e3..71c952621580fe95730835ed0eab7c98
+ // Paper end - remove streams from pathfindergoalselector
}
- protected int adjustedTickDelay(int ticks) {
+ // Paper start - Mob Goal API
+ public boolean hasFlag(final Goal.Flag flag) {
+- return this.flags.contains(flag);
++ return this.goalTypes.hasElement(flag);
+ }
+
+ public void addFlag(final Goal.Flag flag) {
+- this.flags.add(flag);
++ this.goalTypes.addUnchecked(flag);
+ }
+ // Paper end - Mob Goal API
+
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
index d871975f943a04b49644dc6eb18314d65a7836dc..29ae74339a4831ccef3d01e8054931715ba192ad 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
diff --git a/patches/server/0978-Optimize-Hoppers.patch b/patches/server/1042-Optimize-Hoppers.patch
index 771a97def0..28044def80 100644
--- a/patches/server/0978-Optimize-Hoppers.patch
+++ b/patches/server/1042-Optimize-Hoppers.patch
@@ -12,8 +12,6 @@ Subject: [PATCH] Optimize Hoppers
* Don't check for Entities with Inventories if the block above us is also occluding (not just Inventoried)
* Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins)
-Feature patch
-
diff --git a/src/main/java/io/papermc/paper/event/inventory/PaperInventoryMoveItemEvent.java b/src/main/java/io/papermc/paper/event/inventory/PaperInventoryMoveItemEvent.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d074315488e8b3f60
@@ -52,10 +50,10 @@ index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d07431548
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c7f84fac5929046d06c38a7624c497dbcda2ff37..6bdc9dbbbe11b368892e77fe162199a40418cfde 100644
+index 682417e20459ffd576e494e1a279c477589103ba..ccbd76a7d1a3c29759aec86c5780cab6d244915d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1688,6 +1688,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1711,6 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
diff --git a/patches/server/0979-Optimize-Voxel-Shape-Merging.patch b/patches/server/1043-Optimize-Voxel-Shape-Merging.patch
index fe52a8b802..52246713b3 100644
--- a/patches/server/0979-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/1043-Optimize-Voxel-Shape-Merging.patch
@@ -29,8 +29,6 @@ and compute a deterministic result for the MergerList values.
Additionally, this lets us avoid even allocating new objects for this too, further
reducing memory usage.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java b/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java
index e164c524aef4fa81fe96ac43454eecff1c38b9c1..9cfbbc61fcfc678f0988d6d45c7994d128051744 100644
--- a/src/main/java/net/minecraft/world/phys/shapes/IndirectMerger.java
diff --git a/patches/server/0980-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1044-Optimize-Bit-Operations-by-inlining.patch
index e5cf9cb25d..63fe402931 100644
--- a/patches/server/0980-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/1044-Optimize-Bit-Operations-by-inlining.patch
@@ -6,8 +6,6 @@ Subject: [PATCH] Optimize Bit Operations by inlining
Inline bit operations and reduce instruction count to make these hot
operations faster
-Feature patch
-
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
index bf3eb9259f97d6d5af01244f103dc6b19c185d50..faffd87c357511ef00646971a16acf1009362c59 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
diff --git a/patches/server/0981-Remove-streams-from-hot-code.patch b/patches/server/1045-Remove-streams-from-hot-code.patch
index f1585163e2..e6f8c4dd49 100644
--- a/patches/server/0981-Remove-streams-from-hot-code.patch
+++ b/patches/server/1045-Remove-streams-from-hot-code.patch
@@ -3,8 +3,6 @@ From: JRoy <[email protected]>
Date: Wed, 1 Jul 2020 18:01:49 -0400
Subject: [PATCH] Remove streams from hot code
-Feature patch
-
Co-authored-by: Bjarne Koll <[email protected]>
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/patches/server/0982-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1046-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index edf50d7e23..b32ebf6b4e 100644
--- a/patches/server/0982-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/1046-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
@@ -15,8 +15,6 @@ Optimize collection by creating a list instead of a set of the key and value.
This lets us get faster foreach iteration, as well as avoids map lookups on
the values when needed.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java b/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
index 17006cd22152cf942455437ff7b21a8645259578..cc7d94144e39f7dace7b569b4567def98396e8f9 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/PathFinder.java
diff --git a/patches/server/0983-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1047-Fix-entity-type-tags-suggestions-in-selectors.patch
index 826ee39209..365ed610f6 100644
--- a/patches/server/0983-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/1047-Fix-entity-type-tags-suggestions-in-selectors.patch
@@ -9,8 +9,6 @@ when if this was fixed on the client, that wouldn't be needed.
Mojira Issue: https://bugs.mojang.com/browse/MC-235045
-Feature patch
-
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 3549ffea451b932602efb113844ba21a7bc72371..13bd145b1e8006a53c22f5dc0c78f29b540c7663 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -37,10 +35,10 @@ index 3549ffea451b932602efb113844ba21a7bc72371..13bd145b1e8006a53c22f5dc0c78f29b
+ // Paper end - tell clients to ask server for suggestions for EntityArguments
}
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
-index 62704cbfe3a232809b3e62d1f1d8beb3bea6496e..2daf16ae4a30fe03bc1a1bbc3eb95b3b7bcd83fa 100644
+index 56d6bbd37556f11a603aa3c8647217cc9a2dc5da..64bf4444ffba25cb40743a32267aa790ad1738f9 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
-@@ -537,6 +537,7 @@ public class Commands {
+@@ -534,6 +534,7 @@ public class Commands {
Iterator iterator = children.iterator();
// Paper end - Perf: Async command map building
@@ -48,7 +46,7 @@ index 62704cbfe3a232809b3e62d1f1d8beb3bea6496e..2daf16ae4a30fe03bc1a1bbc3eb95b3b
while (iterator.hasNext()) {
CommandNode<CommandSourceStack> commandnode2 = (CommandNode) iterator.next();
// Paper start - Brigadier API
-@@ -599,6 +600,12 @@ public class Commands {
+@@ -596,6 +597,12 @@ public class Commands {
if (requiredargumentbuilder.getSuggestionsProvider() != null) {
requiredargumentbuilder.suggests(SuggestionProviders.safelySwap(requiredargumentbuilder.getSuggestionsProvider()));
diff --git a/patches/server/0984-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1048-Handle-Oversized-block-entities-in-chunks.patch
index 5098df0611..d3283fd63f 100644
--- a/patches/server/0984-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/1048-Handle-Oversized-block-entities-in-chunks.patch
@@ -6,8 +6,6 @@ Subject: [PATCH] Handle Oversized block entities in chunks
Splits out Extra Packets if too many TE's are encountered to prevent
creating too large of a packet to sed.
-Feature patch
-
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
diff --git a/patches/server/0985-Check-distance-in-entity-interactions.patch b/patches/server/1049-Check-distance-in-entity-interactions.patch
index a48c51dc13..05295df130 100644
--- a/patches/server/0985-Check-distance-in-entity-interactions.patch
+++ b/patches/server/1049-Check-distance-in-entity-interactions.patch
@@ -3,13 +3,12 @@ From: Spottedleaf <[email protected]>
Date: Mon, 2 Aug 2021 10:10:40 +0200
Subject: [PATCH] Check distance in entity interactions
-Feature patch
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
-index cc5e2710d3edeaf60284ed95c33999c701d0678a..1a31024b46a5d7960f1e0f172f8ebcf396dd3139 100644
+index eb6a589280a433d915ad7c035b7ec4ddafb162a0..38ffa1c4c204f73746c4b87127de92b631548eb1 100644
--- a/src/main/java/net/minecraft/Util.java
+++ b/src/main/java/net/minecraft/Util.java
-@@ -128,6 +128,7 @@ public class Util {
+@@ -129,6 +129,7 @@ public class Util {
.filter(fileSystemProvider -> fileSystemProvider.getScheme().equalsIgnoreCase("jar"))
.findFirst()
.orElseThrow(() -> new IllegalStateException("No jar file system provider found"));
@@ -18,7 +17,7 @@ index cc5e2710d3edeaf60284ed95c33999c701d0678a..1a31024b46a5d7960f1e0f172f8ebcf3
};
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4eed8d90a8879e731ac9d7ae80d9b650fdcf4408..bf6ca618801cb0bb21792773b415fdd92a0d48e4 100644
+index bef31f70ed9bc9f4bea62dda2339b7a281485dce..44b63480923c068889972278adfffd0552d691c2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1467,7 +1467,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -30,7 +29,7 @@ index 4eed8d90a8879e731ac9d7ae80d9b650fdcf4408..bf6ca618801cb0bb21792773b415fdd9
LivingEntity entityliving = (LivingEntity) entity;
this.blockUsingShield(entityliving);
-@@ -1559,6 +1559,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -1563,6 +1563,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
d0 = source.getSourcePosition().x() - this.getX();
d1 = source.getSourcePosition().z() - this.getZ();
}
@@ -45,7 +44,7 @@ index 4eed8d90a8879e731ac9d7ae80d9b650fdcf4408..bf6ca618801cb0bb21792773b415fdd9
this.knockback(0.4000000059604645D, d0, d1, entity1, entity1 == null ? io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE : io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events
if (!flag) {
-@@ -2438,7 +2446,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2476,7 +2484,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING));
Entity entity = damagesource.getDirectEntity();
diff --git a/patches/server/0987-Properly-resend-entities.patch b/patches/server/1050-Properly-resend-entities.patch
index 05eba14048..d9186c61a6 100644
--- a/patches/server/0987-Properly-resend-entities.patch
+++ b/patches/server/1050-Properly-resend-entities.patch
@@ -19,8 +19,6 @@ and so we have to (forcibly) resend them in order for the client to reset their
See: https://github.com/PaperMC/Paper/pull/1896
-Feature patch
-
== AT ==
public net.minecraft.server.level.ChunkMap$TrackedEntity serverEntity
@@ -59,7 +57,7 @@ index 02bf2705ca1c99023a83a22d92e1962181102297..0f99733660f91280e4c6262cf75b3c9c
final EntityDataAccessor<T> accessor;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
-index f2dd272a01b4e946a6746865d55ebc9861f8361b..5d189ba60d40f5c42b2dacc339594ed067418e95 100644
+index fdba8a7344760c5903f838d0e0d65edef23262bb..504c996220b278c194c93e001a3b326d549868ec 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -567,6 +567,7 @@ public class ServerPlayerGameMode {
@@ -70,7 +68,7 @@ index f2dd272a01b4e946a6746865d55ebc9861f8361b..5d189ba60d40f5c42b2dacc339594ed0
return (event.useItemInHand() != Event.Result.ALLOW) ? InteractionResult.SUCCESS : InteractionResult.PASS;
} else if (this.gameModeForPlayer == GameType.SPECTATOR) {
MenuProvider itileinventory = iblockdata.getMenuProvider(world, blockposition);
-@@ -618,6 +619,11 @@ public class ServerPlayerGameMode {
+@@ -617,6 +618,11 @@ public class ServerPlayerGameMode {
return enuminteractionresult;
} else {
@@ -83,7 +81,7 @@ index f2dd272a01b4e946a6746865d55ebc9861f8361b..5d189ba60d40f5c42b2dacc339594ed0
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 401f4a071847cb987dbff3ae0e989d3a04fd9a7d..719e9e4df3b833c4ac0418f7db913c45a1020b44 100644
+index cfad5925f7d6b9970e8abef981b67e805bf1866a..8cae479d7b299ff4215c80fa2bbebf41ca967df6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2026,6 +2026,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -94,7 +92,7 @@ index 401f4a071847cb987dbff3ae0e989d3a04fd9a7d..719e9e4df3b833c4ac0418f7db913c45
this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524
return;
}
-@@ -2804,7 +2805,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
+@@ -2816,7 +2817,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
// Entity in bucket - SPIGOT-4048 and SPIGOT-6859a
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
@@ -104,7 +102,7 @@ index 401f4a071847cb987dbff3ae0e989d3a04fd9a7d..719e9e4df3b833c4ac0418f7db913c45
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 0a328ec362c3c21b5b8634f8fba844b143a24509..2d4baf17b1994647fd91083850363a36aa4ca76a 100644
+index 4efdd8f0ca73b59eb90abfe1fadbcb34d845fcd4..c68040a59fa8aa9b8b9f1e0b4fdded565ea592d9 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -396,7 +396,7 @@ public abstract class PlayerList {
@@ -116,7 +114,7 @@ index 0a328ec362c3c21b5b8634f8fba844b143a24509..2d4baf17b1994647fd91083850363a36
this.sendLevelInfo(player, worldserver1);
-@@ -907,12 +907,17 @@ public abstract class PlayerList {
+@@ -913,12 +913,17 @@ public abstract class PlayerList {
}
public void sendActiveEffects(LivingEntity entity, ServerGamePacketListenerImpl networkHandler) {
@@ -136,10 +134,10 @@ index 0a328ec362c3c21b5b8634f8fba844b143a24509..2d4baf17b1994647fd91083850363a36
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index f4701ead72ca871792b599903e61cc94392067c3..717c1a43352d48e8b0744cf1dcf31d6754428b1f 100644
+index 0deb12c9b5397695a363b9bb598843ed2b6e396c..7496260370adc6f627288637c53a652d27a6cd84 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -599,13 +599,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -601,13 +601,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
public void refreshEntityData(ServerPlayer to) {
@@ -188,10 +186,10 @@ index f4701ead72ca871792b599903e61cc94392067c3..717c1a43352d48e8b0744cf1dcf31d67
public boolean equals(Object object) {
return object instanceof Entity ? ((Entity) object).id == this.id : false;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index bf6ca618801cb0bb21792773b415fdd92a0d48e4..902b756a05bee72573102111ddd6f7b225277171 100644
+index 44b63480923c068889972278adfffd0552d691c2..d54f6f1f8ef4df5233478d6341f3181e8c1baace 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4037,6 +4037,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4075,6 +4075,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
return ((Byte) this.entityData.get(LivingEntity.DATA_LIVING_ENTITY_FLAGS) & 2) > 0 ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND;
}
@@ -284,7 +282,7 @@ index 04760d8ba7c560bd9d11191c666715ae8c3e4bff..021169d709964b1bb65e49bf3fcf3119
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 2298b3203ce6bf8aca9f819fe27ab5ef6594dbed..628dd0d2ba78a36a2d64e4ece9bc395d38f833ca 100644
+index 7142319f6779078e65369bc406d898473abee85e..b25b10c24a379097233e61bcc10add841b6a7115 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1008,7 +1008,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0993-optimize-dirt-and-snow-spreading.patch b/patches/server/1051-optimize-dirt-and-snow-spreading.patch
index c3cd16bd38..bdf5b94547 100644
--- a/patches/server/0993-optimize-dirt-and-snow-spreading.patch
+++ b/patches/server/1051-optimize-dirt-and-snow-spreading.patch
@@ -3,7 +3,6 @@ From: lukas81298 <[email protected]>
Date: Fri, 22 Jan 2021 21:50:18 +0100
Subject: [PATCH] optimize dirt and snow spreading
-Feature patch
diff --git a/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java b/src/main/java/net/minecraft/world/level/block/SpreadingSnowyDirtBlock.java
index 30047cbef0ef54ad326e71761cba64887624d493..4e38d2e0ce156b4edbef67c82c845ceeebbbcd59 100644
diff --git a/patches/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/patches/server/1052-Optimise-getChunkAt-calls-for-loaded-chunks.patch
index 45e56cdb47..a18ef75e66 100644
--- a/patches/server/0308-Optimise-getChunkAt-calls-for-loaded-chunks.patch
+++ b/patches/server/1052-Optimise-getChunkAt-calls-for-loaded-chunks.patch
@@ -7,7 +7,7 @@ bypass the need to get a player chunk, then get the either,
then unwrap it...
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
-index f4fa64ab18573cb9a22a9bfb79a351c388d1aaa5..2bd7f0554bdf668930c990156f65e97e4b64d8bc 100644
+index df51c80b73e9922e4b0a1f2291ebabbb74d809ff..6a2af3cd3aebe525a5ff41a801929547d59b8fec 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -194,6 +194,12 @@ public class ServerChunkCache extends ChunkSource {
@@ -23,7 +23,7 @@ index f4fa64ab18573cb9a22a9bfb79a351c388d1aaa5..2bd7f0554bdf668930c990156f65e97e
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.incrementCounter("getChunk");
-@@ -233,33 +239,7 @@ public class ServerChunkCache extends ChunkSource {
+@@ -234,33 +240,7 @@ public class ServerChunkCache extends ChunkSource {
if (Thread.currentThread() != this.mainThread) {
return null;
} else {
diff --git a/patches/server/1034-Rewrite-dataconverter-system.patch b/patches/server/1053-Rewrite-dataconverter-system.patch
index 6b9ead3f85..63a36045f0 100644
--- a/patches/server/1034-Rewrite-dataconverter-system.patch
+++ b/patches/server/1053-Rewrite-dataconverter-system.patch
@@ -30621,11 +30621,11 @@ index 96aea6d8cb68dd033c31cbde9d73ee490f320501..c51d71dd24cd28c22cda83cc3128c414
return structureTemplate.save(new CompoundTag());
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 8d9ddcb1652526c21c4004c6b0e1c83bc33d3934..e6f9fab80b1c3402c96e7c118d0fde5957ee9845 100644
+index ccbd76a7d1a3c29759aec86c5780cab6d244915d..807d05097f7313361eadb600187421d25e294413 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -330,6 +330,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
+@@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ private final Set<String> pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
+ ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
@@ -30769,7 +30769,7 @@ index b54a3741cd3ba615c83c98985cb4b3c4c586ed7a..b148cf247acdd36f856d0495cde4cc5a
return nbttagcompound;
});
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ffbb1763f245a97da58a7d9eae627e61ce200da4..15892c7769caa15f3d52a1ee2147cf9615aa0e25 100644
+index 0e8f4710c0ce05e8cd42cbbc9fedc05bf8585a19..15892c7769caa15f3d52a1ee2147cf9615aa0e25 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -523,7 +523,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -30781,7 +30781,19 @@ index ffbb1763f245a97da58a7d9eae627e61ce200da4..15892c7769caa15f3d52a1ee2147cf96
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow());
}
-@@ -577,7 +577,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -552,7 +552,10 @@ public final class CraftMagicNumbers implements UnsafeValues {
+
+ final int dataVersion = data.get("DataVersion").getAsInt();
+ final int currentVersion = org.bukkit.craftbukkit.util.CraftMagicNumbers.INSTANCE.getDataVersion();
+- data = (com.google.gson.JsonObject) MinecraftServer.getServer().fixerUpper.update(References.ITEM_STACK, new Dynamic<>(com.mojang.serialization.JsonOps.INSTANCE, data), dataVersion, currentVersion).getValue();
++ data = ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertJson(
++ ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK,
++ data, false, dataVersion, currentVersion
++ );
+ com.mojang.serialization.DynamicOps<com.google.gson.JsonElement> ops = MinecraftServer.getServer().registryAccess().createSerializationContext(com.mojang.serialization.JsonOps.INSTANCE);
+ return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.CODEC.parse(ops, data).getOrThrow(IllegalArgumentException::new));
+ }
+@@ -574,7 +577,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.nbt.CompoundTag compound = deserializeNbtFromBytes(data);
int dataVersion = compound.getInt("DataVersion");
diff --git a/patches/server/1035-Moonrise-optimisation-patches.patch b/patches/server/1054-Moonrise-optimisation-patches.patch
index c8366ad1f0..71f20bc7d9 100644
--- a/patches/server/1035-Moonrise-optimisation-patches.patch
+++ b/patches/server/1054-Moonrise-optimisation-patches.patch
@@ -17,6 +17,285 @@ Currently includes:
See https://github.com/Tuinity/Moonrise
+diff --git a/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..7e440b4a46b040365df7317035e577d93e7d855d
+--- /dev/null
++++ b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java
+@@ -0,0 +1,273 @@
++package ca.spottedleaf.moonrise.common.misc;
++
++import ca.spottedleaf.moonrise.common.list.ReferenceList;
++import ca.spottedleaf.moonrise.common.util.CoordinateUtils;
++import ca.spottedleaf.moonrise.common.util.MoonriseConstants;
++import ca.spottedleaf.moonrise.common.util.ChunkSystem;
++import ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel;
++import ca.spottedleaf.moonrise.patches.chunk_system.level.chunk.ChunkData;
++import ca.spottedleaf.moonrise.patches.chunk_tick_iteration.ChunkTickConstants;
++import ca.spottedleaf.moonrise.patches.chunk_tick_iteration.ChunkTickServerLevel;
++import it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap;
++import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap;
++import net.minecraft.core.BlockPos;
++import net.minecraft.server.level.ServerLevel;
++import net.minecraft.server.level.ServerPlayer;
++import net.minecraft.world.level.ChunkPos;
++import java.util.ArrayList;
++
++public final class NearbyPlayers {
++
++ public static enum NearbyMapType {
++ GENERAL,
++ GENERAL_SMALL,
++ GENERAL_REALLY_SMALL,
++ TICK_VIEW_DISTANCE,
++ VIEW_DISTANCE,
++ // Moonrise start - chunk tick iteration
++ SPAWN_RANGE {
++ @Override
++ void addTo(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
++ ((ChunkTickServerLevel)world).moonrise$addPlayerTickingRequest(chunkX, chunkZ);
++ }
++
++ @Override
++ void removeFrom(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
++ ((ChunkTickServerLevel)world).moonrise$removePlayerTickingRequest(chunkX, chunkZ);
++ }
++ };
++ // Moonrise end - chunk tick iteration
++
++ void addTo(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
++
++ }
++
++ void removeFrom(final ServerPlayer player, final ServerLevel world, final int chunkX, final int chunkZ) {
++
++ }
++ }
++
++ private static final NearbyMapType[] MAP_TYPES = NearbyMapType.values();
++ public static final int TOTAL_MAP_TYPES = MAP_TYPES.length;
++
++ private static final int GENERAL_AREA_VIEW_DISTANCE = MoonriseConstants.MAX_VIEW_DISTANCE + 1;
++ private static final int GENERAL_SMALL_VIEW_DISTANCE = 10;
++ private static final int GENERAL_REALLY_SMALL_VIEW_DISTANCE = 3;
++
++ public static final int GENERAL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_AREA_VIEW_DISTANCE << 4);
++ public static final int GENERAL_SMALL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_SMALL_VIEW_DISTANCE << 4);
++ public static final int GENERAL_REALLY_SMALL_AREA_VIEW_DISTANCE_BLOCKS = (GENERAL_REALLY_SMALL_VIEW_DISTANCE << 4);
++
++ private final ServerLevel world;
++ private final Reference2ReferenceOpenHashMap<ServerPlayer, TrackedPlayer[]> players = new Reference2ReferenceOpenHashMap<>();
++ private final Long2ReferenceOpenHashMap<TrackedChunk> byChunk = new Long2ReferenceOpenHashMap<>();
++ private final Long2ReferenceOpenHashMap<ReferenceList<ServerPlayer>>[] directByChunk = new Long2ReferenceOpenHashMap[TOTAL_MAP_TYPES];
++ {
++ for (int i = 0; i < this.directByChunk.length; ++i) {
++ this.directByChunk[i] = new Long2ReferenceOpenHashMap<>();
++ }
++ }
++
++ public NearbyPlayers(final ServerLevel world) {
++ this.world = world;
++ }
++
++ public void addPlayer(final ServerPlayer player) {
++ final TrackedPlayer[] newTrackers = new TrackedPlayer[TOTAL_MAP_TYPES];
++ if (this.players.putIfAbsent(player, newTrackers) != null) {
++ throw new IllegalStateException("Already have player " + player);
++ }
++
++ final ChunkPos chunk = player.chunkPosition();
++
++ for (int i = 0; i < TOTAL_MAP_TYPES; ++i) {
++ // use 0 for default, will be updated by tickPlayer
++ (newTrackers[i] = new TrackedPlayer(player, MAP_TYPES[i])).add(chunk.x, chunk.z, 0);
++ }
++
++ // update view distances
++ this.tickPlayer(player);
++ }
++
++ public void removePlayer(final ServerPlayer player) {
++ final TrackedPlayer[] players = this.players.remove(player);
++ if (players == null) {
++ return; // May be called during teleportation before the player is actually placed
++ }
++
++ for (final TrackedPlayer tracker : players) {
++ tracker.remove();
++ }
++ }
++
++ public void clear() {
++ if (this.players.isEmpty()) {
++ return;
++ }
++
++ for (final ServerPlayer player : new ArrayList<>(this.players.keySet())) {
++ this.removePlayer(player);
++ }
++ }
++
++ public void tickPlayer(final ServerPlayer player) {
++ final TrackedPlayer[] players = this.players.get(player);
++ if (players == null) {
++ throw new IllegalStateException("Don't have player " + player);
++ }
++
++ final ChunkPos chunk = player.chunkPosition();
++
++ players[NearbyMapType.GENERAL.ordinal()].update(chunk.x, chunk.z, GENERAL_AREA_VIEW_DISTANCE);
++ players[NearbyMapType.GENERAL_SMALL.ordinal()].update(chunk.x, chunk.z, GENERAL_SMALL_VIEW_DISTANCE);
++ players[NearbyMapType.GENERAL_REALLY_SMALL.ordinal()].update(chunk.x, chunk.z, GENERAL_REALLY_SMALL_VIEW_DISTANCE);
++ players[NearbyMapType.TICK_VIEW_DISTANCE.ordinal()].update(chunk.x, chunk.z, ChunkSystem.getTickViewDistance(player));
++ players[NearbyMapType.VIEW_DISTANCE.ordinal()].update(chunk.x, chunk.z, ChunkSystem.getViewDistance(player));
++ players[NearbyMapType.SPAWN_RANGE.ordinal()].update(chunk.x, chunk.z, ChunkTickConstants.PLAYER_SPAWN_TRACK_RANGE); // Moonrise - chunk tick iteration
++ }
++
++ public TrackedChunk getChunk(final ChunkPos pos) {
++ return this.byChunk.get(CoordinateUtils.getChunkKey(pos));
++ }
++
++ public TrackedChunk getChunk(final BlockPos pos) {
++ return this.byChunk.get(CoordinateUtils.getChunkKey(pos));
++ }
++
++ public TrackedChunk getChunk(final int chunkX, final int chunkZ) {
++ return this.byChunk.get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
++ }
++
++ public ReferenceList<ServerPlayer> getPlayers(final BlockPos pos, final NearbyMapType type) {
++ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(pos));
++ }
++
++ public ReferenceList<ServerPlayer> getPlayers(final ChunkPos pos, final NearbyMapType type) {
++ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(pos));
++ }
++
++ public ReferenceList<ServerPlayer> getPlayersByChunk(final int chunkX, final int chunkZ, final NearbyMapType type) {
++ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(chunkX, chunkZ));
++ }
++
++ public ReferenceList<ServerPlayer> getPlayersByBlock(final int blockX, final int blockZ, final NearbyMapType type) {
++ return this.directByChunk[type.ordinal()].get(CoordinateUtils.getChunkKey(blockX >> 4, blockZ >> 4));
++ }
++
++ public static final class TrackedChunk {
++
++ private static final ServerPlayer[] EMPTY_PLAYERS_ARRAY = new ServerPlayer[0];
++
++ private final long chunkKey;
++ private final NearbyPlayers nearbyPlayers;
++ private final ReferenceList<ServerPlayer>[] players = new ReferenceList[TOTAL_MAP_TYPES];
++ private int nonEmptyLists;
++ private long updateCount;
++
++ public TrackedChunk(final long chunkKey, final NearbyPlayers nearbyPlayers) {
++ this.chunkKey = chunkKey;
++ this.nearbyPlayers = nearbyPlayers;
++ }
++
++ public boolean isEmpty() {
++ return this.nonEmptyLists == 0;
++ }
++
++ public long getUpdateCount() {
++ return this.updateCount;
++ }
++
++ public ReferenceList<ServerPlayer> getPlayers(final NearbyMapType type) {
++ return this.players[type.ordinal()];
++ }
++
++ public void addPlayer(final ServerPlayer player, final NearbyMapType type) {
++ ++this.updateCount;
++
++ final int idx = type.ordinal();
++ final ReferenceList<ServerPlayer> list = this.players[idx];
++ if (list == null) {
++ ++this.nonEmptyLists;
++ final ReferenceList<ServerPlayer> players = (this.players[idx] = new ReferenceList<>(EMPTY_PLAYERS_ARRAY));
++ this.nearbyPlayers.directByChunk[idx].put(this.chunkKey, players);
++ players.add(player);
++ return;
++ }
++
++ if (!list.add(player)) {
++ throw new IllegalStateException("Already contains player " + player);
++ }
++ }
++
++ public void removePlayer(final ServerPlayer player, final NearbyMapType type) {
++ ++this.updateCount;
++
++ final int idx = type.ordinal();
++ final ReferenceList<ServerPlayer> list = this.players[idx];
++ if (list == null) {
++ throw new IllegalStateException("Does not contain player " + player);
++ }
++
++ if (!list.remove(player)) {
++ throw new IllegalStateException("Does not contain player " + player);
++ }
++
++ if (list.size() == 0) {
++ this.players[idx] = null;
++ this.nearbyPlayers.directByChunk[idx].remove(this.chunkKey);
++ --this.nonEmptyLists;
++ }
++ }
++ }
++
++ private final class TrackedPlayer extends SingleUserAreaMap<ServerPlayer> {
++
++ private final NearbyMapType type;
++
++ public TrackedPlayer(final ServerPlayer player, final NearbyMapType type) {
++ super(player);
++ this.type = type;
++ }
++
++ @Override
++ protected void addCallback(final ServerPlayer parameter, final int chunkX, final int chunkZ) {
++ final long chunkKey = CoordinateUtils.getChunkKey(chunkX, chunkZ);
++
++ final TrackedChunk chunk = NearbyPlayers.this.byChunk.get(chunkKey);
++ final NearbyMapType type = this.type;
++ if (chunk != null) {
++ chunk.addPlayer(parameter, type);
++ type.addTo(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
++ } else {
++ final TrackedChunk created = new TrackedChunk(chunkKey, NearbyPlayers.this);
++ NearbyPlayers.this.byChunk.put(chunkKey, created);
++ created.addPlayer(parameter, type);
++ type.addTo(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
++
++ ((ChunkSystemLevel)NearbyPlayers.this.world).moonrise$requestChunkData(chunkKey).nearbyPlayers = created;
++ }
++ }
++
++ @Override
++ protected void removeCallback(final ServerPlayer parameter, final int chunkX, final int chunkZ) {
++ final long chunkKey = CoordinateUtils.getChunkKey(chunkX, chunkZ);
++
++ final TrackedChunk chunk = NearbyPlayers.this.byChunk.get(chunkKey);
++ if (chunk == null) {
++ throw new IllegalStateException("Chunk should exist at " + new ChunkPos(chunkKey));
++ }
++
++ final NearbyMapType type = this.type;
++ chunk.removePlayer(parameter, type);
++ type.removeFrom(parameter, NearbyPlayers.this.world, chunkX, chunkZ);
++
++ if (chunk.isEmpty()) {
++ NearbyPlayers.this.byChunk.remove(chunkKey);
++ final ChunkData chunkData = ((ChunkSystemLevel)NearbyPlayers.this.world).moonrise$releaseChunkData(chunkKey);
++ if (chunkData != null) {
++ chunkData.nearbyPlayers = null;
++ }
++ }
++ }
++ }
++}
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java b/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
index 58a99bc38e137431f10af36fa9e2d04fe61694aa..1d288e73fd8605676c0da676e068afb5b4b8abea 100644
--- a/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
@@ -23100,7 +23379,7 @@ index 731bdabd53fd4a3d17494f26781223097a5d6e16..42d46c7a7437bea5335a23cbee5708ac
DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, worldLoader.get(), thread, convertable_conversionsession, resourcepackrepository, worldstem, dedicatedserversettings, DataFixers.getDataFixer(), services, LoggerChunkProgressListener::createFromGameruleRadius);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e 100644
+index 807d05097f7313361eadb600187421d25e294413..5e7ba47247fc9b6bc8da86d8f67c6cd923cd0b1e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -204,7 +204,7 @@ import org.bukkit.event.server.ServerLoadEvent;
@@ -23112,7 +23391,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
private static MinecraftServer SERVER; // Paper
public static final Logger LOGGER = LogUtils.getLogger();
-@@ -332,7 +332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -333,7 +333,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
AtomicReference<S> atomicreference = new AtomicReference();
@@ -23121,7 +23400,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
((MinecraftServer) atomicreference.get()).runServer();
}, "Server thread");
-@@ -351,6 +351,77 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -352,6 +352,77 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return s0;
}
@@ -23199,7 +23478,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server");
SERVER = this; // Paper - better singleton
-@@ -671,7 +742,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -672,7 +743,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.forceDifficulty();
for (ServerLevel worldserver : this.getAllLevels()) {
this.prepareLevels(worldserver.getChunkSource().chunkMap.progressListener, worldserver);
@@ -23208,7 +23487,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
}
-@@ -884,6 +955,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -888,6 +959,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public abstract boolean shouldRconBroadcast();
public boolean saveAllChunks(boolean suppressLogs, boolean flush, boolean force) {
@@ -23220,7 +23499,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
boolean flag3 = false;
for (Iterator iterator = this.getAllLevels().iterator(); iterator.hasNext(); flag3 = true) {
-@@ -893,7 +969,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -897,7 +973,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Saving chunks for level '{}'/{}", worldserver, worldserver.dimension().location());
}
@@ -23229,7 +23508,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
}
// CraftBukkit start - moved to WorldServer.save
-@@ -993,7 +1069,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -998,7 +1074,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
@@ -23238,7 +23517,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
return worldserver1.getChunkSource().chunkMap.hasWork();
})) {
this.nextTickTimeNanos = Util.getNanos() + TimeUtil.NANOSECONDS_PER_MILLISECOND;
-@@ -1010,19 +1086,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1015,19 +1091,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.waitUntilNextTick();
}
@@ -23259,7 +23538,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
this.isSaving = false;
this.resources.close();
-@@ -1042,6 +1106,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1047,6 +1111,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Spigot end
@@ -23274,7 +23553,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
}
public String getLocalIp() {
-@@ -1222,6 +1294,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1228,6 +1300,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(flag ? () -> {
return false;
} : this::haveTime);
@@ -23288,7 +23567,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
this.tickFrame.end();
gameprofilerfiller.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
-@@ -1426,6 +1505,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1432,6 +1511,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private boolean pollTaskInternal() {
if (super.pollTask()) {
@@ -23296,7 +23575,7 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
return true;
} else {
boolean ret = false; // Paper - force execution of all worlds, do not just bias the first
-@@ -2690,6 +2770,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2713,6 +2793,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -23311,10 +23590,10 @@ index e6f9fab80b1c3402c96e7c118d0fde5957ee9845..98a7bcb7bf356c4a0894b7e12ccd676f
public boolean isDebugging() {
return false;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index cce0e570c8217c8e7cc81642d303e1b96f70f4f3..bf2bae3166df06be240dbbeecce16a24c85897a9 100644
+index 2f47d95943c00020a24ea3ff1a49e64e114de675..0dd9ed7465d222505d5368781654ec4954f6e5c3 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-@@ -456,7 +456,33 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+@@ -458,7 +458,33 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
return world.dimension() == net.minecraft.world.level.Level.NETHER ? this.getProperties().allowNether : true;
}
@@ -23838,22 +24117,20 @@ index b9ab241b930edc63a39dbbcf14cd0b5edacb9ea9..8dd9375f2ad2c65a773a3195aeff1f97
@FunctionalInterface
diff --git a/src/main/java/net/minecraft/server/level/ChunkLevel.java b/src/main/java/net/minecraft/server/level/ChunkLevel.java
-index d9ad32acdf46a43a649334a3b736aeb7b3af21d1..fae17a075d7efaf24d916877dd5968eb9652bb66 100644
+index 11b30b6daa1d049634350e34502c701e9800add4..fae17a075d7efaf24d916877dd5968eb9652bb66 100644
--- a/src/main/java/net/minecraft/server/level/ChunkLevel.java
+++ b/src/main/java/net/minecraft/server/level/ChunkLevel.java
-@@ -7,9 +7,9 @@ import net.minecraft.world.level.chunk.status.ChunkStep;
+@@ -7,8 +7,8 @@ import net.minecraft.world.level.chunk.status.ChunkStep;
import org.jetbrains.annotations.Contract;
public class ChunkLevel {
- private static final int FULL_CHUNK_LEVEL = 33;
- private static final int BLOCK_TICKING_LEVEL = 32;
-- private static final int ENTITY_TICKING_LEVEL = 31;
+ public static final int FULL_CHUNK_LEVEL = 33;
+ public static final int BLOCK_TICKING_LEVEL = 32;
-+ public static final int ENTITY_TICKING_LEVEL = 31;
+ public static final int ENTITY_TICKING_LEVEL = 31;
private static final ChunkStep FULL_CHUNK_STEP = ChunkPyramid.GENERATION_PYRAMID.getStepTo(ChunkStatus.FULL);
public static final int RADIUS_AROUND_FULL_CHUNK = FULL_CHUNK_STEP.accumulatedDependencies().getRadius();
- public static final int MAX_LEVEL = 33 + RADIUS_AROUND_FULL_CHUNK;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index e9b585387f6cbc454e7b16feb36a256e733c5488..67cfc3236a39008cfcf3acffefafda1a604b8573 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -26509,7 +26786,7 @@ index d5bc702f2676b1b7a32c8f3a4a349fc2710ee825..301e8d6599d200cb0f1328f0e386af2f
if (!list.equals(this.lastPassengers)) {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bfeebc7591 100644
+index 6c71ef3c7430623900a7021f853d2bb514273e4d..cf692267c6376ed8484478dc90f4f905d8325618 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -186,7 +186,7 @@ import org.bukkit.event.weather.LightningStrikeEvent;
@@ -27144,7 +27421,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
return false;
} else {
this.addFreshEntityWithPassengers(entity, reason); // CraftBukkit
-@@ -1916,7 +2210,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1924,7 +2218,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
@@ -27153,7 +27430,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
bufferedwriter.write(String.format(Locale.ROOT, "block_entity_tickers: %d\n", this.blockEntityTickers.size()));
bufferedwriter.write(String.format(Locale.ROOT, "block_ticks: %d\n", this.getBlockTicks().count()));
bufferedwriter.write(String.format(Locale.ROOT, "fluid_ticks: %d\n", this.getFluidTicks().count()));
-@@ -1965,7 +2259,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1973,7 +2267,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
BufferedWriter bufferedwriter2 = Files.newBufferedWriter(path1);
try {
@@ -27162,7 +27439,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
} catch (Throwable throwable4) {
if (bufferedwriter2 != null) {
try {
-@@ -1986,7 +2280,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1994,7 +2288,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
BufferedWriter bufferedwriter3 = Files.newBufferedWriter(path2);
try {
@@ -27171,7 +27448,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
} catch (Throwable throwable6) {
if (bufferedwriter3 != null) {
try {
-@@ -2128,7 +2422,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2136,7 +2430,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@VisibleForTesting
public String getWatchdogStats() {
@@ -27180,7 +27457,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
return BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString();
}), this.blockEntityTickers.size(), ServerLevel.getTypeCount(this.blockEntityTickers, TickingBlockEntity::getType), this.getBlockTicks().count(), this.getFluidTicks().count(), this.gatherChunkSourceStats());
}
-@@ -2158,15 +2452,25 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2166,15 +2460,25 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public LevelEntityGetter<Entity> getEntities() {
org.spigotmc.AsyncCatcher.catchOp("Chunk getEntities call"); // Spigot
@@ -27209,7 +27486,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
}
public void startTickingChunk(LevelChunk chunk) {
-@@ -2186,34 +2490,47 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2194,34 +2498,47 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void close() throws IOException {
super.close();
@@ -27264,7 +27541,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
}
@Override
-@@ -2269,7 +2586,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2277,7 +2594,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
CrashReportCategory crashreportsystemdetails = super.fillReportDetails(report);
crashreportsystemdetails.setDetail("Loaded entity count", () -> {
@@ -27274,7 +27551,7 @@ index 6947cba2daae941924f9c9726411c7ae6e4ccfa5..33267af4258f36df0d9525ac581b52bf
return crashreportsystemdetails;
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 85394cd2c69cad0ce59160734037a03d6d1ab330..9b61fb06875c8070dba30ee541f85b4eed589681 100644
+index f6e3073e1f1ff99f6917d84974a18e3e756fa9ea..ba873bcc183f9b3f64ba39be08cb88a95ff52b0e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -217,7 +217,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@@ -27755,10 +28032,10 @@ index b7d29389a357f142237cecd75f8ca91cf1eb6b5b..e4b0dc3121101d54394a0c3a413dabf8
this.generatingStep = generationStep;
this.cache = chunks;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 2d4baf17b1994647fd91083850363a36aa4ca76a..6444d7d4523a0de7a03ad0db6c326901c1ac0117 100644
+index c68040a59fa8aa9b8b9f1e0b4fdded565ea592d9..7913c41aac1f9dd53a2b49da2a17fd894bcb6b3a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
-@@ -1420,7 +1420,7 @@ public abstract class PlayerList {
+@@ -1426,7 +1426,7 @@ public abstract class PlayerList {
public void setViewDistance(int viewDistance) {
this.viewDistance = viewDistance;
@@ -27767,7 +28044,7 @@ index 2d4baf17b1994647fd91083850363a36aa4ca76a..6444d7d4523a0de7a03ad0db6c326901
Iterator iterator = this.server.getAllLevels().iterator();
while (iterator.hasNext()) {
-@@ -1435,7 +1435,7 @@ public abstract class PlayerList {
+@@ -1441,7 +1441,7 @@ public abstract class PlayerList {
public void setSimulationDistance(int simulationDistance) {
this.simulationDistance = simulationDistance;
@@ -28154,7 +28431,7 @@ index 50040c497a819cd1229042ab3cb057d34a32cacc..1f9c436a632e4f110be61cf76fcfc3b7
+ // Paper end - block counting
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bbd976f926 100644
+index 7496260370adc6f627288637c53a652d27a6cd84..d08a9a8618be72b418d849846a5a433250f5b73d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -176,7 +176,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
@@ -28248,7 +28525,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
}
// Paper end - Share random for entities to make them more random
public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason; // Paper - Entity#getEntitySpawnReason
-@@ -461,6 +417,156 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -462,6 +418,156 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.dimensions.makeBoundingBox(x, y, z);
}
// Paper end
@@ -28405,7 +28682,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
-@@ -1379,41 +1485,76 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1387,41 +1493,76 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
private Vec3 collide(Vec3 movement) {
@@ -28510,7 +28787,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
}
private static float[] collectCandidateStepUpHeights(AABB collisionBox, List<VoxelShape> collisions, float f, float stepHeight) {
-@@ -2813,18 +2954,110 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2821,18 +2962,110 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean isInWall() {
@@ -28628,7 +28905,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
}
public InteractionResult interact(Player player, InteractionHand hand) {
-@@ -4302,14 +4535,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4310,14 +4543,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public Iterable<Entity> getIndirectPassengers() {
@@ -28653,7 +28930,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
}
private Iterable<Entity> getIndirectPassengers_old() {
// Paper end - Optimize indirect passenger iteration
-@@ -4467,82 +4703,136 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4475,82 +4711,136 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Mth.lerp(delta, this.yRotO, this.yRot);
}
@@ -28848,7 +29125,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
public boolean touchingUnloadedChunk() {
AABB axisalignedbb = this.getBoundingBox().inflate(1.0D);
-@@ -4694,6 +4984,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4702,6 +4992,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setPosRaw(x, y, z, false);
}
public final void setPosRaw(double x, double y, double z, boolean forceBoundingBoxUpdate) {
@@ -28864,7 +29141,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
if (!checkPosition(this, x, y, z)) {
return;
}
-@@ -4823,6 +5122,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4831,6 +5130,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Override
public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) {
@@ -28877,7 +29154,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
CraftEventFactory.callEntityRemoveEvent(this, cause);
// CraftBukkit end
final boolean alreadyRemoved = this.removalReason != null; // Paper - Folia schedulers
-@@ -4834,7 +5139,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4842,7 +5147,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.stopRiding();
}
@@ -28886,7 +29163,7 @@ index 4304beeca3c0cd7ef224f9ed74ec49066f1e22a0..e11d8a1d1ae0485be243eb04f40051bb
this.levelCallback.onRemove(entity_removalreason);
this.onRemoval(entity_removalreason);
// Paper start - Folia schedulers
-@@ -4866,7 +5171,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4874,7 +5179,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Override
public boolean shouldBeSaved() {
@@ -35836,10 +36113,10 @@ index 028174f712ea9605f22243b76c3f5dd6da76b57f..2dd38f40c8c0b48b12ffe557ceeed692
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 87477ad186b5f692a39f323a618d016b669d8051..1df118625aeb57f3353c40f9552f00d2f34fc655 100644
+index ef836e1a6481775263bdbe3668febd577ac96aec..ac8af406180bc680d46e8edc3da0fc2e5211345a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -1444,7 +1444,7 @@ public final class CraftServer implements Server {
+@@ -1448,7 +1448,7 @@ public final class CraftServer implements Server {
// Paper - Put world into worldlist before initing the world; move up
this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal);
@@ -35848,7 +36125,7 @@ index 87477ad186b5f692a39f323a618d016b669d8051..1df118625aeb57f3353c40f9552f00d2
this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld()));
return internal.getWorld();
-@@ -1489,7 +1489,7 @@ public final class CraftServer implements Server {
+@@ -1493,7 +1493,7 @@ public final class CraftServer implements Server {
}
handle.getChunkSource().close(save);
@@ -35857,7 +36134,7 @@ index 87477ad186b5f692a39f323a618d016b669d8051..1df118625aeb57f3353c40f9552f00d2
handle.convertable.close();
} catch (Exception ex) {
this.getLogger().log(Level.SEVERE, null, ex);
-@@ -2527,7 +2527,7 @@ public final class CraftServer implements Server {
+@@ -2531,7 +2531,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@@ -35867,10 +36144,10 @@ index 87477ad186b5f692a39f323a618d016b669d8051..1df118625aeb57f3353c40f9552f00d2
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e0e4f7323 100644
+index 2ead4edd2e6298ea3c22490e91319c64752815fc..a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -489,10 +489,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -506,10 +506,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -35888,7 +36165,7 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
// Paper start - Anti-Xray bypass
final Map<Object, ClientboundLevelChunkWithLightPacket> refreshPackets = new HashMap<>();
-@@ -505,8 +509,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -522,8 +526,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}));
// Paper end - Anti-Xray bypass
}
@@ -35898,7 +36175,7 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
return true;
}
-@@ -610,20 +613,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -627,20 +630,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Plugin> getPluginChunkTickets(int x, int z) {
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -35920,7 +36197,7 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
}
@Override
-@@ -631,7 +622,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -648,7 +639,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>();
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -35929,7 +36206,7 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
long chunkKey = chunkTickets.getLongKey();
SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue();
-@@ -1334,12 +1325,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1351,12 +1342,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getViewDistance() {
@@ -35944,7 +36221,7 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
}
public BlockMetadataStore getBlockMetadata() {
-@@ -2478,17 +2469,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2495,17 +2486,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setSimulationDistance(final int simulationDistance) {
@@ -35969,10 +36246,10 @@ index 4ecd7a33adf950f192bd14028d8dafdf285a2eb6..7c936f59ad8fc1fa244adcc19c413d6e
// Paper start - implement pointers
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a51115038962f322f45f0de2bbe52d7c1c6f7529..79d72a2f6cd85f18c644bd48801fdda86f9d235a 100644
+index 58b485c4cfd2ced26a7178aa4380d66c0250b014..4365fd116767b9aba8759d8b3083995fd0c460de 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3498,7 +3498,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3526,7 +3526,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setViewDistance(final int viewDistance) {
@@ -35983,7 +36260,7 @@ index a51115038962f322f45f0de2bbe52d7c1c6f7529..79d72a2f6cd85f18c644bd48801fdda8
}
@Override
-@@ -3508,7 +3510,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3536,7 +3538,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setSimulationDistance(final int simulationDistance) {
@@ -35994,7 +36271,7 @@ index a51115038962f322f45f0de2bbe52d7c1c6f7529..79d72a2f6cd85f18c644bd48801fdda8
}
@Override
-@@ -3518,7 +3522,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3546,7 +3550,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setSendViewDistance(final int viewDistance) {
diff --git a/patches/server/1036-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/1055-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index c155a5cca2..c155a5cca2 100644
--- a/patches/server/1036-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/1055-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/1040-Improved-Watchdog-Support.patch b/patches/server/1056-Improved-Watchdog-Support.patch
index 817afe5d4b..9fe5c21791 100644
--- a/patches/server/1040-Improved-Watchdog-Support.patch
+++ b/patches/server/1056-Improved-Watchdog-Support.patch
@@ -40,8 +40,6 @@ This is to ensure that if main isn't truely stuck, it's not manipulating state w
This also moves all plugins who register "delayed init" tasks to occur just before "Done" so they
are properly accounted for and wont trip watchdog on init.
-Feature patch
-
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 6aaed8e8bf8c721fc834da5c76ac72a4c3e92458..4b002e8b75d117b726b0de274a76d3596fce015b 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -117,7 +115,7 @@ index 42d46c7a7437bea5335a23cbee5708ac57131474..300a044bb0f0e377133f24469cea1a96
/* CraftBukkit start - Replace everything
OptionParser optionparser = new OptionParser();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2c5f9ac9a 100644
+index 5e7ba47247fc9b6bc8da86d8f67c6cd923cd0b1e..73482b0da01b26e68b58fc57093b3c82cfa12ea7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -317,7 +317,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -129,9 +127,9 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
// CraftBukkit end
// Spigot start
public static final int TPS = 20;
-@@ -329,6 +329,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
+@@ -330,6 +330,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
+ private final Set<String> pluginsBlockingSleep = new java.util.HashSet<>(); // Paper - API to allow/disallow tick sleeping
+ public volatile Thread shutdownThread; // Paper
+ public volatile boolean abnormalExit = false; // Paper
@@ -139,7 +137,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
AtomicReference<S> atomicreference = new AtomicReference();
-@@ -503,6 +506,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -504,6 +507,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
*/
// Paper end
@@ -147,7 +145,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
// CraftBukkit end
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
-@@ -1019,6 +1023,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1023,6 +1027,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit start
private boolean hasStopped = false;
private boolean hasLoggedStop = false; // Paper - Debugging
@@ -155,7 +153,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
private final Object stopLock = new Object();
public final boolean hasStopped() {
synchronized (this.stopLock) {
-@@ -1034,6 +1039,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1038,6 +1043,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.hasStopped = true;
}
if (!hasLoggedStop && isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
@@ -166,7 +164,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
// CraftBukkit end
if (this.metricsRecorder.isRecording()) {
this.cancelRecordingMetrics();
-@@ -1114,6 +1123,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1119,6 +1128,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ca.spottedleaf.moonrise.common.util.MoonriseCommon.haltExecutors();
}
// Paper end - rewrite chunk system
@@ -182,7 +180,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
}
public String getLocalIp() {
-@@ -1208,6 +1226,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1213,6 +1231,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
protected void runServer() {
try {
@@ -190,9 +188,9 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
if (!this.initServer()) {
throw new IllegalStateException("Failed to initialize server");
}
-@@ -1217,6 +1236,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
- this.status = this.buildServerStatus();
+@@ -1223,6 +1242,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+ this.server.spark.enableBeforePlugins(); // Paper - spark
// Spigot start
+ // Paper start - Improved Watchdog Support
+ LOGGER.info("Running delayed init tasks");
@@ -208,7 +206,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
Arrays.fill( this.recentTps, 20 );
// Paper start - further improve server tick loop
-@@ -1337,6 +1367,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1343,6 +1373,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
}
} catch (Throwable throwable2) {
@@ -221,7 +219,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable2);
CrashReport crashreport = MinecraftServer.constructOrExtractCrashReport(throwable2);
-@@ -1361,15 +1397,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1367,15 +1403,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.services.profileCache().clearExecutor();
}
@@ -241,7 +239,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
}
}
-@@ -1488,6 +1524,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1494,6 +1530,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@Override
public TickTask wrapRunnable(Runnable runnable) {
@@ -254,7 +252,7 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
return new TickTask(this.tickCount, runnable);
}
-@@ -2310,7 +2352,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -2333,7 +2375,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.resources.managers.updateStaticRegistryTags();
this.resources.managers.getRecipeManager().finalizeRecipeLoading(this.worldData.enabledFeatures());
this.potionBrewing = this.potionBrewing.reload(this.worldData.enabledFeatures()); // Paper - Custom Potion Mixes
@@ -272,10 +270,10 @@ index 98a7bcb7bf356c4a0894b7e12ccd676f5e4d2f5e..ce764af55f82612d2a02e5f6b5d756f2
this.functionManager.replaceLibrary(this.resources.managers.getFunctionLibrary());
this.structureTemplateManager.onResourceManagerReload(this.resources.resourceManager);
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c12ae502a5 100644
+index 0dd9ed7465d222505d5368781654ec4954f6e5c3..17a158ff6ce6520b69a5a0032ba4c05449dd0cf8 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
-@@ -325,7 +325,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+@@ -327,7 +327,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
long j = Util.getNanos() - i;
String s = String.format(Locale.ROOT, "%.3fs", (double) j / 1.0E9D);
@@ -284,7 +282,7 @@ index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c1
if (dedicatedserverproperties.announcePlayerAchievements != null) {
((GameRules.BooleanValue) this.getGameRules().getRule(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)).set(dedicatedserverproperties.announcePlayerAchievements, this.overworld()); // CraftBukkit - per-world
}
-@@ -442,7 +442,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+@@ -444,7 +444,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// this.remoteStatusListener.stop(); // Paper - don't wait for remote connections
}
@@ -294,7 +292,7 @@ index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c1
}
@Override
-@@ -788,7 +789,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
+@@ -790,7 +791,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@Override
public void stopServer() {
super.stopServer();
@@ -304,7 +302,7 @@ index bf2bae3166df06be240dbbeecce16a24c85897a9..c06863578c5d654706d93e73059d89c1
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 6444d7d4523a0de7a03ad0db6c326901c1ac0117..50866208ca1b9c63bfa40e5799693a846ab002f9 100644
+index 7913c41aac1f9dd53a2b49da2a17fd894bcb6b3a..b170e506d9b1b21dd548ba8cd7ac34510184daa3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -553,7 +553,7 @@ public abstract class PlayerList {
diff --git a/patches/server/1041-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1057-Detail-more-information-in-watchdog-dumps.patch
index b22988735e..b5f4025bad 100644
--- a/patches/server/1041-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1057-Detail-more-information-in-watchdog-dumps.patch
@@ -6,8 +6,6 @@ Subject: [PATCH] Detail more information in watchdog dumps
- Dump position, world, velocity, and uuid for currently ticking entities
- Dump player name, player uuid, position, and world for packet handling
-Feature patch
-
diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java
index e300293ba64a8ac54cc9c5348ecc9f3ed2d27e19..3c866432c8a938c677a315612f3e159bda67a2a2 100644
--- a/src/main/java/net/minecraft/network/Connection.java
@@ -78,7 +76,7 @@ index f7197f1347251a37dd0f6d9ffa2f09bc3a4e1233..1f7f68aad97ee73763c042837f239bdc
});
throw RunningOnDifferentThreadException.RUNNING_ON_DIFFERENT_THREAD;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index e4a50b2f6cdc9daf6a018aaf44bb029c5003fa65..abed6e7b92d1472bbbc5bfd60abf4f9052c749c5 100644
+index cf692267c6376ed8484478dc90f4f905d8325618..3295843371d56fa76eb8d7a29efb675721dc6a43 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1254,7 +1254,26 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -123,10 +121,10 @@ index e4a50b2f6cdc9daf6a018aaf44bb029c5003fa65..abed6e7b92d1472bbbc5bfd60abf4f90
private void tickPassenger(Entity vehicle, Entity passenger, boolean isActive) { // Paper - EAR 2
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e11d8a1d1ae0485be243eb04f40051bbd976f926..62cefff26daecd4626ef1d1ab033dcd003e0b799 100644
+index d08a9a8618be72b418d849846a5a433250f5b73d..1b547be0fe97119edf4f29666cfe0037e0c778e0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1136,8 +1136,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1144,8 +1144,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.onGround;
}
@@ -170,7 +168,7 @@ index e11d8a1d1ae0485be243eb04f40051bbd976f926..62cefff26daecd4626ef1d1ab033dcd0
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -1261,6 +1296,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1269,6 +1304,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
gameprofilerfiller.pop();
}
}
@@ -184,7 +182,7 @@ index e11d8a1d1ae0485be243eb04f40051bbd976f926..62cefff26daecd4626ef1d1ab033dcd0
}
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) {
-@@ -4902,7 +4944,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4910,7 +4952,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void setDeltaMovement(Vec3 velocity) {
@@ -194,7 +192,7 @@ index e11d8a1d1ae0485be243eb04f40051bbd976f926..62cefff26daecd4626ef1d1ab033dcd0
}
public void addDeltaMovement(Vec3 velocity) {
-@@ -5008,7 +5052,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -5016,7 +5060,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// Paper end - Fix MC-4
if (this.position.x != x || this.position.y != y || this.position.z != z) {
diff --git a/patches/server/1042-Entity-load-save-limit-per-chunk.patch b/patches/server/1058-Entity-load-save-limit-per-chunk.patch
index e69171236b..e69171236b 100644
--- a/patches/server/1042-Entity-load-save-limit-per-chunk.patch
+++ b/patches/server/1058-Entity-load-save-limit-per-chunk.patch
diff --git a/patches/server/1043-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1059-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 16f1024afb..5c9944447a 100644
--- a/patches/server/1043-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/1059-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
@@ -9,8 +9,6 @@ we instead drop the current regionfile header and recalculate -
hoping that at least then we don't swap chunks, and maybe recover
them all.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java
index a23dc2f8f4475de1ee35bf18a7a8a53233ccac12..226af44fd469053451a0403a95ffb446face9530 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionBitmap.java
diff --git a/patches/server/1045-Improve-performance-of-mass-crafts.patch b/patches/server/1060-Improve-performance-of-mass-crafts.patch
index 7231e230c1..57f901bc5f 100644
--- a/patches/server/1045-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1060-Improve-performance-of-mass-crafts.patch
@@ -19,8 +19,6 @@ for each craft, that logic is run 9 times (hence the 64 * 9). The + 64 is from t
After this patch, the full iteration over all recipes checking for a match should run once for a full craft to find the
initial recipe match. Then that recipe will be checked first for all future recipe match checks.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/world/inventory/CraftingContainer.java b/src/main/java/net/minecraft/world/inventory/CraftingContainer.java
index 779d107a4d07820529273af5931421c09d1dc27f..4f6c8c43f5150e340704682accfbe2a5b1c5db19 100644
--- a/src/main/java/net/minecraft/world/inventory/CraftingContainer.java
diff --git a/patches/server/1046-Incremental-chunk-and-player-saving.patch b/patches/server/1061-Incremental-chunk-and-player-saving.patch
index 7e25d15acd..d0f88ba05d 100644
--- a/patches/server/1046-Incremental-chunk-and-player-saving.patch
+++ b/patches/server/1061-Incremental-chunk-and-player-saving.patch
@@ -3,13 +3,12 @@ From: Shane Freeder <[email protected]>
Date: Sun, 9 Jun 2019 03:53:22 +0100
Subject: [PATCH] Incremental chunk and player saving
-Feature patch
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c9548714429901d306f77e6dde888f57198f93b4..798ae2cddef7e4bb50bb6f05c85073076dd070f8 100644
+index 73482b0da01b26e68b58fc57093b3c82cfa12ea7..fb755174410eac6778f91e9a2e00877505a43889 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -1008,7 +1008,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1010,7 +1010,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
this.isSaving = true;
@@ -18,7 +17,7 @@ index c9548714429901d306f77e6dde888f57198f93b4..798ae2cddef7e4bb50bb6f05c8507307
flag3 = this.saveAllChunks(suppressLogs, flush, force);
} finally {
this.isSaving = false;
-@@ -1656,9 +1656,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1669,9 +1669,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
--this.ticksUntilAutosave;
@@ -51,7 +50,7 @@ index c9548714429901d306f77e6dde888f57198f93b4..798ae2cddef7e4bb50bb6f05c8507307
ProfilerFiller gameprofilerfiller = Profiler.get();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index abed6e7b92d1472bbbc5bfd60abf4f9052c749c5..03ff07e4047fcf5e2cad7be998b76b4fcef6b49a 100644
+index 3295843371d56fa76eb8d7a29efb675721dc6a43..5295f893dff94ff2bb0c6bb1964f38f98b30b065 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1354,6 +1354,30 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -86,7 +85,7 @@ index abed6e7b92d1472bbbc5bfd60abf4f9052c749c5..03ff07e4047fcf5e2cad7be998b76b4f
// Paper start - add close param
this.save(progressListener, flush, savingDisabled, false);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 9b61fb06875c8070dba30ee541f85b4eed589681..c7c637fcaf02bf5a0861c9ffaca2b473fdeceddb 100644
+index ba873bcc183f9b3f64ba39be08cb88a95ff52b0e..ee94245e6b5e82565d517d1d9eadd1c6cefb7361 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -220,6 +220,7 @@ import org.bukkit.inventory.MainHand;
@@ -98,7 +97,7 @@ index 9b61fb06875c8070dba30ee541f85b4eed589681..c7c637fcaf02bf5a0861c9ffaca2b473
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
private static final int FLY_STAT_RECORDING_SPEED = 25;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 50866208ca1b9c63bfa40e5799693a846ab002f9..d67c0c9cbbbe92b988f64e19e0e89414c9eb7921 100644
+index b170e506d9b1b21dd548ba8cd7ac34510184daa3..9b71655a425356132afb786eff623f558e1e3498 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -518,6 +518,7 @@ public abstract class PlayerList {
@@ -109,7 +108,7 @@ index 50866208ca1b9c63bfa40e5799693a846ab002f9..d67c0c9cbbbe92b988f64e19e0e89414
this.playerIo.save(player);
ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit
-@@ -1152,9 +1153,21 @@ public abstract class PlayerList {
+@@ -1158,9 +1159,21 @@ public abstract class PlayerList {
}
public void saveAll() {
diff --git a/patches/server/1047-Optimise-general-POI-access.patch b/patches/server/1062-Optimise-general-POI-access.patch
index d93eda2cf3..79a34afd5a 100644
--- a/patches/server/1047-Optimise-general-POI-access.patch
+++ b/patches/server/1062-Optimise-general-POI-access.patch
@@ -30,8 +30,6 @@ This patch also specifically optimises other areas of code to
use PoiAccess. For example, some villager AI and portaling code
had to be specifically modified.
-Feature patch
-
diff --git a/src/main/java/io/papermc/paper/util/PoiAccess.java b/src/main/java/io/papermc/paper/util/PoiAccess.java
new file mode 100644
index 0000000000000000000000000000000000000000..f39294b1f83c4022be5ced4da781103a1eee2daf
diff --git a/patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1063-Fix-entity-tracker-desync-when-new-players-are-added.patch
index 5fb7dcd463..b8cbd694c2 100644
--- a/patches/server/1048-Fix-entity-tracker-desync-when-new-players-are-added.patch
+++ b/patches/server/1063-Fix-entity-tracker-desync-when-new-players-are-added.patch
@@ -28,8 +28,6 @@ which is most likely in an unloaded chunk - which means that the
client will not tick the entity and thus not lerp the entity
from its old position to its new position.
-Feature patch
-
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java
index f6e1deb2f849d8b01b15cfa69e2f6cd5f2b1512b..f66e40326c510aa3267542b1a24ed75d1ed6d3f1 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java
diff --git a/patches/server/1049-Lag-compensation-ticks.patch b/patches/server/1064-Lag-compensation-ticks.patch
index 3a952756eb..e066509147 100644
--- a/patches/server/1049-Lag-compensation-ticks.patch
+++ b/patches/server/1064-Lag-compensation-ticks.patch
@@ -7,13 +7,11 @@ Areas affected by lag comepnsation:
- Block breaking and destroying
- Eating food items
-Feature patch
-
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 798ae2cddef7e4bb50bb6f05c85073076dd070f8..c851133115328f0508f65a7b7d79326ff2106b1c 100644
+index fb755174410eac6778f91e9a2e00877505a43889..ae4ebf509837e8d44255781c61d02873f8b74be8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
-@@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -332,6 +332,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -21,7 +19,7 @@ index 798ae2cddef7e4bb50bb6f05c85073076dd070f8..c851133115328f0508f65a7b7d79326f
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.init(); // Paper - rewrite data converter system
-@@ -1842,6 +1843,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
+@@ -1855,6 +1856,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
@@ -30,7 +28,7 @@ index 798ae2cddef7e4bb50bb6f05c85073076dd070f8..c851133115328f0508f65a7b7d79326f
gameprofilerfiller.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 03ff07e4047fcf5e2cad7be998b76b4fcef6b49a..020ef251fd3d03c9e8fb9fc859d4ef9fc04cd3ba 100644
+index 5295f893dff94ff2bb0c6bb1964f38f98b30b065..b3e709c9ce116bf41cd050674ee1fb31b08e684f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -583,6 +583,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -65,10 +63,10 @@ index 504c996220b278c194c93e001a3b326d549868ec..a96f859a5d0c6ec692d4627a69f3c9ee
if (this.hasDelayedDestroy) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4277d59f466e800e93770cecb45ab9c76c16aab8..26d72c4b58bfd768fd246a33bdd7e00fe058bd8f 100644
+index d54f6f1f8ef4df5233478d6341f3181e8c1baace..96b4fbe4a4655777ff10b32e3257e2fac2aba12a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4058,6 +4058,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4080,6 +4080,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer);
}
// Paper end - Properly cancel usable items
@@ -79,7 +77,7 @@ index 4277d59f466e800e93770cecb45ab9c76c16aab8..26d72c4b58bfd768fd246a33bdd7e00f
private void updatingUsingItem() {
if (this.isUsingItem()) {
if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) {
-@@ -4072,7 +4076,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4094,7 +4098,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected void updateUsingItem(ItemStack stack) {
stack.onUseTick(this.level(), this, this.getUseItemRemainingTicks());
@@ -93,7 +91,7 @@ index 4277d59f466e800e93770cecb45ab9c76c16aab8..26d72c4b58bfd768fd246a33bdd7e00f
this.completeUsingItem();
}
-@@ -4110,7 +4119,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4132,7 +4141,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack
this.useItem = itemstack;
@@ -105,7 +103,7 @@ index 4277d59f466e800e93770cecb45ab9c76c16aab8..26d72c4b58bfd768fd246a33bdd7e00f
if (!this.level().isClientSide) {
this.setLivingEntityFlag(1, true);
this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND);
-@@ -4135,7 +4147,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4157,7 +4169,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
} else if (!this.isUsingItem() && !this.useItem.isEmpty()) {
this.useItem = ItemStack.EMPTY;
@@ -117,7 +115,7 @@ index 4277d59f466e800e93770cecb45ab9c76c16aab8..26d72c4b58bfd768fd246a33bdd7e00f
}
}
-@@ -4266,7 +4281,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4288,7 +4303,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.useItem = ItemStack.EMPTY;
diff --git a/patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1065-Optimise-collision-checking-in-player-move-packet-ha.patch
index 5138219399..317ca38fea 100644
--- a/patches/server/1050-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/1065-Optimise-collision-checking-in-player-move-packet-ha.patch
@@ -5,10 +5,8 @@ Subject: [PATCH] Optimise collision checking in player move packet handling
Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision
-Feature patch
-
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 864c9203f65c24d288d9ac1d39e8b5fc84da18e5..9090df6431758a143a6b29be34eb5e60d5af4561 100644
+index 8cae479d7b299ff4215c80fa2bbebf41ca967df6..84fa24880d02dc7ba1ec8bda3575be38447fd4b2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -579,7 +579,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/1051-Optional-per-player-mob-spawns.patch b/patches/server/1066-Optional-per-player-mob-spawns.patch
index 7a0b35ddf2..16376dd6f8 100644
--- a/patches/server/1051-Optional-per-player-mob-spawns.patch
+++ b/patches/server/1066-Optional-per-player-mob-spawns.patch
@@ -3,7 +3,6 @@ From: kickash32 <[email protected]>
Date: Mon, 19 Aug 2019 01:27:58 +0500
Subject: [PATCH] Optional per player mob spawns
-Feature patch
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 7833c53b4eff67f2ff37c091b5926cb081205921..094096bd08450e5d656ce2c442757cbc63ffb090 100644
@@ -72,7 +71,7 @@ index d7382fc1498a33db909c343d8d07c5aa7130c20f..59d0739c810d3430de13fa68ce8ea023
this.lastSpawnState = spawnercreature_d;
profiler.popPush("spawnAndTick");
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index c7c637fcaf02bf5a0861c9ffaca2b473fdeceddb..1ac3f820d2f7c1bd29e2f2a323747f8262a57d89 100644
+index ee94245e6b5e82565d517d1d9eadd1c6cefb7361..72588ccbec2ce702b7e72f88a07bc96176d3f5fd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -301,6 +301,10 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
diff --git a/patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1067-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index 38ec108a80..57ae223711 100644
--- a/patches/server/1052-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/1067-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
@@ -60,7 +60,7 @@ index 59d0739c810d3430de13fa68ce8ea023dcc7435f..1c87904bb99cc40bafc9357fb2fc1703
spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, null, true);
} else {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 1ac3f820d2f7c1bd29e2f2a323747f8262a57d89..a2cd4385fca0cf2ec164d06be2732755506c0249 100644
+index 72588ccbec2ce702b7e72f88a07bc96176d3f5fd..fc7f7a34babd095a51b5321f600aef65a2a9d123 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -305,6 +305,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
diff --git a/patches/server/1059-Eigencraft-redstone-implementation.patch b/patches/server/1068-Eigencraft-redstone-implementation.patch
index 85700695b3..8ea799e5f8 100644
--- a/patches/server/1059-Eigencraft-redstone-implementation.patch
+++ b/patches/server/1068-Eigencraft-redstone-implementation.patch
@@ -17,8 +17,6 @@ A lot of this code is self-contained in a helper class.
Aside from making the obvious class/function renames and obfhelpers I didn't need to modify much.
Just added Bukkit's event system and took a few liberties with dead code and comment misspellings.
-Feature patch
-
== AT ==
public net.minecraft.world.level.block.RedStoneWireBlock shouldSignal
public net.minecraft.world.level.block.RedStoneWireBlock canSurvive(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z
diff --git a/patches/server/1062-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1069-Add-Alternate-Current-redstone-implementation.patch
index 659f92b393..740ec46169 100644
--- a/patches/server/1062-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/1069-Add-Alternate-Current-redstone-implementation.patch
@@ -20,8 +20,6 @@ Alternate Current needs the following modifications:
* RedStoneWireBlock: Replace calls to vanilla's or Eigencraft's methods for handling power changes with calls to
Alternate Current's wire handler.
-Feature patch
-
diff --git a/src/main/java/alternate/current/wire/LevelHelper.java b/src/main/java/alternate/current/wire/LevelHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..eda108e2df9bf7d1ddd89287b8d2c2d7f1637c96
diff --git a/patches/server/1070-Improve-exact-choice-recipe-ingredients.patch b/patches/server/1070-Improve-exact-choice-recipe-ingredients.patch
index 06adda1e62..88c45348a2 100644
--- a/patches/server/1070-Improve-exact-choice-recipe-ingredients.patch
+++ b/patches/server/1070-Improve-exact-choice-recipe-ingredients.patch
@@ -6,8 +6,6 @@ Subject: [PATCH] Improve exact choice recipe ingredients
Fixes exact choices not working with recipe book clicks
and shapeless recipes.
-Feature patch
-
== AT ==
public net.minecraft.world.item.ItemStackLinkedSet TYPE_AND_TAG
diff --git a/patches/server/1071-Implement-chunk-view-API.patch b/patches/server/1071-Implement-chunk-view-API.patch
new file mode 100644
index 0000000000..b324cf7b6e
--- /dev/null
+++ b/patches/server/1071-Implement-chunk-view-API.patch
@@ -0,0 +1,48 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Flo0 <[email protected]>
+Date: Thu, 5 Dec 2024 12:15:07 +0100
+Subject: [PATCH] Implement chunk view API
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+index 4365fd116767b9aba8759d8b3083995fd0c460de..84c494ca81b8f58604b372ac7236147776817a4f 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+@@ -3489,27 +3489,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+ @Override
+ public Set<java.lang.Long> getSentChunkKeys() {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
+- final it.unimi.dsi.fastutil.longs.LongOpenHashSet keys = new it.unimi.dsi.fastutil.longs.LongOpenHashSet();
+- this.getHandle().getChunkTrackingView().forEach(pos -> keys.add(pos.longKey));
+- return it.unimi.dsi.fastutil.longs.LongSets.unmodifiable(keys);
++ return it.unimi.dsi.fastutil.longs.LongSets.unmodifiable(
++ this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().clone()
++ );
+ }
+
+ @Override
+ public Set<org.bukkit.Chunk> getSentChunks() {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
+- final it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<org.bukkit.Chunk> chunks = new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>();
++ final it.unimi.dsi.fastutil.longs.LongOpenHashSet rawChunkKeys = this.getHandle().moonrise$getChunkLoader().getSentChunksRaw();
++ final it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<org.bukkit.Chunk> chunks = new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<>(rawChunkKeys.size());
+ final org.bukkit.World world = this.getWorld();
+- this.getHandle().getChunkTrackingView().forEach(pos -> {
+- final org.bukkit.Chunk chunk = world.getChunkAt(pos.longKey);
+- chunks.add(chunk);
+- });
++
++ final it.unimi.dsi.fastutil.longs.LongIterator iter = this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().longIterator();
++ while (iter.hasNext()) chunks.add(world.getChunkAt(iter.nextLong(), false));
++
+ return it.unimi.dsi.fastutil.objects.ObjectSets.unmodifiable(chunks);
+ }
+
+ @Override
+ public boolean isChunkSent(final long chunkKey) {
+ org.spigotmc.AsyncCatcher.catchOp("accessing sent chunks");
+- return this.getHandle().getChunkTrackingView().contains(new net.minecraft.world.level.ChunkPos(chunkKey));
++ return this.getHandle().moonrise$getChunkLoader().getSentChunksRaw().contains(chunkKey);
+ }
+ // Paper end
+