aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSpottedleaf <[email protected]>2024-11-18 22:34:32 -0800
committerSpottedleaf <[email protected]>2024-11-18 23:00:59 -0800
commit8c5b837e0530ffd7881336be1ed77a5cd2e591e1 (patch)
treefffe8d92a574973a65196faff22851c82c63675a
parentde6173b06181cff5bc1909f8e019f61792ea953b (diff)
downloadPaper-8c5b837e0530ffd7881336be1ed77a5cd2e591e1.tar.gz
Paper-8c5b837e0530ffd7881336be1ed77a5cd2e591e1.zip
Rework async chunk api implementation
Firstly, the old methods all routed to the CompletableFuture method. However, the CF method could not guarantee that if the caller was off-main that the future would be "completed" on-main. Since the callback methods used the CF one, this meant that the callback methods did not guarantee that the callbacks were to be called on the main thread. Now, all methods route to getChunkAtAsync(x, z, gen, urgent, cb) so that the methods with the callback are guaranteed to invoke the callback on the main thread. The CF behavior remains unchanged; it may still appear to complete on main if invoked off-main. Secondly, remove the scheduleOnMain invocation in the async chunk completion. This unnecessarily delays the callback by 1 tick. Thirdly, add getChunksAtAsync(minX, minZ, maxX, maxZ, ...) which will load chunks within an area. This method is provided as a helper as keeping all chunks loaded within an area can be complicated to implement for plugins (due to the lacking ticket API), and is already implemented internally anyways. Fourthly, remove the ticket addition that occured with getChunkAt and getChunkAtAsync. The ticket addition may delay the unloading of the chunk unnecessarily. It also fixes a very rare timing bug where the future/callback would be completed after the chunk unloads.
-rw-r--r--patches/api/0139-Async-Chunks-API.patch83
-rw-r--r--patches/api/0150-Add-sun-related-API.patch4
-rw-r--r--patches/api/0166-Fix-Spigot-annotation-mistakes.patch14
-rw-r--r--patches/api/0260-More-World-API.patch4
-rw-r--r--patches/api/0348-Expand-FallingBlock-API.patch8
-rw-r--r--patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch8
-rw-r--r--patches/api/0455-More-Raid-API.patch4
-rw-r--r--patches/server/0009-MC-Utils.patch73
-rw-r--r--patches/server/0010-Adventure.patch4
-rw-r--r--patches/server/0024-Remove-Spigot-timings.patch18
-rw-r--r--patches/server/0036-Entity-Origin-API.patch6
-rw-r--r--patches/server/0045-Disable-thunder.patch4
-rw-r--r--patches/server/0046-Disable-ice-and-snow.patch4
-rw-r--r--patches/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch4
-rw-r--r--patches/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch6
-rw-r--r--patches/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch4
-rw-r--r--patches/server/0101-Fix-global-sound-handling.patch6
-rw-r--r--patches/server/0186-Expand-World.spawnParticle-API-and-add-Builder.patch6
-rw-r--r--patches/server/0202-Expand-Explosions-API.patch8
-rw-r--r--patches/server/0207-InventoryCloseEvent-Reason-API.patch10
-rw-r--r--patches/server/0224-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch4
-rw-r--r--patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch6
-rw-r--r--patches/server/0301-Optimise-EntityGetter-getPlayerByUUID.patch4
-rw-r--r--patches/server/0310-Add-debug-for-sync-chunk-loads.patch4
-rw-r--r--patches/server/0328-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch6
-rw-r--r--patches/server/0373-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/server/0374-Add-BlockStateMeta-clearBlockState.patch)0
-rw-r--r--patches/server/0373-Add-Plugin-Tickets-to-API-Chunk-Methods.patch103
-rw-r--r--patches/server/0374-Convert-legacy-attributes-in-Item-Meta.patch (renamed from patches/server/0375-Convert-legacy-attributes-in-Item-Meta.patch)2
-rw-r--r--patches/server/0375-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0376-Do-not-accept-invalid-client-settings.patch)0
-rw-r--r--patches/server/0376-Improve-fix-EntityTargetLivingEntityEvent.patch (renamed from patches/server/0377-Improve-fix-EntityTargetLivingEntityEvent.patch)0
-rw-r--r--patches/server/0377-Add-entity-liquid-API.patch (renamed from patches/server/0378-Add-entity-liquid-API.patch)0
-rw-r--r--patches/server/0378-Add-PrepareResultEvent.patch (renamed from patches/server/0379-Add-PrepareResultEvent.patch)4
-rw-r--r--patches/server/0379-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch (renamed from patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch)2
-rw-r--r--patches/server/0380-Fix-arrows-never-despawning-MC-125757.patch (renamed from patches/server/0381-Fix-arrows-never-despawning-MC-125757.patch)0
-rw-r--r--patches/server/0381-Thread-Safe-Vanilla-Command-permission-checking.patch (renamed from patches/server/0382-Thread-Safe-Vanilla-Command-permission-checking.patch)0
-rw-r--r--patches/server/0382-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch (renamed from patches/server/0383-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch)0
-rw-r--r--patches/server/0383-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch (renamed from patches/server/0384-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch)0
-rw-r--r--patches/server/0384-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch (renamed from patches/server/0385-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch)0
-rw-r--r--patches/server/0385-Optimize-NetworkManager-Exception-Handling.patch (renamed from patches/server/0386-Optimize-NetworkManager-Exception-Handling.patch)0
-rw-r--r--patches/server/0386-Fix-some-rails-connecting-improperly.patch (renamed from patches/server/0387-Fix-some-rails-connecting-improperly.patch)0
-rw-r--r--patches/server/0387-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch (renamed from patches/server/0388-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch)0
-rw-r--r--patches/server/0388-Brand-support.patch (renamed from patches/server/0389-Brand-support.patch)4
-rw-r--r--patches/server/0389-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/server/0390-Add-playPickupItemAnimation-to-LivingEntity.patch)0
-rw-r--r--patches/server/0390-Don-t-require-FACING-data.patch (renamed from patches/server/0391-Don-t-require-FACING-data.patch)0
-rw-r--r--patches/server/0391-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch (renamed from patches/server/0392-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch)6
-rw-r--r--patches/server/0392-Add-moon-phase-API.patch (renamed from patches/server/0393-Add-moon-phase-API.patch)0
-rw-r--r--patches/server/0393-Do-not-let-the-server-load-chunks-from-newer-version.patch (renamed from patches/server/0394-Do-not-let-the-server-load-chunks-from-newer-version.patch)0
-rw-r--r--patches/server/0394-Prevent-headless-pistons-from-being-created.patch (renamed from patches/server/0395-Prevent-headless-pistons-from-being-created.patch)0
-rw-r--r--patches/server/0395-Add-BellRingEvent.patch (renamed from patches/server/0396-Add-BellRingEvent.patch)2
-rw-r--r--patches/server/0396-Add-zombie-targets-turtle-egg-config.patch (renamed from patches/server/0397-Add-zombie-targets-turtle-egg-config.patch)0
-rw-r--r--patches/server/0397-Buffer-joins-to-world.patch (renamed from patches/server/0398-Buffer-joins-to-world.patch)0
-rw-r--r--patches/server/0398-Fix-hex-colors-not-working-in-some-kick-messages.patch (renamed from patches/server/0399-Fix-hex-colors-not-working-in-some-kick-messages.patch)0
-rw-r--r--patches/server/0399-Add-more-Evoker-API.patch (renamed from patches/server/0400-Add-more-Evoker-API.patch)0
-rw-r--r--patches/server/0400-Add-methods-to-get-translation-keys.patch (renamed from patches/server/0401-Add-methods-to-get-translation-keys.patch)0
-rw-r--r--patches/server/0401-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/server/0402-Create-HoverEvent-from-ItemStack-Entity.patch)0
-rw-r--r--patches/server/0402-Cache-block-data-strings.patch (renamed from patches/server/0403-Cache-block-data-strings.patch)2
-rw-r--r--patches/server/0403-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch (renamed from patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch)4
-rw-r--r--patches/server/0404-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/server/0405-Add-additional-open-container-api-to-HumanEntity.patch)0
-rw-r--r--patches/server/0405-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch (renamed from patches/server/0406-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch)0
-rw-r--r--patches/server/0406-Extend-block-drop-capture-to-capture-all-items-added.patch (renamed from patches/server/0407-Extend-block-drop-capture-to-capture-all-items-added.patch)4
-rw-r--r--patches/server/0407-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch)2
-rw-r--r--patches/server/0408-Lazily-track-plugin-scoreboards-by-default.patch (renamed from patches/server/0409-Lazily-track-plugin-scoreboards-by-default.patch)0
-rw-r--r--patches/server/0409-Entity-isTicking.patch (renamed from patches/server/0410-Entity-isTicking.patch)0
-rw-r--r--patches/server/0410-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch (renamed from patches/server/0411-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch)2
-rw-r--r--patches/server/0411-Fix-Concurrency-issue-in-ShufflingList.patch (renamed from patches/server/0412-Fix-Concurrency-issue-in-ShufflingList.patch)0
-rw-r--r--patches/server/0412-Reset-Ender-Crystals-on-Dragon-Spawn.patch (renamed from patches/server/0413-Reset-Ender-Crystals-on-Dragon-Spawn.patch)0
-rw-r--r--patches/server/0413-Fix-for-large-move-vectors-crashing-server.patch (renamed from patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch)0
-rw-r--r--patches/server/0414-Optimise-getType-calls.patch (renamed from patches/server/0415-Optimise-getType-calls.patch)0
-rw-r--r--patches/server/0415-Villager-resetOffers.patch (renamed from patches/server/0416-Villager-resetOffers.patch)0
-rw-r--r--patches/server/0416-Retain-block-place-order-when-capturing-blockstates.patch (renamed from patches/server/0417-Retain-block-place-order-when-capturing-blockstates.patch)0
-rw-r--r--patches/server/0417-Fix-item-locations-dropped-from-campfires.patch (renamed from patches/server/0418-Fix-item-locations-dropped-from-campfires.patch)0
-rw-r--r--patches/server/0418-Fix-bell-block-entity-memory-leak.patch (renamed from patches/server/0419-Fix-bell-block-entity-memory-leak.patch)0
-rw-r--r--patches/server/0419-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch (renamed from patches/server/0420-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch)0
-rw-r--r--patches/server/0420-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/server/0421-Add-getOfflinePlayerIfCached-String.patch)2
-rw-r--r--patches/server/0421-Add-ignore-discounts-API.patch (renamed from patches/server/0422-Add-ignore-discounts-API.patch)0
-rw-r--r--patches/server/0422-Toggle-for-removing-existing-dragon.patch (renamed from patches/server/0423-Toggle-for-removing-existing-dragon.patch)0
-rw-r--r--patches/server/0423-Fix-client-lag-on-advancement-loading.patch (renamed from patches/server/0424-Fix-client-lag-on-advancement-loading.patch)0
-rw-r--r--patches/server/0424-Item-no-age-no-player-pickup.patch (renamed from patches/server/0425-Item-no-age-no-player-pickup.patch)0
-rw-r--r--patches/server/0425-Beacon-API-custom-effect-ranges.patch (renamed from patches/server/0426-Beacon-API-custom-effect-ranges.patch)0
-rw-r--r--patches/server/0426-Add-API-for-quit-reason.patch (renamed from patches/server/0427-Add-API-for-quit-reason.patch)4
-rw-r--r--patches/server/0427-Add-Wandering-Trader-spawn-rate-config-options.patch (renamed from patches/server/0428-Add-Wandering-Trader-spawn-rate-config-options.patch)0
-rw-r--r--patches/server/0428-Add-Destroy-Speed-API.patch (renamed from patches/server/0429-Add-Destroy-Speed-API.patch)0
-rw-r--r--patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch (renamed from patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch)2
-rw-r--r--patches/server/0430-Add-LivingEntity-clearActiveItem.patch (renamed from patches/server/0431-Add-LivingEntity-clearActiveItem.patch)0
-rw-r--r--patches/server/0431-Add-PlayerItemCooldownEvent.patch (renamed from patches/server/0432-Add-PlayerItemCooldownEvent.patch)0
-rw-r--r--patches/server/0432-Significantly-improve-performance-of-the-end-generat.patch (renamed from patches/server/0433-Significantly-improve-performance-of-the-end-generat.patch)0
-rw-r--r--patches/server/0433-More-lightning-API.patch (renamed from patches/server/0434-More-lightning-API.patch)0
-rw-r--r--patches/server/0434-Climbing-should-not-bypass-cramming-gamerule.patch (renamed from patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch)4
-rw-r--r--patches/server/0435-Add-missing-default-perms-for-commands.patch (renamed from patches/server/0436-Add-missing-default-perms-for-commands.patch)0
-rw-r--r--patches/server/0436-Add-PlayerShearBlockEvent.patch (renamed from patches/server/0437-Add-PlayerShearBlockEvent.patch)0
-rw-r--r--patches/server/0437-Limit-recipe-packets.patch (renamed from patches/server/0438-Limit-recipe-packets.patch)0
-rw-r--r--patches/server/0438-Fix-CraftSound-backwards-compatibility.patch (renamed from patches/server/0439-Fix-CraftSound-backwards-compatibility.patch)0
-rw-r--r--patches/server/0439-Player-Chunk-Load-Unload-Events.patch (renamed from patches/server/0440-Player-Chunk-Load-Unload-Events.patch)0
-rw-r--r--patches/server/0440-Optimize-Dynamic-get-Missing-Keys.patch (renamed from patches/server/0441-Optimize-Dynamic-get-Missing-Keys.patch)0
-rw-r--r--patches/server/0441-Expose-LivingEntity-hurt-direction.patch (renamed from patches/server/0442-Expose-LivingEntity-hurt-direction.patch)0
-rw-r--r--patches/server/0442-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/server/0443-Add-OBSTRUCTED-reason-to-BedEnterResult.patch)2
-rw-r--r--patches/server/0443-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch (renamed from patches/server/0444-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch)0
-rw-r--r--patches/server/0444-Add-TargetHitEvent.patch (renamed from patches/server/0445-Add-TargetHitEvent.patch)0
-rw-r--r--patches/server/0445-MC-4-Fix-item-position-desync.patch (renamed from patches/server/0446-MC-4-Fix-item-position-desync.patch)2
-rw-r--r--patches/server/0446-Additional-Block-Material-API.patch (renamed from patches/server/0447-Additional-Block-Material-API.patch)0
-rw-r--r--patches/server/0447-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch)0
-rw-r--r--patches/server/0448-Allow-disabling-mob-spawner-spawn-egg-transformation.patch (renamed from patches/server/0449-Allow-disabling-mob-spawner-spawn-egg-transformation.patch)0
-rw-r--r--patches/server/0449-Fix-Not-a-string-Map-Conversion-spam.patch (renamed from patches/server/0450-Fix-Not-a-string-Map-Conversion-spam.patch)0
-rw-r--r--patches/server/0450-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/server/0451-Add-PlayerFlowerPotManipulateEvent.patch)0
-rw-r--r--patches/server/0451-Fix-interact-event-not-being-called-sometimes.patch (renamed from patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch)0
-rw-r--r--patches/server/0452-Zombie-API-breaking-doors.patch (renamed from patches/server/0453-Zombie-API-breaking-doors.patch)0
-rw-r--r--patches/server/0453-Fix-nerfed-slime-when-splitting.patch (renamed from patches/server/0454-Fix-nerfed-slime-when-splitting.patch)0
-rw-r--r--patches/server/0454-Add-EntityLoadCrossbowEvent.patch (renamed from patches/server/0455-Add-EntityLoadCrossbowEvent.patch)0
-rw-r--r--patches/server/0455-Add-WorldGameRuleChangeEvent.patch (renamed from patches/server/0456-Add-WorldGameRuleChangeEvent.patch)6
-rw-r--r--patches/server/0456-Add-ServerResourcesReloadedEvent.patch (renamed from patches/server/0457-Add-ServerResourcesReloadedEvent.patch)2
-rw-r--r--patches/server/0457-Add-world-settings-for-mobs-picking-up-loot.patch (renamed from patches/server/0458-Add-world-settings-for-mobs-picking-up-loot.patch)0
-rw-r--r--patches/server/0458-Add-BlockFailedDispenseEvent.patch (renamed from patches/server/0459-Add-BlockFailedDispenseEvent.patch)2
-rw-r--r--patches/server/0459-Add-PlayerLecternPageChangeEvent.patch (renamed from patches/server/0460-Add-PlayerLecternPageChangeEvent.patch)0
-rw-r--r--patches/server/0460-Add-PlayerLoomPatternSelectEvent.patch (renamed from patches/server/0461-Add-PlayerLoomPatternSelectEvent.patch)0
-rw-r--r--patches/server/0461-Configurable-door-breaking-difficulty.patch (renamed from patches/server/0462-Configurable-door-breaking-difficulty.patch)0
-rw-r--r--patches/server/0462-Empty-commands-shall-not-be-dispatched.patch (renamed from patches/server/0463-Empty-commands-shall-not-be-dispatched.patch)0
-rw-r--r--patches/server/0463-Remove-stale-POIs.patch (renamed from patches/server/0464-Remove-stale-POIs.patch)4
-rw-r--r--patches/server/0464-Fix-villager-boat-exploit.patch (renamed from patches/server/0465-Fix-villager-boat-exploit.patch)2
-rw-r--r--patches/server/0465-Add-sendOpLevel-API.patch (renamed from patches/server/0466-Add-sendOpLevel-API.patch)2
-rw-r--r--patches/server/0466-Add-RegistryAccess-for-managing-Registries.patch (renamed from patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch)2
-rw-r--r--patches/server/0467-Add-StructuresLocateEvent.patch (renamed from patches/server/0468-Add-StructuresLocateEvent.patch)0
-rw-r--r--patches/server/0468-Collision-option-for-requiring-a-player-participant.patch (renamed from patches/server/0469-Collision-option-for-requiring-a-player-participant.patch)4
-rw-r--r--patches/server/0469-Return-chat-component-with-empty-text-instead-of-thr.patch (renamed from patches/server/0470-Return-chat-component-with-empty-text-instead-of-thr.patch)0
-rw-r--r--patches/server/0470-Make-schedule-command-per-world.patch (renamed from patches/server/0471-Make-schedule-command-per-world.patch)0
-rw-r--r--patches/server/0471-Configurable-max-leash-distance.patch (renamed from patches/server/0472-Configurable-max-leash-distance.patch)0
-rw-r--r--patches/server/0472-Add-BlockPreDispenseEvent.patch (renamed from patches/server/0473-Add-BlockPreDispenseEvent.patch)2
-rw-r--r--patches/server/0473-Add-PlayerChangeBeaconEffectEvent.patch (renamed from patches/server/0474-Add-PlayerChangeBeaconEffectEvent.patch)0
-rw-r--r--patches/server/0474-Add-toggle-for-always-placing-the-dragon-egg.patch (renamed from patches/server/0475-Add-toggle-for-always-placing-the-dragon-egg.patch)0
-rw-r--r--patches/server/0475-Add-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/server/0476-Add-PlayerStonecutterRecipeSelectEvent.patch)0
-rw-r--r--patches/server/0476-Expand-EntityUnleashEvent.patch (renamed from patches/server/0477-Expand-EntityUnleashEvent.patch)2
-rw-r--r--patches/server/0477-Reset-shield-blocking-on-dimension-change.patch (renamed from patches/server/0478-Reset-shield-blocking-on-dimension-change.patch)2
-rw-r--r--patches/server/0478-Add-DragonEggFormEvent.patch (renamed from patches/server/0479-Add-DragonEggFormEvent.patch)0
-rw-r--r--patches/server/0479-Add-EntityMoveEvent.patch (renamed from patches/server/0480-Add-EntityMoveEvent.patch)4
-rw-r--r--patches/server/0480-added-option-to-disable-pathfinding-updates-on-block.patch (renamed from patches/server/0481-added-option-to-disable-pathfinding-updates-on-block.patch)6
-rw-r--r--patches/server/0481-Inline-shift-direction-fields.patch (renamed from patches/server/0482-Inline-shift-direction-fields.patch)0
-rw-r--r--patches/server/0482-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/server/0483-Allow-adding-items-to-BlockDropItemEvent.patch)2
-rw-r--r--patches/server/0483-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/server/0484-Add-getMainThreadExecutor-to-BukkitScheduler.patch)0
-rw-r--r--patches/server/0484-living-entity-allow-attribute-registration.patch (renamed from patches/server/0485-living-entity-allow-attribute-registration.patch)0
-rw-r--r--patches/server/0485-fix-dead-slime-setSize-invincibility.patch (renamed from patches/server/0486-fix-dead-slime-setSize-invincibility.patch)0
-rw-r--r--patches/server/0486-Merchant-getRecipes-should-return-an-immutable-list.patch (renamed from patches/server/0487-Merchant-getRecipes-should-return-an-immutable-list.patch)0
-rw-r--r--patches/server/0487-Expose-Tracked-Players.patch (renamed from patches/server/0488-Expose-Tracked-Players.patch)0
-rw-r--r--patches/server/0488-Improve-ServerGUI.patch432
-rw-r--r--patches/server/0489-Improve-ServerGUI.patch431
-rw-r--r--patches/server/0489-fix-converting-txt-to-json-file.patch (renamed from patches/server/0490-fix-converting-txt-to-json-file.patch)2
-rw-r--r--patches/server/0490-Add-worldborder-events.patch (renamed from patches/server/0491-Add-worldborder-events.patch)0
-rw-r--r--patches/server/0491-Add-PlayerNameEntityEvent.patch (renamed from patches/server/0492-Add-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/server/0492-Add-recipe-to-cook-events.patch (renamed from patches/server/0493-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/server/0493-Add-Block-isValidTool.patch (renamed from patches/server/0494-Add-Block-isValidTool.patch)0
-rw-r--r--patches/server/0494-Allow-using-signs-inside-spawn-protection.patch (renamed from patches/server/0495-Allow-using-signs-inside-spawn-protection.patch)0
-rw-r--r--patches/server/0495-Expand-world-key-API.patch (renamed from patches/server/0496-Expand-world-key-API.patch)2
-rw-r--r--patches/server/0496-Add-fast-alternative-constructor-for-Rotations.patch (renamed from patches/server/0497-Add-fast-alternative-constructor-for-Rotations.patch)0
-rw-r--r--patches/server/0497-Drop-carried-item-when-player-has-disconnected.patch (renamed from patches/server/0498-Drop-carried-item-when-player-has-disconnected.patch)2
-rw-r--r--patches/server/0498-forced-whitelist-use-configurable-kick-message.patch (renamed from patches/server/0499-forced-whitelist-use-configurable-kick-message.patch)2
-rw-r--r--patches/server/0499-Don-t-ignore-result-of-PlayerEditBookEvent.patch (renamed from patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch)0
-rw-r--r--patches/server/0500-Expose-protocol-version.patch (renamed from patches/server/0501-Expose-protocol-version.patch)0
-rw-r--r--patches/server/0501-Enhance-console-tab-completions-for-brigadier-comman.patch (renamed from patches/server/0502-Enhance-console-tab-completions-for-brigadier-comman.patch)0
-rw-r--r--patches/server/0502-Fix-PlayerItemConsumeEvent-cancelling-properly.patch (renamed from patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch)2
-rw-r--r--patches/server/0503-Add-bypass-host-check.patch (renamed from patches/server/0504-Add-bypass-host-check.patch)0
-rw-r--r--patches/server/0504-Set-area-affect-cloud-rotation.patch (renamed from patches/server/0505-Set-area-affect-cloud-rotation.patch)2
-rw-r--r--patches/server/0505-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/server/0506-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/server/0506-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/server/0507-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/server/0507-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/server/0508-fix-PigZombieAngerEvent-cancellation.patch (renamed from patches/server/0509-fix-PigZombieAngerEvent-cancellation.patch)0
-rw-r--r--patches/server/0509-fix-PlayerItemHeldEvent-firing-twice.patch (renamed from patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch)0
-rw-r--r--patches/server/0510-Add-PlayerDeepSleepEvent.patch (renamed from patches/server/0511-Add-PlayerDeepSleepEvent.patch)0
-rw-r--r--patches/server/0511-More-World-API.patch (renamed from patches/server/0512-More-World-API.patch)4
-rw-r--r--patches/server/0512-Add-PlayerBedFailEnterEvent.patch (renamed from patches/server/0513-Add-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/server/0513-Implement-methods-to-convert-between-Component-and-B.patch (renamed from patches/server/0514-Implement-methods-to-convert-between-Component-and-B.patch)0
-rw-r--r--patches/server/0514-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch (renamed from patches/server/0515-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch)2
-rw-r--r--patches/server/0515-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/server/0516-Introduce-beacon-activation-deactivation-events.patch)0
-rw-r--r--patches/server/0516-Add-Channel-initialization-listeners.patch (renamed from patches/server/0517-Add-Channel-initialization-listeners.patch)0
-rw-r--r--patches/server/0517-Send-empty-commands-if-tab-completion-is-disabled.patch (renamed from patches/server/0518-Send-empty-commands-if-tab-completion-is-disabled.patch)0
-rw-r--r--patches/server/0518-Add-more-WanderingTrader-API.patch (renamed from patches/server/0519-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/server/0519-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/server/0520-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/server/0520-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/server/0521-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/server/0521-Add-HiddenPotionEffect-API.patch (renamed from patches/server/0522-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/server/0522-Inventory-close.patch (renamed from patches/server/0523-Inventory-close.patch)0
-rw-r--r--patches/server/0523-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/server/0524-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/server/0524-Add-basic-Datapack-API.patch (renamed from patches/server/0525-Add-basic-Datapack-API.patch)2
-rw-r--r--patches/server/0525-Add-environment-variable-to-disable-server-gui.patch (renamed from patches/server/0526-Add-environment-variable-to-disable-server-gui.patch)0
-rw-r--r--patches/server/0526-Expand-PlayerGameModeChangeEvent.patch (renamed from patches/server/0527-Expand-PlayerGameModeChangeEvent.patch)4
-rw-r--r--patches/server/0527-ItemStack-repair-check-API.patch (renamed from patches/server/0528-ItemStack-repair-check-API.patch)0
-rw-r--r--patches/server/0528-More-Enchantment-API.patch (renamed from patches/server/0529-More-Enchantment-API.patch)0
-rw-r--r--patches/server/0529-Move-range-check-for-block-placing-up.patch (renamed from patches/server/0530-Move-range-check-for-block-placing-up.patch)0
-rw-r--r--patches/server/0530-Add-Mob-lookAt-API.patch (renamed from patches/server/0531-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/server/0531-Correctly-check-if-bucket-dispenses-will-succeed-for.patch (renamed from patches/server/0532-Correctly-check-if-bucket-dispenses-will-succeed-for.patch)0
-rw-r--r--patches/server/0532-Add-Unix-domain-socket-support.patch (renamed from patches/server/0533-Add-Unix-domain-socket-support.patch)0
-rw-r--r--patches/server/0533-Add-EntityInsideBlockEvent.patch (renamed from patches/server/0534-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/server/0534-Improve-item-default-attribute-API.patch (renamed from patches/server/0535-Improve-item-default-attribute-API.patch)0
-rw-r--r--patches/server/0535-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/server/0536-Add-cause-to-Weather-ThunderChangeEvents.patch)14
-rw-r--r--patches/server/0536-More-Lidded-Block-API.patch (renamed from patches/server/0537-More-Lidded-Block-API.patch)0
-rw-r--r--patches/server/0537-Limit-item-frame-cursors-on-maps.patch (renamed from patches/server/0538-Limit-item-frame-cursors-on-maps.patch)0
-rw-r--r--patches/server/0538-Add-PlayerKickEvent-causes.patch (renamed from patches/server/0539-Add-PlayerKickEvent-causes.patch)2
-rw-r--r--patches/server/0539-Add-PufferFishStateChangeEvent.patch (renamed from patches/server/0540-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/server/0540-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (renamed from patches/server/0541-Fix-PlayerBucketEmptyEvent-result-itemstack.patch)0
-rw-r--r--patches/server/0541-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (renamed from patches/server/0542-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch)0
-rw-r--r--patches/server/0542-Add-option-to-fix-items-merging-through-walls.patch (renamed from patches/server/0543-Add-option-to-fix-items-merging-through-walls.patch)0
-rw-r--r--patches/server/0543-Add-BellRevealRaiderEvent.patch (renamed from patches/server/0544-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/server/0544-Fix-invulnerable-end-crystals.patch (renamed from patches/server/0545-Fix-invulnerable-end-crystals.patch)0
-rw-r--r--patches/server/0545-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/server/0546-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/server/0546-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from patches/server/0547-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch)0
-rw-r--r--patches/server/0547-Line-Of-Sight-Changes.patch (renamed from patches/server/0548-Line-Of-Sight-Changes.patch)2
-rw-r--r--patches/server/0548-add-per-world-spawn-limits.patch (renamed from patches/server/0549-add-per-world-spawn-limits.patch)2
-rw-r--r--patches/server/0549-Fix-potions-splash-events.patch (renamed from patches/server/0550-Fix-potions-splash-events.patch)2
-rw-r--r--patches/server/0550-Add-more-LimitedRegion-API.patch (renamed from patches/server/0551-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch (renamed from patches/server/0552-Fix-PlayerDropItemEvent-using-wrong-item.patch)2
-rw-r--r--patches/server/0552-Missing-Entity-API.patch (renamed from patches/server/0553-Missing-Entity-API.patch)0
-rw-r--r--patches/server/0553-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (renamed from patches/server/0554-Fix-return-value-of-Block-applyBoneMeal-always-being.patch)0
-rw-r--r--patches/server/0554-Use-getChunkIfLoadedImmediately-in-places.patch (renamed from patches/server/0555-Use-getChunkIfLoadedImmediately-in-places.patch)2
-rw-r--r--patches/server/0555-Fix-commands-from-signs-not-firing-command-events.patch (renamed from patches/server/0556-Fix-commands-from-signs-not-firing-command-events.patch)0
-rw-r--r--patches/server/0556-Add-PlayerArmSwingEvent.patch (renamed from patches/server/0557-Add-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/server/0557-Fix-kick-event-leave-message-not-being-sent.patch (renamed from patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch)4
-rw-r--r--patches/server/0558-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0559-Don-t-apply-cramming-damage-to-players.patch)2
-rw-r--r--patches/server/0559-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0560-Rate-options-and-timings-for-sensors-and-behaviors.patch)0
-rw-r--r--patches/server/0560-Add-missing-forceDrop-toggles.patch (renamed from patches/server/0561-Add-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0561-Stinger-API.patch (renamed from patches/server/0562-Stinger-API.patch)0
-rw-r--r--patches/server/0562-Add-System.out-err-catcher.patch (renamed from patches/server/0563-Add-System.out-err-catcher.patch)2
-rw-r--r--patches/server/0563-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch)0
-rw-r--r--patches/server/0564-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0565-Allow-skipping-writing-of-comments-to-server.propert.patch)0
-rw-r--r--patches/server/0565-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0566-Add-PlayerSetSpawnEvent.patch)4
-rw-r--r--patches/server/0566-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0567-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0567-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0568-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0568-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0569-Config-option-for-Piglins-guarding-chests.patch)0
-rw-r--r--patches/server/0569-Add-EntityDamageItemEvent.patch (renamed from patches/server/0570-Add-EntityDamageItemEvent.patch)0
-rw-r--r--patches/server/0570-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0571-Optimize-indirect-passenger-iteration.patch)2
-rw-r--r--patches/server/0571-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0572-Configurable-item-frame-map-cursor-update-interval.patch)0
-rw-r--r--patches/server/0572-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0573-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0573-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0574-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0574-Option-to-prevent-data-components-copy-in-smithing-r.patch (renamed from patches/server/0575-Option-to-prevent-data-components-copy-in-smithing-r.patch)0
-rw-r--r--patches/server/0575-More-CommandBlock-API.patch (renamed from patches/server/0576-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0576-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0577-Add-missing-team-sidebar-display-slots.patch)2
-rw-r--r--patches/server/0577-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0578-Add-back-EntityPortalExitEvent.patch)2
-rw-r--r--patches/server/0578-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0579-Add-methods-to-find-targets-for-lightning-strikes.patch)10
-rw-r--r--patches/server/0579-Get-entity-default-attributes.patch (renamed from patches/server/0580-Get-entity-default-attributes.patch)0
-rw-r--r--patches/server/0580-Left-handed-API.patch (renamed from patches/server/0581-Left-handed-API.patch)0
-rw-r--r--patches/server/0581-Add-more-advancement-API.patch (renamed from patches/server/0582-Add-more-advancement-API.patch)0
-rw-r--r--patches/server/0582-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch)0
-rw-r--r--patches/server/0583-Add-critical-damage-API.patch (renamed from patches/server/0584-Add-critical-damage-API.patch)2
-rw-r--r--patches/server/0584-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0585-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0585-Add-hasCollision-methods-to-various-places.patch (renamed from patches/server/0586-Add-hasCollision-methods-to-various-places.patch)0
-rw-r--r--patches/server/0586-Goat-ram-API.patch (renamed from patches/server/0587-Goat-ram-API.patch)0
-rw-r--r--patches/server/0587-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0588-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0588-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch)0
-rw-r--r--patches/server/0589-Vanilla-command-permission-fixes.patch (renamed from patches/server/0590-Vanilla-command-permission-fixes.patch)2
-rw-r--r--patches/server/0590-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0591-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)6
-rw-r--r--patches/server/0591-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0592-Fix-GameProfileCache-concurrency.patch)0
-rw-r--r--patches/server/0592-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0593-Improve-and-expand-AsyncCatcher.patch)12
-rw-r--r--patches/server/0593-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0594-Add-paper-mobcaps-and-paper-playermobcaps.patch)6
-rw-r--r--patches/server/0594-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0595-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0595-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0596-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0596-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0597-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0597-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0598-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)0
-rw-r--r--patches/server/0598-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0599-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0599-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch (renamed from patches/server/0600-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch)0
-rw-r--r--patches/server/0600-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0601-Oprimise-map-impl-for-tracked-players.patch)0
-rw-r--r--patches/server/0601-Add-missing-InventoryType.patch (renamed from patches/server/0602-Add-missing-InventoryType.patch)0
-rw-r--r--patches/server/0602-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0603-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0603-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0604-Fix-merchant-inventory-not-closing-on-entity-removal.patch)4
-rw-r--r--patches/server/0604-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0605-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0605-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0606-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0606-Add-packet-limiter-config.patch (renamed from patches/server/0607-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0607-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0608-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0608-Ensure-valid-vehicle-status.patch (renamed from patches/server/0609-Ensure-valid-vehicle-status.patch)2
-rw-r--r--patches/server/0609-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0610-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0610-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0611-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0611-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0612-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0612-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0613-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0613-Preserve-overstacked-loot.patch (renamed from patches/server/0614-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0614-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0615-Update-head-rotation-in-missing-places.patch)2
-rw-r--r--patches/server/0615-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0616-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0616-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0617-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0617-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0618-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0618-Configurable-feature-seeds.patch (renamed from patches/server/0619-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0619-Add-root-admin-user-detection.patch (renamed from patches/server/0620-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0620-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch)2
-rw-r--r--patches/server/0621-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch)2
-rw-r--r--patches/server/0622-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0623-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0623-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0624-Fix-Spigot-growth-modifiers.patch)0
-rw-r--r--patches/server/0624-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0625-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0625-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0626-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0626-Optimize-HashMapPalette.patch (renamed from patches/server/0627-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0627-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0628-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)0
-rw-r--r--patches/server/0628-Add-more-Campfire-API.patch (renamed from patches/server/0629-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0629-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0630-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/0630-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0631-Forward-CraftEntity-in-teleport-command.patch)2
-rw-r--r--patches/server/0631-Improve-scoreboard-entries.patch (renamed from patches/server/0632-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/server/0632-Entity-powdered-snow-API.patch (renamed from patches/server/0633-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/server/0633-Add-API-for-item-entity-health.patch (renamed from patches/server/0634-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/server/0634-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0635-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0635-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0636-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0636-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0637-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0637-Bucketable-API.patch (renamed from patches/server/0638-Bucketable-API.patch)0
-rw-r--r--patches/server/0638-Validate-usernames.patch (renamed from patches/server/0639-Validate-usernames.patch)2
-rw-r--r--patches/server/0639-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0640-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0640-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0641-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)8
-rw-r--r--patches/server/0641-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0642-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0642-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (renamed from patches/server/0643-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch)0
-rw-r--r--patches/server/0643-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0644-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0644-Reset-placed-block-on-exception.patch (renamed from patches/server/0645-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0645-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0646-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0646-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0647-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0647-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0648-Multi-Block-Change-API-Implementation.patch)2
-rw-r--r--patches/server/0648-Fix-NotePlayEvent.patch (renamed from patches/server/0649-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0649-Freeze-Tick-Lock-API.patch (renamed from patches/server/0650-Freeze-Tick-Lock-API.patch)6
-rw-r--r--patches/server/0650-More-PotionEffectType-API.patch (renamed from patches/server/0651-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0651-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0652-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0652-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch)4
-rw-r--r--patches/server/0653-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0654-Add-missing-structure-set-seed-configs.patch)0
-rw-r--r--patches/server/0654-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0655-Fix-cancelled-powdered-snow-bucket-placement.patch)0
-rw-r--r--patches/server/0655-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0656-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)2
-rw-r--r--patches/server/0656-Add-GameEvent-tags.patch (renamed from patches/server/0657-Add-GameEvent-tags.patch)2
-rw-r--r--patches/server/0657-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0658-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)0
-rw-r--r--patches/server/0658-Furnace-RecipesUsed-API.patch (renamed from patches/server/0659-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0659-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0660-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0660-Add-missing-block-data-API.patch (renamed from patches/server/0661-Add-missing-block-data-API.patch)0
-rw-r--r--patches/server/0661-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0662-Option-to-have-default-CustomSpawners-in-custom-worl.patch)0
-rw-r--r--patches/server/0662-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0663-Put-world-into-worldlist-before-initing-the-world.patch)2
-rw-r--r--patches/server/0663-Custom-Potion-Mixes.patch (renamed from patches/server/0664-Custom-Potion-Mixes.patch)2
-rw-r--r--patches/server/0664-Force-close-world-loading-screen.patch (renamed from patches/server/0665-Force-close-world-loading-screen.patch)2
-rw-r--r--patches/server/0665-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0666-Fix-falling-block-spawn-methods.patch)6
-rw-r--r--patches/server/0666-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0667-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0667-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0668-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)0
-rw-r--r--patches/server/0668-More-Projectile-API.patch (renamed from patches/server/0669-More-Projectile-API.patch)4
-rw-r--r--patches/server/0669-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0670-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0670-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0671-Don-t-allow-vehicle-movement-from-players-while-tele.patch)0
-rw-r--r--patches/server/0671-Implement-getComputedBiome-API.patch (renamed from patches/server/0672-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0672-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0673-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0673-Implement-enchantWithLevels-API.patch (renamed from patches/server/0674-Implement-enchantWithLevels-API.patch)0
-rw-r--r--patches/server/0674-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0675-Fix-saving-in-unloadWorld.patch)2
-rw-r--r--patches/server/0675-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0676-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0676-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0677-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0677-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0678-Fix-new-block-data-for-EntityChangeBlockEvent.patch)2
-rw-r--r--patches/server/0678-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0679-fix-player-loottables-running-when-mob-loot-gamerule.patch)2
-rw-r--r--patches/server/0679-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch)2
-rw-r--r--patches/server/0680-Cache-resource-keys-and-optimize-reference-Holder-ta.patch (renamed from patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch)0
-rw-r--r--patches/server/0681-Allow-changing-the-EnderDragon-podium.patch (renamed from patches/server/0682-Allow-changing-the-EnderDragon-podium.patch)0
-rw-r--r--patches/server/0682-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0683-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0683-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0684-Prevent-tile-entity-copies-loading-chunks.patch)0
-rw-r--r--patches/server/0684-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0685-Use-username-instead-of-display-name-in-PlayerList-g.patch)2
-rw-r--r--patches/server/0685-Expand-PlayerItemDamageEvent.patch (renamed from patches/server/0686-Expand-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/server/0686-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0687-WorldCreator-keepSpawnLoaded.patch)2
-rw-r--r--patches/server/0687-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0688-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0688-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0689-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)0
-rw-r--r--patches/server/0689-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0690-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0690-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0691-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0691-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0692-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0692-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0693-Add-PlayerStopUsingItemEvent.patch)2
-rw-r--r--patches/server/0693-Don-t-tick-markers.patch (renamed from patches/server/0694-Don-t-tick-markers.patch)4
-rw-r--r--patches/server/0694-Expand-FallingBlock-API.patch (renamed from patches/server/0695-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/server/0695-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0696-Add-support-for-Proxy-Protocol.patch)2
-rw-r--r--patches/server/0696-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0697-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0697-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0698-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0698-Sanitize-sent-BlockEntity-NBT.patch (renamed from patches/server/0699-Sanitize-sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0699-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0700-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0700-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch)2
-rw-r--r--patches/server/0701-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0702-Throw-exception-on-world-create-while-being-ticked.patch)2
-rw-r--r--patches/server/0702-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0703-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0703-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0704-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0704-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0705-Add-option-for-strict-advancement-dimension-checks.patch)2
-rw-r--r--patches/server/0705-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0706-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0706-Nameable-Banner-API.patch (renamed from patches/server/0707-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0707-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0708-Don-t-broadcast-messages-to-command-blocks.patch)2
-rw-r--r--patches/server/0708-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0709-Prevent-empty-items-from-being-added-to-world.patch)4
-rw-r--r--patches/server/0709-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0710-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0710-Add-Player-getFishHook.patch (renamed from patches/server/0711-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0711-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0712-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0712-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch)2
-rw-r--r--patches/server/0713-Fix-Bee-flower-NPE.patch (renamed from patches/server/0714-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0714-More-Teleport-API.patch (renamed from patches/server/0715-More-Teleport-API.patch)2
-rw-r--r--patches/server/0715-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0716-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/server/0716-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0717-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0717-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0718-Send-block-entities-after-destroy-prediction.patch)0
-rw-r--r--patches/server/0718-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0719-Warn-on-plugins-accessing-faraway-chunks.patch)39
-rw-r--r--patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0720-Custom-Chat-Completion-Suggestions-API.patch)2
-rw-r--r--patches/server/0720-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0721-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0721-Collision-API.patch (renamed from patches/server/0722-Collision-API.patch)0
-rw-r--r--patches/server/0722-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0723-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0723-Block-Ticking-API.patch (renamed from patches/server/0724-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0724-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0725-Add-Velocity-IP-Forwarding-Support.patch)2
-rw-r--r--patches/server/0725-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0726-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/server/0726-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0727-Fix-plugin-loggers-on-server-shutdown.patch)2
-rw-r--r--patches/server/0727-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch)2
-rw-r--r--patches/server/0728-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0729-Fire-EntityChangeBlockEvent-in-more-places.patch)0
-rw-r--r--patches/server/0729-Missing-eating-regain-reason.patch (renamed from patches/server/0730-Missing-eating-regain-reason.patch)0
-rw-r--r--patches/server/0730-Missing-effect-cause.patch (renamed from patches/server/0731-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0731-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0732-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0732-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0733-Call-BlockPhysicsEvent-more-often.patch)0
-rw-r--r--patches/server/0733-Configurable-chat-thread-limit.patch (renamed from patches/server/0734-Configurable-chat-thread-limit.patch)0
-rw-r--r--patches/server/0734-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0735-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0736-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0736-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0737-use-BlockFormEvent-for-mud-converting-into-clay.patch)0
-rw-r--r--patches/server/0737-Add-getDrops-to-BlockState.patch (renamed from patches/server/0738-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0738-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0739-Fix-a-bunch-of-vanilla-bugs.patch)6
-rw-r--r--patches/server/0739-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0740-Remove-unnecessary-onTrackingStart-during-navigation.patch)6
-rw-r--r--patches/server/0740-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0741-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0741-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0742-EntityPickupItemEvent-fixes.patch)0
-rw-r--r--patches/server/0742-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0743-Correctly-handle-interactions-with-items-on-cooldown.patch)2
-rw-r--r--patches/server/0743-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0744-Add-PlayerInventorySlotChangeEvent.patch)2
-rw-r--r--patches/server/0744-Elder-Guardian-appearance-API.patch (renamed from patches/server/0745-Elder-Guardian-appearance-API.patch)2
-rw-r--r--patches/server/0745-Add-entity-knockback-API.patch (renamed from patches/server/0746-Add-entity-knockback-API.patch)0
-rw-r--r--patches/server/0746-Detect-headless-JREs.patch (renamed from patches/server/0747-Detect-headless-JREs.patch)0
-rw-r--r--patches/server/0747-fix-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0748-fix-entity-vehicle-collision-event-not-called.patch)2
-rw-r--r--patches/server/0748-Add-EntityToggleSitEvent.patch (renamed from patches/server/0749-Add-EntityToggleSitEvent.patch)0
-rw-r--r--patches/server/0749-Add-fire-tick-delay-option.patch (renamed from patches/server/0750-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0750-Add-Moving-Piston-API.patch (renamed from patches/server/0751-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0751-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0752-Ignore-impossible-spawn-tick.patch)0
-rw-r--r--patches/server/0752-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch (renamed from patches/server/0753-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch)0
-rw-r--r--patches/server/0753-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)2
-rw-r--r--patches/server/0754-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0755-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/server/0755-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0756-ensure-reset-EnderDragon-boss-event-name.patch)0
-rw-r--r--patches/server/0756-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0757-Add-Player-Warden-Warning-API.patch)2
-rw-r--r--patches/server/0757-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0758-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0758-Add-paper-dumplisteners-command.patch (renamed from patches/server/0759-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0759-check-global-player-list-where-appropriate.patch (renamed from patches/server/0760-check-global-player-list-where-appropriate.patch)6
-rw-r--r--patches/server/0760-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0761-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0761-ItemStack-damage-API.patch (renamed from patches/server/0762-ItemStack-damage-API.patch)0
-rw-r--r--patches/server/0762-Friction-API.patch (renamed from patches/server/0763-Friction-API.patch)2
-rw-r--r--patches/server/0763-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0764-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0764-Fix-premature-player-kicks-on-shutdown.patch (renamed from patches/server/0765-Fix-premature-player-kicks-on-shutdown.patch)2
-rw-r--r--patches/server/0765-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0766-Sync-offhand-slot-in-menus.patch)2
-rw-r--r--patches/server/0766-Player-Entity-Tracking-Events.patch (renamed from patches/server/0767-Player-Entity-Tracking-Events.patch)2
-rw-r--r--patches/server/0767-Limit-pet-look-distance.patch (renamed from patches/server/0768-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0768-fix-Instruments.patch (renamed from patches/server/0769-fix-Instruments.patch)2
-rw-r--r--patches/server/0769-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0770-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0770-Add-BlockLockCheckEvent.patch (renamed from patches/server/0771-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/server/0771-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0772-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/server/0772-Improve-logging-and-errors.patch (renamed from patches/server/0773-Improve-logging-and-errors.patch)0
-rw-r--r--patches/server/0773-Improve-PortalEvents.patch (renamed from patches/server/0774-Improve-PortalEvents.patch)4
-rw-r--r--patches/server/0774-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0775-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0775-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0776-Add-missing-SpigotConfig-logCommands-check.patch)0
-rw-r--r--patches/server/0776-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0777-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0777-Flying-Fall-Damage.patch (renamed from patches/server/0778-Flying-Fall-Damage.patch)2
-rw-r--r--patches/server/0778-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)2
-rw-r--r--patches/server/0779-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0780-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0780-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0781-Use-single-player-info-update-packet-on-join.patch)2
-rw-r--r--patches/server/0781-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0782-Correctly-shrink-items-during-EntityResurrectEvent.patch)2
-rw-r--r--patches/server/0782-Win-Screen-API.patch (renamed from patches/server/0783-Win-Screen-API.patch)2
-rw-r--r--patches/server/0783-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0784-Remove-CraftItemStack-setAmount-null-assignment.patch)0
-rw-r--r--patches/server/0784-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0785-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0785-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0786-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/server/0786-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0787-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0787-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0788-Add-EntityFertilizeEggEvent.patch)2
-rw-r--r--patches/server/0788-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0789-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0789-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0790-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0790-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0791-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0791-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch)2
-rw-r--r--patches/server/0792-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0793-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0793-Fix-inventories-returning-null-Locations.patch (renamed from patches/server/0794-Fix-inventories-returning-null-Locations.patch)0
-rw-r--r--patches/server/0794-Add-Shearable-API.patch (renamed from patches/server/0795-Add-Shearable-API.patch)0
-rw-r--r--patches/server/0795-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0796-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0796-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0797-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0797-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0798-Treat-sequence-violations-like-they-should-be.patch)0
-rw-r--r--patches/server/0798-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0799-Prevent-causing-expired-keys-from-impacting-new-join.patch)0
-rw-r--r--patches/server/0799-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0800-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)4
-rw-r--r--patches/server/0800-Use-array-for-gamerule-storage.patch (renamed from patches/server/0801-Use-array-for-gamerule-storage.patch)0
-rw-r--r--patches/server/0801-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0802-Fix-a-couple-of-upstream-bed-issues.patch)0
-rw-r--r--patches/server/0802-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0803-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0803-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0804-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/server/0804-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0805-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0805-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0806-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0806-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0807-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0807-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0808-Expand-PlayerItemMendEvent.patch)2
-rw-r--r--patches/server/0808-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch)2
-rw-r--r--patches/server/0809-Add-transient-modifier-API.patch (renamed from patches/server/0810-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0810-Fix-block-place-logic.patch (renamed from patches/server/0811-Fix-block-place-logic.patch)0
-rw-r--r--patches/server/0811-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0812-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)0
-rw-r--r--patches/server/0812-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0813-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0813-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0814-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)2
-rw-r--r--patches/server/0814-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0815-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0815-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0816-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0816-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0817-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/server/0817-Add-event-for-player-editing-sign.patch (renamed from patches/server/0818-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/server/0818-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0819-Only-tick-item-frames-if-players-can-see-it.patch)0
-rw-r--r--patches/server/0819-Fix-cmd-permission-levels-for-command-blocks.patch (renamed from patches/server/0820-Fix-cmd-permission-levels-for-command-blocks.patch)0
-rw-r--r--patches/server/0820-Add-option-to-disable-block-updates.patch (renamed from patches/server/0821-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0821-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0822-Call-missing-BlockDispenseEvent.patch)2
-rw-r--r--patches/server/0822-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch)2
-rw-r--r--patches/server/0823-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0824-Optimize-player-lookups-for-beacons.patch)0
-rw-r--r--patches/server/0824-More-Sign-Block-API.patch (renamed from patches/server/0825-More-Sign-Block-API.patch)0
-rw-r--r--patches/server/0825-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0826-fix-item-meta-for-tadpole-buckets.patch)2
-rw-r--r--patches/server/0826-Fix-BanList-API.patch (renamed from patches/server/0827-Fix-BanList-API.patch)2
-rw-r--r--patches/server/0827-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0828-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0828-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0829-Fix-possible-NPE-on-painting-creation.patch)0
-rw-r--r--patches/server/0829-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0830-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0830-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0831-ExperienceOrb-should-call-EntitySpawnEvent.patch)2
-rw-r--r--patches/server/0831-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0832-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0832-Add-whitelist-events.patch (renamed from patches/server/0833-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0833-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0834-Implement-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/server/0834-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0835-Folia-scheduler-and-owned-region-API.patch)6
-rw-r--r--patches/server/0835-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0836-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0836-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0837-Fix-rotation-when-spawning-display-entities.patch)2
-rw-r--r--patches/server/0837-Only-capture-actual-tree-growth.patch (renamed from patches/server/0838-Only-capture-actual-tree-growth.patch)4
-rw-r--r--patches/server/0838-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0839-Use-correct-source-for-mushroom-block-spread-event.patch)0
-rw-r--r--patches/server/0839-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0840-Respect-randomizeData-on-more-entities-when-spawning.patch)2
-rw-r--r--patches/server/0840-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0841-Use-correct-seed-on-api-world-load.patch)2
-rw-r--r--patches/server/0841-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0842-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0842-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0843-Cache-map-ids-on-item-frames.patch)0
-rw-r--r--patches/server/0843-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0844-API-for-updating-recipes-on-clients.patch)2
-rw-r--r--patches/server/0844-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0845-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/server/0845-Bandaid-fix-for-Effect.patch (renamed from patches/server/0846-Bandaid-fix-for-Effect.patch)4
-rw-r--r--patches/server/0846-SculkCatalyst-bloom-API.patch (renamed from patches/server/0847-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0847-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0848-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/server/0848-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0849-Deprecate-and-replace-methods-with-old-StructureType.patch)2
-rw-r--r--patches/server/0849-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0850-Don-t-tab-complete-namespaced-commands-if-send-names.patch)0
-rw-r--r--patches/server/0850-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0851-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0851-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0852-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0852-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0853-Configurable-entity-tracking-range-by-Y-coordinate.patch)0
-rw-r--r--patches/server/0853-Add-Listing-API-for-Player.patch (renamed from patches/server/0854-Add-Listing-API-for-Player.patch)2
-rw-r--r--patches/server/0854-Configurable-Region-Compression-Format.patch (renamed from patches/server/0855-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0855-Add-BlockFace-to-BlockDamageEvent.patch (renamed from patches/server/0856-Add-BlockFace-to-BlockDamageEvent.patch)2
-rw-r--r--patches/server/0856-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/0857-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/0857-Expand-Pose-API.patch (renamed from patches/server/0858-Expand-Pose-API.patch)0
-rw-r--r--patches/server/0858-More-DragonBattle-API.patch (renamed from patches/server/0859-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/0859-Add-PlayerPickItemEvent.patch (renamed from patches/server/0860-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/server/0860-Allow-trident-custom-damage.patch (renamed from patches/server/0861-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/server/0861-Expose-hand-in-BlockCanBuildEvent.patch (renamed from patches/server/0862-Expose-hand-in-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/0862-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/0863-Optimize-nearest-structure-border-iteration.patch)0
-rw-r--r--patches/server/0863-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/0864-Implement-OfflinePlayer-isConnected.patch)2
-rw-r--r--patches/server/0864-Fix-slot-desync.patch (renamed from patches/server/0865-Fix-slot-desync.patch)4
-rw-r--r--patches/server/0865-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/0866-Add-titleOverride-to-InventoryOpenEvent.patch)4
-rw-r--r--patches/server/0866-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/0867-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/0867-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/0868-Do-crystal-portal-proximity-check-before-entity-look.patch)0
-rw-r--r--patches/server/0868-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/0869-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/0869-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/0870-Add-slot-sanity-checks-in-container-clicks.patch)0
-rw-r--r--patches/server/0870-Call-BlockRedstoneEvents-properly.patch (renamed from patches/server/0871-Call-BlockRedstoneEvents-properly.patch)0
-rw-r--r--patches/server/0871-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/0872-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/server/0872-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/0873-Fix-silent-equipment-change-for-mobs.patch)0
-rw-r--r--patches/server/0873-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/0874-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/0874-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/0875-Add-missing-InventoryHolders-to-inventories.patch)0
-rw-r--r--patches/server/0875-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/0876-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)0
-rw-r--r--patches/server/0876-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/0877-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/0877-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/0878-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/0878-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/0879-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/0879-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/0880-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/0880-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/0881-Fix-missing-map-initialize-event-call.patch)4
-rw-r--r--patches/server/0881-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/0882-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/0882-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch)2
-rw-r--r--patches/server/0883-Add-player-idle-duration-API.patch (renamed from patches/server/0884-Add-player-idle-duration-API.patch)2
-rw-r--r--patches/server/0884-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/0885-Don-t-check-if-we-can-see-non-visible-entities.patch)0
-rw-r--r--patches/server/0885-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/0886-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)2
-rw-r--r--patches/server/0887-Optimize-VarInts.patch (renamed from patches/server/0888-Optimize-VarInts.patch)0
-rw-r--r--patches/server/0888-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/0889-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/server/0889-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/0890-Add-predicate-for-blocks-when-raytracing.patch)8
-rw-r--r--patches/server/0890-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch)2
-rw-r--r--patches/server/0891-Expand-LingeringPotion-API.patch (renamed from patches/server/0892-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/server/0892-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/0893-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)4
-rw-r--r--patches/server/0893-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/0894-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/server/0894-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/0895-Fix-several-issues-with-EntityBreedEvent.patch)0
-rw-r--r--patches/server/0895-Add-UUID-attribute-modifier-API.patch (renamed from patches/server/0896-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/server/0896-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/0897-Fix-missing-event-call-for-entity-teleport-API.patch)2
-rw-r--r--patches/server/0897-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/0898-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/0898-Don-t-fire-sync-events-during-worldgen.patch (renamed from patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch)8
-rw-r--r--patches/server/0899-Add-Structure-check-API.patch (renamed from patches/server/0900-Add-Structure-check-API.patch)2
-rw-r--r--patches/server/0900-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/0901-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)2
-rw-r--r--patches/server/0901-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/0902-Restore-vanilla-entity-drops-behavior.patch)6
-rw-r--r--patches/server/0902-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/0903-Dont-resend-blocks-on-interactions.patch)0
-rw-r--r--patches/server/0903-add-more-scoreboard-API.patch (renamed from patches/server/0904-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/0904-Improve-Registry.patch (renamed from patches/server/0905-Improve-Registry.patch)0
-rw-r--r--patches/server/0905-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (renamed from patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch)2
-rw-r--r--patches/server/0906-Add-experience-points-API.patch (renamed from patches/server/0907-Add-experience-points-API.patch)2
-rw-r--r--patches/server/0907-Add-drops-to-shear-events.patch (renamed from patches/server/0908-Add-drops-to-shear-events.patch)2
-rw-r--r--patches/server/0908-Add-PlayerShieldDisableEvent.patch (renamed from patches/server/0909-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/server/0909-Validate-ResourceLocation-in-NBT-reading.patch (renamed from patches/server/0910-Validate-ResourceLocation-in-NBT-reading.patch)2
-rw-r--r--patches/server/0910-Properly-handle-experience-dropping-on-block-break.patch (renamed from patches/server/0911-Properly-handle-experience-dropping-on-block-break.patch)0
-rw-r--r--patches/server/0911-Fixup-NamespacedKey-handling.patch (renamed from patches/server/0912-Fixup-NamespacedKey-handling.patch)0
-rw-r--r--patches/server/0912-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/server/0913-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/server/0913-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (renamed from patches/server/0914-Reduce-allocation-of-Vec3D-by-entity-tracker.patch)0
-rw-r--r--patches/server/0914-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/0915-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch)0
-rw-r--r--patches/server/0915-Add-ShulkerDuplicateEvent.patch (renamed from patches/server/0916-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/server/0916-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch)0
-rw-r--r--patches/server/0917-Add-Lifecycle-Event-system.patch (renamed from patches/server/0918-Add-Lifecycle-Event-system.patch)2
-rw-r--r--patches/server/0918-ItemStack-Tooltip-API.patch (renamed from patches/server/0919-ItemStack-Tooltip-API.patch)0
-rw-r--r--patches/server/0919-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/server/0920-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/server/0920-Add-FluidState-API.patch (renamed from patches/server/0921-Add-FluidState-API.patch)0
-rw-r--r--patches/server/0921-add-number-format-api.patch (renamed from patches/server/0922-add-number-format-api.patch)0
-rw-r--r--patches/server/0922-improve-BanList-types.patch (renamed from patches/server/0923-improve-BanList-types.patch)2
-rw-r--r--patches/server/0923-Expanded-Hopper-API.patch (renamed from patches/server/0924-Expanded-Hopper-API.patch)0
-rw-r--r--patches/server/0924-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/server/0925-Add-BlockBreakProgressUpdateEvent.patch)4
-rw-r--r--patches/server/0925-Deprecate-ItemStack-setType.patch (renamed from patches/server/0926-Deprecate-ItemStack-setType.patch)0
-rw-r--r--patches/server/0926-Add-CartographyItemEvent.patch (renamed from patches/server/0927-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/server/0927-More-Raid-API.patch (renamed from patches/server/0928-More-Raid-API.patch)4
-rw-r--r--patches/server/0928-Add-onboarding-message-for-initial-server-start.patch (renamed from patches/server/0929-Add-onboarding-message-for-initial-server-start.patch)0
-rw-r--r--patches/server/0929-Configurable-max-block-fluid-ticks.patch (renamed from patches/server/0930-Configurable-max-block-fluid-ticks.patch)4
-rw-r--r--patches/server/0930-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0931-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0931-Disable-memory-reserve-allocating.patch (renamed from patches/server/0932-Disable-memory-reserve-allocating.patch)0
-rw-r--r--patches/server/0932-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch (renamed from patches/server/0933-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch)0
-rw-r--r--patches/server/0933-Fix-DamageSource-API.patch (renamed from patches/server/0934-Fix-DamageSource-API.patch)2
-rw-r--r--patches/server/0934-Fix-creation-of-invalid-block-entity-during-world-ge.patch (renamed from patches/server/0935-Fix-creation-of-invalid-block-entity-during-world-ge.patch)0
-rw-r--r--patches/server/0935-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch (renamed from patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch)0
-rw-r--r--patches/server/0936-Improve-tag-parser-handling.patch (renamed from patches/server/0937-Improve-tag-parser-handling.patch)0
-rw-r--r--patches/server/0937-Item-Mutation-Fixes.patch (renamed from patches/server/0938-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/server/0938-Per-world-ticks-per-spawn-settings.patch (renamed from patches/server/0939-Per-world-ticks-per-spawn-settings.patch)0
-rw-r--r--patches/server/0939-Properly-track-the-changed-item-from-dispense-events.patch (renamed from patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch)0
-rw-r--r--patches/server/0940-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/0941-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch)0
-rw-r--r--patches/server/0941-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0942-Add-config-for-mobs-immune-to-default-effects.patch)0
-rw-r--r--patches/server/0942-Deep-clone-nbt-tags-in-PDC.patch (renamed from patches/server/0943-Deep-clone-nbt-tags-in-PDC.patch)2
-rw-r--r--patches/server/0943-Support-old-UUID-format-for-NBT.patch (renamed from patches/server/0944-Support-old-UUID-format-for-NBT.patch)0
-rw-r--r--patches/server/0944-Fix-shield-disable-inconsistency.patch (renamed from patches/server/0945-Fix-shield-disable-inconsistency.patch)2
-rw-r--r--patches/server/0945-Handle-Large-Packets-disconnecting-client.patch (renamed from patches/server/0946-Handle-Large-Packets-disconnecting-client.patch)0
-rw-r--r--patches/server/0946-Fix-ItemFlags.patch (renamed from patches/server/0947-Fix-ItemFlags.patch)2
-rw-r--r--patches/server/0947-Fix-damage-modifier-inconsistencies.patch (renamed from patches/server/0948-Fix-damage-modifier-inconsistencies.patch)2
-rw-r--r--patches/server/0948-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch (renamed from patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch)2
-rw-r--r--patches/server/0949-improve-checking-handled-tags-in-itemmeta.patch (renamed from patches/server/0950-improve-checking-handled-tags-in-itemmeta.patch)2
-rw-r--r--patches/server/0950-Expose-hasColor-to-leather-armor.patch (renamed from patches/server/0951-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/server/0951-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/server/0952-Added-API-to-get-player-ha-proxy-address.patch)2
-rw-r--r--patches/server/0952-General-ItemMeta-fixes.patch (renamed from patches/server/0953-General-ItemMeta-fixes.patch)0
-rw-r--r--patches/server/0953-More-Chest-Block-API.patch (renamed from patches/server/0954-More-Chest-Block-API.patch)0
-rw-r--r--patches/server/0954-Print-data-component-type-on-encoding-error.patch (renamed from patches/server/0955-Print-data-component-type-on-encoding-error.patch)0
-rw-r--r--patches/server/0955-Brigadier-based-command-API.patch (renamed from patches/server/0956-Brigadier-based-command-API.patch)2
-rw-r--r--patches/server/0956-Fix-issues-with-Recipe-API.patch (renamed from patches/server/0957-Fix-issues-with-Recipe-API.patch)0
-rw-r--r--patches/server/0957-Fix-equipment-slot-and-group-API.patch (renamed from patches/server/0958-Fix-equipment-slot-and-group-API.patch)2
-rw-r--r--patches/server/0958-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/server/0959-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch)0
-rw-r--r--patches/server/0959-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch)2
-rw-r--r--patches/server/0960-Prevent-NPE-if-hooked-entity-was-cleared.patch (renamed from patches/server/0961-Prevent-NPE-if-hooked-entity-was-cleared.patch)0
-rw-r--r--patches/server/0961-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch (renamed from patches/server/0962-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch)0
-rw-r--r--patches/server/0962-Add-missing-fishing-event-state.patch (renamed from patches/server/0963-Add-missing-fishing-event-state.patch)0
-rw-r--r--patches/server/0963-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/server/0964-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch)0
-rw-r--r--patches/server/0964-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch (renamed from patches/server/0965-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch)0
-rw-r--r--patches/server/0965-Adopt-MaterialRerouting.patch (renamed from patches/server/0966-Adopt-MaterialRerouting.patch)0
-rw-r--r--patches/server/0966-Suspicious-Effect-Entry-API.patch (renamed from patches/server/0967-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/server/0967-check-if-itemstack-is-stackable-first.patch (renamed from patches/server/0968-check-if-itemstack-is-stackable-first.patch)0
-rw-r--r--patches/server/0968-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0969-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0969-Configurable-damage-tick-when-blocking-with-shield.patch (renamed from patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch)2
-rw-r--r--patches/server/0970-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/server/0971-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/server/0971-disable-forced-empty-world-ticks.patch (renamed from patches/server/0972-disable-forced-empty-world-ticks.patch)4
-rw-r--r--patches/server/0972-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch)0
-rw-r--r--patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch)6
-rw-r--r--patches/server/0974-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch)0
-rw-r--r--patches/server/0975-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch)0
-rw-r--r--patches/server/0976-Flat-bedrock-generator-settings.patch (renamed from patches/server/0977-Flat-bedrock-generator-settings.patch)0
-rw-r--r--patches/server/0977-Entity-Activation-Range-2.0.patch (renamed from patches/server/0978-Entity-Activation-Range-2.0.patch)8
-rw-r--r--patches/server/0978-Anti-Xray.patch (renamed from patches/server/0979-Anti-Xray.patch)10
-rw-r--r--patches/server/0979-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch)2
-rw-r--r--patches/server/0980-Optimize-Collision-to-not-load-chunks.patch (renamed from patches/server/0981-Optimize-Collision-to-not-load-chunks.patch)0
-rw-r--r--patches/server/0981-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch)0
-rw-r--r--patches/server/0982-Optimize-Hoppers.patch (renamed from patches/server/0983-Optimize-Hoppers.patch)0
-rw-r--r--patches/server/0983-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/0984-Optimize-Voxel-Shape-Merging.patch)0
-rw-r--r--patches/server/0984-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/0985-Optimize-Bit-Operations-by-inlining.patch)0
-rw-r--r--patches/server/0985-Remove-streams-from-hot-code.patch (renamed from patches/server/0986-Remove-streams-from-hot-code.patch)0
-rw-r--r--patches/server/0986-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch)0
-rw-r--r--patches/server/0987-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/0988-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch)0
-rw-r--r--patches/server/0989-Check-distance-in-entity-interactions.patch (renamed from patches/server/0990-Check-distance-in-entity-interactions.patch)2
-rw-r--r--patches/server/0990-Configurable-Sand-Duping.patch (renamed from patches/server/0991-Configurable-Sand-Duping.patch)0
-rw-r--r--patches/server/0991-Properly-resend-entities.patch (renamed from patches/server/0992-Properly-resend-entities.patch)2
-rw-r--r--patches/server/0992-Registry-Modification-API.patch (renamed from patches/server/0993-Registry-Modification-API.patch)2
-rw-r--r--patches/server/0993-Add-registry-entry-and-builders.patch (renamed from patches/server/0994-Add-registry-entry-and-builders.patch)0
-rw-r--r--patches/server/0994-Proxy-ItemStack-to-CraftItemStack.patch (renamed from patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch)0
-rw-r--r--patches/server/0995-Make-a-PDC-view-accessible-directly-from-ItemStack.patch (renamed from patches/server/0996-Make-a-PDC-view-accessible-directly-from-ItemStack.patch)0
-rw-r--r--patches/server/0996-Prioritize-Minecraft-commands-in-function-parsing-an.patch (renamed from patches/server/0997-Prioritize-Minecraft-commands-in-function-parsing-an.patch)0
-rw-r--r--patches/server/0997-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/0998-optimize-dirt-and-snow-spreading.patch)0
-rw-r--r--patches/server/0998-Fix-NPE-for-Jukebox-setRecord.patch (renamed from patches/server/0999-Fix-NPE-for-Jukebox-setRecord.patch)0
-rw-r--r--patches/server/0999-fix-horse-inventories.patch (renamed from patches/server/1000-fix-horse-inventories.patch)0
-rw-r--r--patches/server/1000-Only-call-EntityDamageEvents-before-actuallyHurt.patch (renamed from patches/server/1001-Only-call-EntityDamageEvents-before-actuallyHurt.patch)2
-rw-r--r--patches/server/1001-Add-ItemType-getItemRarity.patch (renamed from patches/server/1002-Add-ItemType-getItemRarity.patch)0
-rw-r--r--patches/server/1002-Add-plugin-info-at-startup.patch (renamed from patches/server/1003-Add-plugin-info-at-startup.patch)0
-rw-r--r--patches/server/1003-Make-interaction-leniency-distance-configurable.patch (renamed from patches/server/1004-Make-interaction-leniency-distance-configurable.patch)0
-rw-r--r--patches/server/1004-Fix-PickupStatus-getting-reset.patch (renamed from patches/server/1005-Fix-PickupStatus-getting-reset.patch)0
-rw-r--r--patches/server/1005-Check-for-block-type-in-SculkSensorBlock-canActivate.patch (renamed from patches/server/1006-Check-for-block-type-in-SculkSensorBlock-canActivate.patch)0
-rw-r--r--patches/server/1006-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch (renamed from patches/server/1007-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch)2
-rw-r--r--patches/server/1007-Configuration-for-horizontal-only-item-merging.patch (renamed from patches/server/1008-Configuration-for-horizontal-only-item-merging.patch)0
-rw-r--r--patches/server/1008-Add-skipping-world-symlink-scan.patch (renamed from patches/server/1009-Add-skipping-world-symlink-scan.patch)0
-rw-r--r--patches/server/1009-Add-even-more-Enchantment-API.patch (renamed from patches/server/1010-Add-even-more-Enchantment-API.patch)0
-rw-r--r--patches/server/1010-Leashable-API.patch (renamed from patches/server/1011-Leashable-API.patch)0
-rw-r--r--patches/server/1011-Fix-CraftBukkit-drag-system.patch (renamed from patches/server/1012-Fix-CraftBukkit-drag-system.patch)0
-rw-r--r--patches/server/1012-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch (renamed from patches/server/1013-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch)0
-rw-r--r--patches/server/1013-Remove-set-damage-lootable-item-function-from-compas.patch (renamed from patches/server/1014-Remove-set-damage-lootable-item-function-from-compas.patch)0
-rw-r--r--patches/server/1014-Add-enchantment-seed-update-API.patch (renamed from patches/server/1015-Add-enchantment-seed-update-API.patch)0
-rw-r--r--patches/server/1015-Fix-synchronise-sending-chat-to-client-with-updating.patch (renamed from patches/server/1016-Fix-synchronise-sending-chat-to-client-with-updating.patch)0
-rw-r--r--patches/server/1016-Fix-InventoryOpenEvent-cancellation.patch (renamed from patches/server/1017-Fix-InventoryOpenEvent-cancellation.patch)0
-rw-r--r--patches/server/1017-Fire-BlockExpEvent-on-grindstone-use.patch (renamed from patches/server/1018-Fire-BlockExpEvent-on-grindstone-use.patch)0
-rw-r--r--patches/server/1018-Check-dead-flag-in-isAlive.patch (renamed from patches/server/1019-Check-dead-flag-in-isAlive.patch)2
-rw-r--r--patches/server/1019-Add-FeatureFlag-API.patch (renamed from patches/server/1020-Add-FeatureFlag-API.patch)4
-rw-r--r--patches/server/1020-Tag-Lifecycle-Events.patch (renamed from patches/server/1021-Tag-Lifecycle-Events.patch)2
-rw-r--r--patches/server/1021-Item-serialization-as-json.patch (renamed from patches/server/1022-Item-serialization-as-json.patch)2
-rw-r--r--patches/server/1022-Validate-slot-in-PlayerInventory-setSlot.patch (renamed from patches/server/1023-Validate-slot-in-PlayerInventory-setSlot.patch)0
-rw-r--r--patches/server/1023-Remove-wall-time-unused-skip-tick-protection.patch (renamed from patches/server/1024-Remove-wall-time-unused-skip-tick-protection.patch)0
-rw-r--r--patches/server/1024-Disable-pretty-printing-for-advancement-saving.patch (renamed from patches/server/1025-Disable-pretty-printing-for-advancement-saving.patch)0
-rw-r--r--patches/server/1025-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch (renamed from patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch)0
-rw-r--r--patches/server/1026-Add-enchantWithLevels-with-enchantment-registry-set.patch (renamed from patches/server/1027-Add-enchantWithLevels-with-enchantment-registry-set.patch)0
-rw-r--r--patches/server/1027-Improve-entity-effect-API.patch (renamed from patches/server/1028-Improve-entity-effect-API.patch)2
-rw-r--r--patches/server/1028-Add-recipeBrewTime.patch (renamed from patches/server/1029-Add-recipeBrewTime.patch)0
-rw-r--r--patches/server/1029-Call-bucket-events-for-cauldrons.patch (renamed from patches/server/1030-Call-bucket-events-for-cauldrons.patch)0
-rw-r--r--patches/server/1030-Add-PlayerInsertLecternBookEvent.patch (renamed from patches/server/1031-Add-PlayerInsertLecternBookEvent.patch)0
-rw-r--r--patches/server/1031-Void-damage-configuration-API.patch (renamed from patches/server/1032-Void-damage-configuration-API.patch)4
-rw-r--r--patches/server/1032-Add-Offline-PDC-API.patch (renamed from patches/server/1033-Add-Offline-PDC-API.patch)0
-rw-r--r--patches/server/1033-Add-AnvilView-bypassEnchantmentLevelRestriction.patch (renamed from patches/server/1034-Add-AnvilView-bypassEnchantmentLevelRestriction.patch)2
-rw-r--r--patches/server/1034-Add-proper-async-player-disconnections.patch (renamed from patches/server/1035-Add-proper-async-player-disconnections.patch)2
-rw-r--r--patches/server/1035-DataComponent-API.patch (renamed from patches/server/1036-DataComponent-API.patch)0
-rw-r--r--patches/server/1036-Always-send-Banner-patterns-to-the-client.patch (renamed from patches/server/1037-Always-send-Banner-patterns-to-the-client.patch)0
-rw-r--r--patches/server/1037-Rewrite-dataconverter-system.patch (renamed from patches/server/1038-Rewrite-dataconverter-system.patch)0
-rw-r--r--patches/server/1038-Moonrise-optimisation-patches.patch (renamed from patches/server/1039-Moonrise-optimisation-patches.patch)107
-rw-r--r--patches/server/1039-API-for-checking-sent-chunks.patch (renamed from patches/server/1040-API-for-checking-sent-chunks.patch)0
-rw-r--r--patches/server/1040-Fix-CraftWorld-isChunkGenerated.patch (renamed from patches/server/1041-Fix-CraftWorld-isChunkGenerated.patch)4
-rw-r--r--patches/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch (renamed from patches/server/1042-Add-startup-flag-to-disable-gamerule-limits.patch)0
-rw-r--r--patches/server/1042-Improved-Watchdog-Support.patch (renamed from patches/server/1043-Improved-Watchdog-Support.patch)0
-rw-r--r--patches/server/1043-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1044-Detail-more-information-in-watchdog-dumps.patch)6
-rw-r--r--patches/server/1044-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/1045-Entity-load-save-limit-per-chunk.patch)0
-rw-r--r--patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1046-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/1046-Bundle-spark.patch (renamed from patches/server/1047-Bundle-spark.patch)2
-rw-r--r--patches/server/1047-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1048-Improve-performance-of-mass-crafts.patch)0
-rw-r--r--patches/server/1048-Incremental-chunk-and-player-saving.patch (renamed from patches/server/1049-Incremental-chunk-and-player-saving.patch)4
-rw-r--r--patches/server/1049-Optimise-general-POI-access.patch (renamed from patches/server/1050-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch (renamed from patches/server/1051-Fix-entity-tracker-desync-when-new-players-are-added.patch)0
-rw-r--r--patches/server/1051-Lag-compensation-ticks.patch (renamed from patches/server/1052-Lag-compensation-ticks.patch)4
-rw-r--r--patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1053-Optimise-collision-checking-in-player-move-packet-ha.patch)0
-rw-r--r--patches/server/1053-Optional-per-player-mob-spawns.patch (renamed from patches/server/1054-Optional-per-player-mob-spawns.patch)0
-rw-r--r--patches/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/1055-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)0
-rw-r--r--patches/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch (renamed from patches/server/1056-Avoid-issues-with-certain-tasks-not-processing-durin.patch)0
-rw-r--r--patches/server/1056-Allow-using-old-ender-pearl-behavior.patch (renamed from patches/server/1057-Allow-using-old-ender-pearl-behavior.patch)0
-rw-r--r--patches/server/1057-Block-Enderpearl-Travel-Exploit.patch (renamed from patches/server/1058-Block-Enderpearl-Travel-Exploit.patch)4
-rw-r--r--patches/server/1058-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/1059-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/1059-Correct-update-cursor.patch (renamed from patches/server/1060-Correct-update-cursor.patch)0
-rw-r--r--patches/server/1060-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch (renamed from patches/server/1061-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch)4
-rw-r--r--patches/server/1061-Improve-exact-choice-recipe-ingredients.patch (renamed from patches/server/1062-Improve-exact-choice-recipe-ingredients.patch)0
-rw-r--r--patches/server/1062-Eigencraft-redstone-implementation.patch (renamed from patches/server/1063-Eigencraft-redstone-implementation.patch)0
-rw-r--r--patches/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch (renamed from patches/server/1064-Improve-performance-of-RecipeMap-removeRecipe.patch)0
-rw-r--r--patches/server/1064-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch (renamed from patches/server/1065-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch)0
-rw-r--r--patches/server/1065-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1066-Add-Alternate-Current-redstone-implementation.patch)4
720 files changed, 978 insertions, 1034 deletions
diff --git a/patches/api/0139-Async-Chunks-API.patch b/patches/api/0139-Async-Chunks-API.patch
index caa55b4c1f..72bc196ac9 100644
--- a/patches/api/0139-Async-Chunks-API.patch
+++ b/patches/api/0139-Async-Chunks-API.patch
@@ -8,10 +8,10 @@ Adds API's to load or generate chunks asynchronously.
Also adds utility methods to Entity to teleport asynchronously.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6bbeb61062 100644
+index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..f314f8bc5c437c5703c1e093278d9046903ff2c8 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -977,6 +977,472 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -977,6 +977,509 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
// Paper end - additional getNearbyEntities API
@@ -63,10 +63,7 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ */
+ @Deprecated(since = "1.13.1")
+ public default void getChunkAtAsync(int x, int z, @NotNull ChunkLoadCallback cb) {
-+ getChunkAtAsync(x, z, true).thenAccept(cb::onLoad).exceptionally((ex) -> {
-+ Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Exception in chunk load callback", ex);
-+ return null;
-+ });
++ this.getChunkAtAsync(x, z, (java.util.function.Consumer<Chunk>)cb);
+ }
+
+ /**
@@ -89,10 +86,7 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ */
+ @Deprecated(since = "1.13.1")
+ public default void getChunkAtAsync(@NotNull Location loc, @NotNull ChunkLoadCallback cb) {
-+ getChunkAtAsync(loc, true).thenAccept(cb::onLoad).exceptionally((ex) -> {
-+ Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Exception in chunk load callback", ex);
-+ return null;
-+ });
++ this.getChunkAtAsync(loc.getBlockX() >> 4, loc.getBlockZ() >> 4, cb);
+ }
+
+ /**
@@ -115,10 +109,7 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ */
+ @Deprecated(since = "1.13.1")
+ public default void getChunkAtAsync(@NotNull Block block, @NotNull ChunkLoadCallback cb) {
-+ getChunkAtAsync(block, true).thenAccept(cb::onLoad).exceptionally((ex) -> {
-+ Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Exception in chunk load callback", ex);
-+ return null;
-+ });
++ this.getChunkAtAsync(block.getX() >> 4, block.getZ() >> 4, cb);
+ }
+
+ /**
@@ -140,10 +131,7 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ * will be executed synchronously
+ */
+ default void getChunkAtAsync(final int x, final int z, final @NotNull Consumer<? super Chunk> cb) {
-+ this.getChunkAtAsync(x, z, true).thenAccept(cb).exceptionally((ex) -> {
-+ Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Exception in chunk load callback", ex);
-+ return null;
-+ });
++ this.getChunkAtAsync(x, z, true, cb);
+ }
+
+ /**
@@ -166,13 +154,58 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ * will be executed synchronously
+ */
+ default void getChunkAtAsync(final int x, final int z, final boolean gen, final @NotNull Consumer<? super Chunk> cb) {
-+ this.getChunkAtAsync(x, z, gen).thenAccept(cb).exceptionally((ex) -> {
-+ Bukkit.getLogger().log(java.util.logging.Level.WARNING, "Exception in chunk load callback", ex);
-+ return null;
-+ });
++ this.getChunkAtAsync(x, z, gen, false, cb);
+ }
+
+ /**
++ * Requests a {@link Chunk} to be loaded at the given coordinates
++ *
++ * This method makes no guarantee on how fast the chunk will load,
++ * and will return the chunk to the callback at a later time.
++ *
++ * You should use this method if you need a chunk but do not need it
++ * immediately, and you wish to let the server control the speed
++ * of chunk loads, keeping performance in mind.
++ *
++ * The {@link java.util.function.Consumer} will always be executed synchronously
++ * on the main Server Thread.
++ *
++ * @param x Chunk X-coordinate of the chunk - floor(world coordinate / 16)
++ * @param z Chunk Z-coordinate of the chunk - floor(world coordinate / 16)
++ * @param gen Should we generate a chunk if it doesn't exist or not
++ * @param urgent If true, the chunk may be prioritised to be loaded above other chunks in queue
++ * @param cb Callback to receive the chunk when it is loaded.
++ * will be executed synchronously
++ */
++ void getChunkAtAsync(final int x, final int z, final boolean gen, final boolean urgent, final @NotNull Consumer<? super Chunk> cb);
++
++ /**
++ * Requests all chunks with x between [minX, maxZ] and z
++ * between [minZ, maxZ] to be loaded.
++ *
++ * This method makes no guarantee on how fast the chunk will load,
++ * and will invoke the callback at possibly a later time.
++ *
++ * You should use this method if you need chunks loaded but do not need them
++ * immediately, and you wish to let the server control the speed
++ * of chunk loads, keeping performance in mind.
++ *
++ * The {@link Runnable} will always be executed synchronously
++ * on the main Server Thread, and when invoked all chunks requested will be loaded.
++ *
++ * @param minX Minimum chunk X-coordinate of the chunk - floor(world coordinate / 16)
++ * @param minZ Minimum chunk Z-coordinate of the chunk - floor(world coordinate / 16)
++ * @param maxX Maximum chunk X-coordinate of the chunk - floor(world coordinate / 16)
++ * @param maxZ Maximum chunk Z-coordinate of the chunk - floor(world coordinate / 16)
++ * @param urgent If true, the chunks may be prioritised to be loaded above other chunks in queue
++ * @param cb Callback to invoke when all chunks are loaded.
++ * Will be executed synchronously
++ * @see Chunk
++ */
++ void getChunksAtAsync(final int minX, final int minZ, final int maxX, final int maxZ, final boolean urgent,
++ final Runnable cb);
++
++ /**
+ * Requests a {@link Chunk} to be loaded at the given {@link Location}
+ *
+ * This method makes no guarantee on how fast the chunk will load,
@@ -478,7 +511,11 @@ index ba9ab1d46effe1e6c08cebddb8b856e2b294d7cb..c77ca55c0686512e6d50b559139b6d6b
+ return this.getChunkAtAsync(x, z, true, true);
+ }
+
-+ java.util.concurrent.@NotNull CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent);
++ default @NotNull java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
++ java.util.concurrent.CompletableFuture<Chunk> ret = new java.util.concurrent.CompletableFuture<>();
++ this.getChunkAtAsync(x, z, gen, urgent, ret::complete);
++ return ret;
++ }
+ // Paper end - async chunks API
+
/**
diff --git a/patches/api/0150-Add-sun-related-API.patch b/patches/api/0150-Add-sun-related-API.patch
index e0ca3a8475..7d03429481 100644
--- a/patches/api/0150-Add-sun-related-API.patch
+++ b/patches/api/0150-Add-sun-related-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add sun related API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index c77ca55c0686512e6d50b559139b6d6bbeb61062..7dbc2e4883feb5b0b1a20cf36cda01ef3795a262 100644
+index f314f8bc5c437c5703c1e093278d9046903ff2c8..a8fe8c2f4327f0bee60eeac565620117f3fde2ee 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1798,6 +1798,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1835,6 +1835,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
public void setFullTime(long time);
diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index 8551ae81c5..bc117b0fdf 100644
--- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
@@ -12,7 +12,7 @@ that continues to have use (internally).
These do not help plugin developers if they bring moise noise than value.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 577b4b89b50441572f0edd9325047c38e25e782e..949ffc320502e46493183cc3ef621d9c4edbe7d6 100644
+index f9067281bd5f1ac11dcb9cc2e19f3c5f17face21..03e836b9c2e6d141396cfe4a0034c5dcdcaf9e90 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -883,9 +883,8 @@ public final class Bukkit {
@@ -470,7 +470,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..7d33b3e2f81c14d3aeb800b39e782383
CRACKED(0x0),
GLYPHED(0x1),
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 08f6f85388e4c3e3aae40f709109f8706a400675..c6ebdefe940e5e3ab04aac0f22924ef5d876d328 100644
+index 2719461e49a74f979d49dea9c664dfe3da8d2c8e..44ebe899f4278b8f7422385710bdc180375475fd 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -744,9 +744,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -590,7 +590,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 7dbc2e4883feb5b0b1a20cf36cda01ef3795a262..e4471e86e1b0993425087d8331e7c3d9896b3908 100644
+index a8fe8c2f4327f0bee60eeac565620117f3fde2ee..7ef12976430272d814374ee066e975457111b7f3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -418,9 +418,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -604,7 +604,7 @@ index 7dbc2e4883feb5b0b1a20cf36cda01ef3795a262..e4471e86e1b0993425087d8331e7c3d9
public boolean refreshChunk(int x, int z);
/**
-@@ -3813,6 +3812,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3850,6 +3849,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
// Spigot start
@@ -612,7 +612,7 @@ index 7dbc2e4883feb5b0b1a20cf36cda01ef3795a262..e4471e86e1b0993425087d8331e7c3d9
public class Spigot {
/**
-@@ -3846,7 +3846,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3883,7 +3883,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
}
@@ -624,7 +624,7 @@ index 7dbc2e4883feb5b0b1a20cf36cda01ef3795a262..e4471e86e1b0993425087d8331e7c3d9
Spigot spigot();
// Spigot end
-@@ -4064,9 +4068,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -4101,9 +4105,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* Gets the dimension ID of this environment
*
* @return dimension ID
@@ -636,7 +636,7 @@ index 7dbc2e4883feb5b0b1a20cf36cda01ef3795a262..e4471e86e1b0993425087d8331e7c3d9
public int getId() {
return id;
}
-@@ -4076,9 +4080,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -4113,9 +4117,9 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*
* @param id The ID of the environment
* @return The environment
diff --git a/patches/api/0260-More-World-API.patch b/patches/api/0260-More-World-API.patch
index 3e453dac00..72e7008eb5 100644
--- a/patches/api/0260-More-World-API.patch
+++ b/patches/api/0260-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index e4471e86e1b0993425087d8331e7c3d9896b3908..ce1f3ffbab6a8dc8395e3a5b74a7874bb6b38aa9 100644
+index 7ef12976430272d814374ee066e975457111b7f3..b22530070b95667e2b548ef1e68e536a5b8ee138 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -3811,6 +3811,72 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3848,6 +3848,72 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
diff --git a/patches/api/0348-Expand-FallingBlock-API.patch b/patches/api/0348-Expand-FallingBlock-API.patch
index 787bb82c19..94e67cd25a 100644
--- a/patches/api/0348-Expand-FallingBlock-API.patch
+++ b/patches/api/0348-Expand-FallingBlock-API.patch
@@ -10,10 +10,10 @@ Subject: [PATCH] Expand FallingBlock API
Co-authored-by: Lukas Planz <[email protected]>
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 2720f290a632dd32fd9e70a40e73db9d1d161e94..f037f46a9c6ce894f24af14c20fb514a58a8aee9 100644
+index 2da3b4d3aa7bedd7c9e253d4036cef1f0d911d45..24eaf74420f6fbd4f0a0f13b719f57b50696aef3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2244,8 +2244,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2281,8 +2281,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block
@@ -24,7 +24,7 @@ index 2720f290a632dd32fd9e70a40e73db9d1d161e94..f037f46a9c6ce894f24af14c20fb514a
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
/**
-@@ -2258,8 +2260,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2295,8 +2297,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* BlockData} are null
@@ -35,7 +35,7 @@ index 2720f290a632dd32fd9e70a40e73db9d1d161e94..f037f46a9c6ce894f24af14c20fb514a
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException;
/**
-@@ -2276,7 +2280,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2313,7 +2317,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* Material} are null or {@link Material} is not a block
diff --git a/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch
index e24c9fcedf..b2f0a44527 100644
--- a/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add predicate for blocks when raytracing
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index f037f46a9c6ce894f24af14c20fb514a58a8aee9..86fd5f3d322b6203f02ca7c427ccd56336b93fc0 100644
+index 24eaf74420f6fbd4f0a0f13b719f57b50696aef3..9a473448427b48038e097796459ff0352f5a54cc 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1649,6 +1649,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1686,6 +1686,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<? super Entity> filter);
@@ -36,7 +36,7 @@ index f037f46a9c6ce894f24af14c20fb514a58a8aee9..86fd5f3d322b6203f02ca7c427ccd563
/**
* Performs a ray trace that checks for block collisions using the blocks'
* precise collision shapes.
-@@ -1712,6 +1733,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1749,6 +1770,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks);
@@ -71,7 +71,7 @@ index f037f46a9c6ce894f24af14c20fb514a58a8aee9..86fd5f3d322b6203f02ca7c427ccd563
/**
* Performs a ray trace that checks for both block and entity collisions.
* <p>
-@@ -1745,6 +1794,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1782,6 +1831,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTrace(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, @Nullable Predicate<? super Entity> filter);
diff --git a/patches/api/0455-More-Raid-API.patch b/patches/api/0455-More-Raid-API.patch
index 947b51c645..4df004960a 100644
--- a/patches/api/0455-More-Raid-API.patch
+++ b/patches/api/0455-More-Raid-API.patch
@@ -39,10 +39,10 @@ index 983a8c20a06d2b509602b27f49c090598b8ecc42..fa98599e3eee37bf68f0e9813497c718
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 16570c3c7ed5e7ad25f20c1034f7b966d6e694da..adcd8161846b06fd1a7895750f98b629204a8406 100644
+index ba57efc267e78d28c67648b0e994ffca3b8a8823..bb70a797ea5f0db5bd9f2397944687530b0d1cf3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -4127,6 +4127,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -4164,6 +4164,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public Raid locateNearestRaid(@NotNull Location location, int radius);
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 108f5992a4..5e156e9126 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -3311,7 +3311,7 @@ index 0000000000000000000000000000000000000000..4123edddc556c47f3f8d83523c125fd2
+}
diff --git a/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java b/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
new file mode 100644
-index 0000000000000000000000000000000000000000..94bba2b71918d79f54b3e28c35e76098ba0afd8c
+index 0000000000000000000000000000000000000000..49fe9eed5d5d08abd6e9778fe0d0545f35552435
--- /dev/null
+++ b/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
@@ -0,0 +1,288 @@
@@ -3378,7 +3378,7 @@ index 0000000000000000000000000000000000000000..94bba2b71918d79f54b3e28c35e76098
+ private static long chunkLoadCounter = 0L;
+ public static void scheduleChunkLoad(final ServerLevel level, final int chunkX, final int chunkZ, final ChunkStatus toStatus,
+ final boolean addTicket, final Priority priority, final Consumer<ChunkAccess> onComplete) {
-+ if (!org.bukkit.Bukkit.isPrimaryThread()) {
++ if (!org.bukkit.Bukkit.isOwnedByCurrentRegion(level.getWorld(), chunkX, chunkZ)) {
+ scheduleChunkTask(level, chunkX, chunkZ, () -> {
+ scheduleChunkLoad(level, chunkX, chunkZ, toStatus, addTicket, priority, onComplete);
+ }, priority);
@@ -3443,7 +3443,7 @@ index 0000000000000000000000000000000000000000..94bba2b71918d79f54b3e28c35e76098
+ throw new IllegalArgumentException("Cannot wait for INACCESSIBLE status");
+ }
+
-+ if (!org.bukkit.Bukkit.isPrimaryThread()) {
++ if (!org.bukkit.Bukkit.isOwnedByCurrentRegion(level.getWorld(), chunkX, chunkZ)) {
+ scheduleChunkTask(level, chunkX, chunkZ, () -> {
+ scheduleTickingState(level, chunkX, chunkZ, toStatus, addTicket, priority, onComplete);
+ }, priority);
@@ -5456,10 +5456,10 @@ 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 f6a3606b972064c4ec78487374e6197c0c447e27..c6ded1ac73ddbc0336000f77c0f99fa20551a0de 100644
+index f6a3606b972064c4ec78487374e6197c0c447e27..8978fa74ceae06bef6aad3b74d6544989c687c69 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -239,6 +239,98 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -239,6 +239,103 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return this.convertable.dimensionType;
}
@@ -5501,21 +5501,26 @@ index f6a3606b972064c4ec78487374e6197c0c447e27..c6ded1ac73ddbc0336000f77c0f99fa2
+ });
+ return;
+ }
-+ List<net.minecraft.world.level.chunk.ChunkAccess> ret = new java.util.ArrayList<>();
-+ it.unimi.dsi.fastutil.ints.IntArrayList ticketLevels = new it.unimi.dsi.fastutil.ints.IntArrayList();
-+
+ int minBlockX = Mth.floor(axisalignedbb.minX - 1.0E-7D) - 3;
-+ int maxBlockX = Mth.floor(axisalignedbb.maxX + 1.0E-7D) + 3;
-+
+ int minBlockZ = Mth.floor(axisalignedbb.minZ - 1.0E-7D) - 3;
++
++ int maxBlockX = Mth.floor(axisalignedbb.maxX + 1.0E-7D) + 3;
+ int maxBlockZ = Mth.floor(axisalignedbb.maxZ + 1.0E-7D) + 3;
+
+ int minChunkX = minBlockX >> 4;
-+ int maxChunkX = maxBlockX >> 4;
-+
+ int minChunkZ = minBlockZ >> 4;
++
++ int maxChunkX = maxBlockX >> 4;
+ int maxChunkZ = maxBlockZ >> 4;
+
++ this.loadChunks(minChunkX, minChunkZ, maxChunkX, maxChunkZ, priority, onLoad);
++ }
++
++ public final void loadChunks(int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ,
++ ca.spottedleaf.concurrentutil.util.Priority priority,
++ java.util.function.Consumer<List<net.minecraft.world.level.chunk.ChunkAccess>> onLoad) {
++ List<net.minecraft.world.level.chunk.ChunkAccess> ret = new java.util.ArrayList<>();
++ it.unimi.dsi.fastutil.ints.IntArrayList ticketLevels = new it.unimi.dsi.fastutil.ints.IntArrayList();
+ ServerChunkCache chunkProvider = this.getChunkSource();
+
+ int requiredChunks = (maxChunkX - minChunkX + 1) * (maxChunkZ - minChunkZ + 1);
@@ -6196,7 +6201,7 @@ index d5451cb1976ca3675dd19b07bd8a2d363f82db86..e5054699f2f7555455b4da20249e253d
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 799444e4101283c972a160742a9e2548e604173f..8b58884d6cb1088a2fffb36a99bfe4dc568326d1 100644
+index 799444e4101283c972a160742a9e2548e604173f..fb8c641604473a3853b2f8b9cd5c8a65fd2482be 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -256,8 +256,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -6219,36 +6224,32 @@ index 799444e4101283c972a160742a9e2548e604173f..8b58884d6cb1088a2fffb36a99bfe4dc
if (playerChunk == null) return false;
playerChunk.getTickingChunkFuture().thenAccept(either -> {
-@@ -2110,4 +2110,55 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2110,4 +2110,51 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.spigot;
}
// Spigot end
+ // Paper start
-+ public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
-+ if (Bukkit.isPrimaryThread()) {
-+ net.minecraft.world.level.chunk.LevelChunk immediate = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
-+ if (immediate != null) {
-+ return java.util.concurrent.CompletableFuture.completedFuture(new CraftChunk(immediate));
++ @Override
++ public void getChunkAtAsync(int x, int z, boolean gen, boolean urgent, @NotNull Consumer<? super Chunk> cb) {
++ ca.spottedleaf.moonrise.common.util.ChunkSystem.scheduleChunkLoad(
++ this.getHandle(), x, z, gen, ChunkStatus.FULL, true,
++ urgent ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL,
++ (ChunkAccess chunk) -> {
++ cb.accept(chunk == null ? null : new CraftChunk((net.minecraft.world.level.chunk.LevelChunk)chunk));
+ }
-+ }
-+
-+ ca.spottedleaf.concurrentutil.util.Priority priority;
-+ if (urgent) {
-+ priority = ca.spottedleaf.concurrentutil.util.Priority.HIGHER;
-+ } else {
-+ priority = ca.spottedleaf.concurrentutil.util.Priority.NORMAL;
-+ }
-+
-+ java.util.concurrent.CompletableFuture<Chunk> ret = new java.util.concurrent.CompletableFuture<>();
++ );
+
-+ ca.spottedleaf.moonrise.common.util.ChunkSystem.scheduleChunkLoad(this.getHandle(), x, z, gen, ChunkStatus.FULL, true, priority, (c) -> {
-+ net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> {
-+ net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk)c;
-+ ret.complete(chunk == null ? null : new CraftChunk(chunk));
-+ });
-+ });
++ }
+
-+ return ret;
++ @Override
++ public void getChunksAtAsync(int minX, int minZ, int maxX, int maxZ, boolean urgent, Runnable cb) {
++ this.getHandle().loadChunks(
++ minX, minZ, maxX, maxZ,
++ urgent ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL,
++ (List<ChunkAccess> chunks) -> {
++ cb.run();
++ }
++ );
+ }
+
+ @Override
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index f7659f6916..5fc337c1e3 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -3562,7 +3562,7 @@ index cbdb1a56a97150c164515a4ce6d3ba06428bf321..b214e7b302abbfe1641485a05f1371ac
public URI getUrl() {
return this.handle.link();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8b58884d6cb1088a2fffb36a99bfe4dc568326d1..9a79b948264150d0f7a843a8ddd2ea9245ae66f3 100644
+index fb8c641604473a3853b2f8b9cd5c8a65fd2482be..0ced83dba344ec55df0a0c992437dbb162426518 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -166,6 +166,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -3623,7 +3623,7 @@ index 8b58884d6cb1088a2fffb36a99bfe4dc568326d1..9a79b948264150d0f7a843a8ddd2ea92
private Map<String, GameRules.Key<?>> gamerules;
public synchronized Map<String, GameRules.Key<?>> getGameRulesNMS() {
if (this.gamerules != null) {
-@@ -2160,5 +2197,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2156,5 +2193,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public void setSendViewDistance(final int viewDistance) {
throw new UnsupportedOperationException("Not implemented yet");
}
diff --git a/patches/server/0024-Remove-Spigot-timings.patch b/patches/server/0024-Remove-Spigot-timings.patch
index 09a085b7b2..70af5840ee 100644
--- a/patches/server/0024-Remove-Spigot-timings.patch
+++ b/patches/server/0024-Remove-Spigot-timings.patch
@@ -207,7 +207,7 @@ index 3e35a64b4b92ec25789e85c7445375dd899e1805..2e2976efcf99de269f67dec2c87cb910
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ced2955a7a 100644
+index 8978fa74ceae06bef6aad3b74d6544989c687c69..b187561711227eed87ca73ceb8833fcb8e966b3d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -176,7 +176,6 @@ import net.minecraft.world.ticks.LevelTicks;
@@ -218,7 +218,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
import org.bukkit.craftbukkit.util.WorldUUID;
-@@ -469,7 +468,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -474,7 +473,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
gameprofilerfiller.push("tickPending");
@@ -226,7 +226,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
if (!this.isDebug() && flag) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
-@@ -478,7 +476,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -483,7 +481,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.fluidTicks.tick(j, 65536, this::tickFluid);
gameprofilerfiller.pop();
}
@@ -234,7 +234,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
gameprofilerfiller.popPush("raid");
if (flag) {
-@@ -489,9 +486,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -494,9 +491,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.getChunkSource().tick(shouldKeepTicking, true);
gameprofilerfiller.popPush("blockEvents");
if (flag) {
@@ -244,7 +244,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
}
this.handlingTick = false;
-@@ -504,7 +499,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -509,7 +504,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (flag1 || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@@ -252,7 +252,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
if (this.dragonFight != null && flag) {
gameprofilerfiller.push("dragonFight");
this.dragonFight.tick();
-@@ -512,7 +506,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -517,7 +511,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -260,7 +260,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) {
-@@ -537,8 +530,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -542,8 +535,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
});
@@ -269,7 +269,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
gameprofilerfiller.pop();
this.tickBlockEntities();
}
-@@ -951,7 +942,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -956,7 +947,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return;
}
// Spigot end
@@ -277,7 +277,7 @@ index c6ded1ac73ddbc0336000f77c0f99fa20551a0de..f3633da64f990972cddc03f2fcfd34ce
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = Profiler.get();
-@@ -970,7 +960,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -975,7 +965,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.tickPassenger(entity, entity1);
}
diff --git a/patches/server/0036-Entity-Origin-API.patch b/patches/server/0036-Entity-Origin-API.patch
index 3f9282aee9..89116c4edf 100644
--- a/patches/server/0036-Entity-Origin-API.patch
+++ b/patches/server/0036-Entity-Origin-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index f3633da64f990972cddc03f2fcfd34ced2955a7a..025363e6b51ff8aa089715b1ec2a0fa1caab65d6 100644
+index b187561711227eed87ca73ceb8833fcb8e966b3d..c7ca1638457752bb3828cdde66865c578560d86a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2182,6 +2182,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2187,6 +2187,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.updateDynamicGameEventListener(DynamicGameEventListener::add);
entity.inWorld = true; // CraftBukkit - Mark entity as in world
entity.valid = true; // CraftBukkit
@@ -25,7 +25,7 @@ index f3633da64f990972cddc03f2fcfd34ced2955a7a..025363e6b51ff8aa089715b1ec2a0fa1
public void onTrackingEnd(Entity entity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index aba3e1b5d86940f91034ee6415c909529503a184..57960530e15f0e4b8fb40b725ff03aaf8ce6ffac 100644
+index a69de4362934240d8469b820bd1fbfd4a60645a2..a753bcd3a40c5169866845eb7155646b25e40732 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -332,7 +332,27 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0045-Disable-thunder.patch b/patches/server/0045-Disable-thunder.patch
index 78a2a9fd6a..7c2ce40c67 100644
--- a/patches/server/0045-Disable-thunder.patch
+++ b/patches/server/0045-Disable-thunder.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable thunder
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 025363e6b51ff8aa089715b1ec2a0fa1caab65d6..abb819c4263e6ea16152fbf55b044101ec8ec0d6 100644
+index c7ca1638457752bb3828cdde66865c578560d86a..dbb473ef888823e4f53acefed38bb85471bf6088 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -589,7 +589,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -594,7 +594,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("thunder");
diff --git a/patches/server/0046-Disable-ice-and-snow.patch b/patches/server/0046-Disable-ice-and-snow.patch
index 73dcf9fa47..406de2d6a1 100644
--- a/patches/server/0046-Disable-ice-and-snow.patch
+++ b/patches/server/0046-Disable-ice-and-snow.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable ice and snow
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index abb819c4263e6ea16152fbf55b044101ec8ec0d6..0e967e4c73dabc6cf6580d863c640cf4dff4f3bf 100644
+index dbb473ef888823e4f53acefed38bb85471bf6088..217e6663713007c6c6a0d7132075a47a866c7db3 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -619,11 +619,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -624,11 +624,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
gameprofilerfiller.popPush("iceandsnow");
diff --git a/patches/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch
index 4cf4bf1181..3133546f85 100644
--- a/patches/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch
+++ b/patches/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable spawn chances for skeleton horses
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0e967e4c73dabc6cf6580d863c640cf4dff4f3bf..e623f8e75ec895d18d854a1f2c0dbe41a67dffc8 100644
+index 217e6663713007c6c6a0d7132075a47a866c7db3..d0501f4f122f502f5d7501830acc2150eef6a850 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -594,7 +594,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -599,7 +599,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (this.isRainingAt(blockposition)) {
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
diff --git a/patches/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch
index 2c0ae7a0fd..0a0bf28ff8 100644
--- a/patches/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/patches/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 50296ff319fd6f97e27ec1cb6bdcd7b85a6ce926..c36032803e8b7e4a8537f02738075e1a6baed3b1 100644
+index 25415bd1aaa769bb655432193dcea65640f63115..0b0f68c9c1d153543ef4f333f39e89d353eb0dae 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2194,6 +2194,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2199,6 +2199,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.setOrigin(entity.getOriginVector().toLocation(getWorld()));
}
// Paper end - Entity origin API
@@ -16,7 +16,7 @@ index 50296ff319fd6f97e27ec1cb6bdcd7b85a6ce926..c36032803e8b7e4a8537f02738075e1a
}
public void onTrackingEnd(Entity entity) {
-@@ -2264,6 +2265,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2269,6 +2270,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
// CraftBukkit end
diff --git a/patches/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
index 6e252c8f8b..9af9af8eb8 100644
--- a/patches/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
+++ b/patches/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c36032803e8b7e4a8537f02738075e1a6baed3b1..828f47c6aadb609402f7237f8c234d595f39c970 100644
+index 0b0f68c9c1d153543ef4f333f39e89d353eb0dae..92387bffda6d7a7bfe6197b33c69142f184f9d3b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1372,11 +1372,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1377,11 +1377,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void updateNeighborsAt(BlockPos pos, Block block) {
diff --git a/patches/server/0101-Fix-global-sound-handling.patch b/patches/server/0101-Fix-global-sound-handling.patch
index 8af9a82dea..303eeb7fe1 100644
--- a/patches/server/0101-Fix-global-sound-handling.patch
+++ b/patches/server/0101-Fix-global-sound-handling.patch
@@ -11,10 +11,10 @@ Co-authored-by: lexikiq <[email protected]>
Co-authored-by: Aikar <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 828f47c6aadb609402f7237f8c234d595f39c970..88c93a2e67c8d1bc227c7fa35bb919a40009f931 100644
+index 92387bffda6d7a7bfe6197b33c69142f184f9d3b..3d54f52ed43ceef368804f7dce1dd95de3acc045 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1305,7 +1305,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1310,7 +1310,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void levelEvent(@Nullable Player player, int eventId, BlockPos pos, int data) {
@@ -23,7 +23,7 @@ index 828f47c6aadb609402f7237f8c234d595f39c970..88c93a2e67c8d1bc227c7fa35bb919a4
}
public int getLogicalHeight() {
-@@ -2122,6 +2122,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2127,6 +2127,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return this.serverLevelData.getGameRules();
}
diff --git a/patches/server/0186-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0186-Expand-World.spawnParticle-API-and-add-Builder.patch
index b38425e658..978cde4c95 100644
--- a/patches/server/0186-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/server/0186-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle.
This adds a new Builder API which is much friendlier to use.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 88c93a2e67c8d1bc227c7fa35bb919a40009f931..0c0d19708832a49734ea08ae05696e0cb20616e4 100644
+index 3d54f52ed43ceef368804f7dce1dd95de3acc045..03161ef12960cab3b9c81c190dd808a9c5c476e1 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1536,12 +1536,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1541,12 +1541,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
public <T extends ParticleOptions> int sendParticles(ServerPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {
@@ -34,7 +34,7 @@ index 88c93a2e67c8d1bc227c7fa35bb919a40009f931..0c0d19708832a49734ea08ae05696e0c
if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 44ecb821c528d10f38c8c85298c8257e92e3c41c..aa82637098072b9371a1815d6c05887e19f1424e 100644
+index ea90a64810e2f0669d862b5b6deba0905380051f..807b912a0d24ded99dc487e55c9b1812ffd86c3f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1984,8 +1984,19 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0202-Expand-Explosions-API.patch b/patches/server/0202-Expand-Explosions-API.patch
index 4c63639fb5..1dd84c44a5 100644
--- a/patches/server/0202-Expand-Explosions-API.patch
+++ b/patches/server/0202-Expand-Explosions-API.patch
@@ -9,10 +9,10 @@ Co-authored-by: Esoteric Enderman <[email protected]
Co-authored-by: Bjarne Koll <[email protected]>
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0c0d19708832a49734ea08ae05696e0cb20616e4..3324156c004e0506df8be23050f497d462b4b9c1 100644
+index 03161ef12960cab3b9c81c190dd808a9c5c476e1..f0fc08bcc2988277b6a5e3107e6fc5c89bb67b93 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1419,6 +1419,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1424,6 +1424,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
public ServerExplosion explode0(@Nullable Entity entity, @Nullable DamageSource damagesource, @Nullable ExplosionDamageCalculator explosiondamagecalculator, double d0, double d1, double d2, float f, boolean flag, Level.ExplosionInteraction world_a, ParticleOptions particleparam, ParticleOptions particleparam1, Holder<SoundEvent> holder) {
@@ -24,7 +24,7 @@ index 0c0d19708832a49734ea08ae05696e0cb20616e4..3324156c004e0506df8be23050f497d4
// CraftBukkit end
Explosion.BlockInteraction explosion_effect;
-@@ -1450,6 +1455,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1455,6 +1460,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
Explosion.BlockInteraction explosion_effect1 = explosion_effect;
Vec3 vec3d = new Vec3(d0, d1, d2);
ServerExplosion serverexplosion = new ServerExplosion(this, entity, damagesource, explosiondamagecalculator, vec3d, f, flag, explosion_effect1);
@@ -54,7 +54,7 @@ index 9f37d7284c81d529551107e2836627977efabd65..d1878f597c3d8119e9b248f4fe8af435
while (iterator.hasNext()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index aa82637098072b9371a1815d6c05887e19f1424e..a4f140fefaac7e74b6c9834e6b532f20e80b9ab9 100644
+index 807b912a0d24ded99dc487e55c9b1812ffd86c3f..195e698eadc7ce916b4bcfe04849501ee4a39aad 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -776,6 +776,11 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0207-InventoryCloseEvent-Reason-API.patch b/patches/server/0207-InventoryCloseEvent-Reason-API.patch
index aa12e84c6f..5432df8ae8 100644
--- a/patches/server/0207-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0207-InventoryCloseEvent-Reason-API.patch
@@ -7,10 +7,10 @@ Allows you to determine why an inventory was closed, enabling plugin developers
to "confirm" things based on if it was player triggered close or not.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 3324156c004e0506df8be23050f497d462b4b9c1..75b2caba214c312f9afdd231ee3d75689380a5f3 100644
+index f0fc08bcc2988277b6a5e3107e6fc5c89bb67b93..e03032b96e8f44ef83f52dcf3dc5a8856281e475 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1204,7 +1204,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1209,7 +1209,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
for (net.minecraft.world.level.block.entity.BlockEntity tileentity : chunk.getBlockEntities().values()) {
if (tileentity instanceof net.minecraft.world.Container) {
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((net.minecraft.world.Container) tileentity).getViewers())) {
@@ -19,7 +19,7 @@ index 3324156c004e0506df8be23050f497d462b4b9c1..75b2caba214c312f9afdd231ee3d7568
}
}
}
-@@ -2249,7 +2249,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2254,7 +2254,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((org.bukkit.inventory.InventoryHolder) entity.getBukkitEntity()).getInventory().getViewers())) {
@@ -29,7 +29,7 @@ index 3324156c004e0506df8be23050f497d462b4b9c1..75b2caba214c312f9afdd231ee3d7568
}
// 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 98aeafcc51e23a7534c8d57e4db0eb58abb3f30b..29b836a75b835f0d5233db419fc5ca8dde885fdb 100644
+index cded42f7af776d2596db9b33fabef91ea9b3b64e..075437bbca3ec82cf1a1cbf66f1af6966f519211 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -933,7 +933,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -165,7 +165,7 @@ index 6d4e0a90c70f7a66450cbb18ebec1d7bf9200af2..5ff159be1a6dfb4b1a5b9aa1e435d294
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b3f01ea79ecbce0130bbf3315a4076661affd1ae..01d257d1fe33b3d38e155b69436173a8a3c828e2 100644
+index 48fce5964c49f30f705d11bbbabae49ad9a606c7..b8a453e3e54a205d703bb1f4602686606c0f0f4d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1278,7 +1278,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0224-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0224-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
index 6cd73f5ba7..15dfd12d29 100644
--- a/patches/server/0224-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
+++ b/patches/server/0224-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 75b2caba214c312f9afdd231ee3d75689380a5f3..0635e7ed67d45abb7c419cf4ebda0e64718b630e 100644
+index e03032b96e8f44ef83f52dcf3dc5a8856281e475..01c4f405692116813bbd3d851738f52a50b548a2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1166,6 +1166,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1171,6 +1171,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit start
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
diff --git a/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch b/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
index 7a914a84e5..00ad95502b 100644
--- a/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
+++ b/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
@@ -26,10 +26,10 @@ index f55832ce841621daab4d3a910650ab6562cefcda..f635da34335cd2901adf975fcd74c5c6
});
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0635e7ed67d45abb7c419cf4ebda0e64718b630e..91e462544b82e0fe41851fa0fa3f6d6f08ac490d 100644
+index 01c4f405692116813bbd3d851738f52a50b548a2..ddff9f9f5322f62286f32161888e1b6a160fddfd 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1172,6 +1172,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1177,6 +1177,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return true;
}
// Paper end - extra debug info
@@ -38,7 +38,7 @@ index 0635e7ed67d45abb7c419cf4ebda0e64718b630e..91e462544b82e0fe41851fa0fa3f6d6f
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 9cfd0b457f6c462921667b9439a7b3e32d019758..62412b37d4f7d37b3fec0966ab700c2ae4d8cada 100644
+index d3901066dbfb85fecfd8ef42420dd2be4baaff60..cd6f1d86fe258889ad561869f444e2cfae27aebf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -716,7 +716,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0301-Optimise-EntityGetter-getPlayerByUUID.patch b/patches/server/0301-Optimise-EntityGetter-getPlayerByUUID.patch
index 26d9943b72..1f06a4645d 100644
--- a/patches/server/0301-Optimise-EntityGetter-getPlayerByUUID.patch
+++ b/patches/server/0301-Optimise-EntityGetter-getPlayerByUUID.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Optimise EntityGetter#getPlayerByUUID
Use the PlayerList map instead of iterating over all players
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 91e462544b82e0fe41851fa0fa3f6d6f08ac490d..800dd7338d77289b7d0e6e126342eaea184d3e43 100644
+index ddff9f9f5322f62286f32161888e1b6a160fddfd..32117fe89ca946658a7d292b4a470736a09bfa62 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -331,6 +331,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -336,6 +336,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
// Paper end
diff --git a/patches/server/0310-Add-debug-for-sync-chunk-loads.patch b/patches/server/0310-Add-debug-for-sync-chunk-loads.patch
index 24b766de8a..b0b1810a80 100644
--- a/patches/server/0310-Add-debug-for-sync-chunk-loads.patch
+++ b/patches/server/0310-Add-debug-for-sync-chunk-loads.patch
@@ -314,10 +314,10 @@ index 758b874424b1fed90893132e5455a683b789ebf2..0a895055ec7f61d3cb52d303bbe3f894
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 800dd7338d77289b7d0e6e126342eaea184d3e43..ecb9f6f0c9b24313b9e55b3a4c4f4bba40bc8fb3 100644
+index 32117fe89ca946658a7d292b4a470736a09bfa62..af3adf1bf771c2327b2972a4f9db9df4c4775f1a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -410,6 +410,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -415,6 +415,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
}
diff --git a/patches/server/0328-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/server/0328-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
index f3de36db4b..e37145e970 100644
--- a/patches/server/0328-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
+++ b/patches/server/0328-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch
@@ -25,10 +25,10 @@ index 5f85d7f7ec57fc1b0375e62a8e8e3e8783f34193..396310a51480cf0d1ea4c0959d3f8e4e
EntityType<?> entitytypes = entity.getType();
int i = entitytypes.clientTrackingRange() * 16;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index ecb9f6f0c9b24313b9e55b3a4c4f4bba40bc8fb3..0995a3a274df988a5c63c813de8213019a7c47c4 100644
+index af3adf1bf771c2327b2972a4f9db9df4c4775f1a..161b556e5c5f3719b5623e71876a2250abc7f391 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2202,7 +2202,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2207,7 +2207,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public void onTrackingStart(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot
@@ -37,7 +37,7 @@ index ecb9f6f0c9b24313b9e55b3a4c4f4bba40bc8fb3..0995a3a274df988a5c63c813de821301
if (entity instanceof ServerPlayer entityplayer) {
ServerLevel.this.players.add(entityplayer);
ServerLevel.this.updateSleepingPlayerList();
-@@ -2232,6 +2232,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2237,6 +2237,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.updateDynamicGameEventListener(DynamicGameEventListener::add);
entity.inWorld = true; // CraftBukkit - Mark entity as in world
entity.valid = true; // CraftBukkit
diff --git a/patches/server/0374-Add-BlockStateMeta-clearBlockState.patch b/patches/server/0373-Add-BlockStateMeta-clearBlockState.patch
index 426769212c..426769212c 100644
--- a/patches/server/0374-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/server/0373-Add-BlockStateMeta-clearBlockState.patch
diff --git a/patches/server/0373-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0373-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
deleted file mode 100644
index 0341f94066..0000000000
--- a/patches/server/0373-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Tue, 9 Jun 2020 03:33:03 -0400
-Subject: [PATCH] Add Plugin Tickets to API Chunk Methods
-
-Like previous versions, plugins loading chunks kept them loaded until
-they garbage collected to avoid constant spamming of chunk loads
-
-This adds tickets to a few more places so that they can be unloaded.
-
-Additionally, this drops their ticket level to BORDER so they wont be ticking
-so they will just sit inactive instead.
-
-Using .loadChunk to keep a chunk ticking was a horrible idea for upstream
-when we have TWO methods that are able to do that already in the API.
-
-Also reduce their collection count down to a maximum of 1 second. Barely
-anyone knows what chunk-gc is in bukkit.yml as its less relevant now, and
-since this wasn't spigot behavior, this is safe to mostly ignore (unless someone
-wants it to collect even faster, they can restore that setting back to 1 instead of 20+)
-
-Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons.
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9905555f249db72649bde8401835dd816ed7b428..972e3a1de1d289f82156097a9bf0faf03cb4ff42 100644
---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -382,7 +382,7 @@ public final class CraftServer implements Server {
- this.overrideSpawnLimits();
- console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
- this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
-- TicketType.PLUGIN.timeout = this.configuration.getInt("chunk-gc.period-in-ticks");
-+ TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second
- this.minimumAPI = ApiVersion.getOrCreateVersion(this.configuration.getString("settings.minimum-api"));
- this.loadIcon();
- this.loadCompatibilities();
-@@ -978,7 +978,7 @@ public final class CraftServer implements Server {
- this.console.setMotd(config.motd);
- this.overrideSpawnLimits();
- this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose"));
-- TicketType.PLUGIN.timeout = this.configuration.getInt("chunk-gc.period-in-ticks");
-+ TicketType.PLUGIN.timeout = Math.min(20, configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second
- this.minimumAPI = ApiVersion.getOrCreateVersion(this.configuration.getString("settings.minimum-api"));
- this.printSaveWarning = false;
- this.console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
-diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 93d1c641a6fa063f3c5a4b9b2d9a15071ae7de01..5ca7db643a1616df57be114faf9ce2e33e8d4eb8 100644
---- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -262,7 +262,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
-
- @Override
- public Chunk getChunkAt(int x, int z) {
-- net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
-+ // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it
-+ net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
-+ if (chunk == null) {
-+ this.addTicket(x, z);
-+ chunk = this.world.getChunkSource().getChunk(x, z, true);
-+ }
-+ // Paper end
- return new CraftChunk(chunk);
- }
-
-@@ -276,6 +282,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- return new CraftChunk(this.getHandle(), x, z);
- }
-
-+ // Paper start
-+ private void addTicket(int x, int z) {
-+ io.papermc.paper.util.MCUtil.MAIN_EXECUTOR.execute(() -> this.world.getChunkSource().addRegionTicket(TicketType.PLUGIN, new ChunkPos(x, z), 0, Unit.INSTANCE)); // Paper
-+ }
-+ // Paper end
-+
- @Override
- public Chunk getChunkAt(Block block) {
- Preconditions.checkArgument(block != null, "null block");
-@@ -327,7 +339,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- public boolean unloadChunkRequest(int x, int z) {
- org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot
- if (this.isChunkLoaded(x, z)) {
-- this.world.getChunkSource().removeRegionTicket(TicketType.PLUGIN, new ChunkPos(x, z), 1, Unit.INSTANCE);
-+ this.world.getChunkSource().removeRegionTicket(TicketType.PLUGIN, new ChunkPos(x, z), 0, Unit.INSTANCE); // Paper
- }
-
- return true;
-@@ -439,7 +451,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- }
-
- if (chunk instanceof net.minecraft.world.level.chunk.LevelChunk) {
-- this.world.getChunkSource().addRegionTicket(TicketType.PLUGIN, new ChunkPos(x, z), 1, Unit.INSTANCE);
-+ this.world.getChunkSource().addRegionTicket(TicketType.PLUGIN, new ChunkPos(x, z), 0, Unit.INSTANCE); // Paper
- return true;
- }
-
-@@ -2248,6 +2260,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- ca.spottedleaf.moonrise.common.util.ChunkSystem.scheduleChunkLoad(this.getHandle(), x, z, gen, ChunkStatus.FULL, true, priority, (c) -> {
- net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> {
- net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk)c;
-+ if (chunk != null) this.addTicket(x, z); // Paper
- ret.complete(chunk == null ? null : new CraftChunk(chunk));
- });
- });
diff --git a/patches/server/0375-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0374-Convert-legacy-attributes-in-Item-Meta.patch
index 87efb884b2..fcb2004735 100644
--- a/patches/server/0375-Convert-legacy-attributes-in-Item-Meta.patch
+++ b/patches/server/0374-Convert-legacy-attributes-in-Item-Meta.patch
@@ -30,7 +30,7 @@ index de40e522960469b98f987bd688489740446d9f85..5678d2007d5adf45dec0638c5dd848b6
public CraftAttributeMap(AttributeMap handle) {
this.handle = handle;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index b2683d6efd53b03d7043098b19a1504885a5b3c7..af78e73755743fb2db7a99b834affc963b44bc10 100644
+index d9bbeb08cb58b1fbea5c6aab8f926236639e031d..43d1f278a56ff344ddf4e5d70471485b393a3b1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -810,7 +810,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0376-Do-not-accept-invalid-client-settings.patch b/patches/server/0375-Do-not-accept-invalid-client-settings.patch
index ba6f03a6ba..ba6f03a6ba 100644
--- a/patches/server/0376-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0375-Do-not-accept-invalid-client-settings.patch
diff --git a/patches/server/0377-Improve-fix-EntityTargetLivingEntityEvent.patch b/patches/server/0376-Improve-fix-EntityTargetLivingEntityEvent.patch
index 2777b41e11..2777b41e11 100644
--- a/patches/server/0377-Improve-fix-EntityTargetLivingEntityEvent.patch
+++ b/patches/server/0376-Improve-fix-EntityTargetLivingEntityEvent.patch
diff --git a/patches/server/0378-Add-entity-liquid-API.patch b/patches/server/0377-Add-entity-liquid-API.patch
index e7b8d36eb5..e7b8d36eb5 100644
--- a/patches/server/0378-Add-entity-liquid-API.patch
+++ b/patches/server/0377-Add-entity-liquid-API.patch
diff --git a/patches/server/0379-Add-PrepareResultEvent.patch b/patches/server/0378-Add-PrepareResultEvent.patch
index 9a7c756812..6f987bb449 100644
--- a/patches/server/0379-Add-PrepareResultEvent.patch
+++ b/patches/server/0378-Add-PrepareResultEvent.patch
@@ -8,7 +8,7 @@ Adds a new event for all crafting stations that generate a result slot item
Anvil, Grindstone and Smithing now extend this event
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-index 126565e673e94b9c66aa4547596bbf198c57c7ad..cc5aae32f34305965847ade8b530272b1126b5c9 100644
+index dff005cc860fc5ff0759d6e35502deebd00943ed..ae0ba6b0e1f0bee3c3a701b22725171e499b97a3 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -333,6 +333,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -94,7 +94,7 @@ index 0fb0ee5b22dc96c48d68e4391fd71b03d4e799f0..97837d1baf6b929a50e5562ef466050e
private void setupRecipeList(ItemStack stack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index cb708c5ce9e81005d638f03e398e7f0f2b9f7521..876644a1b5d119c3420e3042b576e34878797d67 100644
+index b8e1a7251f9fa09f03b00b387013af1c623a1e52..f8ec0bca1683d172bc673afc28cf9f7b76e26130 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1679,6 +1679,12 @@ public class CraftEventFactory {
diff --git a/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0379-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
index 444ff88b49..c4d04af351 100644
--- a/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
+++ b/patches/server/0379-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4d39aa2fdc311acb34d7b674365141b995c324b7..6a2f54a70b484effb903f084a5a109981ef38114 100644
+index 911dcfb9b34d94e38db71c17022b8a8c1e707eb7..e3322e8897f361b3fbf8d7188207271906a84c46 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3797,7 +3797,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0381-Fix-arrows-never-despawning-MC-125757.patch b/patches/server/0380-Fix-arrows-never-despawning-MC-125757.patch
index ed2c8a3409..ed2c8a3409 100644
--- a/patches/server/0381-Fix-arrows-never-despawning-MC-125757.patch
+++ b/patches/server/0380-Fix-arrows-never-despawning-MC-125757.patch
diff --git a/patches/server/0382-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/server/0381-Thread-Safe-Vanilla-Command-permission-checking.patch
index 475b277470..475b277470 100644
--- a/patches/server/0382-Thread-Safe-Vanilla-Command-permission-checking.patch
+++ b/patches/server/0381-Thread-Safe-Vanilla-Command-permission-checking.patch
diff --git a/patches/server/0383-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/server/0382-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
index bd520de151..bd520de151 100644
--- a/patches/server/0383-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
+++ b/patches/server/0382-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch
diff --git a/patches/server/0384-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/server/0383-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
index 0bd1007497..0bd1007497 100644
--- a/patches/server/0384-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
+++ b/patches/server/0383-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch
diff --git a/patches/server/0385-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0384-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
index ef009ef823..ef009ef823 100644
--- a/patches/server/0385-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
+++ b/patches/server/0384-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch
diff --git a/patches/server/0386-Optimize-NetworkManager-Exception-Handling.patch b/patches/server/0385-Optimize-NetworkManager-Exception-Handling.patch
index 8626e3b900..8626e3b900 100644
--- a/patches/server/0386-Optimize-NetworkManager-Exception-Handling.patch
+++ b/patches/server/0385-Optimize-NetworkManager-Exception-Handling.patch
diff --git a/patches/server/0387-Fix-some-rails-connecting-improperly.patch b/patches/server/0386-Fix-some-rails-connecting-improperly.patch
index c22d4e1fdf..c22d4e1fdf 100644
--- a/patches/server/0387-Fix-some-rails-connecting-improperly.patch
+++ b/patches/server/0386-Fix-some-rails-connecting-improperly.patch
diff --git a/patches/server/0388-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0387-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
index 75cd32bb83..75cd32bb83 100644
--- a/patches/server/0388-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
+++ b/patches/server/0387-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch
diff --git a/patches/server/0389-Brand-support.patch b/patches/server/0388-Brand-support.patch
index 445cf6f8a2..0b8173758c 100644
--- a/patches/server/0389-Brand-support.patch
+++ b/patches/server/0388-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 807068fc6065f71961d34cb4f18b6eb39ae49637..c468947990cf05e554006e51d87b72fad7c28e55 100644
+index eacc0675d751caf996c9741a5ef5df28d1b9999b..80198c2f6419a3358f41df15dd7bbeb642d37585 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -322,6 +322,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -57,7 +57,7 @@ index b9fbaddcc8239bf737fdea51790f678306e511eb..9a8b08d4b70b8890961e4af7ce6e870a
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 66e5e949c8711103ae9bf73161422f350c217874..80e25cc8de5e3714dee5cb5ce22e49695a149258 100644
+index e4c39eba10124ebf675ac721866e0c73bf15e533..ad109929cb8d9be8e147adaf744f6fa588414404 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3154,6 +3154,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0390-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0389-Add-playPickupItemAnimation-to-LivingEntity.patch
index 64c59dce17..64c59dce17 100644
--- a/patches/server/0390-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/server/0389-Add-playPickupItemAnimation-to-LivingEntity.patch
diff --git a/patches/server/0391-Don-t-require-FACING-data.patch b/patches/server/0390-Don-t-require-FACING-data.patch
index 2cec1e5276..2cec1e5276 100644
--- a/patches/server/0391-Don-t-require-FACING-data.patch
+++ b/patches/server/0390-Don-t-require-FACING-data.patch
diff --git a/patches/server/0392-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0391-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
index 3126cc1613..42aa6ace69 100644
--- a/patches/server/0392-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
+++ b/patches/server/0391-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0995a3a274df988a5c63c813de8213019a7c47c4..17725a575a29aa8076582e1b8c644ffd928cfaae 100644
+index 161b556e5c5f3719b5623e71876a2250abc7f391..9a6a9508673edcb2eda8b3e4802fd9502a7514d5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1700,7 +1700,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1705,7 +1705,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
float f1 = this.levelData.getSpawnAngle();
if (!blockposition1.equals(pos) || f1 != angle) {
@@ -19,7 +19,7 @@ index 0995a3a274df988a5c63c813de8213019a7c47c4..17725a575a29aa8076582e1b8c644ffd
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5ca7db643a1616df57be114faf9ce2e33e8d4eb8..3ff0a43907cbe2cb4e54c57d9ac735dc0dd7f8f4 100644
+index f3ebea4d228d53057e2480a59eda5774eba03bb4..2ad9c104c7a99882417f9662d657841636751223 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -242,12 +242,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0393-Add-moon-phase-API.patch b/patches/server/0392-Add-moon-phase-API.patch
index 2fcd34c334..2fcd34c334 100644
--- a/patches/server/0393-Add-moon-phase-API.patch
+++ b/patches/server/0392-Add-moon-phase-API.patch
diff --git a/patches/server/0394-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0393-Do-not-let-the-server-load-chunks-from-newer-version.patch
index 3bdfea31f7..3bdfea31f7 100644
--- a/patches/server/0394-Do-not-let-the-server-load-chunks-from-newer-version.patch
+++ b/patches/server/0393-Do-not-let-the-server-load-chunks-from-newer-version.patch
diff --git a/patches/server/0395-Prevent-headless-pistons-from-being-created.patch b/patches/server/0394-Prevent-headless-pistons-from-being-created.patch
index 1cbd0b1c6c..1cbd0b1c6c 100644
--- a/patches/server/0395-Prevent-headless-pistons-from-being-created.patch
+++ b/patches/server/0394-Prevent-headless-pistons-from-being-created.patch
diff --git a/patches/server/0396-Add-BellRingEvent.patch b/patches/server/0395-Add-BellRingEvent.patch
index 32c63afd37..c78e88ccaa 100644
--- a/patches/server/0396-Add-BellRingEvent.patch
+++ b/patches/server/0395-Add-BellRingEvent.patch
@@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a
village bell. Passes along the bell block and the player who rang it.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 876644a1b5d119c3420e3042b576e34878797d67..629936b6266dadcac9d9a1fd584e7ba6b67a0002 100644
+index f8ec0bca1683d172bc673afc28cf9f7b76e26130..798a608784d4880f8d8e77960cfaf27700d06ddb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -377,10 +377,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0397-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0396-Add-zombie-targets-turtle-egg-config.patch
index 73a1b707b4..73a1b707b4 100644
--- a/patches/server/0397-Add-zombie-targets-turtle-egg-config.patch
+++ b/patches/server/0396-Add-zombie-targets-turtle-egg-config.patch
diff --git a/patches/server/0398-Buffer-joins-to-world.patch b/patches/server/0397-Buffer-joins-to-world.patch
index 2e31ea4385..2e31ea4385 100644
--- a/patches/server/0398-Buffer-joins-to-world.patch
+++ b/patches/server/0397-Buffer-joins-to-world.patch
diff --git a/patches/server/0399-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0398-Fix-hex-colors-not-working-in-some-kick-messages.patch
index 1cafcc355b..1cafcc355b 100644
--- a/patches/server/0399-Fix-hex-colors-not-working-in-some-kick-messages.patch
+++ b/patches/server/0398-Fix-hex-colors-not-working-in-some-kick-messages.patch
diff --git a/patches/server/0400-Add-more-Evoker-API.patch b/patches/server/0399-Add-more-Evoker-API.patch
index f44eceff55..f44eceff55 100644
--- a/patches/server/0400-Add-more-Evoker-API.patch
+++ b/patches/server/0399-Add-more-Evoker-API.patch
diff --git a/patches/server/0401-Add-methods-to-get-translation-keys.patch b/patches/server/0400-Add-methods-to-get-translation-keys.patch
index e917cc41d3..e917cc41d3 100644
--- a/patches/server/0401-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0400-Add-methods-to-get-translation-keys.patch
diff --git a/patches/server/0402-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0401-Create-HoverEvent-from-ItemStack-Entity.patch
index 66d23bfd33..66d23bfd33 100644
--- a/patches/server/0402-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/server/0401-Create-HoverEvent-from-ItemStack-Entity.patch
diff --git a/patches/server/0403-Cache-block-data-strings.patch b/patches/server/0402-Cache-block-data-strings.patch
index 4c26cbbfcd..3871c96541 100644
--- a/patches/server/0403-Cache-block-data-strings.patch
+++ b/patches/server/0402-Cache-block-data-strings.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Cache block data strings
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index fce70aa2b0d92c6291720b75a07a6472eb55855b..b9acf51e30839447cb7fc48e202321ed4bb2b7ea 100644
+index 99b5877fc2f568929b35aa10638173bbef27503b..356b3b7649edf9289c5736638bca50e5d9670782 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2184,6 +2184,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0403-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index fe42787910..4ced839378 100644
--- a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0403-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -22,7 +22,7 @@ index 00ce20359f6d73acf3f1016806e5f4f3b6d01bcd..1754e413dc1b7a18b3fc0b981eae1128
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 65144603a545903b8f11ee1b2b1ac2795af81381..906a5cc5671b707ef90d1f25d8ba5642c7a483bc 100644
+index 9833c1876a6fdce15326f10ff9a44ab3587eaf32..e56ee4ee930bb788fb7b0e254798308571802ab4 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
@@ -72,7 +72,7 @@ index 56dbe701a93eb9f1309bec92e5d3b310860a4dc5..1b6ec72f59504d2f420d6d5dcbed4d3b
if (entity instanceof Mob) {
Mob entityinsentient = (Mob) entity;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index b001284e368f64871824c1f961999bb3f726de57..abecb0235eee3e62a84f15f2ef100efcf3fcbf2a 100644
+index ec122fa4e443290ff973797740172e07f8e736ca..609c768ba4d22e346acbc9422ce41e3b887fadb1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -241,7 +241,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0405-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0404-Add-additional-open-container-api-to-HumanEntity.patch
index 4f9cf8d9d9..4f9cf8d9d9 100644
--- a/patches/server/0405-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/patches/server/0404-Add-additional-open-container-api-to-HumanEntity.patch
diff --git a/patches/server/0406-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0405-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
index 9a0c6f1492..9a0c6f1492 100644
--- a/patches/server/0406-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
+++ b/patches/server/0405-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch
diff --git a/patches/server/0407-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0406-Extend-block-drop-capture-to-capture-all-items-added.patch
index 304750f90e..493fb97397 100644
--- a/patches/server/0407-Extend-block-drop-capture-to-capture-all-items-added.patch
+++ b/patches/server/0406-Extend-block-drop-capture-to-capture-all-items-added.patch
@@ -6,10 +6,10 @@ 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 17725a575a29aa8076582e1b8c644ffd928cfaae..c5029210d059a62577ede8b6e944e2f4dcbac420 100644
+index 9a6a9508673edcb2eda8b3e4802fd9502a7514d5..b2777f49f658914d2211edd29ac3661f57ef18e0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1193,6 +1193,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1198,6 +1198,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
} else {
diff --git a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0407-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index cf630764ef..ace3484e57 100644
--- a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0407-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 906a5cc5671b707ef90d1f25d8ba5642c7a483bc..3f0a44db707176c25e306f55fa63da9314d682a1 100644
+index e56ee4ee930bb788fb7b0e254798308571802ab4..8f103dc563110f04563487f90fe02de4288a99a7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4734,4 +4734,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0409-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0408-Lazily-track-plugin-scoreboards-by-default.patch
index 28ae9df043..28ae9df043 100644
--- a/patches/server/0409-Lazily-track-plugin-scoreboards-by-default.patch
+++ b/patches/server/0408-Lazily-track-plugin-scoreboards-by-default.patch
diff --git a/patches/server/0410-Entity-isTicking.patch b/patches/server/0409-Entity-isTicking.patch
index 8c21802ef0..8c21802ef0 100644
--- a/patches/server/0410-Entity-isTicking.patch
+++ b/patches/server/0409-Entity-isTicking.patch
diff --git a/patches/server/0411-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0410-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
index 0dc0df3b45..626e40e0cd 100644
--- a/patches/server/0411-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
+++ b/patches/server/0410-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index b9acf51e30839447cb7fc48e202321ed4bb2b7ea..f6667d9f514a821fd539e193dde1f78e77ca0fbf 100644
+index 356b3b7649edf9289c5736638bca50e5d9670782..a570de59700ace7f17268a220ed104464c7e6b15 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2309,13 +2309,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0412-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/server/0411-Fix-Concurrency-issue-in-ShufflingList.patch
index f04a40e1ac..f04a40e1ac 100644
--- a/patches/server/0412-Fix-Concurrency-issue-in-ShufflingList.patch
+++ b/patches/server/0411-Fix-Concurrency-issue-in-ShufflingList.patch
diff --git a/patches/server/0413-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0412-Reset-Ender-Crystals-on-Dragon-Spawn.patch
index 0c53eb55ed..0c53eb55ed 100644
--- a/patches/server/0413-Reset-Ender-Crystals-on-Dragon-Spawn.patch
+++ b/patches/server/0412-Reset-Ender-Crystals-on-Dragon-Spawn.patch
diff --git a/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0413-Fix-for-large-move-vectors-crashing-server.patch
index 82dc6a2eef..82dc6a2eef 100644
--- a/patches/server/0414-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0413-Fix-for-large-move-vectors-crashing-server.patch
diff --git a/patches/server/0415-Optimise-getType-calls.patch b/patches/server/0414-Optimise-getType-calls.patch
index 07a3b551c2..07a3b551c2 100644
--- a/patches/server/0415-Optimise-getType-calls.patch
+++ b/patches/server/0414-Optimise-getType-calls.patch
diff --git a/patches/server/0416-Villager-resetOffers.patch b/patches/server/0415-Villager-resetOffers.patch
index 2b919a8646..2b919a8646 100644
--- a/patches/server/0416-Villager-resetOffers.patch
+++ b/patches/server/0415-Villager-resetOffers.patch
diff --git a/patches/server/0417-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0416-Retain-block-place-order-when-capturing-blockstates.patch
index 6da68ddaf2..6da68ddaf2 100644
--- a/patches/server/0417-Retain-block-place-order-when-capturing-blockstates.patch
+++ b/patches/server/0416-Retain-block-place-order-when-capturing-blockstates.patch
diff --git a/patches/server/0418-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0417-Fix-item-locations-dropped-from-campfires.patch
index df4949c1b8..df4949c1b8 100644
--- a/patches/server/0418-Fix-item-locations-dropped-from-campfires.patch
+++ b/patches/server/0417-Fix-item-locations-dropped-from-campfires.patch
diff --git a/patches/server/0419-Fix-bell-block-entity-memory-leak.patch b/patches/server/0418-Fix-bell-block-entity-memory-leak.patch
index 5343b073cd..5343b073cd 100644
--- a/patches/server/0419-Fix-bell-block-entity-memory-leak.patch
+++ b/patches/server/0418-Fix-bell-block-entity-memory-leak.patch
diff --git a/patches/server/0420-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0419-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
index 67b54defca..67b54defca 100644
--- a/patches/server/0420-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
+++ b/patches/server/0419-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch
diff --git a/patches/server/0421-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0420-Add-getOfflinePlayerIfCached-String.patch
index d20fbc6b6d..3b226a9a85 100644
--- a/patches/server/0421-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/server/0420-Add-getOfflinePlayerIfCached-String.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 134cd194962be898253e034b19524fad0d48ada5..30675a23a25dc065e09d97b9b08386c9f41989d8 100644
+index 9905555f249db72649bde8401835dd816ed7b428..f75d73402cf633254fe1ef4e919f09db48165190 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1968,6 +1968,28 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0422-Add-ignore-discounts-API.patch b/patches/server/0421-Add-ignore-discounts-API.patch
index 84103c5a2e..84103c5a2e 100644
--- a/patches/server/0422-Add-ignore-discounts-API.patch
+++ b/patches/server/0421-Add-ignore-discounts-API.patch
diff --git a/patches/server/0423-Toggle-for-removing-existing-dragon.patch b/patches/server/0422-Toggle-for-removing-existing-dragon.patch
index 5efff5ff3f..5efff5ff3f 100644
--- a/patches/server/0423-Toggle-for-removing-existing-dragon.patch
+++ b/patches/server/0422-Toggle-for-removing-existing-dragon.patch
diff --git a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch b/patches/server/0423-Fix-client-lag-on-advancement-loading.patch
index c7284e1f8b..c7284e1f8b 100644
--- a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch
+++ b/patches/server/0423-Fix-client-lag-on-advancement-loading.patch
diff --git a/patches/server/0425-Item-no-age-no-player-pickup.patch b/patches/server/0424-Item-no-age-no-player-pickup.patch
index 1fffbaf558..1fffbaf558 100644
--- a/patches/server/0425-Item-no-age-no-player-pickup.patch
+++ b/patches/server/0424-Item-no-age-no-player-pickup.patch
diff --git a/patches/server/0426-Beacon-API-custom-effect-ranges.patch b/patches/server/0425-Beacon-API-custom-effect-ranges.patch
index 6afe0e8f7c..6afe0e8f7c 100644
--- a/patches/server/0426-Beacon-API-custom-effect-ranges.patch
+++ b/patches/server/0425-Beacon-API-custom-effect-ranges.patch
diff --git a/patches/server/0427-Add-API-for-quit-reason.patch b/patches/server/0426-Add-API-for-quit-reason.patch
index b6a32be1b4..56cd117fd4 100644
--- a/patches/server/0427-Add-API-for-quit-reason.patch
+++ b/patches/server/0426-Add-API-for-quit-reason.patch
@@ -28,7 +28,7 @@ index 134810ac91d828d67759cd1ed56f11b71e292917..ba41646a5edb57c4d9766df08bbc5701
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 c468947990cf05e554006e51d87b72fad7c28e55..0ae490bb9b4cd781876054d0824c5392060208eb 100644
+index 80198c2f6419a3358f41df15dd7bbeb642d37585..0236a3db9b839f871a11b16615ab982069ebe34b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -323,6 +323,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -52,7 +52,7 @@ index 9a8b08d4b70b8890961e4af7ce6e870aa1c7c810..f8ae8c8eff73e4e87eb34d0f2635517f
this.connection.disconnect(disconnectiondetails);
}));
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 530369764cad77466995f8f65070eec6a5de74f2..819fb4ef54dce33ec91604491132771f157c8d83 100644
+index 54de4e701adea123c0fdfb5787e951699305bb81..8566e28d18a5b1221ba4e5d55e7788f80f956296 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -519,7 +519,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0428-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0427-Add-Wandering-Trader-spawn-rate-config-options.patch
index 30e4e03f24..30e4e03f24 100644
--- a/patches/server/0428-Add-Wandering-Trader-spawn-rate-config-options.patch
+++ b/patches/server/0427-Add-Wandering-Trader-spawn-rate-config-options.patch
diff --git a/patches/server/0429-Add-Destroy-Speed-API.patch b/patches/server/0428-Add-Destroy-Speed-API.patch
index 2274f8a5d4..2274f8a5d4 100644
--- a/patches/server/0429-Add-Destroy-Speed-API.patch
+++ b/patches/server/0428-Add-Destroy-Speed-API.patch
diff --git a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index 3ad6fd9e80..7c58dabf9b 100644
--- a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0429-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 80e25cc8de5e3714dee5cb5ce22e49695a149258..a631d35100b1910b717e359d3f27918a95a7a2cf 100644
+index ad109929cb8d9be8e147adaf744f6fa588414404..c11c83376bd5e006bab86db6d8aa99b7ec371636 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2722,7 +2722,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0431-Add-LivingEntity-clearActiveItem.patch b/patches/server/0430-Add-LivingEntity-clearActiveItem.patch
index 3c6621ccfa..3c6621ccfa 100644
--- a/patches/server/0431-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/server/0430-Add-LivingEntity-clearActiveItem.patch
diff --git a/patches/server/0432-Add-PlayerItemCooldownEvent.patch b/patches/server/0431-Add-PlayerItemCooldownEvent.patch
index 954ff181f9..954ff181f9 100644
--- a/patches/server/0432-Add-PlayerItemCooldownEvent.patch
+++ b/patches/server/0431-Add-PlayerItemCooldownEvent.patch
diff --git a/patches/server/0433-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0432-Significantly-improve-performance-of-the-end-generat.patch
index ed3ee50bc9..ed3ee50bc9 100644
--- a/patches/server/0433-Significantly-improve-performance-of-the-end-generat.patch
+++ b/patches/server/0432-Significantly-improve-performance-of-the-end-generat.patch
diff --git a/patches/server/0434-More-lightning-API.patch b/patches/server/0433-More-lightning-API.patch
index 967871902a..967871902a 100644
--- a/patches/server/0434-More-lightning-API.patch
+++ b/patches/server/0433-More-lightning-API.patch
diff --git a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0434-Climbing-should-not-bypass-cramming-gamerule.patch
index 41081acffa..f1a1607dd7 100644
--- a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch
+++ b/patches/server/0434-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 4a26795d22c0276980f4d0ad266861389d8471a8..9ebce90de425989014466d2c5ce68fce505d1dcd 100644
+index 20289623062acd34afb0ca5fc7daaf032ec1f418..7a4aaa56f8d547ebc537657855d5fcdb4ef21e36 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2196,6 +2196,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -44,7 +44,7 @@ index b8d57e25851dd7da905100dfd4022e4b99fd7f02..721321a19ce056f82de2bef44a8791dc
} else if (entity1 instanceof Player && entity instanceof Player && !io.papermc.paper.configuration.GlobalConfiguration.get().collisions.enablePlayerCollisions) { // Paper - Configurable player collision
return false;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 6a2f54a70b484effb903f084a5a109981ef38114..499e4fbb919ae3875aaa371d6ee206b8b144387b 100644
+index e3322e8897f361b3fbf8d7188207271906a84c46..b725bd297ed40aa8ccf3ad77f8652b39980efcf2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3711,7 +3711,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0436-Add-missing-default-perms-for-commands.patch b/patches/server/0435-Add-missing-default-perms-for-commands.patch
index 95a842cb3f..95a842cb3f 100644
--- a/patches/server/0436-Add-missing-default-perms-for-commands.patch
+++ b/patches/server/0435-Add-missing-default-perms-for-commands.patch
diff --git a/patches/server/0437-Add-PlayerShearBlockEvent.patch b/patches/server/0436-Add-PlayerShearBlockEvent.patch
index db7c1ccc71..db7c1ccc71 100644
--- a/patches/server/0437-Add-PlayerShearBlockEvent.patch
+++ b/patches/server/0436-Add-PlayerShearBlockEvent.patch
diff --git a/patches/server/0438-Limit-recipe-packets.patch b/patches/server/0437-Limit-recipe-packets.patch
index 5b0badbbe1..5b0badbbe1 100644
--- a/patches/server/0438-Limit-recipe-packets.patch
+++ b/patches/server/0437-Limit-recipe-packets.patch
diff --git a/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0438-Fix-CraftSound-backwards-compatibility.patch
index 604e24920d..604e24920d 100644
--- a/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch
+++ b/patches/server/0438-Fix-CraftSound-backwards-compatibility.patch
diff --git a/patches/server/0440-Player-Chunk-Load-Unload-Events.patch b/patches/server/0439-Player-Chunk-Load-Unload-Events.patch
index 0fee853cd3..0fee853cd3 100644
--- a/patches/server/0440-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/server/0439-Player-Chunk-Load-Unload-Events.patch
diff --git a/patches/server/0441-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0440-Optimize-Dynamic-get-Missing-Keys.patch
index e8bbac8b76..e8bbac8b76 100644
--- a/patches/server/0441-Optimize-Dynamic-get-Missing-Keys.patch
+++ b/patches/server/0440-Optimize-Dynamic-get-Missing-Keys.patch
diff --git a/patches/server/0442-Expose-LivingEntity-hurt-direction.patch b/patches/server/0441-Expose-LivingEntity-hurt-direction.patch
index 86eb7976a7..86eb7976a7 100644
--- a/patches/server/0442-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/server/0441-Expose-LivingEntity-hurt-direction.patch
diff --git a/patches/server/0443-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0442-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index c118aa890e..675b673d78 100644
--- a/patches/server/0443-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/server/0442-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 629936b6266dadcac9d9a1fd584e7ba6b67a0002..9f97216a4be562acb69281f4a638dad139c6bc7d 100644
+index 798a608784d4880f8d8e77960cfaf27700d06ddb..f8751bf07479d6619ec1acb19f84a9af00ecd308 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -312,6 +312,10 @@ public class CraftEventFactory {
diff --git a/patches/server/0444-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0443-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
index 8c0b0c171b..8c0b0c171b 100644
--- a/patches/server/0444-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
+++ b/patches/server/0443-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch
diff --git a/patches/server/0445-Add-TargetHitEvent.patch b/patches/server/0444-Add-TargetHitEvent.patch
index 816c525fd2..816c525fd2 100644
--- a/patches/server/0445-Add-TargetHitEvent.patch
+++ b/patches/server/0444-Add-TargetHitEvent.patch
diff --git a/patches/server/0446-MC-4-Fix-item-position-desync.patch b/patches/server/0445-MC-4-Fix-item-position-desync.patch
index dcfe9fecf4..a4ce339757 100644
--- a/patches/server/0446-MC-4-Fix-item-position-desync.patch
+++ b/patches/server/0445-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 9ebce90de425989014466d2c5ce68fce505d1dcd..282863951033f7e036b0e58393651e1a22fada23 100644
+index 7a4aaa56f8d547ebc537657855d5fcdb4ef21e36..e08d20b65fdea46be94228b4b10ba1cb7b3beeb6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4479,6 +4479,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0447-Additional-Block-Material-API.patch b/patches/server/0446-Additional-Block-Material-API.patch
index 19f5b4b7ef..19f5b4b7ef 100644
--- a/patches/server/0447-Additional-Block-Material-API.patch
+++ b/patches/server/0446-Additional-Block-Material-API.patch
diff --git a/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0447-API-to-get-Material-from-Boats-and-Minecarts.patch
index 25467e469e..25467e469e 100644
--- a/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/server/0447-API-to-get-Material-from-Boats-and-Minecarts.patch
diff --git a/patches/server/0449-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0448-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
index 893e6ffe60..893e6ffe60 100644
--- a/patches/server/0449-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
+++ b/patches/server/0448-Allow-disabling-mob-spawner-spawn-egg-transformation.patch
diff --git a/patches/server/0450-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0449-Fix-Not-a-string-Map-Conversion-spam.patch
index 8952de7633..8952de7633 100644
--- a/patches/server/0450-Fix-Not-a-string-Map-Conversion-spam.patch
+++ b/patches/server/0449-Fix-Not-a-string-Map-Conversion-spam.patch
diff --git a/patches/server/0451-Add-PlayerFlowerPotManipulateEvent.patch b/patches/server/0450-Add-PlayerFlowerPotManipulateEvent.patch
index 5b13a05793..5b13a05793 100644
--- a/patches/server/0451-Add-PlayerFlowerPotManipulateEvent.patch
+++ b/patches/server/0450-Add-PlayerFlowerPotManipulateEvent.patch
diff --git a/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0451-Fix-interact-event-not-being-called-sometimes.patch
index 72c54e87a3..72c54e87a3 100644
--- a/patches/server/0452-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0451-Fix-interact-event-not-being-called-sometimes.patch
diff --git a/patches/server/0453-Zombie-API-breaking-doors.patch b/patches/server/0452-Zombie-API-breaking-doors.patch
index b0741f110f..b0741f110f 100644
--- a/patches/server/0453-Zombie-API-breaking-doors.patch
+++ b/patches/server/0452-Zombie-API-breaking-doors.patch
diff --git a/patches/server/0454-Fix-nerfed-slime-when-splitting.patch b/patches/server/0453-Fix-nerfed-slime-when-splitting.patch
index c35358b895..c35358b895 100644
--- a/patches/server/0454-Fix-nerfed-slime-when-splitting.patch
+++ b/patches/server/0453-Fix-nerfed-slime-when-splitting.patch
diff --git a/patches/server/0455-Add-EntityLoadCrossbowEvent.patch b/patches/server/0454-Add-EntityLoadCrossbowEvent.patch
index 72ec5141a0..72ec5141a0 100644
--- a/patches/server/0455-Add-EntityLoadCrossbowEvent.patch
+++ b/patches/server/0454-Add-EntityLoadCrossbowEvent.patch
diff --git a/patches/server/0456-Add-WorldGameRuleChangeEvent.patch b/patches/server/0455-Add-WorldGameRuleChangeEvent.patch
index de28ea7306..5e011c5b51 100644
--- a/patches/server/0456-Add-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0455-Add-WorldGameRuleChangeEvent.patch
@@ -64,10 +64,10 @@ index 7ea92a0b0f5d4eb6bd873e61c42bc0499d5d2028..09299e45552eb998fd02123c3921c065
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3ff0a43907cbe2cb4e54c57d9ac735dc0dd7f8f4..bacc00be9466d5253df668336bb83542b759f9d2 100644
+index 2ad9c104c7a99882417f9662d657841636751223..5304fb017b6ecda3ff96e1e44be444260fd8d715 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1891,9 +1891,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1879,9 +1879,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (rule == null || value == null) return false;
if (!this.isGameRule(rule)) return false;
@@ -83,7 +83,7 @@ index 3ff0a43907cbe2cb4e54c57d9ac735dc0dd7f8f4..bacc00be9466d5253df668336bb83542
handle.onChanged(this.getHandle());
return true;
}
-@@ -1928,9 +1933,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1916,9 +1921,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(newValue != null, "GameRule value cannot be null");
if (!this.isGameRule(rule.getName())) return false;
diff --git a/patches/server/0457-Add-ServerResourcesReloadedEvent.patch b/patches/server/0456-Add-ServerResourcesReloadedEvent.patch
index 71fc31fbfd..8473de6cd2 100644
--- a/patches/server/0457-Add-ServerResourcesReloadedEvent.patch
+++ b/patches/server/0456-Add-ServerResourcesReloadedEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add ServerResourcesReloadedEvent
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index f6667d9f514a821fd539e193dde1f78e77ca0fbf..264d0f57422b4fc03c5845d7456b22c9a48dd7ae 100644
+index a570de59700ace7f17268a220ed104464c7e6b15..3aed6821527133c7c0db9a04b9ac19ae5531d006 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2150,7 +2150,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0458-Add-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0457-Add-world-settings-for-mobs-picking-up-loot.patch
index 9e08c62541..9e08c62541 100644
--- a/patches/server/0458-Add-world-settings-for-mobs-picking-up-loot.patch
+++ b/patches/server/0457-Add-world-settings-for-mobs-picking-up-loot.patch
diff --git a/patches/server/0459-Add-BlockFailedDispenseEvent.patch b/patches/server/0458-Add-BlockFailedDispenseEvent.patch
index ee65c26c99..0be11fef1b 100644
--- a/patches/server/0459-Add-BlockFailedDispenseEvent.patch
+++ b/patches/server/0458-Add-BlockFailedDispenseEvent.patch
@@ -32,7 +32,7 @@ index a08e8571f3a83afc80c2f1758a9029cd28ed6947..91b514967405115f22edf4255775361a
} else {
ItemStack itemstack = tileentitydispenser.getItem(i);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 9f97216a4be562acb69281f4a638dad139c6bc7d..1e918ef9296e5127b78a7eb0460225448982772e 100644
+index f8751bf07479d6619ec1acb19f84a9af00ecd308..696867479e74c3c94e4131f2bbb97c857ed5e9dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -2125,4 +2125,12 @@ public class CraftEventFactory {
diff --git a/patches/server/0460-Add-PlayerLecternPageChangeEvent.patch b/patches/server/0459-Add-PlayerLecternPageChangeEvent.patch
index 15052d962d..15052d962d 100644
--- a/patches/server/0460-Add-PlayerLecternPageChangeEvent.patch
+++ b/patches/server/0459-Add-PlayerLecternPageChangeEvent.patch
diff --git a/patches/server/0461-Add-PlayerLoomPatternSelectEvent.patch b/patches/server/0460-Add-PlayerLoomPatternSelectEvent.patch
index b523b29e0f..b523b29e0f 100644
--- a/patches/server/0461-Add-PlayerLoomPatternSelectEvent.patch
+++ b/patches/server/0460-Add-PlayerLoomPatternSelectEvent.patch
diff --git a/patches/server/0462-Configurable-door-breaking-difficulty.patch b/patches/server/0461-Configurable-door-breaking-difficulty.patch
index 94b37c735f..94b37c735f 100644
--- a/patches/server/0462-Configurable-door-breaking-difficulty.patch
+++ b/patches/server/0461-Configurable-door-breaking-difficulty.patch
diff --git a/patches/server/0463-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0462-Empty-commands-shall-not-be-dispatched.patch
index ca4dd56d56..ca4dd56d56 100644
--- a/patches/server/0463-Empty-commands-shall-not-be-dispatched.patch
+++ b/patches/server/0462-Empty-commands-shall-not-be-dispatched.patch
diff --git a/patches/server/0464-Remove-stale-POIs.patch b/patches/server/0463-Remove-stale-POIs.patch
index 8c0a881067..01a5abab0f 100644
--- a/patches/server/0464-Remove-stale-POIs.patch
+++ b/patches/server/0463-Remove-stale-POIs.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove stale POIs
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index c5029210d059a62577ede8b6e944e2f4dcbac420..0e984f3521b578779dd9d0142bce7db433b78f07 100644
+index b2777f49f658914d2211edd29ac3661f57ef18e0..e4710b95685508a54d552cf916cbaa56ee48a11a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1775,6 +1775,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1780,6 +1780,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
});
optional1.ifPresent((holder) -> {
this.getServer().execute(() -> {
diff --git a/patches/server/0465-Fix-villager-boat-exploit.patch b/patches/server/0464-Fix-villager-boat-exploit.patch
index adb461e1ed..f5548b98cc 100644
--- a/patches/server/0465-Fix-villager-boat-exploit.patch
+++ b/patches/server/0464-Fix-villager-boat-exploit.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix villager boat exploit
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 819fb4ef54dce33ec91604491132771f157c8d83..1e5cc810748af34f591d305055fe00a688213617 100644
+index 8566e28d18a5b1221ba4e5d55e7788f80f956296..fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -544,6 +544,14 @@ public abstract class PlayerList {
diff --git a/patches/server/0466-Add-sendOpLevel-API.patch b/patches/server/0465-Add-sendOpLevel-API.patch
index dc186c0c59..c781e09a03 100644
--- a/patches/server/0466-Add-sendOpLevel-API.patch
+++ b/patches/server/0465-Add-sendOpLevel-API.patch
@@ -32,7 +32,7 @@ index fbe10666c4ec6caa95aa38a6f99ccca700e9a4d2..061bba184c8bc2569ce1d413435ec136
public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a631d35100b1910b717e359d3f27918a95a7a2cf..14adc60ba3e76ce71bc957d0a41383c3f1413b34 100644
+index c11c83376bd5e006bab86db6d8aa99b7ec371636..1cc89895a1e03d4b1734a81d89c8bc396bf2b343 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -682,6 +682,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0466-Add-RegistryAccess-for-managing-Registries.patch
index 40062b9b22..55351393f7 100644
--- a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch
+++ b/patches/server/0466-Add-RegistryAccess-for-managing-Registries.patch
@@ -886,7 +886,7 @@ index 0d091c7b328fb70a82f5b5ded7dec61b7cd3d59a..249f0dcad04a35244da6dab837a461bb
@Override
public B get(NamespacedKey namespacedKey) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b19e04a7755cd66d136756fca86aad6282f64b15..e85a6f560cb8d88112f44b31d3d6d93096db182f 100644
+index f75d73402cf633254fe1ef4e919f09db48165190..5ae8f646083fb580ac8d28fcbfe8ed2208b45d09 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -284,7 +284,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0468-Add-StructuresLocateEvent.patch b/patches/server/0467-Add-StructuresLocateEvent.patch
index 5556e96212..5556e96212 100644
--- a/patches/server/0468-Add-StructuresLocateEvent.patch
+++ b/patches/server/0467-Add-StructuresLocateEvent.patch
diff --git a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0468-Collision-option-for-requiring-a-player-participant.patch
index ebae0a4ce9..407fffe0af 100644
--- a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch
+++ b/patches/server/0468-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 282863951033f7e036b0e58393651e1a22fada23..fa070c7243a4d800edc7bde2905773022788fa14 100644
+index e08d20b65fdea46be94228b4b10ba1cb7b3beeb6..0832d43ca1be2581bcda9fc32d3359689d8c0384 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2025,6 +2025,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -29,7 +29,7 @@ index a9661ab34bc98c19d525eb4b60b1f0d05d73241e..3590f4bc1af829cdb6e0cfdc8fa68571
if (entity.getBoundingBox().minY < this.getBoundingBox().maxY) {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
-index fb9f0a62201dfeccd0eec9bb399f9edc6a01f1f0..9a864b4bacc5e180f36a6af2a0d63dc6d10ab0e5 100644
+index d01a588aea379c962dd63f1428f92cf2442f4d45..7e7a78ebbf128f7d29cf9eb349f25230c9c7d5d0 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -562,6 +562,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
diff --git a/patches/server/0470-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0469-Return-chat-component-with-empty-text-instead-of-thr.patch
index 20c17b39c0..20c17b39c0 100644
--- a/patches/server/0470-Return-chat-component-with-empty-text-instead-of-thr.patch
+++ b/patches/server/0469-Return-chat-component-with-empty-text-instead-of-thr.patch
diff --git a/patches/server/0471-Make-schedule-command-per-world.patch b/patches/server/0470-Make-schedule-command-per-world.patch
index 3ac2f8e3f4..3ac2f8e3f4 100644
--- a/patches/server/0471-Make-schedule-command-per-world.patch
+++ b/patches/server/0470-Make-schedule-command-per-world.patch
diff --git a/patches/server/0472-Configurable-max-leash-distance.patch b/patches/server/0471-Configurable-max-leash-distance.patch
index 625e1c156b..625e1c156b 100644
--- a/patches/server/0472-Configurable-max-leash-distance.patch
+++ b/patches/server/0471-Configurable-max-leash-distance.patch
diff --git a/patches/server/0473-Add-BlockPreDispenseEvent.patch b/patches/server/0472-Add-BlockPreDispenseEvent.patch
index d280bd07f1..58c12a1348 100644
--- a/patches/server/0473-Add-BlockPreDispenseEvent.patch
+++ b/patches/server/0472-Add-BlockPreDispenseEvent.patch
@@ -29,7 +29,7 @@ index 91b514967405115f22edf4255775361a672e5c2f..ddecf443df3679e3098eb54edd19585a
} else {
// CraftBukkit start - Fire event when pushing items into other inventories
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 1e918ef9296e5127b78a7eb0460225448982772e..a25e814978a2f19fa6fe74aaa5c529a524240d71 100644
+index 696867479e74c3c94e4131f2bbb97c857ed5e9dd..6d1d3451054af05e2381d70d71b99869f37c0901 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -2132,5 +2132,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0474-Add-PlayerChangeBeaconEffectEvent.patch b/patches/server/0473-Add-PlayerChangeBeaconEffectEvent.patch
index 0b8263f96e..0b8263f96e 100644
--- a/patches/server/0474-Add-PlayerChangeBeaconEffectEvent.patch
+++ b/patches/server/0473-Add-PlayerChangeBeaconEffectEvent.patch
diff --git a/patches/server/0475-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0474-Add-toggle-for-always-placing-the-dragon-egg.patch
index 0b28271dd1..0b28271dd1 100644
--- a/patches/server/0475-Add-toggle-for-always-placing-the-dragon-egg.patch
+++ b/patches/server/0474-Add-toggle-for-always-placing-the-dragon-egg.patch
diff --git a/patches/server/0476-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0475-Add-PlayerStonecutterRecipeSelectEvent.patch
index 8a5e50313f..8a5e50313f 100644
--- a/patches/server/0476-Add-PlayerStonecutterRecipeSelectEvent.patch
+++ b/patches/server/0475-Add-PlayerStonecutterRecipeSelectEvent.patch
diff --git a/patches/server/0477-Expand-EntityUnleashEvent.patch b/patches/server/0476-Expand-EntityUnleashEvent.patch
index efca64ffff..9ca5dd92d0 100644
--- a/patches/server/0477-Expand-EntityUnleashEvent.patch
+++ b/patches/server/0476-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 fa070c7243a4d800edc7bde2905773022788fa14..963c190e4c445131659cc9e2e72b0272324666e2 100644
+index 0832d43ca1be2581bcda9fc32d3359689d8c0384..bac2165553262bc3b26cddd607d83ca15807e9d2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2690,12 +2690,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0478-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0477-Reset-shield-blocking-on-dimension-change.patch
index c1bc7de4e1..6054c7c0be 100644
--- a/patches/server/0478-Reset-shield-blocking-on-dimension-change.patch
+++ b/patches/server/0477-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 0ae490bb9b4cd781876054d0824c5392060208eb..3a2a4f6bc1de45c0dc2020357ee308064666f8d5 100644
+index 0236a3db9b839f871a11b16615ab982069ebe34b..2b91b321f6652e10d6809d57e9f0ac1c5fb150f1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1613,6 +1613,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0479-Add-DragonEggFormEvent.patch b/patches/server/0478-Add-DragonEggFormEvent.patch
index 34506b3c79..34506b3c79 100644
--- a/patches/server/0479-Add-DragonEggFormEvent.patch
+++ b/patches/server/0478-Add-DragonEggFormEvent.patch
diff --git a/patches/server/0480-Add-EntityMoveEvent.patch b/patches/server/0479-Add-EntityMoveEvent.patch
index 33f2f9fd9d..09eb20254f 100644
--- a/patches/server/0480-Add-EntityMoveEvent.patch
+++ b/patches/server/0479-Add-EntityMoveEvent.patch
@@ -17,7 +17,7 @@ index 3aed6821527133c7c0db9a04b9ac19ae5531d006..9e96998a36b63a1723406819eccb7841
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 0e984f3521b578779dd9d0142bce7db433b78f07..1c3f41d7ed7320342fe68c5ab6eb57dbdfd4bf69 100644
+index e4710b95685508a54d552cf916cbaa56ee48a11a..9d62a76a82097f1fc934312e6b764c66c673a8e8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -229,6 +229,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -29,7 +29,7 @@ index 0e984f3521b578779dd9d0142bce7db433b78f07..1c3f41d7ed7320342fe68c5ab6eb57db
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunk(x, z, false);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 499e4fbb919ae3875aaa371d6ee206b8b144387b..a0b90b18e8f8970e722ebd0e78113f55ff54a55b 100644
+index b725bd297ed40aa8ccf3ad77f8652b39980efcf2..6b5d8328ae9ce819f6ff1b9ba109a67ce8f121e8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3627,6 +3627,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0481-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0480-added-option-to-disable-pathfinding-updates-on-block.patch
index d10ca06ced..d7fc759f02 100644
--- a/patches/server/0481-added-option-to-disable-pathfinding-updates-on-block.patch
+++ b/patches/server/0480-added-option-to-disable-pathfinding-updates-on-block.patch
@@ -5,10 +5,10 @@ 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 1c3f41d7ed7320342fe68c5ab6eb57dbdfd4bf69..cefd68cd2f28e5c14dba99b31d9a88125f169337 100644
+index 9d62a76a82097f1fc934312e6b764c66c673a8e8..d8eeedcc52ae939246caa61a6bacd3b15c8ae239 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1357,6 +1357,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1362,6 +1362,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.getChunkSource().blockChanged(pos);
this.pathTypesByPosCache.invalidate(pos);
@@ -16,7 +16,7 @@ index 1c3f41d7ed7320342fe68c5ab6eb57dbdfd4bf69..cefd68cd2f28e5c14dba99b31d9a8812
VoxelShape voxelshape = oldState.getCollisionShape(this, pos);
VoxelShape voxelshape1 = newState.getCollisionShape(this, pos);
-@@ -1398,6 +1399,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1403,6 +1404,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
diff --git a/patches/server/0482-Inline-shift-direction-fields.patch b/patches/server/0481-Inline-shift-direction-fields.patch
index 22234bc09a..22234bc09a 100644
--- a/patches/server/0482-Inline-shift-direction-fields.patch
+++ b/patches/server/0481-Inline-shift-direction-fields.patch
diff --git a/patches/server/0483-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0482-Allow-adding-items-to-BlockDropItemEvent.patch
index 5fe7914ae0..7b84a8ac96 100644
--- a/patches/server/0483-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/server/0482-Allow-adding-items-to-BlockDropItemEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5064dd8c97f45f0c4e2d1402500e7cf67a263dfa..a5c9ff3a2f06e7207ae4fcaf69be8bd0c874d4e2 100644
+index 697c69b60aa45b6a229f3bec77dc728e50a895ce..49efae40345fcfca8f80fcc541dcfde1b8a8b07b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -461,13 +461,30 @@ public class CraftEventFactory {
diff --git a/patches/server/0484-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0483-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index ead28f59cb..ead28f59cb 100644
--- a/patches/server/0484-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/server/0483-Add-getMainThreadExecutor-to-BukkitScheduler.patch
diff --git a/patches/server/0485-living-entity-allow-attribute-registration.patch b/patches/server/0484-living-entity-allow-attribute-registration.patch
index e9e4ab2f48..e9e4ab2f48 100644
--- a/patches/server/0485-living-entity-allow-attribute-registration.patch
+++ b/patches/server/0484-living-entity-allow-attribute-registration.patch
diff --git a/patches/server/0486-fix-dead-slime-setSize-invincibility.patch b/patches/server/0485-fix-dead-slime-setSize-invincibility.patch
index 494e56127e..494e56127e 100644
--- a/patches/server/0486-fix-dead-slime-setSize-invincibility.patch
+++ b/patches/server/0485-fix-dead-slime-setSize-invincibility.patch
diff --git a/patches/server/0487-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0486-Merchant-getRecipes-should-return-an-immutable-list.patch
index d40a7cf8d7..d40a7cf8d7 100644
--- a/patches/server/0487-Merchant-getRecipes-should-return-an-immutable-list.patch
+++ b/patches/server/0486-Merchant-getRecipes-should-return-an-immutable-list.patch
diff --git a/patches/server/0488-Expose-Tracked-Players.patch b/patches/server/0487-Expose-Tracked-Players.patch
index 5e7f3c585c..5e7f3c585c 100644
--- a/patches/server/0488-Expose-Tracked-Players.patch
+++ b/patches/server/0487-Expose-Tracked-Players.patch
diff --git a/patches/server/0488-Improve-ServerGUI.patch b/patches/server/0488-Improve-ServerGUI.patch
new file mode 100644
index 0000000000..48a151cd82
--- /dev/null
+++ b/patches/server/0488-Improve-ServerGUI.patch
@@ -0,0 +1,432 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: AlexProgrammerDE <[email protected]>
+Date: Sat, 3 Oct 2020 08:27:40 +0200
+Subject: [PATCH] Improve ServerGUI
+
+- Added logo to server frame
+- Show tps in the server stats
+
+diff --git a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
+index f93373d28d741e1f8a53e07b4e328ce9c4e1657f..12b327eea95e0de9e9c39b7d039badee8ec46508 100644
+--- a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
++++ b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
+@@ -58,9 +58,22 @@ public class RAMDetails extends JList<String> {
+ public void update() {
+ GraphData data = RAMGraph.DATA.peekLast();
+ Vector<String> vector = new Vector<>();
++
++ // Follows CraftServer#getTPS
++ double[] tps = new double[] {
++ server.tps1.getAverage(),
++ server.tps5.getAverage(),
++ server.tps15.getAverage()
++ };
++ String[] tpsAvg = new String[tps.length];
++
++ for ( int g = 0; g < tps.length; g++) {
++ tpsAvg[g] = format( tps[g] );
++ }
+ vector.add("Memory use: " + (data.getUsedMem() / 1024L / 1024L) + " mb (" + (data.getFree() * 100L / data.getMax()) + "% free)");
+ vector.add("Heap: " + (data.getTotal() / 1024L / 1024L) + " / " + (data.getMax() / 1024L / 1024L) + " mb");
+ vector.add("Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double) TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms");
++ vector.add("TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg));
+ setListData(vector);
+ }
+
+@@ -71,4 +84,8 @@ public class RAMDetails extends JList<String> {
+ }
+ return ((double) total / (double) tickTimes.length) * 1.0E-6D;
+ }
++
++ private static String format(double tps) {
++ return ( ( tps > 21.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
++ }
+ }
+diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
+index 8b570b0c3967a22c085f390110cb29cbd9c8feff..4d3fe4f56e0b264fa030409919caf52d5f421d46 100644
+--- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
++++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
+@@ -59,6 +59,15 @@ public class MinecraftServerGui extends JComponent {
+ jframe.pack();
+ jframe.setLocationRelativeTo((Component) null);
+ jframe.setVisible(true);
++ jframe.setName("Minecraft server"); // Paper - Improve ServerGUI
++
++ // Paper start - Improve ServerGUI
++ try {
++ jframe.setIconImage(javax.imageio.ImageIO.read(Objects.requireNonNull(MinecraftServerGui.class.getClassLoader().getResourceAsStream("logo.png"))));
++ } catch (java.io.IOException ignore) {
++ }
++ // Paper end - Improve ServerGUI
++
+ jframe.addWindowListener(new WindowAdapter() {
+ public void windowClosing(WindowEvent windowevent) {
+ if (!servergui.isClosing.getAndSet(true)) {
+diff --git a/src/main/java/net/minecraft/server/gui/StatsComponent.java b/src/main/java/net/minecraft/server/gui/StatsComponent.java
+index 6e9c6d556ed55325e36d191fc9d1508c00879671..096c89bd01cec2abd151bf6fffc4847d1bcd548f 100644
+--- a/src/main/java/net/minecraft/server/gui/StatsComponent.java
++++ b/src/main/java/net/minecraft/server/gui/StatsComponent.java
+@@ -34,10 +34,19 @@ public class StatsComponent extends JComponent {
+
+ private void tick() {
+ long l = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
++ // Paper start - Improve ServerGUI
++ double[] tps = org.bukkit.Bukkit.getTPS();
++ String[] tpsAvg = new String[tps.length];
++
++ for ( int g = 0; g < tps.length; g++) {
++ tpsAvg[g] = format( tps[g] );
++ }
+ this.msgs[0] = "Memory use: " + l / 1024L / 1024L + " mb (" + Runtime.getRuntime().freeMemory() * 100L / Runtime.getRuntime().maxMemory() + "% free)";
+ this.msgs[1] = "Avg tick: "
+ + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double)TimeUtil.NANOSECONDS_PER_MILLISECOND)
+ + " ms";
++ this.msgs[2] = "TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg);
++ // Paper end - Improve ServerGUI
+ this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
+ this.repaint();
+ }
+@@ -66,4 +75,10 @@ public class StatsComponent extends JComponent {
+ public void close() {
+ this.timer.stop();
+ }
++
++ // Paper start - Improve ServerGUI
++ private static String format(double tps) {
++ return (( tps > 21.0 ) ? "*" : "") + Math.min(Math.round(tps * 100.0) / 100.0, 20.0); // only print * at 21, we commonly peak to 20.02 as the tick sleep is not accurate enough, stop the noise
++ }
++ // Paper end - Improve ServerGUI
+ }
+diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png
+new file mode 100644
+index 0000000000000000000000000000000000000000..8b924977b7886df9ab8790b1e4ff9b1c04a2af45
+GIT binary patch
+literal 16900
+zcmaf)RZtymu&!}kXmDLfg1h^|-QC?ixG&s2I0Sch5AG1$U4m<HKb8ON+PC{+s^+4r
+zXQu0|uKD_XI#NkN5(S9>2?7EFMOsQs1p)$M^xuU52LS<5tyS|A0z!B~T1;5Y)8HZp
+zUh9YE!*I`C!>au1!lt}?^7%)ymXa9F0E8%U6cA@Hs@r2|t2YjT?MMEK&sF!xR;P(1
+zJxFf8OgT_&`%_^18f74-j~9B>_v*F_4QG7P$=~I&{g0k-!dKZ;dhG_Yv84aKQ7`JU
+zJ^ehid=1+b=_P#o97{5v??~H!^zyIS&U_=f-+Z&XS28Q#IuJUNE}ApzE+z8$<M**`
+zKIU!g_So>!_(s%I3_!)=jTdGmXzz2p&3&czvSwVkj_PR|SM`xDjT-m<)@wFKtJ!fY
+z+A9f&c$RQF&Z%Ui9@S9nRjlxMs@)Z5_OxNu^|5JS^tNFPeEv!Mp+fj^Yc}Scf482J
+z_jv2_UYgabd?1AMePOH(|ApkUIjM`|sON7?4||4r>}#l#)Nj}LPNV67U-a5cAqgk9
+z4hA)b1i?G`_{?Is2NgH3=G*Y_oV4G*#y>w?4I7fSpx2h|vD&hsqdFVmofnVkNpM8o
+zEDOkF7WVse0CrXXeH^X&Y+X5Ugeg(@8XVq_7ng<WSLc%Q<*-QIhnsE4;ZV;$Me+D-
+z6O+kzkagG!u1}sMYVY^UJljV<@ZpQ$9%*p>H%kQ4q8to@(w`VD%+t{VjBlZzMA{89
+z;%$e2aiD==VT$}%!%lBb<H%>Y3xicyog$jB!Djxd7vpR6bXArR{Oqv(5MfWsJg3Yy
+zcUpf<i*XRQ-u8j=yfnTAd<;#}0(9p_Mh7gx&!`jRA8$wFN#<^|FB1MW+fs1Cf@q-!
+zU3MIdBzL_H_z&sj^8+k=#YiQ^+$Ny8yzr0AeUGmYlYGdR`w9gb2Lx)?IbkwW&1DO6
+zooAoqd!IA{afAE)J$MNE8EDL($_Qb7^jY-Tsb5DMjT&SWxeu;&{9Cq-;QIVXkZ5c-
+zx=+LR*Y)a+RPIfjC{LhfzZvst38Sh@J6SdEVEDi(KywY$Y+}Jl1d*UV+;mz*KDAhz
+zh)mX?^+*da+?k?h8~OJJ8$%paIkEkT+36F4*KVjH2cBc6;=dfslN%vAZH(Uy{cQfN
+z<{05LX(3vHPxFA6xPb50ypE5TCZA6YBZ}<-$vEI%pfjQkh!CS-P8y7_5rEIXH{0%v
+zq%!E~hwvPQHvUZ?Ef@P@;F%J@*kGou23nY?0$xpm+NOfZ`fm2Ene6n`CX^hNmZavr
+z3T#cF-q`UEca4lZhb{Zv1|e5Gbiv~cN!HZn5QX1Ea4!8`@;BL;2G8GnVZc<^iZrFL
+zmLJcfN#-n&{j#vj3m1P~7JF`tq<;B|g<?0_V4;>*M1f-z9ik)<Z3n&ko3>^?H|-}`
+zxbJl0Xc<(adaW`;Xc^eA&$kJ4EZWH)dOO+mFzw;MBfNjA5<1ZP>E3RWzD|&L1WdK!
+z2k&T-AdM3|);yD$reQ{x9G{_#6R5f}9%tdjf-W#_wS$qa(*X;ot*Gkja`g1Q_eN^=
+z`0%;Ho3r-6zU-m(+)f%v8KxzXfn20UBXua$j&hd^L+a{0lv^F@IS92I<OY%c!ol*K
+zo*nMA<@|~EJJV<8>L#!_sffCl2&zHVp_~j(J1np!W5n69+~xPAJ6}_zBa%4jtFt9W
+z{@f*=wRJ|ZitBopGm<ha<ogQz0D}_=VefQ-dFzyrIj$n~KD=LR3L`)v>@A{J`xa&M
+z)PY`TF0^X2?f!}827nOWNuI-<r$5<TE%a{e3k373M9lQ%RHs%RSr)PVP<kxBXcZnm
+zgJm!x;g~C$@#FI_>}Ne-gU_A_rT89Qjihq3d_{Ugx}ge|kRq}v@?<-}sM1htR5<=}
+zI1L1)$lG(bP|&c#@>`Np6h0xGHe-S%SWq_<x4Dzlch(EG5BQ%Qqe)*6^zW6~@M``#
+zCDamY8s8Jaa~2g;DZ|q6lDf*tg~lJ!!^4{=$Wcp@h{Rq-YeCkqfsMBv=tV{(jCL{|
+z6J7V*FaUy2Q)|?Xlq6r!8)bWEQlPx2ux5Cg5uzT>O*_rH`M&)M5xj9Un#*HS!PqE5
+zISo-XF(NX8c$<8iK|uH&>qt?Q&-b}D+Tgr7t>MFp&WJTZFnPZ1>|RTVqu7iauEwTX
+zVJi3CHpH3>2eq__Ox+k#@Bzl=K|7STdhX7MT{c8Ce71~q9Y&PXH}*iaRuCUgMZj4H
+z)Q<sa+KPzRqz0O{-kXtzDagS<&%r}abao`SSO`yF|Lj?rpGDNntoJVWe}|8U>yHub
+z_qnc(rzc$MCNk878`Sofx_>n{BwDNL?TS=$RO_S6!R*Ey=`(aG@LbB{HGQ+@MqP=h
+zu&0VvO0ab!36xlai&*>Xc+6_xPmdSo9TasQ3?*TY!)%lYzD(AZ0HWie+au=#fiLo&
+zU+O6Y`-6UchQAZ*C2TI_f~f(2hrMt6KE)jP36+(ZZfle23Dx>Inkk_7xY0&pkp)+N
+z%^^0b-mA7bkD<)a8%J{cvSRJ2S;}#v9g(doR}TQ3QGy%7T$YWkQuW{|T0eu$!D%Gg
+zhIpru$xwR_h!F-%c~|@zigH-C2m<JnIbRGUJ`o+s{0B$0h@KfxTQq^K(h!%+wnmUZ
+z&+uH(<{{~AZ3;c1s&I>=8{D8VNnCdFPc6Rfz(8f#dDmuUW@`u=TQn?l6ex-ha;(``
+zrS1uS-(@|j8cS+#fW*WdM9k{Fbp6f|!@JL%Gh}@yEWnT<?~y(gdk!gF4iLczhzP8A
+z6eYZ;NxgqYm0WAz^WFy?M1rvTjaYzkZ-k9O0o`V+34a3+%6{bTw=UzMuGx9|_wc1E
+zlzJB;CAmRbWieMfkz)5Lx6QlXVJsZCW2NX66{xtNY`ok_u9t5`tiF2O8sRN|iIjwm
+zStm2P{thW%Q3u7>jE-<YhsXZGBt`Inuklb3vv0q7ty;K7T}G$@6MPS5K4N^c{Wc--
+z!(-|(z>DYfVpx0s5?hF9Qzi@Lf>~6Pm?DX{;HP^Q242(r1D1_=jrbppWF;PQk_!Ls
+zS?3Zy6SOYNhA^`C9Gr`$aM+kF+PqIpNc~b)YOTag^;@K{!LHyR#-D?kKh>QZn&JHs
+z(S}LQ;l-T8IWrlT$vDeig`Pf3fs);`cyZgTesw;vUk*#=1ZlB5zS``R@)U;`I^|DW
+z?`Wu5^KI6hZo2(M-a~zF#>3kiX?zjyY=f@)xk3s24jF8WN!RqnV5qMC{5IS-?p~l`
+z*Od<2Atam`NRWyKlq2%T>WdXRFci|p)_QD!{us*BG6#&@1J>-ygf`d(+Yt%AR?$|m
+zG2&h}ZNhe<x)?3<qMqjG%(&Ex)~h>;3iL&t-&Bo~bSQvwc_uqFF*q*u<%r&3Io&Jc
+z8X3Bs8jXqH@NHmV7BRmCYCHHs=Nrep*-}>qojz9eD&96O%Es8n$%gaSnOL~VE%6i@
+z&N;!@pfy%G7dw?+2y1|uMDE?45uzNTNB_7>aX);UvtG>N2^CK4jXJOIypMJdF8LKU
+zTYqIdp7&|wl19M2-A~xsFLDE9e-nocdK3)_YdtcQ)W%k7bx|ihJbIc=Z5ZyZ^yh9L
+zz(%H87tSJzNkw!4yq5hajBkYU#kO&cksLk7!K-`GO(iyvT=U{|HBlNQU1VB|)w$-~
+z!`vE~Br`P8J<1%ly9{1OIZc%XlCTOPAdcit!jhpR;%=Zn+J^5sT)?#vtC4a+pY5iB
+zJDz5Ru-Z>~+fH$VWPdd~FVQ(AT}O25HPC_wANYArttZij2ISLx>m75xSQO6+R*;0g
+zmeuq!90F_}HX%kFZpuj4@q)SDa3k?+Bb2PrSZjTt%acFjLT3$4HPduPZ4Sfv?#~)_
+z*x>rvxpNnXh2P;_1YzBnVcqa9VK{mn1MhEaK>}|FhPXm?dB28(cqh2<aQ(E5eBk$f
+zXhOu5zd5gn#=c+vTG>Ag&XIAnbGh%w38mufD688Vg0{`stk3i+PA1e~X7W%o(N09G
+z(V+dK5Ra`6>fQc$6V4g$Mc;jTrbmt|ZcfPDi&luFxnBGk{2GGnMACo~C5VWy9A^BK
+z%9O|VK>O{=o7e@%H==p}Gh9?4J3)S(^K@|@-bpGMlMM#a6u}N>;hDZ{$m0w+?{P+i
+zv!bb`WN0Gnx5bB0s;!iJeK(?<LJ-dXRu>O@&xo_Yr==8dbs9N^gw0u(XK<y5w?dyc
+z)a$+g&xyOCWn;D<z-4)I7QKFvmV)ZQ@wBYI#3q%m)W*lhSISyiCsazEGS1p8lE1)#
+z_^8FfD5K8oA3|kPpdN8v1L{mwC|fV!*`NrE)?hzJDcwO>a5#%g4gLt%5d9^x&bUp+
+zI*CuQXb^F)LGcsTq00ke&-aZbA7<pGjOF(_S|Pt5M)lu5W;92@!*xG|2lh*QeQxy~
+z$g!BuyQ8D9vma$My_5FGv532J!R?oH!Re~vD^o8a1UK~>b?Ow}kNZFJJuWYsoo#JJ
+zd^|iHd;0^2Lk8)L=de&2-C9OWIvMMW>WH|w6pe<w(C{@#n$-IGNY&KruO7Hu)T8vC
+z*muol#eb?iAulS}{q(0Y{Ez0Ya)G=5Wyw?cgMz+VY-tLjPQJb|z9k2(@WFTc)Ok2)
+zwsm$+w2;kT>Ak$qJ4MH%Wu;|h=~A6+4h{@J3knK0*pJ@vag9^60=vvWcI&Lb_(VX2
+zy)N7VOA=(g{REg_f)&_ekDo9i1vl8j0R0zl47}1}4kDqz)m%np1-97YCtx<!sT41J
+zaJTs_DdiJUL7Q}@LegMCL2ZF9>X^_8E<IMcJZHX3{+Yv$8*d!QPI)Zy<6{N3SZ2Y(
+zRHQnRbDzsDSYt-;?hd4D7AO=(Pd?VXhDTW<-~l7PGp?<CgEsMLp#f=K2gL1M^CDQY
+z2YE5P`rx>b1U&2>fjdHvFw8)9n=P<XR)vYwTQ}=fjxb9Dv{WAW=&PJ?Qd0Xk00<jz
+zJE+ilN7%&?0!w`K)fPCZi))*i)-kTY{*@khj$U3|wErJ%b?gHGck`onT`i&xz~QEN
+z`fI}tw%DtJ6F{2I8G-#PUVX+U6p;UNz)MLLE_qH4(ZTki+;mr_0Y;Hc9334!y}Tkx
+zpFe#J)=7Z*@<ezrJ%5$(vUJwZmBzt8JY<a)%2nYRbX&xN;ZW#NBQGE^aULLpcYtW2
+z_2r-Qj9iZR3E%CYD7d-t_J?B!#*(RS&T4!1-kxvq*sT)8$?63_#~NxKPqP5Lq;lys
+zK@UUv+ON<mTXIHE&(Haaxq>T=mS{*wNJdpIN5Au>lfU5v4<160<tyx?ddd-t5JQ-Q
+z#^Y&r#;SFi`y0$BoL(O;OpK&no{w^8i)C@Sd3Yk3Z?=!D?X$oO4toeT!H#f%v4wA{
+za7E|xN}k@{1^(|ZQu6ZR?(Uq^Vl4XY-(h!mcgxhuF^PzYbNP~2D1qypy#5)QwS8VB
+zNT#`WcWJf>teocH-d>QHxOk-7@IW}47m1u$uA~w=(B0jA`kk+l2DCPaOxmP~ndvI$
+zYkm8H%IFn;s^>pUrvz6NLyr<`Ro3Korg8A+&kfO!G6vn2h>XJTf5yvnnk!b`Vn06=
+zO|u}x(#U)>eRZq|c{Ep6$&^P+2{n)IUvm+$hJWpRp@dc$Pc5;};;;?#x;>0!Q&lV!
+z`h5GsX89Y7O)`a6U8!1!!`XBAGrQC|6pr$y?Yi~{n@H;dTYvsSV}Guzrbl=`^4UoI
+z8~S7M#L3iCl4D&LZY7p{pxhZgK`flMwzluNP~zogXL!BoNYnrwRFOn1!FLoBg%hgK
+zT2%$)cYHjmbW$l?<>3q586J5ELJKn1OZfwK6zZEGypC8YxWSi_nBA+Z_&{j*y_tMb
+z6C6(s<>8a1YQkTymwXrrI?Xm2Z(XHsp-_~6s;*Hc@MZxKw?mh=jIMvB--jM9zQDT5
+z_##%J(qN!>z*rOmA{Oc8*IOL7NzRt42R1uBo;?F>^ndx{qY!eko1xoqPknBbx`jeg
+zBK1!If?!CHwgxmCjWr7V)0^wAxV{-lm1HGp@U)MCwN_MeX3LZ*<Z=axg+87rNROr|
+zGk1Bt@5+qfq9O9P@jq{KmxjSJf5d$^x|QZ~Fy8QBT0N;L=b3Ha98v{T?!a<*H!Oco
+zIhX^3<(4C7)s0wzsf{-e=xaD8((gATq$_pC!Q52^`1G=JH%YOOh)Awkup!<3Bb&&D
+zPqzKKb`i}X@B=H-Bd~YbHMOEI@}9^-?1=1qlLdT_OT6u-ZGcf1-8B+SeEi66pT|r)
+zwEB=TP-zV1l#zO^!F#)9-6$r|HF`OsuObU}`MndmLi2gW$9S+oiWz#B5iP79o{6bK
+z6t&rf0~tYIu6;`z?!b$F5x-iubvO!}PG*C|1o8c0-4Tz?B1YV@ZWIor_al#w4Eg(_
+z$KQrUKc~@M4#5WlgcH^f4=o(+5mB;?FztPJgyXV#w8m61e_JT{jLWsH<2^Fyzkt-!
+zn7TS<xomEX_V#vPeqA-SfVb-bwBxnrN@KWa9OUPbdwNDVsU`%3zb*?Nw~g=NK-v3m
+zqybDJa|+12fG~a%)UilOSl3+gJO)Aw>jEL+Um3h1ahneA%41;uV#JudJYWnF4<<f7
+zzG9QWf!F;`AGBVZlQ7I&5}VcmCIs2hpQ8%N-OLGH-?tPW>o}yV;v9^YzeZ9DJPbxV
+zCaJ<J%(kHO^{0C0gfV8icm-@)esj>z8JMuzS|;y@^GISocc73^ZoFw_q)lcpJX%zS
+z?3#&5BtAW>(BMlU0{VA<|F{5pf0gcm5u<ioLW^c2W~^(c1nYDT?@BPLUBn{Kt~rr?
+zB|BshuqfYiwi_^7$beF+(_|Gm6pb6*46=?!a@CQozXRZ`;wAJY%541p%ki81znPfy
+z=$%(ueBbx#JD2|Oa?8+7exd?=;MxFGhrEe)2ufq>eT^9u0&(YN^<63?O&=!S{pn(`
+zLg_%W?ebF_1IK2E8}fXKJRN7Sd1NEd3=zE}{Ff-5<hkKhjL-603?!M*=!CN3Ajdtt
+zFHx$lpNhxfi2h+m%}kE>5EeRtg*n1;E66aMQp_*vt;2W-BHy(2b;Flg4sLL8j`MDJ
+zAbfu?@{0+Il12eRII46kiNKmt05><cmKj{M9Y888Rc2DYHcpi<g&%kjUiB@*`KV)i
+z#Fsvm&u^Vx_(p$zP`;Tr_Q_@N@e?y#jURaDNWq0<H65l6ZTcCMOR&h8Do(;m>iU=h
+z$<m-^Ib(-mPuCOhDM(sd%(&JmzB)m`re%hRt{Dmi$-qm&$ODM}woZ0d2QRdc)U|VI
+zesAe3mx|o3@cdkhnrPdhY4g*wTICkTcbOhTK3P<LCjlZ-2$(0!%T_5G*XqoLZ$W&2
+zoeX(H^9#lA<L$Z4c^{6n)cji}fZON6t{$Hr7TMy1hrjYG=tm8sQ*?wxW60O^^z$fe
+zwu_s6>)Irsw!hHw5wf7*gjxln_O`c8!(m4}pSsbqKLIVrd=!}5jW}+WPlzQ;+_e-&
+z?Dy<48J&+h3*<q_`1T<r8T08<b#zDwj5C{&*BATm8$AI5_4xE$TwKXVH&vW)g90Yp
+zT}^2-bk0N;#}&r&dzo!1C#EDxcK2(q%kRGq_L~;|B={e5pvha9PCrco6sNv2OYQJK
+z`KU!nh5QiLDT2-HCCe24(ww?TW|yAA|3*r^bDA*!6OvQ6=nEbsBqScI8A2Qpk4lN#
+zaG@CN%UZK-^psJ#8g25?Z51b+*lZma|2I8w&jZXbWo!TW589RPVSJC;OstCn<nM2-
+z2S+b{6C-xz(kY(1hP3h}VS&z)XyIEV^+!tGw?v{i%6E7{&OU<dW8`;_h(55cGGCZI
+z-}s)s^0#T>@LUmFxqzh_g>rb^`iEl)hiDf5($dZZJpaL!%i&d@Buf3+M~(|w0IKfQ
+za3X0Srk%nLvE~Ab9|gBtt2_H<(fw_Zha@}t^K>=dbE+8{uYX2|#N=bmI)Wc;T*rwV
+zwd<qQF5ZwXK5Ad`lnx=HAV`+CET<7}W!P7~L^1@?exSN;0g-qLIHlq6d9Y)-9`7sz
+zmD<xUW&V5W9@6p*v)UCq_9aWHcDBC6$RNAiJdaUdkxiRt@8+A5?3EuZ&nbZ~g04Qv
+z+N93Un>5A@i2kamPB6hHF1AG?W!pUo_~vz+3wdlN<%QSGe!5}^qJ59h?#udS@qUf7
+zv-9ZW<iY;T-pl*r_RYMakia7+7VXT5XUz=&=YC)>cl%ZgYEV62Ov?klP4Ypq+COVB
+zzbpQbKJ4p#FTFlCeU?M~M)FWg!L^__)A~q8ym6&0c0f4_^d1Qsf;q;YQPHwFTKQaY
+z@}^_vfdLrw7oSN5$O~22BEUP<N7?!egjAd%LV+GFBk%{yaT{IpneWzqjUui0h+&Vv
+zfWubT*yplpG>Fgd#kF2FBsIH_Toz2Nw=v^=tZBu!NT|Lp7qp(fZ&&7q@7C0rFJD6;
+z(%|4PztN>6GF#&@{I1tbNIIaALQ8ulFL8_Y1vGk-QMPKSZe0HpMtxgqkoct%kuq`w
+z#x-}Cb*!ytPr?%+STtAMUu{{K-N%@g062$UWI7UOQm3=mc9wknbhD2q<j>Ej-!b^P
+z%oYhuwx~lumz_3B^a7bYyyq-71@Fw*7ULPhNJocwr5CvLRsE<~sh>maF=R1p!hO**
+zh+7MfH?17kb@`xEls`270@5OICG>$(UstdYt%lJ^wwiJK8I1@$5SE2?UF-^CtL8@;
+zs4{#zGZBM@8f^QW&S9I{2Bl9>kdJkdQs6??R6c{5q%l*?6D-aNSM(>Zc4);q<1&7n
+zVSb1AZyvYG&77Xtb`dpP1hGZw+U_-uc%-;be&gSUcbi*hJ9V!?LnI5O4d&1TOrlrE
+z1<S+|>1&b|=uC<L8aTvvuX9dFVpk|m*IEmR0}GHqjEWingb*`V#YU;@E+Z@ZMRRAl
+zN_*h*ku5qb*cEQj6K-N_YpZ}w>!5&O5GB^zm!T#ncJ-bmy8|`YuXV_zy3)jPFmR0m
+zFLy&N`z42~p5XU|+fn|GAIE2AfPi3JbxB>QXQ+7$3m_ug7v}~qfMAh#5*_)0mSKO^
+z)R>_thix1PNC=^T>X5@o5Ik^s!>_0nb%0+Qu?l@fMu||fRMI8(eq@a06~$a6goXp4
+zTc(!CW&GU`Z?7*~C%0!|`Po;Y-B>bq8(=^Pt<rP<iQcM7$|SG7sZ1jRpJv=SL@y#*
+zEwQ#JwOl^vZ8pa4W0vb_HmmSKCN$E@LOP+5th*N)ua+rG_zVzH1RvJYNm52?iwQI#
+zW5#vU2r46D@>0w>CW3cOKf|^OmN3o|I)zb~mlpR!VZ<ufcwLW;>RWgf3r$DjB6U@%
+zJ!v9xOZ<+LBarT*ahaknq^miC#W^ANPQ%<$&RHDpEBCU_M(sbvsugC-mYh-fO{Sw9
+z2eEARzci;On#5;xRA{kHL-zc9^rxh(B6&XXZ*i0bo|+5(tR}B*i$>CjH@i(J`<5N<
+zm*!QawcKB`2qVVWN|!2bmCj+qMz_>lyQe41<ecu-<Bn%yzzizlEp*-=HX&5VRA7)-
+z4%2D>Uc6GYo8|ZmgRouOWH<`fPtitAzEwsVe{gYe@!;OmfY1hA^J^GP2Zh7jc0#tW
+zV;K{f-a2?ll{FjAo&kmu**_ByBXvrN+H7%pUgwrk*v>}T<%nfg$(O1#f`vAf;$Wwj
+zK4OU>ekZ7*cXG`zK^{1Jk?6U1Z!$nXMaDUqNo}Oc<%5yn3pWZ=j1+|nlh9DXMmgJp
+zw$>=#X^n__>L<R8p{2vFMsa-tMZAw+b!4w*{~Hs?ILY$MKb`ll%OHuFsPn@iLGzz&
+zr(<R$^>z7RpGg`FbOM{jMF-I&Mx~Gtq{nwcJ*VwE0OFOdSNksknPO9!AjUy9a^u};
+zl{GfA#HVPd<MtoQxnP@W)7b#^ViRq#kuCg}NnB>@8C*|vf;gcdLXrJL?MukrGr%c^
+z`dR^O=T^5*G@CU0fpX=d2?dv}l#Z}rvrURI+yrK9#ndWZg69>4-LW#tEa5!`s{Zgq
+z8R@zhQOojaXAAXjJW6}a5>uV1LhgG$u5JQ_EBF0C=A-S5S2BuoH^CBy68!ST^VMKp
+z5t!x0xnCI*Lk$t%?=aM?bAC5Sk&8&Qiu@hZj7DiJ;6#WZd1Z764c#+#;>O(U9%lfW
+z>suxqZ)SVz&lYoFmEAcgM7u2vPU$2e-Hjzv>AJy1PeOk$DMk`K`~^i^seLl#HX2s@
+z&vS?_kECyji(-+eKdk1750r)$2U(RhTgkZT@l<$kC`GSck-TzG(h{pKG1aJhxkqgZ
+zItykNw;mTU?xiP8Q;PAKW4yNPGkd;&0<^_8y4rHh6AzZ1@<X}MHxR~1w*H_dG}N$B
+z&IXplBIDqN@xUP57Z!||jp5Tt&pmdz9L2TW`!AF!hrJB^PxZJR12(Mif-n#R#NUkl
+zx+rtKvE7DS(6^neT}2A9{BXuZ>@Og1z$t3+RoVK`LOEWpvj)dqZ+bn-ZI_R@g2TDm
+zUOXS$8{AioF8c*Kd%<K<R-Azr*inn*=YgH^e2AUys)JPOj=rj?w9#>YqEKoqkyqA=
+z;h>9H=F|lLAffO3sj^3_YLHV~t7o60Afgf+&g?fx9El~tAP}$YS=MFe<j5P)$*$lf
+zAPRmwH9CkE0Y0fD{A=Muw)Eg@o^ck}2J2opVQXezQM5xOn5HmOO_CJGfU}lKQ?fR@
+zOT{BN7o*eaxOLMRMu~Ds9z(B{K}7c!FZs)gKE}_J1be~x@F^v?Vr}mBH~BchgVsA1
+zYBoPZ2rfp9R!W$n8HiA|DU42gKOx-uSytz3^&m|2EPpKhDo+x7&9!omIz@pJU9%AM
+zyf&(ISER(CT)2K&C|4a)z|b-MrvQ;;u1X&@@z1X>#gI{HMPF+3A4XgD2y6V7pZ8*{
+zm8;APEKL9wC2F|aO=CXGJo^TSmQpb}X_X3Im%nsfn-Yr)Ip(;&N*#Ay_m3?ila&Xh
+zA6V?kP!$WD1kP``H7hg@QY|w7?54~1UuB*oXqD_ePJg`i3GPV0EM`;%joWPh;8C{7
+zYdmIemNAl|da??P+nTE06i%eXK303w@_~!CLz4QEZFdnUm~0^2U*Dh4GePdBsTQhV
+zsihVr6*e(LETK(_Y=c5vXJenfn3=4BLe-LG|E6?ccR#tlx)pG=|6cC;SaBt^!li5R
+zcPgX&c2MsDL}~N-O+3=a0$|oiwZm$c)<&SyI4_0A<srpSW;AoK?9|@QWZ?t*0}=T4
+z95c7ZrJhu_jm;5WGD6vHJD(60#@Pgv(k^DF#6E7aA6jG6GBX94bT68~J@fG6iGF*7
+zHT5{&R-&=MjO#)CG|n01+OQ$E>@|JEcP=7FY3^?#Of0zNSfD^&A$%$p{mSW|9&i*6
+zj(_qDpxvBQ=^ptttH-vj$9~Va*80<33lpe5w3*6)d5BABGb>2&T7!J8KM%t$O}n*W
+zJo+7yk8gR<_bN{XJ|u{lon5UfZc>HMFjulERk&KL*jqG{qadfz)xhuQcg|aymb_Y?
+zVYhel3JJX|M+K*)DQMX1IZ`*_*vfscZkpLiT)9gL=cKs}uA(KzRP<4d8#RxOLcE#D
+zJP9@OB>kt#JaeOXaqm4Kc^GYiehxcy4(-(f*^`-a9<3OAl0lXjMU<hs234e~Ga6{D
+zJ?J(F>1<h|nzoDAyszrFJH(&a%{NK>hK=(Co4O{$8%UM|E#&*;l(B?QsiT<hhRy3Q
+zdo`!hEqt}nWSdHIHdieB%+y#>24bqlr*B{Z7V`VuFjMMHlGAysOT^==1z=5qZQ_2R
+z<o0b2(u?qoT2pz=0&G$}du^;#nCdx8xE!J;?vZWx4u|^LC|6ILAHTl|9+|#ph|70a
+zRi!G*cglbdjvBYLI6BL$O5vr@7Os2u*>-1qLb)#p6A6j}B#jg`CWg~=F5uJg4=mk4
+zMbEFlbNEc>OXUCT5piF*6@<3E+@D1YQ`=LOmdxBa$alJ^s;X9Vnwl%91RCi4CyD~~
+zEfY~;r~^+zF4y_)m=yu>0s3+B%|pI?8RS^ct^$kP#XRzE>S#R+#~GhIc~p)Cii4cW
+z9H*m(D~n23;e5HIw0*7&$Qv-cSkS?#GB%E4^9a4Zdg>n0VB=s|P>wkUFR@1Py;++p
+zX;6LW6tT+67ZSct6f1(Z{;9<&8!$Q%dsr@?heJCLyu$kE{QNwMcpba!S7M2R5q^_F
+z1m`x@%z~KA<YbD=KGvUo1=}c}9XjK~V8HD)rtTajaKXxH=c$#&F7^XOeVqIzd^^zc
+zbIWe!=coxS%D8ek3T!6~BFeq>D3f^-kF`7BW3BU>kYEeLw+hLBNDUxD$O}Z7ySX3c
+zb)wd!i4k24w<bSyiZSAUc0Wb@?Uf)*n?=`9#OzE)13Dy(y2(Mw;6+{;LZx1wLEPH1
+z>W1_C2@tbyw%f-8qhJmP`&caiZ`w$^LAjZS5Sn#m^9yX>OCkC~g$Cc7>RooBAs^cU
+zIlTk#)OXQ82-Til1rliQ85sNCA>X3OzZ4b&8XPSua_&2S?i?lbG}vKCBGdB|nXS>g
+zJ0*+o--w^syM8BpvQ@ycNTP2WG0U^*#8-MC0N=cB;m&`}!LXiv%vI8XM1O%D865l(
+z{g6XRuw=jeOMjz9WK|@yzj!yA9i}KA0|SHG<q+`sr<i<Pi`^JhieTLjCMhhg(V-g~
+z1_PW_$(Y*eJP0Pp7w)=LJ3hRf2biP%Vg#-kH(u|)=qji?<Oh@6prwi5!B<IqYZl^Q
+zy6<`LrPq}oMe*koT6dHaWLV6?x2bm~X<_g%6J^i<7ORO)4?2sRit)0sdJ<9yVGvuC
+z0S2mC3WdJ#>1bi12L)S{x7e=_kAN~FN)m7xbSP^arS9Rd{|t-bdQUEl`8{54zNMvQ
+zmVu~1GPeH>P7JxwZV*CX5cIQzmo3E{siDMziZ<Dq{2I|y#mgkKMnYVM8W2_`T`s}4
+zlZye@&UWgvbNqB0;W!R2tbqs1w}M)H)52AfR>%<cunA#0ca#-wneg$WQgYl+Tt&IK
+zGZYz+dp2I6vM2opv&cowpQK+;Q>E7Tl9Q4KN4`#}D9_*vX?k}pO!=)gn7_4Bb4bJT
+zqDaOnV(7U1_j;to@cwADU9mBc-@BdBUmAHSzyI{7YGVPi_y~b*r-e;$%CQnDe?9;8
+zfw~{4mSb>(|FgeRQE<@@i1>JZxfuACaFBgBIQO3(xsqo~Se?tnEhWOPgi|!6k69%H
+zBXMEw6q@;gX1q%5b}P&*(QhwjwHm7%kJPg>aV1XSsKm6t<)rE6*j;x$hUQ|hu`kT)
+zV+}ADC0AEh_W-HRr1Y}-%^FExK~@Y^t(ANZuuEJ`p#^k<`-MWnN77L2@X=9jV+>R;
+zXOQ`#-WMm65hugihkOgXY4OID(WpNU{=B$ZDs8X^hCKKCdranviTkKK>$2J_;-Ga6
+z>WBEX7GD$0K(CoP7J96eYCwj_U5&HrOXJSWm=N0MQ^#7X5>(8zV6XiWLH3_Zh<aeV
+z8Ndz-#X*$y8IDR*%bV{Gp97?Rt^H4qcV^AUv0!gF&}cM84>nV9@qF1Eb95#jw+CTK
+zcnC_X6?w!ouwb8!t?ZeXbU*`_*tn=L1`tKaPq~o#XH-LT(pdaeEr(+5o7_BF^YP^9
+z=s=xqrRelm)Z^rj$VCV;RnXkG!NaMn=)gAL=kN77LMYwzIqFtY;-;Q!9U{UKkl*Z;
+zxmwdAck=k)YYlsT2UM!0spVa*x7IFL)Qt{<T{YYOnY`lQI^(7M2P9V+PsDdz9D4(H
+z_uC&kBA}+QFqdK2PUEuTsqE4@^B*7j;oxh`V9FrWk=ulg?!EAw%IrbyYD#^ur<#gk
+z{LJ1iL0Pzm1nz~Vk`4y?*c=}hc7M0`eSeX3@*qVqdyY+Hm54oWxpS6AC3d*SaOK{i
+zMIb_4DueFcM!U;fEA1C)Sl)|&O>!?hIJJcZxQPc`eiw~~Oj@Tz_oM0xtx3Lb{5kxu
+zyBD?uz>WN#g_E*U&crG80;MCX-DnFuJuz_nIeOw6$6c?&s+F|L2zU?5G!ekeS!llo
+zFPgW-3Pcj<t6*$wk~%olXuylH29jeB{WFT%ocHUz?`>`}O?5W?ab_h%Gy97f=v~(o
+zy&qFFhNcAIGR5-l!~O!ti+&6tBv?y$VCZ!G*COZC^Rd=v3DD{<mn-8DDFj7)a(=aD
+z-Y`eYO%W4BP7x;!8f&Czl<z%!bI}fYCg336HEmrGi|zPZZj1{*hK6sTB{)Db@Ahz<
+zT1Mkrr|m@4hL3vR(STca2f@Pm{<j=dva8hN|ITbW45+Uwv0kNGEfo(G4`o1Ew-Ule
+zDL&3gJ4JO7r9H94%%;<*+Ue2Hkfxn^#;2DxXx2!Ig*@qp$PYUl1}EU&y$jvc$e#Wl
+zL#szfFJmz5&EKaM?Q__+&mY^%Pvr8lW%BDEaVV#`$}|M|w*-7clRhNl6*UQG&ylf%
+zkPu~fTxoQ&W7V_sGsFQ)r8dZ1tToU6^7C;{W7^ylj>VK&YZV`0rM0q-=5@nOTtcx@
+z-`GfyVTF_)=xoTY-xG)BHAl-#;@k>0Kap5G)B~X77JGh`U;(W#+Xleny2|+?3X~v9
+z@j4(Oa(GxV=hv@n1U4Y(PY6pg$c&Ot;)efq)~zTw>;uHy`pS!hYaNUHxEYhbgRg4R
+z+}+}7o`g)4OPEQ|;tiYeawTA$%HmQyClOH{QqjoI$3uxnpv;6|Hoy*8NC^3e-^$N*
+zqqby_w*0S5T>t%`@v?z_`@m;FByBE`COSJ7m_~uq^-Bim*HTzq_chCA9jeHpXN(2n
+zwRqW7h)`1w=SY~Q#F+#wWc43wU)ql>D-{W#MMi*+Rc<(sqj$1IsI?*Vo~~JX4iGFY
+zSjVn{Ia}(<$;mhGkK6li&$laGUX5+PgyS=U#yks+rN3QUeb1{R0P)Mr;duDNP0Yns
+zOl80yG--mz(9cLJmrW%6skc}}J*KYlL*%B2MMfm>8W3{uoeA1tCC<ou*r+;3^qV%^
+zACDHhZT%GhF@?jT47^G`Uefaah!pcZkv5Mk6-LNJdXye&)fqvWHFMeba%$acLKIon
+zKH)D=>=;U0l+}4z>%rz1`1Gu3qlk(DUqGWSub-M#qTbUB+d9M0<eVN_uP7C*u^78~
+z_zX5gA}C@jN@oBD9F3^)Is>69OLgJ6ct8Id?;aM)g-r9s^V6BrQ}Q;SCiP`udh7DC
+zQX$nG;n1i3pom{#4@R?{E?z&>^3sL?I2rH<Wis|q@F<NBuC69-5#ZnDFFs7q#yC7D
+zlpG#bra#0nk!-|k49aBMY~DA!rYSnil)LO^5t1e()wKAhNCbSmBV(ftVL(5Zu#AL-
+zh4=c({?h97ka3R=vuQ0^soDSL2f}Z@U(W!5npx$ud><%HigVl9la73e4N^TR>PE}F
+zsi<mye3$v_EsN{Q<_w8^ag+@iY>3VDlCxI}2NOm!ndIQSbW~gNZ4rN(jki^a>Fbq!
+z<l)or3uqOy1dAU+uAUth3aO6@e{U5Qh#`It<erSmrigfqxCSSjXavqUPoep)0*hU1
+zO&UYWdT?@(8G{DVlAA6~EU%*A5X|H2O-E9#3G=Bi7{1TBx@%AV8+f|Ybl;aE@qnl+
+zCkd`O*1jPhCouv)!2infb-#EBne0c8_r5gc!|J#)6BUR=Pt)|q^$ICN*h)UM<!6Fb
+zPM}6bb^Yg=mw0r+8vw_?%6DThxOft}VRI2VARRI!Oq-8ySp+^+c$5N}Q18|W>qTN5
+zzb`nx8&_h%Jrt7lQxR^o;6yE0jUGfj6BHag<YA6kT{yFf)v+ARIMlT8QG1l)3YU}H
+z*Pu~o<8lbOdU_i9)^FO%4@}E?&DVT8vzm^&_rIl4O$Qr0t>GKnEIbC?*Yeh-mN_p6
+zlP<F1%HMh`B|_%M)VrN&(Cf7+ZT#VL-V?hCQq(DLU8>omN>R(3=k&0Ki-xElR=54S
+ziifTvy<Mb)okM#dm%}X??{BDwcET$SeyB5Q(PFxbKfw?BLh8Zv1L7W@BHWWc4|fy?
+zf^44i3vaFngI^iA^p~c2in^6}?rD5OW*_-2*v{#ucM}uBON)w#4bGqDC)&v<zr`6v
+zxVDr4Ly?#;bx!4S)mKf;<+v6ogdEw@^Tebil}Xo3r{CE;Cew^-9|k(wp*7kRpeKBK
+z+kZzqk_5NkByAMLoqwjnwAVWpux!x@EKt~Oob-cST=7NR1P=|U+uPgS8oq*#f1yDI
+zg@?#3^QaEM@Mih%^g>ozV0-H|T?}miG^F_wtBpw#IDTI~O&zZ=pp6zI7~U;(eX9v~
+z%_Rrklp$gbO-9{o@iq>QY$8+WLWjtqUprlw=!9l&&i<-B;;B?gDuUYF04x={Q|PYo
+z11qyPuIW6^msVN_PE8KdAMXa}bHL6LC^fQ9sh369#H1cfF?JZ}v`b#V$&6F1HA?9-
+z8rMp!9QAw;KUupJE(75s%Q_j;=twh?gcLwR?pti!=J%3LhEmj*cmxEL#xOjNHpVeK
+zJkF%}PF#r=gweO>TUjCt`~eJ7()chG!YE-`x^-8vG;ltjSQ*{>Exm{gthe@Wqr_;)
+z0wt5sLc;HhZgRcM=_rjYuGPk6qTcdMHcs}#u#-NnrJ>ijEn2POpi%bVAyH$%NC@JW
+z!9x#~LZ0#)=w{X8oW39GR&eJl^`<7%yQQ1IMRYe1(f#2jGXHCzX6=QT%WeN8>DptC
+zHdSdtJVzrAI(JAmUV3k0>(|f-Xp$15@*N%7K>n%=8xkhRkB3QAUtf=ah{(e3zoSSq
+z_gFfN{zLz`jCqlr&;1<zEHX&}L?FAirvU!(2Y|Cm1k|>O+r(+F_Z0oUu;MXftO1`Y
+z9;O;>OCXbj;jbt_S7jVfllzmVYhq*#nMM~j1j#8VFg%#?vdErxSYKI2XR#z#^jrF|
+z60VzCe$K!`P7W(fGZ`zDbu=Gj|Fluc!xb3b3?KS{Jm5T)ZILV)F5q8zrZN3x1!?Fl
+zj24#65txQAH>pypq52gcF^Lw8LkW1LoMwVHld&c-soCEOJ`7#g5|?z#rkMgkK7BD?
+zv5)5fIFMR6Y+7b6;Ou);_P~PlRc2e$)>HPum(WG>M&1%61LbYx=>T1OuOHP=A_2Ml
+zUJa0_6*NB&eSM@;e}$dm67YWg_RVCo!)>o6Rkzh4GG20Rk8#RK+5<zUQ@NQZ3;N(k
+z=}G<i9?t87fyDrQ?!$@5$-^dt{VFZcEK`7-dpHK))QVHmNvnXg##tkOmFbjLy3w);
+zLi&t$Avg^pe@MEVBD$GSJ&O%(R0VF7CFR+)b*NFQ&{m1-m5EdlTcHJjaKBrCPsyt#
+z?lhxT$$?5cyPuyctpD}o<31z==H_T#4APvyTFMfUId|z0g6BNHXY!VX5o9&+;>)kj
+zy-EvI3s#yE&SmNou7&*UrnmOiQ_-c!M98x?rSX}WW}0I7mNW&~u)Vo_w^FUmMKUp>
+z8k)=i)!=z!;!K+sl(Lhz*Vd$PEuCsaMon#-vS>REEy6K+i5a(<$=x(75fa)xG@=%o
+zR1GQOG=s!5g(EG{JieFH*|kCh<dflcw;k5Rz|^QeL)V20*~xQ=nQNl8Co89(e%7`}
+zO|Y*q2%F$1-S^d~3cqGi&sR%?%qO&$UU<%F2zNfrqgkBeeboPHkD9=Mq<A2J4`k2c
+z2#PO9Dvm-x$SAQduVt#{QR-CD`BQQv>7=CEGG~xLSIY@MDuIiAnc`G2Ge{P@B(m6G
+z!ibqfOA9p9!7d%@C@Z6Oj!J3yF%OjokW8F{Y}gut?pbEsRm(4LL??RqN~(!1fsK#O
+zx=08kW?ie)L(K_4s$=P~flB)?<W{NF82DcZG5TtJ3lB(x4deiq>RT~0m>*m4)K<a#
+zkFUE0&$xT=s%xFIDmJ3_jGe}tmd$%|o`x+S?pO5xBkt@`6R-gZq_Ir5RrAMWx3z#M
+zQ9wjFASMn0)k6ZbB3aez!=i{JSpJXQ8wSsO{Rx9`8*Jw`It_?=2ZXtDhS&@UE{Sb+
+z1cYBhc~E=d{G<22g7h+UX?|#?E~|WFa&xtJ?xX4@5tiRN+8;Wkgf>}Eg&^ysOF8lN
+zUHK0Q90oI&{$mRN4;~O7eZ2)RYWiOSNUxax118K@axIASH?!$hWN<QDk2~>TeE-m<
+z9|d2NgO0N~GYHc0yR$}HApgS_*(Si(CRarIKe5r*$mNd^46r(X7=_aLFxEIYsbgvH
+znrzh|J#4IY*379ZTcw$}tG6{QE7PnE4Rz`3%NtHKG_U~aaSk@Sx>k@6ej8+~c|Yc1
+zO&By$u_ANpr;D`5D&%W#Fdl9`BhvdZ5`UZwLv{1Hpy9lA>ut_To&@^KV8eBInUrO5
+zh52}zCbS}L24&AucCm_(e?;?E_ef|R)nd$k+BOlW94v|UU~blRLjQ0ZP-4r2%|3Mn
+z>o)c|#p9v2Mo^cLhvg|xC^b2rL@3y2qYKOs?@M}`_`2q==9(4=kTk_PZBIhX-PBrZ
+zr~4n>by9I>XJ-@K+>o8|G;Pd^cW)?r)m~#|TJhd}QmeX{jlF$FjtCHM4zkU<60>Zs
+z%Hys(I^Fbs!^Li)<*(mdMDF~twQ_bC9DMnUdoO<&F-3^A3(9GW4<SRa*?EWyZ`Gfy
+ztp;_7>BH?t7v#5rXa(*RMsaFXpk@rOtgnql#(8*wa~=>H&U<Q|@mQPKi>=;wN0Q<%
+z=~0Qf+>{j>5oC?u{)Ajpd<^k1GgPzB2_X<j6XAKG=I2Pun==pwKj6K56E|&82n<!N
+z*gZh~dZ~XuK-zADh1K|J_h2NrXDF+Utt5Mn{b>=HLz81#(ra*Wz}OO-za_H(wqrv+
+zz0y`v?a{P}lFJz=@BUy(A)pd~b{ghG$JJ7r@AlNxR+>kt6nYMil7}v99Ja?<@UZ3T
+zeP1&kMRSM{5+R84Gc9j#ct$;ly+^es_n)lXhG>_EcB%`8iYCWLpCv8)3~8MaxHrGc
+zWH36`!Flt6p(JJsBEPqrE&gHZ?iZtxyx?@fgPx*GS)g<DtR!|7O#4C3-<&26BCuWt
+zerw17XD^zR2rv@=1^LIVEv%k??XiUQAMc54pe<X1gXwY}D}AUS!dY+~%?)~iLq63N
+zz8@MkUC4>o(Nf7>mW01|;SB);nF)3s-o4wF7D!)tc}@L$K1~NQ<I#C`<^M5#IaG+p
+zY=)o(ILI##h*E;uL~w`+KjxW?7ajugykzXTJqV*@roI?2`+v(0w+pxF_kxqaQOlgT
+zUd)zQ7Gs!mqn%VJ4?;n<-SZAhOQ(_B8C9<RxBSTSNibfqBO+C}`wi089v4cu?tLqd
+zq=x-=;8Gzjeg3ltkL&d6_{$?4@3*dy2VO}1QiS6ksot_FD0X<*W7a!#r)8YzfwCVl
+zX&BA-$m|MbXd}O8pK7$BDw;B&Mm`94Sw7e&aI^~$<2u$ZA{0)8PI!GLrK_X#D|4>b
+z#Yr2Tunx+&wm$nlh2CtbCg8*b5`pf^Y+pukoQ>UqK#>9GQek~Po6Bh899xq^a4oaN
+z9sDuzXNM=T^ExFYu?oyxI-}8y%D;slDQ*$`e5+$KKq!pF-*Qc6*L_WdXk^K$IEown
+zc`-GIjJQlcjeh%cL}$EWcnajL%v-BuW@70M(BzzY-<$NJlWQg2rNIpwvZO(rx6c;G
+z_UBD)7Cj+GP^Rw?)N_Nikx*qcIPWa%MBy?TL-6TWG;|5d3z|f%7il*;Ac9f={o<JQ
+zl^wF%vccP=_}`iM9tJHGMq+Mknc3=s3xOCnkl<o?M;A__7=hTv)ez>-sOWXfH2ow&
+z+F%t%kw65bbTBi=kaCFWiK~y^%2iyKohma@H`Ql2SmxhqN|;zqx3*C&8_FG(8wPqn
+z80VlP%Gr)DvZLLlMf_OsXDo*4wm909tv4{~9yF8NS%e&sJ#dPsVWzk;(a?)XK|KjU
+zmKml2h#A~>%-bFxM<7`wSX>`I?z8$Ca++fy%HqqV=8QYYD~bl^Hz_tBVxFF`f!?T6
+z!OC4>a={OOkbTFV#ew8k2GrG${kNo(r<D-Tit;v+1#X*VhOyM~G7)_|P3Jyv5sQ5#
+z?65T~=4%^@K1D?6sQN|m>cXXA_NWUqI*@?8f!7jnu3$bUg%u}bhY5Q));;cCAc0gS
+zHeTk{K!dAfJ6}@_zTLUn#qe2z2>ZdYkePg(!A+9v>R>`9$hU~PuED*xe7hANwC~xc
+zzMc7YMmZr7Iy0P~w;nbL>dml8nV{FL;+xs}qjWkGV5~K1I6DPEC&#K9z5E?@9vBT9
+zvo#L&#*9687;Wd0D#-M4&3F8(7sFq)qrj$;8%`og3#@6+hSB^|^UtXtP#SOBvdY^G
+znH{rdVJq%P=QxzF3KPx3etK`XD%|1rVH#OZ35YdYtyAh8`vg5MW<WWkk;SsEjw~)f
+z>d_yI4)jPAmo4j_!3e<(RzCocf`Y+$BAs988hq->eMY}S?z>|#t_c*3a#|wBAi{r!
+z{dW0rO)!J3t~1!Um(@E{ATxo*eW!!k$}$1~;aQ@PPH8`A%_SDxVmA)U!Hw)$KXA7$
+zqdYbaY15D(b-OI$URl0+-TYf+!wm}Fwiu|ApRr6t288`7`y!ZbjuZgH`OF0cwYAez
+zqS<wgQ~5PjMPN1qd)3bZ5wArDbnc+RFC;BsJd7!}|JWV>Ft2_caUMO6L4Xk>1Be-C
+zNHX4bgVd8eU&h^$7@$FnL%%Qp$e+fZ(4dAotr#y7!RrZ>u)-F!F&*jOE8kA5rqU||
+zkg!kLmDxaol3FWgZ=YGJwHYE#cf7j}8z24RotEJKC)?r64}@x}^89m-1nf<nRE9gF
+z84<(gIJR9@J1V-~dt|?%zR{qxLvnIV98j`eTA;GJVNB_Y@tKO`o9{#7JseMXJL>0~
+z*_bz@JP+Ml3hd*HWuOR@sNVh74L-Sw?LaYKwKo+rvy}#|aFc!~jT1o|KFR)cI+)Bn
+z7Gg?S>|0zfR!%gT?WBBV*!!8j6W>|lJse7F&5>m#;ooWbRQhP@izf8nK?3n;AClTI
+z6#M340iQgXluMzeY19}<(0FQ=O$wq@ql-?Y9&<2A-S>4Nw#z1Z-(e<j76&JVo#?Yw
+zh)dmRov$*VhlD6Tzkg;rvVHK3C7HAQV{hy8K7WSiQJ%3H_%qwhr-@f?5#goio+=fN
+zU{XsGGr~dTa#)e7rwzgso$wD;2@lXXH||yuwD}&?-@{=a^kD0$wnE#T{{m<i|Krq=
+zao%A00ohlLP`<Yz?^o_stJZ@W6--fq7>OaL`iCMI&1sAHP4i1wfU%}{TH10ti=qYU
+zDz0-eM;$$6p`VP-jrsMCM}MB&A!(m3WE#f9F_{oZS)?8^0-?^g11w23S(X*2v9^k*
+zKU)$N`g+?WLff<~UDFNP<{vgF`ivNrY!#|!D3|%nvN;axyiKQdEH}n|UAvW!JH2@P
+z6TzqIA6}zL<{b4pMQp)4ffz(REKD*y3@}3^xF7ui{>6upo0Tm&dOIrt&>JXx_VQrn
+z?-nhZdK!u;m!%$urT+S%i$tA>aj?l1`%j#jH%{|kdYyAos^NAM25jH<6TePW$nes=
+z1!HeZ;$v}XEv4u4(RnINU~U}<DXJ9z?(o<cCd#Ts`xxm<Y#vf|sb4vLXez4MX3R3~
+z`Lh=&>A*?<y`}>wwCqU9m|k--nxsx^vf5AeRn$pVh?0Mnuc`C!uLu2;Vg{7)wfw`U
+zX;*Wa;BHUq-TwcZ=lb=LAJ!W;9=uX-aQwln)6svvPf%SQ<1JdhQIPpzpQJ_KDid+%
+z!(xv_|7G`-+M9p4uk#~(Mx)cG<|di_EPs|%wf~Qb+;nQM%q9N4&z7FNB6Z+G+^+MR
+zj)|=QD8BER{dSeRdtd$LH*1N?VC!qI+*y}-;)|d<d&<cw#iye6@8<LL%{>!tvt|0N
+zm5Vlct%>!zH1~C#{PXnRXO%R17-p8ep7o3QUvcWms)tYH$`9TvKIF>&@BVzZ?VI=h
+zpErH+ydwvGOs@R*Hs)&kpXVngrCvTXb;0-d@xj~oPM7_l|L;HY`3dlY6p$IBU;poR
+XXyugpZ1#qMfq}u()z4*}Q$iB}^Bg|U
+
+literal 0
+HcmV?d00001
+
diff --git a/patches/server/0489-Improve-ServerGUI.patch b/patches/server/0489-Improve-ServerGUI.patch
deleted file mode 100644
index 8dde1d1a9b..0000000000
--- a/patches/server/0489-Improve-ServerGUI.patch
+++ /dev/null
@@ -1,431 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: AlexProgrammerDE <[email protected]>
-Date: Sat, 3 Oct 2020 08:27:40 +0200
-Subject: [PATCH] Improve ServerGUI
-
-- Added logo to server frame
-- Show tps in the server stats
-
-diff --git a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
-index f93373d28d741e1f8a53e07b4e328ce9c4e1657f..12b327eea95e0de9e9c39b7d039badee8ec46508 100644
---- a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
-+++ b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java
-@@ -58,9 +58,22 @@ public class RAMDetails extends JList<String> {
- public void update() {
- GraphData data = RAMGraph.DATA.peekLast();
- Vector<String> vector = new Vector<>();
-+
-+ // Follows CraftServer#getTPS
-+ double[] tps = new double[] {
-+ server.tps1.getAverage(),
-+ server.tps5.getAverage(),
-+ server.tps15.getAverage()
-+ };
-+ String[] tpsAvg = new String[tps.length];
-+
-+ for ( int g = 0; g < tps.length; g++) {
-+ tpsAvg[g] = format( tps[g] );
-+ }
- vector.add("Memory use: " + (data.getUsedMem() / 1024L / 1024L) + " mb (" + (data.getFree() * 100L / data.getMax()) + "% free)");
- vector.add("Heap: " + (data.getTotal() / 1024L / 1024L) + " / " + (data.getMax() / 1024L / 1024L) + " mb");
- vector.add("Avg tick: " + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double) TimeUtil.NANOSECONDS_PER_MILLISECOND) + " ms");
-+ vector.add("TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg));
- setListData(vector);
- }
-
-@@ -71,4 +84,8 @@ public class RAMDetails extends JList<String> {
- }
- return ((double) total / (double) tickTimes.length) * 1.0E-6D;
- }
-+
-+ private static String format(double tps) {
-+ return ( ( tps > 21.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
-+ }
- }
-diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
-index 8b570b0c3967a22c085f390110cb29cbd9c8feff..4d3fe4f56e0b264fa030409919caf52d5f421d46 100644
---- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
-+++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java
-@@ -59,6 +59,15 @@ public class MinecraftServerGui extends JComponent {
- jframe.pack();
- jframe.setLocationRelativeTo((Component) null);
- jframe.setVisible(true);
-+ jframe.setName("Minecraft server"); // Paper - Improve ServerGUI
-+
-+ // Paper start - Improve ServerGUI
-+ try {
-+ jframe.setIconImage(javax.imageio.ImageIO.read(Objects.requireNonNull(MinecraftServerGui.class.getClassLoader().getResourceAsStream("logo.png"))));
-+ } catch (java.io.IOException ignore) {
-+ }
-+ // Paper end - Improve ServerGUI
-+
- jframe.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent windowevent) {
- if (!servergui.isClosing.getAndSet(true)) {
-diff --git a/src/main/java/net/minecraft/server/gui/StatsComponent.java b/src/main/java/net/minecraft/server/gui/StatsComponent.java
-index 6e9c6d556ed55325e36d191fc9d1508c00879671..096c89bd01cec2abd151bf6fffc4847d1bcd548f 100644
---- a/src/main/java/net/minecraft/server/gui/StatsComponent.java
-+++ b/src/main/java/net/minecraft/server/gui/StatsComponent.java
-@@ -34,10 +34,19 @@ public class StatsComponent extends JComponent {
-
- private void tick() {
- long l = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
-+ // Paper start - Improve ServerGUI
-+ double[] tps = org.bukkit.Bukkit.getTPS();
-+ String[] tpsAvg = new String[tps.length];
-+
-+ for ( int g = 0; g < tps.length; g++) {
-+ tpsAvg[g] = format( tps[g] );
-+ }
- this.msgs[0] = "Memory use: " + l / 1024L / 1024L + " mb (" + Runtime.getRuntime().freeMemory() * 100L / Runtime.getRuntime().maxMemory() + "% free)";
- this.msgs[1] = "Avg tick: "
- + DECIMAL_FORMAT.format((double)this.server.getAverageTickTimeNanos() / (double)TimeUtil.NANOSECONDS_PER_MILLISECOND)
- + " ms";
-+ this.msgs[2] = "TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg);
-+ // Paper end - Improve ServerGUI
- this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
- this.repaint();
- }
-@@ -66,4 +75,10 @@ public class StatsComponent extends JComponent {
- public void close() {
- this.timer.stop();
- }
-+
-+ // Paper start - Improve ServerGUI
-+ private static String format(double tps) {
-+ return (( tps > 21.0 ) ? "*" : "") + Math.min(Math.round(tps * 100.0) / 100.0, 20.0); // only print * at 21, we commonly peak to 20.02 as the tick sleep is not accurate enough, stop the noise
-+ }
-+ // Paper end - Improve ServerGUI
- }
-diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png
-new file mode 100644
-index 0000000000000000000000000000000000000000..8b924977b7886df9ab8790b1e4ff9b1c04a2af45
-GIT binary patch
-literal 16900
-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
-LFIp>X81%mY^Bg|U
-
-literal 0
-HcmV?d00001
-
diff --git a/patches/server/0490-fix-converting-txt-to-json-file.patch b/patches/server/0489-fix-converting-txt-to-json-file.patch
index 130584b001..7f63558c05 100644
--- a/patches/server/0490-fix-converting-txt-to-json-file.patch
+++ b/patches/server/0489-fix-converting-txt-to-json-file.patch
@@ -48,7 +48,7 @@ index 9a3e73a5c206b78dfcf6f41a47b614342e52acc8..9d05e998d6df1069c2de69478a1f9688
if (!OldUsersConverter.serverReadyAfterUserconversion(this)) {
return false;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 240a0e487ede08d1dd5050812ca4f68db4cd2dd1..82f5451add3652d9f1afba4f809f30ceaa1b2951 100644
+index 061bba184c8bc2569ce1d413435ec1360fa14007..e80e6e402ae286358b7f26073329b2e10604153b 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -179,6 +179,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0491-Add-worldborder-events.patch b/patches/server/0490-Add-worldborder-events.patch
index 014dba4c88..014dba4c88 100644
--- a/patches/server/0491-Add-worldborder-events.patch
+++ b/patches/server/0490-Add-worldborder-events.patch
diff --git a/patches/server/0492-Add-PlayerNameEntityEvent.patch b/patches/server/0491-Add-PlayerNameEntityEvent.patch
index 4215e4291d..4215e4291d 100644
--- a/patches/server/0492-Add-PlayerNameEntityEvent.patch
+++ b/patches/server/0491-Add-PlayerNameEntityEvent.patch
diff --git a/patches/server/0493-Add-recipe-to-cook-events.patch b/patches/server/0492-Add-recipe-to-cook-events.patch
index db11d30abc..db11d30abc 100644
--- a/patches/server/0493-Add-recipe-to-cook-events.patch
+++ b/patches/server/0492-Add-recipe-to-cook-events.patch
diff --git a/patches/server/0494-Add-Block-isValidTool.patch b/patches/server/0493-Add-Block-isValidTool.patch
index e0c42e8e37..e0c42e8e37 100644
--- a/patches/server/0494-Add-Block-isValidTool.patch
+++ b/patches/server/0493-Add-Block-isValidTool.patch
diff --git a/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0494-Allow-using-signs-inside-spawn-protection.patch
index cbb5462bf6..cbb5462bf6 100644
--- a/patches/server/0495-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0494-Allow-using-signs-inside-spawn-protection.patch
diff --git a/patches/server/0496-Expand-world-key-API.patch b/patches/server/0495-Expand-world-key-API.patch
index 903e7ac8ea..f5b8dc10fe 100644
--- a/patches/server/0496-Expand-world-key-API.patch
+++ b/patches/server/0495-Expand-world-key-API.patch
@@ -20,7 +20,7 @@ index 15da29058f80a2d7cf2be26c48421c1746815a10..a070b2a83edaa702b13bc6d302691412
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 45ddb643d544dbcb35954108abb6f5d2454a555d..aeb6568c6a48d3448c5724896898371228313ceb 100644
+index 5ae8f646083fb580ac8d28fcbfe8ed2208b45d09..3cfacacd1d8fd17ec4b54936afd8124823b1a00b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1185,9 +1185,15 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0497-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0496-Add-fast-alternative-constructor-for-Rotations.patch
index e28775fc9a..e28775fc9a 100644
--- a/patches/server/0497-Add-fast-alternative-constructor-for-Rotations.patch
+++ b/patches/server/0496-Add-fast-alternative-constructor-for-Rotations.patch
diff --git a/patches/server/0498-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0497-Drop-carried-item-when-player-has-disconnected.patch
index bebcb8d121..42055a9f10 100644
--- a/patches/server/0498-Drop-carried-item-when-player-has-disconnected.patch
+++ b/patches/server/0497-Drop-carried-item-when-player-has-disconnected.patch
@@ -7,7 +7,7 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro
Closes #5036
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 82f5451add3652d9f1afba4f809f30ceaa1b2951..7a18061834096a73b140bee37b55b3c1724b51ef 100644
+index e80e6e402ae286358b7f26073329b2e10604153b..6ddcc928a49630e3a0f7f40cca496642419efa2c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -537,6 +537,14 @@ public abstract class PlayerList {
diff --git a/patches/server/0499-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0498-forced-whitelist-use-configurable-kick-message.patch
index e3d3ef89a7..9f6ee3c356 100644
--- a/patches/server/0499-forced-whitelist-use-configurable-kick-message.patch
+++ b/patches/server/0498-forced-whitelist-use-configurable-kick-message.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] forced whitelist: use configurable kick message
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index a200aacb1eaa749baa36be8be63b3f1421913b60..67a9bc450f545dd7b05398968a278a14f1e518fe 100644
+index 9e96998a36b63a1723406819eccb7841a96753fb..c2e535834f6b94f52c835a8d89c98220eb13bce9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2325,7 +2325,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0499-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index 6363109547..6363109547 100644
--- a/patches/server/0500-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0499-Don-t-ignore-result-of-PlayerEditBookEvent.patch
diff --git a/patches/server/0501-Expose-protocol-version.patch b/patches/server/0500-Expose-protocol-version.patch
index 61d4fc32be..61d4fc32be 100644
--- a/patches/server/0501-Expose-protocol-version.patch
+++ b/patches/server/0500-Expose-protocol-version.patch
diff --git a/patches/server/0502-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0501-Enhance-console-tab-completions-for-brigadier-comman.patch
index 3d1a0fb945..3d1a0fb945 100644
--- a/patches/server/0502-Enhance-console-tab-completions-for-brigadier-comman.patch
+++ b/patches/server/0501-Enhance-console-tab-completions-for-brigadier-comman.patch
diff --git a/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0502-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
index 62877c839b..ad9efea6d1 100644
--- a/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
+++ b/patches/server/0502-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
@@ -9,7 +9,7 @@ till their item is switched.
This patch clears the active item when the event is cancelled
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index a0b90b18e8f8970e722ebd0e78113f55ff54a55b..6eda6f62e54eefddad51033e7d69c76ffc110a6d 100644
+index 6b5d8328ae9ce819f6ff1b9ba109a67ce8f121e8..123f9a7675c1f194273fff0fdd804cb6ab409201 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4142,6 +4142,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0504-Add-bypass-host-check.patch b/patches/server/0503-Add-bypass-host-check.patch
index 53fea6e14d..53fea6e14d 100644
--- a/patches/server/0504-Add-bypass-host-check.patch
+++ b/patches/server/0503-Add-bypass-host-check.patch
diff --git a/patches/server/0505-Set-area-affect-cloud-rotation.patch b/patches/server/0504-Set-area-affect-cloud-rotation.patch
index 2d17a3c0fc..e87d48589a 100644
--- a/patches/server/0505-Set-area-affect-cloud-rotation.patch
+++ b/patches/server/0504-Set-area-affect-cloud-rotation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Set area affect cloud rotation
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 1c3aacda9242444c0c7bd92cb391e6fff963bb79..42ecef3dbb888ba716b6f63335efca6fb0f27457 100644
+index e0ff8e8ed03a6a78c9fd8e4630c8b95600bee10a..f8ce309c6ec8c294378d2cd9bc542e43338f8376 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -428,7 +428,7 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0506-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0505-add-isDeeplySleeping-to-HumanEntity.patch
index 0bb0024480..0bb0024480 100644
--- a/patches/server/0506-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/server/0505-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/server/0507-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0506-add-consumeFuel-to-FurnaceBurnEvent.patch
index 5b664856f4..5b664856f4 100644
--- a/patches/server/0507-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/server/0506-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0507-add-get-set-drop-chance-to-EntityEquipment.patch
index e794470410..e794470410 100644
--- a/patches/server/0508-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/server/0507-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/server/0509-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0508-fix-PigZombieAngerEvent-cancellation.patch
index 040d076f37..040d076f37 100644
--- a/patches/server/0509-fix-PigZombieAngerEvent-cancellation.patch
+++ b/patches/server/0508-fix-PigZombieAngerEvent-cancellation.patch
diff --git a/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0509-fix-PlayerItemHeldEvent-firing-twice.patch
index 5732fc5af6..5732fc5af6 100644
--- a/patches/server/0510-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0509-fix-PlayerItemHeldEvent-firing-twice.patch
diff --git a/patches/server/0511-Add-PlayerDeepSleepEvent.patch b/patches/server/0510-Add-PlayerDeepSleepEvent.patch
index 2f01c63a54..2f01c63a54 100644
--- a/patches/server/0511-Add-PlayerDeepSleepEvent.patch
+++ b/patches/server/0510-Add-PlayerDeepSleepEvent.patch
diff --git a/patches/server/0512-More-World-API.patch b/patches/server/0511-More-World-API.patch
index dd4317058d..c9ff78a94a 100644
--- a/patches/server/0512-More-World-API.patch
+++ b/patches/server/0511-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index bacc00be9466d5253df668336bb83542b759f9d2..5cbb66ad1eb2e54a4c6eb8ec9ff1c09d13d5e796 100644
+index 5304fb017b6ecda3ff96e1e44be444260fd8d715..75554719891cfeccfde1b6b58bf9861db1268adc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2137,6 +2137,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2125,6 +2125,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value()), CraftLocation.toBukkit(found.getFirst(), this));
}
diff --git a/patches/server/0513-Add-PlayerBedFailEnterEvent.patch b/patches/server/0512-Add-PlayerBedFailEnterEvent.patch
index a592f428c2..a592f428c2 100644
--- a/patches/server/0513-Add-PlayerBedFailEnterEvent.patch
+++ b/patches/server/0512-Add-PlayerBedFailEnterEvent.patch
diff --git a/patches/server/0514-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0513-Implement-methods-to-convert-between-Component-and-B.patch
index c5765e9de7..c5765e9de7 100644
--- a/patches/server/0514-Implement-methods-to-convert-between-Component-and-B.patch
+++ b/patches/server/0513-Implement-methods-to-convert-between-Component-and-B.patch
diff --git a/patches/server/0515-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0514-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
index 8ba5f2f2a0..519b566ff9 100644
--- a/patches/server/0515-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch
+++ b/patches/server/0514-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 3a2a4f6bc1de45c0dc2020357ee308064666f8d5..262aa389b58708ed35ee88569be804c524f6e635 100644
+index 2b91b321f6652e10d6809d57e9f0ac1c5fb150f1..57253e59b6330be6176d3aa42f8f575ad1995bca 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1456,7 +1456,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0516-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0515-Introduce-beacon-activation-deactivation-events.patch
index 336acbe811..336acbe811 100644
--- a/patches/server/0516-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/server/0515-Introduce-beacon-activation-deactivation-events.patch
diff --git a/patches/server/0517-Add-Channel-initialization-listeners.patch b/patches/server/0516-Add-Channel-initialization-listeners.patch
index 334eb230f0..334eb230f0 100644
--- a/patches/server/0517-Add-Channel-initialization-listeners.patch
+++ b/patches/server/0516-Add-Channel-initialization-listeners.patch
diff --git a/patches/server/0518-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0517-Send-empty-commands-if-tab-completion-is-disabled.patch
index 58cea72f9b..58cea72f9b 100644
--- a/patches/server/0518-Send-empty-commands-if-tab-completion-is-disabled.patch
+++ b/patches/server/0517-Send-empty-commands-if-tab-completion-is-disabled.patch
diff --git a/patches/server/0519-Add-more-WanderingTrader-API.patch b/patches/server/0518-Add-more-WanderingTrader-API.patch
index 4221f28015..4221f28015 100644
--- a/patches/server/0519-Add-more-WanderingTrader-API.patch
+++ b/patches/server/0518-Add-more-WanderingTrader-API.patch
diff --git a/patches/server/0520-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0519-Add-EntityBlockStorage-clearEntities.patch
index c37749bd56..c37749bd56 100644
--- a/patches/server/0520-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/server/0519-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/server/0521-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0520-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 9df7276feb..9df7276feb 100644
--- a/patches/server/0521-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/server/0520-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/server/0522-Add-HiddenPotionEffect-API.patch b/patches/server/0521-Add-HiddenPotionEffect-API.patch
index 2d0b0d5b03..2d0b0d5b03 100644
--- a/patches/server/0522-Add-HiddenPotionEffect-API.patch
+++ b/patches/server/0521-Add-HiddenPotionEffect-API.patch
diff --git a/patches/server/0523-Inventory-close.patch b/patches/server/0522-Inventory-close.patch
index 9ca8b717ab..9ca8b717ab 100644
--- a/patches/server/0523-Inventory-close.patch
+++ b/patches/server/0522-Inventory-close.patch
diff --git a/patches/server/0524-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0523-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index ca5b9a4b8a..ca5b9a4b8a 100644
--- a/patches/server/0524-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/server/0523-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/server/0525-Add-basic-Datapack-API.patch b/patches/server/0524-Add-basic-Datapack-API.patch
index 67c27be252..990697b9ea 100644
--- a/patches/server/0525-Add-basic-Datapack-API.patch
+++ b/patches/server/0524-Add-basic-Datapack-API.patch
@@ -176,7 +176,7 @@ index 0000000000000000000000000000000000000000..caa41c525d2b36b5a9f9942380f06c97
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 617eb11d17ef8791a8a8b0fddc19b6a3a8d0af36..10d7186b96038b03de8684c0ad09732a2f82e46f 100644
+index 3cfacacd1d8fd17ec4b54936afd8124823b1a00b..b4af066a21e4893b5ec146d109b5146b6996a0cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -308,6 +308,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0526-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0525-Add-environment-variable-to-disable-server-gui.patch
index 5afe5fb870..5afe5fb870 100644
--- a/patches/server/0526-Add-environment-variable-to-disable-server-gui.patch
+++ b/patches/server/0525-Add-environment-variable-to-disable-server-gui.patch
diff --git a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0526-Expand-PlayerGameModeChangeEvent.patch
index e27b0c6d56..978d3da469 100644
--- a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0526-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 262aa389b58708ed35ee88569be804c524f6e635..a022f0aee638bb12967b5fd20847fe20e6b286f3 100644
+index 57253e59b6330be6176d3aa42f8f575ad1995bca..254d9eede5a9a57280643284175df2e061aa78ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2335,10 +2335,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -147,7 +147,7 @@ index 2bd2f1cdf3467cacee55094d43bd3eccf61b9aa7..c3b4b800c5a34afa03ed7c31e14f26ca
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 14adc60ba3e76ce71bc957d0a41383c3f1413b34..394816148e549414bba31c334a13d50f5134c731 100644
+index 1cc89895a1e03d4b1734a81d89c8bc396bf2b343..2ebfc8744434dd4819f52201ae621268b0e04998 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1669,7 +1669,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0528-ItemStack-repair-check-API.patch b/patches/server/0527-ItemStack-repair-check-API.patch
index fb178f277b..fb178f277b 100644
--- a/patches/server/0528-ItemStack-repair-check-API.patch
+++ b/patches/server/0527-ItemStack-repair-check-API.patch
diff --git a/patches/server/0529-More-Enchantment-API.patch b/patches/server/0528-More-Enchantment-API.patch
index a3bf8f8e7e..a3bf8f8e7e 100644
--- a/patches/server/0529-More-Enchantment-API.patch
+++ b/patches/server/0528-More-Enchantment-API.patch
diff --git a/patches/server/0530-Move-range-check-for-block-placing-up.patch b/patches/server/0529-Move-range-check-for-block-placing-up.patch
index b93574bed6..b93574bed6 100644
--- a/patches/server/0530-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0529-Move-range-check-for-block-placing-up.patch
diff --git a/patches/server/0531-Add-Mob-lookAt-API.patch b/patches/server/0530-Add-Mob-lookAt-API.patch
index 8a8ba9fdcd..8a8ba9fdcd 100644
--- a/patches/server/0531-Add-Mob-lookAt-API.patch
+++ b/patches/server/0530-Add-Mob-lookAt-API.patch
diff --git a/patches/server/0532-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/0531-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
index 85ef521c40..85ef521c40 100644
--- a/patches/server/0532-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
+++ b/patches/server/0531-Correctly-check-if-bucket-dispenses-will-succeed-for.patch
diff --git a/patches/server/0533-Add-Unix-domain-socket-support.patch b/patches/server/0532-Add-Unix-domain-socket-support.patch
index 34dd3ee134..34dd3ee134 100644
--- a/patches/server/0533-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0532-Add-Unix-domain-socket-support.patch
diff --git a/patches/server/0534-Add-EntityInsideBlockEvent.patch b/patches/server/0533-Add-EntityInsideBlockEvent.patch
index 0009e3fbdf..0009e3fbdf 100644
--- a/patches/server/0534-Add-EntityInsideBlockEvent.patch
+++ b/patches/server/0533-Add-EntityInsideBlockEvent.patch
diff --git a/patches/server/0535-Improve-item-default-attribute-API.patch b/patches/server/0534-Improve-item-default-attribute-API.patch
index f5daf28287..f5daf28287 100644
--- a/patches/server/0535-Improve-item-default-attribute-API.patch
+++ b/patches/server/0534-Improve-item-default-attribute-API.patch
diff --git a/patches/server/0536-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0535-Add-cause-to-Weather-ThunderChangeEvents.patch
index 5b9009dbbe..ef52ee655c 100644
--- a/patches/server/0536-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0535-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -5,10 +5,10 @@ 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 cefd68cd2f28e5c14dba99b31d9a88125f169337..f58069f0c9d836cb33f3ea09c562708951a91797 100644
+index d8eeedcc52ae939246caa61a6bacd3b15c8ae239..8e2edab16113128a755349d03d83dd46e8b806cb 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -429,8 +429,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -434,8 +434,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.serverLevelData.setClearWeatherTime(clearDuration);
this.serverLevelData.setRainTime(rainDuration);
this.serverLevelData.setThunderTime(rainDuration);
@@ -19,7 +19,7 @@ index cefd68cd2f28e5c14dba99b31d9a88125f169337..f58069f0c9d836cb33f3ea09c5627089
}
@Override
-@@ -846,8 +846,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -851,8 +851,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.serverLevelData.setThunderTime(j);
this.serverLevelData.setRainTime(k);
this.serverLevelData.setClearWeatherTime(i);
@@ -30,7 +30,7 @@ index cefd68cd2f28e5c14dba99b31d9a88125f169337..f58069f0c9d836cb33f3ea09c5627089
}
this.oThunderLevel = this.thunderLevel;
-@@ -914,14 +914,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -919,14 +919,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@VisibleForTesting
public void resetWeatherCycle() {
// CraftBukkit start
@@ -95,10 +95,10 @@ index 6a3959095e57f76b3a092b32d26ff91cf1c5e068..0fa16ff37f09ecfda104b751e48bf246
if (weather.isCancelled()) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 5cbb66ad1eb2e54a4c6eb8ec9ff1c09d13d5e796..eaba5097bb8e0048c85ee1b3651644ef06efdc7d 100644
+index 75554719891cfeccfde1b6b58bf9861db1268adc..b2455a03d92187b35bb0efeb4b041bbf7936851e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1212,7 +1212,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1200,7 +1200,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@@ -107,7 +107,7 @@ index 5cbb66ad1eb2e54a4c6eb8ec9ff1c09d13d5e796..eaba5097bb8e0048c85ee1b3651644ef
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
}
-@@ -1234,7 +1234,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1222,7 +1222,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
diff --git a/patches/server/0537-More-Lidded-Block-API.patch b/patches/server/0536-More-Lidded-Block-API.patch
index 437434c525..437434c525 100644
--- a/patches/server/0537-More-Lidded-Block-API.patch
+++ b/patches/server/0536-More-Lidded-Block-API.patch
diff --git a/patches/server/0538-Limit-item-frame-cursors-on-maps.patch b/patches/server/0537-Limit-item-frame-cursors-on-maps.patch
index a55a4490c0..a55a4490c0 100644
--- a/patches/server/0538-Limit-item-frame-cursors-on-maps.patch
+++ b/patches/server/0537-Limit-item-frame-cursors-on-maps.patch
diff --git a/patches/server/0539-Add-PlayerKickEvent-causes.patch b/patches/server/0538-Add-PlayerKickEvent-causes.patch
index 1d360b711b..7ed95be99e 100644
--- a/patches/server/0539-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0538-Add-PlayerKickEvent-causes.patch
@@ -495,7 +495,7 @@ index 9e2ad78b12cadbf0e2bda1e12fe844120529c347..6a7d7fad990fc44fdda6849d43dad141
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 394816148e549414bba31c334a13d50f5134c731..c8db7c123d8a7e1063c732780f18fda1f8ae1225 100644
+index 2ebfc8744434dd4819f52201ae621268b0e04998..97046a2ae1ab30f4eefb64558afe312d2b9f55f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -280,7 +280,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0540-Add-PufferFishStateChangeEvent.patch b/patches/server/0539-Add-PufferFishStateChangeEvent.patch
index 0574c7ed8c..0574c7ed8c 100644
--- a/patches/server/0540-Add-PufferFishStateChangeEvent.patch
+++ b/patches/server/0539-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/server/0541-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0540-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
index 646e52a326..646e52a326 100644
--- a/patches/server/0541-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
+++ b/patches/server/0540-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
diff --git a/patches/server/0542-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0541-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
index ee4d412a1c..ee4d412a1c 100644
--- a/patches/server/0542-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
+++ b/patches/server/0541-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
diff --git a/patches/server/0543-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0542-Add-option-to-fix-items-merging-through-walls.patch
index b4e4e39ae1..b4e4e39ae1 100644
--- a/patches/server/0543-Add-option-to-fix-items-merging-through-walls.patch
+++ b/patches/server/0542-Add-option-to-fix-items-merging-through-walls.patch
diff --git a/patches/server/0544-Add-BellRevealRaiderEvent.patch b/patches/server/0543-Add-BellRevealRaiderEvent.patch
index 871aa2a198..871aa2a198 100644
--- a/patches/server/0544-Add-BellRevealRaiderEvent.patch
+++ b/patches/server/0543-Add-BellRevealRaiderEvent.patch
diff --git a/patches/server/0545-Fix-invulnerable-end-crystals.patch b/patches/server/0544-Fix-invulnerable-end-crystals.patch
index 4349e5a8ad..4349e5a8ad 100644
--- a/patches/server/0545-Fix-invulnerable-end-crystals.patch
+++ b/patches/server/0544-Fix-invulnerable-end-crystals.patch
diff --git a/patches/server/0546-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0545-Add-ElderGuardianAppearanceEvent.patch
index e28248ff5d..e28248ff5d 100644
--- a/patches/server/0546-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/server/0545-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/server/0547-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0546-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
index 3d03f4c4d2..3d03f4c4d2 100644
--- a/patches/server/0547-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
+++ b/patches/server/0546-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
diff --git a/patches/server/0548-Line-Of-Sight-Changes.patch b/patches/server/0547-Line-Of-Sight-Changes.patch
index 1efc0eee46..7fa7d25951 100644
--- a/patches/server/0548-Line-Of-Sight-Changes.patch
+++ b/patches/server/0547-Line-Of-Sight-Changes.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Line Of Sight Changes
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 6eda6f62e54eefddad51033e7d69c76ffc110a6d..5415cade10ab36709f722cabc20ea3f1b9c285d9 100644
+index 123f9a7675c1f194273fff0fdd804cb6ab409201..f240a63f39affc048d1c13eb184f4b07c6c52d3e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3906,7 +3906,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0549-add-per-world-spawn-limits.patch b/patches/server/0548-add-per-world-spawn-limits.patch
index a15efc15ab..430c3bbabc 100644
--- a/patches/server/0549-add-per-world-spawn-limits.patch
+++ b/patches/server/0548-add-per-world-spawn-limits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] add per world spawn limits
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index eaba5097bb8e0048c85ee1b3651644ef06efdc7d..336daaaf9a8e1cfbc2682c2932add78db11afad3 100644
+index b2455a03d92187b35bb0efeb4b041bbf7936851e..6596af8332ca6abbcaa68cae60ba994c39767938 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -218,6 +218,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0550-Fix-potions-splash-events.patch b/patches/server/0549-Fix-potions-splash-events.patch
index 7d09edfbeb..68350d52f2 100644
--- a/patches/server/0550-Fix-potions-splash-events.patch
+++ b/patches/server/0549-Fix-potions-splash-events.patch
@@ -143,7 +143,7 @@ index 224e768963d6969f25608065d37ad72d82acda68..d6ac07d9d5ee0430a1d91b7084b378aa
public boolean isLingering() {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a5c9ff3a2f06e7207ae4fcaf69be8bd0c874d4e2..e6b22f24eba945863bb625b40319e6874ff25534 100644
+index 49efae40345fcfca8f80fcc541dcfde1b8a8b07b..24f86724012bb8bcd6d24683a1c78ce66b42ca30 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -884,6 +884,32 @@ public class CraftEventFactory {
diff --git a/patches/server/0551-Add-more-LimitedRegion-API.patch b/patches/server/0550-Add-more-LimitedRegion-API.patch
index f46a2383c8..f46a2383c8 100644
--- a/patches/server/0551-Add-more-LimitedRegion-API.patch
+++ b/patches/server/0550-Add-more-LimitedRegion-API.patch
diff --git a/patches/server/0552-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0551-Fix-PlayerDropItemEvent-using-wrong-item.patch
index c6491e4898..37338dc0ee 100644
--- a/patches/server/0552-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0551-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 a022f0aee638bb12967b5fd20847fe20e6b286f3..7bcb3ef3cb498114428782848e0370ac2497ccdc 100644
+index 254d9eede5a9a57280643284175df2e061aa78ea..09798fc2d2d847f3ec705a2640f25ac08ca69f92 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2747,7 +2747,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0553-Missing-Entity-API.patch b/patches/server/0552-Missing-Entity-API.patch
index 5640dce8db..5640dce8db 100644
--- a/patches/server/0553-Missing-Entity-API.patch
+++ b/patches/server/0552-Missing-Entity-API.patch
diff --git a/patches/server/0554-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0553-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
index 40cc161932..40cc161932 100644
--- a/patches/server/0554-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
+++ b/patches/server/0553-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
diff --git a/patches/server/0555-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0554-Use-getChunkIfLoadedImmediately-in-places.patch
index 99a97d953d..2e754bbb7b 100644
--- a/patches/server/0555-Use-getChunkIfLoadedImmediately-in-places.patch
+++ b/patches/server/0554-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 f58069f0c9d836cb33f3ea09c562708951a91797..91fb83761885752743adb53cc9ed30ddc879263d 100644
+index 8e2edab16113128a755349d03d83dd46e8b806cb..57b82b90ab55922e57ccf79c57296d1d2e34d6a2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -232,7 +232,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
diff --git a/patches/server/0556-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0555-Fix-commands-from-signs-not-firing-command-events.patch
index aa87a425fd..aa87a425fd 100644
--- a/patches/server/0556-Fix-commands-from-signs-not-firing-command-events.patch
+++ b/patches/server/0555-Fix-commands-from-signs-not-firing-command-events.patch
diff --git a/patches/server/0557-Add-PlayerArmSwingEvent.patch b/patches/server/0556-Add-PlayerArmSwingEvent.patch
index 5b14fa047d..5b14fa047d 100644
--- a/patches/server/0557-Add-PlayerArmSwingEvent.patch
+++ b/patches/server/0556-Add-PlayerArmSwingEvent.patch
diff --git a/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0557-Fix-kick-event-leave-message-not-being-sent.patch
index 8334a5dd25..6d4ff398db 100644
--- a/patches/server/0558-Fix-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0557-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 7bcb3ef3cb498114428782848e0370ac2497ccdc..99a634760cd04d5e3182254b1d0b817baf1cf87a 100644
+index 09798fc2d2d847f3ec705a2640f25ac08ca69f92..87652ea4f3950c2161b3405dcfef03bd196f1237 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -318,7 +318,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -101,7 +101,7 @@ index e48c6f37ba0ebe698e28042e9331ab2ec0c39e7c..0229b3e6c27b142ff726de8e2e15104a
this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false);
// Paper end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index e6b92f085291aaf4fa78d96f8379aeef2200592b..2c810cb5d2fcf1a88423cfe4e063dd810ecaaeb0 100644
+index 26ba0cec3a8492d91df894a69cc1fc8076eeda0d..85bd61bd45690c5532f56d8f11b81f7a11f3e284 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -510,6 +510,11 @@ public abstract class PlayerList {
diff --git a/patches/server/0559-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0558-Don-t-apply-cramming-damage-to-players.patch
index a1e4db537b..c3598bbd22 100644
--- a/patches/server/0559-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0558-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 99a634760cd04d5e3182254b1d0b817baf1cf87a..94cc69ed1ccbcfcc8f431762fef641c313b2f634 100644
+index 87652ea4f3950c2161b3405dcfef03bd196f1237..f0655e6c9c0f60b57912a76448706d49ce774dce 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1814,7 +1814,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0560-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0559-Rate-options-and-timings-for-sensors-and-behaviors.patch
index 3473ea4ceb..3473ea4ceb 100644
--- a/patches/server/0560-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0559-Rate-options-and-timings-for-sensors-and-behaviors.patch
diff --git a/patches/server/0561-Add-missing-forceDrop-toggles.patch b/patches/server/0560-Add-missing-forceDrop-toggles.patch
index acc8574a81..acc8574a81 100644
--- a/patches/server/0561-Add-missing-forceDrop-toggles.patch
+++ b/patches/server/0560-Add-missing-forceDrop-toggles.patch
diff --git a/patches/server/0562-Stinger-API.patch b/patches/server/0561-Stinger-API.patch
index 6b8d804d91..6b8d804d91 100644
--- a/patches/server/0562-Stinger-API.patch
+++ b/patches/server/0561-Stinger-API.patch
diff --git a/patches/server/0563-Add-System.out-err-catcher.patch b/patches/server/0562-Add-System.out-err-catcher.patch
index 1904f817de..8b01f8520a 100644
--- a/patches/server/0563-Add-System.out-err-catcher.patch
+++ b/patches/server/0562-Add-System.out-err-catcher.patch
@@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a17b26dadbbbf6e6c84f80f6fe8293d87ca19d0a..ecf7ee1ca39d58f1780580bd24366fc8037df34a 100644
+index b4af066a21e4893b5ec146d109b5146b6996a0cf..45d887f4143444321f563cdd7d084b2b9ccf911e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -310,6 +310,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0563-Prevent-AFK-kick-while-watching-end-credits.patch
index dc3eed68eb..dc3eed68eb 100644
--- a/patches/server/0564-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0563-Prevent-AFK-kick-while-watching-end-credits.patch
diff --git a/patches/server/0565-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0564-Allow-skipping-writing-of-comments-to-server.propert.patch
index 1fce522892..1fce522892 100644
--- a/patches/server/0565-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0564-Allow-skipping-writing-of-comments-to-server.propert.patch
diff --git a/patches/server/0566-Add-PlayerSetSpawnEvent.patch b/patches/server/0565-Add-PlayerSetSpawnEvent.patch
index c3c3d162c0..b7be9c0d9d 100644
--- a/patches/server/0566-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0565-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 94cc69ed1ccbcfcc8f431762fef641c313b2f634..c680b311760601bb539d685bceddba6712d141d4 100644
+index f0655e6c9c0f60b57912a76448706d49ce774dce..fe39d0ab5e99818356d4e1a600af4bdd3eb03b70 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1690,7 +1690,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -187,7 +187,7 @@ index db26b5a0464bd6087eeacaf6dd61eba37365df92..9117c035d5a6ff114b028fad3380ceb1
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c8db7c123d8a7e1063c732780f18fda1f8ae1225..85bbb04aa2f8db860780667994aba90f5b1d4d8a 100644
+index 97046a2ae1ab30f4eefb64558afe312d2b9f55f8..fe05fe8f9c24ad15c083cb63bc6b7e004a974832 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1418,9 +1418,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0567-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0566-Make-hoppers-respect-inventory-max-stack-size.patch
index fc01c5cad4..fc01c5cad4 100644
--- a/patches/server/0567-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0566-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0568-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0567-Optimize-entity-tracker-passenger-checks.patch
index 0b928beb61..0b928beb61 100644
--- a/patches/server/0568-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0567-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0569-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0568-Config-option-for-Piglins-guarding-chests.patch
index 32c61a7ec0..32c61a7ec0 100644
--- a/patches/server/0569-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0568-Config-option-for-Piglins-guarding-chests.patch
diff --git a/patches/server/0570-Add-EntityDamageItemEvent.patch b/patches/server/0569-Add-EntityDamageItemEvent.patch
index e6822b715e..e6822b715e 100644
--- a/patches/server/0570-Add-EntityDamageItemEvent.patch
+++ b/patches/server/0569-Add-EntityDamageItemEvent.patch
diff --git a/patches/server/0571-Optimize-indirect-passenger-iteration.patch b/patches/server/0570-Optimize-indirect-passenger-iteration.patch
index 2db947b001..36c3804273 100644
--- a/patches/server/0571-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0570-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 963c190e4c445131659cc9e2e72b0272324666e2..5ddab7fde91ab1089c9ea35f441a21dfd5df2ef8 100644
+index bac2165553262bc3b26cddd607d83ca15807e9d2..eede4aa2b0ed19b285b9cdfeb177cb5c2e1a13fb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4088,20 +4088,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0572-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0571-Configurable-item-frame-map-cursor-update-interval.patch
index 98f717ebc1..98f717ebc1 100644
--- a/patches/server/0572-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0571-Configurable-item-frame-map-cursor-update-interval.patch
diff --git a/patches/server/0573-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0572-Change-EnderEye-target-without-changing-other-things.patch
index 5612422ea7..5612422ea7 100644
--- a/patches/server/0573-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0572-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0574-Add-BlockBreakBlockEvent.patch b/patches/server/0573-Add-BlockBreakBlockEvent.patch
index fbd3627b5c..fbd3627b5c 100644
--- a/patches/server/0574-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0573-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0575-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/server/0574-Option-to-prevent-data-components-copy-in-smithing-r.patch
index 1c9a4f5da5..1c9a4f5da5 100644
--- a/patches/server/0575-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/server/0574-Option-to-prevent-data-components-copy-in-smithing-r.patch
diff --git a/patches/server/0576-More-CommandBlock-API.patch b/patches/server/0575-More-CommandBlock-API.patch
index 5fa4fa81e1..5fa4fa81e1 100644
--- a/patches/server/0576-More-CommandBlock-API.patch
+++ b/patches/server/0575-More-CommandBlock-API.patch
diff --git a/patches/server/0577-Add-missing-team-sidebar-display-slots.patch b/patches/server/0576-Add-missing-team-sidebar-display-slots.patch
index 1306837f9f..de7d3fc8e5 100644
--- a/patches/server/0577-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0576-Add-missing-team-sidebar-display-slots.patch
@@ -9,7 +9,7 @@ public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations toBukkitSlo
public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations fromBukkitSlot(Lorg/bukkit/scoreboard/DisplaySlot;)Lnet/minecraft/world/scores/DisplaySlot;
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java
-index b5e0023e431f9fb43c93a3f977144b03545322bb..3ecb1dd1a835efd7026af45562cd3394417130aa 100644
+index 12fe2f8d0dcb715545e071023490a32125b9c4a4..fe29c08270854d37a4b111f66ebf261260200f28 100644
--- a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java
@@ -35,6 +35,7 @@ public class FieldRename {
diff --git a/patches/server/0578-Add-back-EntityPortalExitEvent.patch b/patches/server/0577-Add-back-EntityPortalExitEvent.patch
index 9eb82702cb..282d51195e 100644
--- a/patches/server/0578-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0577-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 5ddab7fde91ab1089c9ea35f441a21dfd5df2ef8..3d9bf236eb1535cc2547f1421ee2a09b2c44fc52 100644
+index eede4aa2b0ed19b285b9cdfeb177cb5c2e1a13fb..736569ea22a8b257fca6e4b9326f73ca8fbc803e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3492,6 +3492,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0579-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0578-Add-methods-to-find-targets-for-lightning-strikes.patch
index 70e628d8a9..01813e49c7 100644
--- a/patches/server/0579-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0578-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -7,10 +7,10 @@ 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 91fb83761885752743adb53cc9ed30ddc879263d..3c281cdd24acbc9484c968c07f737d50be2deced 100644
+index 57b82b90ab55922e57ccf79c57296d1d2e34d6a2..50d4bd6223eb92c640a61ee61af862e794fbb519 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -735,6 +735,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -740,6 +740,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
protected BlockPos findLightningTargetAround(BlockPos pos) {
@@ -22,7 +22,7 @@ index 91fb83761885752743adb53cc9ed30ddc879263d..3c281cdd24acbc9484c968c07f737d50
BlockPos blockposition1 = this.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, pos);
Optional<BlockPos> optional = this.findLightningRod(blockposition1);
-@@ -749,6 +754,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -754,6 +759,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (!list.isEmpty()) {
return ((LivingEntity) list.get(this.random.nextInt(list.size()))).blockPosition();
} else {
@@ -31,10 +31,10 @@ index 91fb83761885752743adb53cc9ed30ddc879263d..3c281cdd24acbc9484c968c07f737d50
blockposition1 = blockposition1.above(2);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 336daaaf9a8e1cfbc2682c2932add78db11afad3..bb61295b8ae44eee9d0c7b12152a7d93d191bdfa 100644
+index 6596af8332ca6abbcaa68cae60ba994c39767938..1812dcd6e21d6de834ce6c39b5b69cee31a5fa06 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -687,6 +687,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -675,6 +675,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}
diff --git a/patches/server/0580-Get-entity-default-attributes.patch b/patches/server/0579-Get-entity-default-attributes.patch
index 9c95ca3611..9c95ca3611 100644
--- a/patches/server/0580-Get-entity-default-attributes.patch
+++ b/patches/server/0579-Get-entity-default-attributes.patch
diff --git a/patches/server/0581-Left-handed-API.patch b/patches/server/0580-Left-handed-API.patch
index 50bb0d4ebe..50bb0d4ebe 100644
--- a/patches/server/0581-Left-handed-API.patch
+++ b/patches/server/0580-Left-handed-API.patch
diff --git a/patches/server/0582-Add-more-advancement-API.patch b/patches/server/0581-Add-more-advancement-API.patch
index 1875c743c1..1875c743c1 100644
--- a/patches/server/0582-Add-more-advancement-API.patch
+++ b/patches/server/0581-Add-more-advancement-API.patch
diff --git a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0582-Add-ItemFactory-getSpawnEgg-API.patch
index ec4a572edf..ec4a572edf 100644
--- a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0582-Add-ItemFactory-getSpawnEgg-API.patch
diff --git a/patches/server/0584-Add-critical-damage-API.patch b/patches/server/0583-Add-critical-damage-API.patch
index 3ce4bba7c0..bef96face6 100644
--- a/patches/server/0584-Add-critical-damage-API.patch
+++ b/patches/server/0583-Add-critical-damage-API.patch
@@ -61,7 +61,7 @@ index bc167c21f82ad09952f6cdbf1016523062890f8b..44bcb1117cfa4d66c500011489ae193a
int k = entity.getRemainingFireTicks();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e6b22f24eba945863bb625b40319e6874ff25534..a9ba62a9d605234d993b6e5330889795099af391 100644
+index 24f86724012bb8bcd6d24683a1c78ce66b42ca30..a5285a8952b2d99bfbb928b1bb31d3ddcf8ed57b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1078,7 +1078,7 @@ public class CraftEventFactory {
diff --git a/patches/server/0585-Fix-issues-with-mob-conversion.patch b/patches/server/0584-Fix-issues-with-mob-conversion.patch
index 281a6e42c5..281a6e42c5 100644
--- a/patches/server/0585-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0584-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0586-Add-hasCollision-methods-to-various-places.patch b/patches/server/0585-Add-hasCollision-methods-to-various-places.patch
index 421b0ba92e..421b0ba92e 100644
--- a/patches/server/0586-Add-hasCollision-methods-to-various-places.patch
+++ b/patches/server/0585-Add-hasCollision-methods-to-various-places.patch
diff --git a/patches/server/0587-Goat-ram-API.patch b/patches/server/0586-Goat-ram-API.patch
index 21d6196f4c..21d6196f4c 100644
--- a/patches/server/0587-Goat-ram-API.patch
+++ b/patches/server/0586-Goat-ram-API.patch
diff --git a/patches/server/0588-Add-API-for-resetting-a-single-score.patch b/patches/server/0587-Add-API-for-resetting-a-single-score.patch
index b9dd1c2be3..b9dd1c2be3 100644
--- a/patches/server/0588-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0587-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0588-Add-Raw-Byte-Entity-Serialization.patch
index 6735257894..6735257894 100644
--- a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0588-Add-Raw-Byte-Entity-Serialization.patch
diff --git a/patches/server/0590-Vanilla-command-permission-fixes.patch b/patches/server/0589-Vanilla-command-permission-fixes.patch
index f69e58a368..c1bd75dad5 100644
--- a/patches/server/0590-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0589-Vanilla-command-permission-fixes.patch
@@ -51,7 +51,7 @@ index 7acd7f60327106d55e8f48247650bc0064dd1b58..bee79fab7f8195e14f6bd22d9cd59bfc
}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index 71bc74071e7bbce1d6aa5b0f0fb244c93dae168e..732655bf8dd279167f799e01b1516b4dd5fa7464 100644
+index 9b453830e4b949d67c2a01adc309ddc6ad019be1..35b05f9321ddbbbdf62f4bf726b58cf1205f0cfb 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
@@ -91,7 +91,21 @@ public final class VanillaCommandWrapper extends BukkitCommand {
diff --git a/patches/server/0591-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0590-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 27c3f61502..b51374cebe 100644
--- a/patches/server/0591-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0590-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
@@ -9,10 +9,10 @@ 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 3c281cdd24acbc9484c968c07f737d50be2deced..ecb4dc0642685d67621c82bb24fb0e939c805ce4 100644
+index 50d4bd6223eb92c640a61ee61af862e794fbb519..a870349f1de975e46fe831ff32394d6dd80d388b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1239,9 +1239,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1244,9 +1244,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot Start
for (net.minecraft.world.level.block.entity.BlockEntity tileentity : chunk.getBlockEntities().values()) {
if (tileentity instanceof net.minecraft.world.Container) {
@@ -28,7 +28,7 @@ index 3c281cdd24acbc9484c968c07f737d50be2deced..ecb4dc0642685d67621c82bb24fb0e93
}
// 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 c680b311760601bb539d685bceddba6712d141d4..d2fbbdbb451d6c54d847b4ba125397ad41c4f7b4 100644
+index fe39d0ab5e99818356d4e1a600af4bdd3eb03b70..6f0955d58da2df5ffc4b81fc5c7b7c3846d65f52 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1983,6 +1983,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0592-Fix-GameProfileCache-concurrency.patch b/patches/server/0591-Fix-GameProfileCache-concurrency.patch
index 6cb7e5235f..6cb7e5235f 100644
--- a/patches/server/0592-Fix-GameProfileCache-concurrency.patch
+++ b/patches/server/0591-Fix-GameProfileCache-concurrency.patch
diff --git a/patches/server/0593-Improve-and-expand-AsyncCatcher.patch b/patches/server/0592-Improve-and-expand-AsyncCatcher.patch
index 8d0e995ef7..f2bb9da75a 100644
--- a/patches/server/0593-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0592-Improve-and-expand-AsyncCatcher.patch
@@ -29,7 +29,7 @@ index 70b891bd018029eda8cda4fb9f919e77524dbc5e..a4abcbc69ccd023a936d02d359ba4c08
if (player.isRemoved()) {
LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName());
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 5415cade10ab36709f722cabc20ea3f1b9c285d9..924db96764ef1d0b9596be01f344065f8e1a721e 100644
+index f240a63f39affc048d1c13eb184f4b07c6c52d3e..a06a696fcec124d307eb84c1ee4f20ec928bfaec 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1143,7 +1143,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -166,10 +166,10 @@ index 4eb0b0969325f39a7ae65492cccd482515a50142..5aa74c00a61282830d82359eae2b114e
PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason});
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index bb61295b8ae44eee9d0c7b12152a7d93d191bdfa..38febc623ee84d7eeeb7359c299ad0dbd5086e5b 100644
+index 1812dcd6e21d6de834ce6c39b5b69cee31a5fa06..8fdae6c7d37d2403d95d37fe0dc35f168ce0f256 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1762,6 +1762,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1750,6 +1750,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -177,7 +177,7 @@ index bb61295b8ae44eee9d0c7b12152a7d93d191bdfa..38febc623ee84d7eeeb7359c299ad0db
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1773,6 +1774,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1761,6 +1762,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Location loc, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -185,7 +185,7 @@ index bb61295b8ae44eee9d0c7b12152a7d93d191bdfa..38febc623ee84d7eeeb7359c299ad0db
if (loc == null || sound == null || category == null) return;
double x = loc.getX();
-@@ -1805,6 +1807,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1793,6 +1795,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
@@ -193,7 +193,7 @@ index bb61295b8ae44eee9d0c7b12152a7d93d191bdfa..38febc623ee84d7eeeb7359c299ad0db
if (!(entity instanceof CraftEntity craftEntity) || entity.getWorld() != this || sound == null || category == null) return;
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(CraftSound.bukkitToMinecraftHolder(sound), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
-@@ -1825,6 +1828,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1813,6 +1816,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void playSound(Entity entity, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) {
diff --git a/patches/server/0594-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0593-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 26e9f0584c..4f2526463b 100644
--- a/patches/server/0594-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0593-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -278,7 +278,7 @@ index 606a60fe273974b71ed2bd40be819d848627e777..bf943feca387b77a3154773a59da7190
BlockPos blockposition = NaturalSpawner.getRandomPosWithin(world, chunk);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0c6fbba9d4c27d05c0a7ff0ba1f735abb6d1e6ed..9ee5c98af55e93e304c157d63f6ef4e5ebdc7fc3 100644
+index 45d887f4143444321f563cdd7d084b2b9ccf911e..33d9f3778996eedc83064332a2fbbdc7c6a8ba90 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2334,6 +2334,11 @@ public final class CraftServer implements Server {
@@ -294,10 +294,10 @@ index 0c6fbba9d4c27d05c0a7ff0ba1f735abb6d1e6ed..9ee5c98af55e93e304c157d63f6ef4e5
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 38febc623ee84d7eeeb7359c299ad0dbd5086e5b..d3722ffa822f5716ba46dc620a36ab8b0cd7cafe 100644
+index 8fdae6c7d37d2403d95d37fe0dc35f168ce0f256..a6cb8225338a6450f13116aaec587d97ecbd5197 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1720,9 +1720,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1708,9 +1708,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);
diff --git a/patches/server/0595-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0594-Sanitize-ResourceLocation-error-logging.patch
index 602f0d3b27..602f0d3b27 100644
--- a/patches/server/0595-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0594-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0596-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0595-Manually-inline-methods-in-BlockPosition.patch
index 89987ab3d2..89987ab3d2 100644
--- a/patches/server/0596-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0595-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0597-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0596-Name-craft-scheduler-threads-according-to-the-plugin.patch
index 30f250f235..30f250f235 100644
--- a/patches/server/0597-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0596-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0598-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0597-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index 9efbcafadb..9efbcafadb 100644
--- a/patches/server/0598-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0597-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
diff --git a/patches/server/0599-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0598-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index eff1d0a95f..eff1d0a95f 100644
--- a/patches/server/0599-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0598-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0600-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0599-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
index e01f02928a..e01f02928a 100644
--- a/patches/server/0600-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
+++ b/patches/server/0599-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch
diff --git a/patches/server/0601-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0600-Oprimise-map-impl-for-tracked-players.patch
index 286a4f8c94..286a4f8c94 100644
--- a/patches/server/0601-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0600-Oprimise-map-impl-for-tracked-players.patch
diff --git a/patches/server/0602-Add-missing-InventoryType.patch b/patches/server/0601-Add-missing-InventoryType.patch
index a49bdf073d..a49bdf073d 100644
--- a/patches/server/0602-Add-missing-InventoryType.patch
+++ b/patches/server/0601-Add-missing-InventoryType.patch
diff --git a/patches/server/0603-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0602-Optimise-BlockSoil-nearby-water-lookup.patch
index 4a5d6c5b9d..4a5d6c5b9d 100644
--- a/patches/server/0603-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0602-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0604-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0603-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 87e006c31f..73f23716d8 100644
--- a/patches/server/0604-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0603-Fix-merchant-inventory-not-closing-on-entity-removal.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix merchant inventory not closing on entity removal
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index ecb4dc0642685d67621c82bb24fb0e939c805ce4..3b3024fcf39266cc6ae61fb77dbffb391dc96c92 100644
+index a870349f1de975e46fe831ff32394d6dd80d388b..427a649e403c87aab0158e99e3aca105159a535c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2298,6 +2298,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2303,6 +2303,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot end
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
diff --git a/patches/server/0605-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0604-Check-requirement-before-suggesting-root-nodes.patch
index fce5e326f9..fce5e326f9 100644
--- a/patches/server/0605-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0604-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0606-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0605-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index db870d4240..db870d4240 100644
--- a/patches/server/0606-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0605-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0607-Add-packet-limiter-config.patch b/patches/server/0606-Add-packet-limiter-config.patch
index a6bd6521f4..a6bd6521f4 100644
--- a/patches/server/0607-Add-packet-limiter-config.patch
+++ b/patches/server/0606-Add-packet-limiter-config.patch
diff --git a/patches/server/0608-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0607-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index c313451894..c313451894 100644
--- a/patches/server/0608-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0607-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0609-Ensure-valid-vehicle-status.patch b/patches/server/0608-Ensure-valid-vehicle-status.patch
index c4359b2054..30b9aa81a9 100644
--- a/patches/server/0609-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0608-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 d2fbbdbb451d6c54d847b4ba125397ad41c4f7b4..f72ab5e4e743cb0758ebca28e81f97c143c91b42 100644
+index 6f0955d58da2df5ffc4b81fc5c7b7c3846d65f52..3b5ff5eaed200d07cadf069d5657c9aeab8db90b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -698,7 +698,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0610-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0609-Prevent-softlocked-end-exit-portal-generation.patch
index 4c54f27f94..4c54f27f94 100644
--- a/patches/server/0610-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0609-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0611-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0610-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index 4fac0c1ab3..4fac0c1ab3 100644
--- a/patches/server/0611-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0610-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0612-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0611-Don-t-log-debug-logging-being-disabled.patch
index 8e733b1cea..8e733b1cea 100644
--- a/patches/server/0612-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0611-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0613-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0612-fix-various-menus-with-empty-level-accesses.patch
index efe5d1ddce..efe5d1ddce 100644
--- a/patches/server/0613-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0612-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0614-Preserve-overstacked-loot.patch b/patches/server/0613-Preserve-overstacked-loot.patch
index db50d2fd8a..db50d2fd8a 100644
--- a/patches/server/0614-Preserve-overstacked-loot.patch
+++ b/patches/server/0613-Preserve-overstacked-loot.patch
diff --git a/patches/server/0615-Update-head-rotation-in-missing-places.patch b/patches/server/0614-Update-head-rotation-in-missing-places.patch
index 201c4c942d..65816d8278 100644
--- a/patches/server/0615-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0614-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 9755d8a40a5a5b4863ce057f576f393773cee3e4..2ab2cfddae9f1bb3a1ca3c3bfd0916a14409b205 100644
+index 38147960aed55bb60b427d73739d8ec0b5b8b863..f8c3d239e4a87abd5e893726dcc5ccc07bda637e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1915,6 +1915,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0616-prevent-unintended-light-block-manipulation.patch b/patches/server/0615-prevent-unintended-light-block-manipulation.patch
index b8ca205064..b8ca205064 100644
--- a/patches/server/0616-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0615-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0617-Fix-CraftCriteria-defaults-map.patch b/patches/server/0616-Fix-CraftCriteria-defaults-map.patch
index 3e79bd7fb7..3e79bd7fb7 100644
--- a/patches/server/0617-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0616-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0618-Fix-upstreams-block-state-factories.patch b/patches/server/0617-Fix-upstreams-block-state-factories.patch
index 93376fc4b1..93376fc4b1 100644
--- a/patches/server/0618-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0617-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0619-Configurable-feature-seeds.patch b/patches/server/0618-Configurable-feature-seeds.patch
index b374cbddbf..b374cbddbf 100644
--- a/patches/server/0619-Configurable-feature-seeds.patch
+++ b/patches/server/0618-Configurable-feature-seeds.patch
diff --git a/patches/server/0620-Add-root-admin-user-detection.patch b/patches/server/0619-Add-root-admin-user-detection.patch
index df739cc33c..df739cc33c 100644
--- a/patches/server/0620-Add-root-admin-user-detection.patch
+++ b/patches/server/0619-Add-root-admin-user-detection.patch
diff --git a/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0620-don-t-attempt-to-teleport-dead-entities.patch
index 08f5268772..a7655c738c 100644
--- a/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0620-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 2ab2cfddae9f1bb3a1ca3c3bfd0916a14409b205..d05fd90a000c723e9c3bef0fde1b59aea2367f7f 100644
+index f8c3d239e4a87abd5e893726dcc5ccc07bda637e..f7bd4f1e101330a8ac29cc8059a2f4263c382bfc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -714,7 +714,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0621-Prevent-excessive-velocity-through-repeated-crits.patch
index 51b492f145..7d38deddec 100644
--- a/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0621-Prevent-excessive-velocity-through-repeated-crits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent excessive velocity through repeated crits
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 924db96764ef1d0b9596be01f344065f8e1a721e..f06fe310e8dd950fa68ed3b7a7ba5e43a23b9316 100644
+index a06a696fcec124d307eb84c1ee4f20ec928bfaec..f714569ebc0e6c43d4d879b2d7bb407b0eed77f6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2864,17 +2864,29 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0623-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0622-Remove-client-side-code-using-deprecated-for-removal.patch
index 1a9d2657f1..1a9d2657f1 100644
--- a/patches/server/0623-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0622-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0624-Fix-Spigot-growth-modifiers.patch b/patches/server/0623-Fix-Spigot-growth-modifiers.patch
index 6a24adf1c8..6a24adf1c8 100644
--- a/patches/server/0624-Fix-Spigot-growth-modifiers.patch
+++ b/patches/server/0623-Fix-Spigot-growth-modifiers.patch
diff --git a/patches/server/0625-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0624-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index b017de75d1..b017de75d1 100644
--- a/patches/server/0625-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0624-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0626-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0625-Add-PlayerItemFrameChangeEvent.patch
index b7e908ab6e..b7e908ab6e 100644
--- a/patches/server/0626-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0625-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0627-Optimize-HashMapPalette.patch b/patches/server/0626-Optimize-HashMapPalette.patch
index a490eb0c20..a490eb0c20 100644
--- a/patches/server/0627-Optimize-HashMapPalette.patch
+++ b/patches/server/0626-Optimize-HashMapPalette.patch
diff --git a/patches/server/0628-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0627-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index 50968cdc50..50968cdc50 100644
--- a/patches/server/0628-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0627-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0629-Add-more-Campfire-API.patch b/patches/server/0628-Add-more-Campfire-API.patch
index c490c151c3..c490c151c3 100644
--- a/patches/server/0629-Add-more-Campfire-API.patch
+++ b/patches/server/0628-Add-more-Campfire-API.patch
diff --git a/patches/server/0630-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0629-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index 80c053acc6..80c053acc6 100644
--- a/patches/server/0630-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/0629-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0630-Forward-CraftEntity-in-teleport-command.patch
index d7c7c656a0..4a6aa85265 100644
--- a/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0630-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 d05fd90a000c723e9c3bef0fde1b59aea2367f7f..0eda06b3919e0cc4ddaec4b644c17011a01ccdeb 100644
+index f7bd4f1e101330a8ac29cc8059a2f4263c382bfc..568e968af99cc97de5c32b432f8c1be9790b0bcd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3481,6 +3481,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0632-Improve-scoreboard-entries.patch b/patches/server/0631-Improve-scoreboard-entries.patch
index 8acac86ce3..8acac86ce3 100644
--- a/patches/server/0632-Improve-scoreboard-entries.patch
+++ b/patches/server/0631-Improve-scoreboard-entries.patch
diff --git a/patches/server/0633-Entity-powdered-snow-API.patch b/patches/server/0632-Entity-powdered-snow-API.patch
index acfaef73e3..acfaef73e3 100644
--- a/patches/server/0633-Entity-powdered-snow-API.patch
+++ b/patches/server/0632-Entity-powdered-snow-API.patch
diff --git a/patches/server/0634-Add-API-for-item-entity-health.patch b/patches/server/0633-Add-API-for-item-entity-health.patch
index cd2757b544..cd2757b544 100644
--- a/patches/server/0634-Add-API-for-item-entity-health.patch
+++ b/patches/server/0633-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0635-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0634-Configurable-max-block-light-for-monster-spawning.patch
index 8c19486a5f..8c19486a5f 100644
--- a/patches/server/0635-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0634-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0636-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0635-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index b239d74e25..b239d74e25 100644
--- a/patches/server/0636-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0635-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0637-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0636-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index cfaa295706..cfaa295706 100644
--- a/patches/server/0637-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0636-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0638-Bucketable-API.patch b/patches/server/0637-Bucketable-API.patch
index 274ccde059..274ccde059 100644
--- a/patches/server/0638-Bucketable-API.patch
+++ b/patches/server/0637-Bucketable-API.patch
diff --git a/patches/server/0639-Validate-usernames.patch b/patches/server/0638-Validate-usernames.patch
index 1845ec8d60..e8287bc641 100644
--- a/patches/server/0639-Validate-usernames.patch
+++ b/patches/server/0638-Validate-usernames.patch
@@ -32,7 +32,7 @@ index 1e4b288f20153ce0c91fabf164c5c8320c90ba7d..cb5dd77892283a1aaec45434fb99bb7f
GameProfile gameprofile = this.server.getSingleplayerProfile();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index a62858d3cd83358f2356c15fc102b99c41969a74..bb301d1ce9c1792ead2681c9f3d38bb2079b0112 100644
+index 05d2f3c26d10169f6cf43bcb6c48db5d27b5cbac..3a0e0196f5bfa554b23fff9ff1a18a189b36452e 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -627,7 +627,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0640-Make-water-animal-spawn-height-configurable.patch b/patches/server/0639-Make-water-animal-spawn-height-configurable.patch
index 341b55b1f6..341b55b1f6 100644
--- a/patches/server/0640-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0639-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0641-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0640-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 85ea766b6a..64fb16f6c5 100644
--- a/patches/server/0641-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0640-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -18,10 +18,10 @@ index 8e0bc6559aad75a713e1760ea17e5004686d7e7a..0db44e8205d795cbeca1d6411aca0da5
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 3b3024fcf39266cc6ae61fb77dbffb391dc96c92..2d77e9526917a83987ae0486a669538d5417b781 100644
+index 427a649e403c87aab0158e99e3aca105159a535c..4d53089f3fc6c76b8767efcae44522d710d406a7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -357,7 +357,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -362,7 +362,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.serverLevelData.setWorld(this);
if (biomeProvider != null) {
@@ -31,7 +31,7 @@ index 3b3024fcf39266cc6ae61fb77dbffb391dc96c92..2d77e9526917a83987ae0486a669538d
chunkgenerator = new NoiseBasedChunkGenerator(worldChunkManager, cga.settings);
} else if (chunkgenerator instanceof FlatLevelSource cpf) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9ee5c98af55e93e304c157d63f6ef4e5ebdc7fc3..0939d4f1297296efdcc083b2a2b0aa987141d42f 100644
+index 33d9f3778996eedc83064332a2fbbdc7c6a8ba90..62ab88e022230d25ffb359981ce7da4e64a9be5a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1310,7 +1310,7 @@ public final class CraftServer implements Server {
@@ -44,7 +44,7 @@ index 9ee5c98af55e93e304c157d63f6ef4e5ebdc7fc3..0939d4f1297296efdcc083b2a2b0aa98
biomeProvider = generator.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d3722ffa822f5716ba46dc620a36ab8b0cd7cafe..f544aa7ce6ab98581c4dacf2a79b05ce80131729 100644
+index a6cb8225338a6450f13116aaec587d97ecbd5197..83771925dc7009d56fc3c8283d75880c7e61296a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -208,6 +208,39 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0642-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0641-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 156eacada9..156eacada9 100644
--- a/patches/server/0642-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0641-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0643-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0642-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
index be0eedab93..be0eedab93 100644
--- a/patches/server/0643-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
+++ b/patches/server/0642-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
diff --git a/patches/server/0644-Multiple-Entries-with-Scoreboards.patch b/patches/server/0643-Multiple-Entries-with-Scoreboards.patch
index 558cc93da5..558cc93da5 100644
--- a/patches/server/0644-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0643-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0645-Reset-placed-block-on-exception.patch b/patches/server/0644-Reset-placed-block-on-exception.patch
index 327d98e291..327d98e291 100644
--- a/patches/server/0645-Reset-placed-block-on-exception.patch
+++ b/patches/server/0644-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0646-Add-configurable-height-for-slime-spawn.patch b/patches/server/0645-Add-configurable-height-for-slime-spawn.patch
index dfc8ecb349..dfc8ecb349 100644
--- a/patches/server/0646-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0645-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0647-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0646-Fix-xp-reward-for-baby-zombies.patch
index 3ec320760f..3ec320760f 100644
--- a/patches/server/0647-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0646-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0648-Multi-Block-Change-API-Implementation.patch b/patches/server/0647-Multi-Block-Change-API-Implementation.patch
index 7544786e22..bfefeea7fa 100644
--- a/patches/server/0648-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0647-Multi-Block-Change-API-Implementation.patch
@@ -24,7 +24,7 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213
buf.writeLong(this.sectionPos.asLong());
buf.writeVarInt(this.positions.length);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 85bbb04aa2f8db860780667994aba90f5b1d4d8a..ef10695d2c1c3041e5f84bdb6001c08004af9d6b 100644
+index fe05fe8f9c24ad15c083cb63bc6b7e004a974832..728a65ad7a826596530b12594db15c93f1af68fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -935,6 +935,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0649-Fix-NotePlayEvent.patch b/patches/server/0648-Fix-NotePlayEvent.patch
index cdffcd6f0f..cdffcd6f0f 100644
--- a/patches/server/0649-Fix-NotePlayEvent.patch
+++ b/patches/server/0648-Fix-NotePlayEvent.patch
diff --git a/patches/server/0650-Freeze-Tick-Lock-API.patch b/patches/server/0649-Freeze-Tick-Lock-API.patch
index 937e4ae987..1ac6ab0e8e 100644
--- a/patches/server/0650-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0649-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 0eda06b3919e0cc4ddaec4b644c17011a01ccdeb..a390e1791b4fb3eae5555fc9b760588e410be900 100644
+index 568e968af99cc97de5c32b432f8c1be9790b0bcd..775243c5a2c44300c00f4f674f40d6793f5a797d 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
@@ -46,7 +46,7 @@ index 0eda06b3919e0cc4ddaec4b644c17011a01ccdeb..a390e1791b4fb3eae5555fc9b760588e
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f06fe310e8dd950fa68ed3b7a7ba5e43a23b9316..36277d10822a4fd19b6159a90a455c237b5b177f 100644
+index f714569ebc0e6c43d4d879b2d7bb407b0eed77f6..03285728ca3df70c487cd67e973812f3968218e2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3610,7 +3610,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -59,7 +59,7 @@ index f06fe310e8dd950fa68ed3b7a7ba5e43a23b9316..36277d10822a4fd19b6159a90a455c23
if (this.isInPowderSnow && this.canFreeze()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 9693656418210957000add9b6670c4bee67f8462..4e6afa243d6108cb946a8a7cf96c4036a3c2ac0c 100644
+index 442b5f13e976dd63bf1dccc12eb8c3f16314c581..10fb64df10820974d11f142c102a11a5bd0f317c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -324,6 +324,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0651-More-PotionEffectType-API.patch b/patches/server/0650-More-PotionEffectType-API.patch
index 2773c98338..2773c98338 100644
--- a/patches/server/0651-More-PotionEffectType-API.patch
+++ b/patches/server/0650-More-PotionEffectType-API.patch
diff --git a/patches/server/0652-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0651-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 027285c2b1..027285c2b1 100644
--- a/patches/server/0652-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0651-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0652-API-for-creating-command-sender-which-forwards-feedb.patch
index 981105e5be..f86274766d 100644
--- a/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0652-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 23b2233f7435f03902e640152cc6fe1501fb3820..c89aee30e4a4f4eec48e23b04e0558e17d95587c 100644
+index 62ab88e022230d25ffb359981ce7da4e64a9be5a..3b01907bc119853e0676e912e9a29b05d9aa5763 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2165,6 +2165,13 @@ public final class CraftServer implements Server {
@@ -153,7 +153,7 @@ index 7f22950ae61436e91a59cd29a345809c42bbe739..1e3091687735b461d3b6a313ab876112
protected ServerCommandSender() {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index 732655bf8dd279167f799e01b1516b4dd5fa7464..4d4a1ac9d75908bbd105a1e5756d2c0932b2d238 100644
+index 35b05f9321ddbbbdf62f4bf726b58cf1205f0cfb..ce8683eff5b8ade57a2fcb77027cfe4b26986bc7 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
@@ -86,6 +86,11 @@ public final class VanillaCommandWrapper extends BukkitCommand {
diff --git a/patches/server/0654-Add-missing-structure-set-seed-configs.patch b/patches/server/0653-Add-missing-structure-set-seed-configs.patch
index 8677197bdc..8677197bdc 100644
--- a/patches/server/0654-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0653-Add-missing-structure-set-seed-configs.patch
diff --git a/patches/server/0655-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0654-Fix-cancelled-powdered-snow-bucket-placement.patch
index d1a867e605..d1a867e605 100644
--- a/patches/server/0655-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0654-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0656-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0655-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index 3f4362495a..d5922672e4 100644
--- a/patches/server/0656-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0655-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9de7978c7383f8364feba82e9cd3efbfcce00e3c..c1bdefbad35fd259e3d90c6e330da14c9d072090 100644
+index 3b01907bc119853e0676e912e9a29b05d9aa5763..188e3066d6659b5e45cec0b50dcbd5d20659830a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2342,6 +2342,8 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0657-Add-GameEvent-tags.patch b/patches/server/0656-Add-GameEvent-tags.patch
index 43a634ea32..bb674d2f17 100644
--- a/patches/server/0657-Add-GameEvent-tags.patch
+++ b/patches/server/0656-Add-GameEvent-tags.patch
@@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..874c420e60b6be09c806d64f40cf6366
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index f2041ade0818b0624da2487e19490d076107a8be..57802b168b7bc8502d800cc4ed3e47290cfe11e6 100644
+index 188e3066d6659b5e45cec0b50dcbd5d20659830a..72f8d3a89396f9289f5b451b24cc181e7ac3222e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2709,6 +2709,15 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0658-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0657-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index 37019b7021..37019b7021 100644
--- a/patches/server/0658-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0657-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0659-Furnace-RecipesUsed-API.patch b/patches/server/0658-Furnace-RecipesUsed-API.patch
index 5b19cd68c0..5b19cd68c0 100644
--- a/patches/server/0659-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0658-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0660-Configurable-sculk-sensor-listener-range.patch b/patches/server/0659-Configurable-sculk-sensor-listener-range.patch
index 3dd1324354..3dd1324354 100644
--- a/patches/server/0660-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0659-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0661-Add-missing-block-data-API.patch b/patches/server/0660-Add-missing-block-data-API.patch
index ace8c632a6..ace8c632a6 100644
--- a/patches/server/0661-Add-missing-block-data-API.patch
+++ b/patches/server/0660-Add-missing-block-data-API.patch
diff --git a/patches/server/0662-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0661-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index e7084b7b3d..e7084b7b3d 100644
--- a/patches/server/0662-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0661-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0663-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0662-Put-world-into-worldlist-before-initing-the-world.patch
index 33e02c7284..56e3b2d29b 100644
--- a/patches/server/0663-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0662-Put-world-into-worldlist-before-initing-the-world.patch
@@ -23,7 +23,7 @@ index df93afc35403db15aa8e09b7e36ca0bb630041eb..4cbb5fdcb8734d3944963b911bb75992
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 59690263f1cb27f2289b027ffd31c1e1ac4f2e69..fcd8b3ce258bdb12a87d41d348ac847d5dc603f8 100644
+index 72f8d3a89396f9289f5b451b24cc181e7ac3222e..75bd9617164c63a641602bf772a5e0f15a322c7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1336,10 +1336,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0664-Custom-Potion-Mixes.patch b/patches/server/0663-Custom-Potion-Mixes.patch
index efbd12d0f6..94e9dddaeb 100644
--- a/patches/server/0664-Custom-Potion-Mixes.patch
+++ b/patches/server/0663-Custom-Potion-Mixes.patch
@@ -282,7 +282,7 @@ index e167c2834f1b7899a7d11cef782940deeb739a9c..2bafacd7bc56186d9105d2031180f8c4
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 83065cabdfe5277d2aaaa7f58ec13ff4bd387cad..5c13b2be698087dfac417864fe48eced28db460d 100644
+index 75bd9617164c63a641602bf772a5e0f15a322c7e..82e1c4713e043c4903b1f0154609da4558f90aef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -311,6 +311,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0665-Force-close-world-loading-screen.patch b/patches/server/0664-Force-close-world-loading-screen.patch
index 376fbf1282..820a46bebe 100644
--- a/patches/server/0665-Force-close-world-loading-screen.patch
+++ b/patches/server/0664-Force-close-world-loading-screen.patch
@@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to
be loaded to close the loading screen, so we just send an empty one.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index bb301d1ce9c1792ead2681c9f3d38bb2079b0112..11f86e1b119d20f668e67b83f09137dcb24d4bf1 100644
+index 3a0e0196f5bfa554b23fff9ff1a18a189b36452e..c8bb797a322220647d5839cc5d20b3ac7c01b8ba 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -406,6 +406,16 @@ public abstract class PlayerList {
diff --git a/patches/server/0666-Fix-falling-block-spawn-methods.patch b/patches/server/0665-Fix-falling-block-spawn-methods.patch
index 4efd06371b..577c742f03 100644
--- a/patches/server/0666-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0665-Fix-falling-block-spawn-methods.patch
@@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server
public net.minecraft.world.entity.item.FallingBlockEntity <init>(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f544aa7ce6ab98581c4dacf2a79b05ce80131729..f67fee006578719262e2e32b38e023acff63fd7d 100644
+index 83771925dc7009d56fc3c8283d75880c7e61296a..9b7304ea9a4f226872d13e64722adb267f727806 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1397,7 +1397,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1385,7 +1385,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(material != null, "Material cannot be null");
Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material);
@@ -28,7 +28,7 @@ index f544aa7ce6ab98581c4dacf2a79b05ce80131729..f67fee006578719262e2e32b38e023ac
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1406,7 +1411,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1394,7 +1399,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(location != null, "Location cannot be null");
Preconditions.checkArgument(data != null, "BlockData cannot be null");
diff --git a/patches/server/0667-Expose-furnace-minecart-push-values.patch b/patches/server/0666-Expose-furnace-minecart-push-values.patch
index fb48aabb5f..fb48aabb5f 100644
--- a/patches/server/0667-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0666-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0668-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0667-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index 7a72849b26..7a72849b26 100644
--- a/patches/server/0668-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0667-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
diff --git a/patches/server/0669-More-Projectile-API.patch b/patches/server/0668-More-Projectile-API.patch
index afff65d722..c03e65b770 100644
--- a/patches/server/0669-More-Projectile-API.patch
+++ b/patches/server/0668-More-Projectile-API.patch
@@ -328,7 +328,7 @@ index 199d5836dc787cca54c6b653a4e67573f2f758a2..15d50a284cafc2eb59239ca009268365
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index b79e72a77178f755957ef391b6444a357bdefbd0..39ea25d2145acaa7c7b458800adc674a3e73e7c1 100644
+index 0bafd3b1a55154c8e9eb37c96df9f5985640a675..0b9c4f9b61651660e821735f18b4f3cc7cfd164c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -442,7 +442,7 @@ public final class CraftEntityTypes {
@@ -768,7 +768,7 @@ index e374b9f40eddca13b30855d25a2030f8df98138f..4fc893378fb0568ddcffc7593d66df6b
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a9ba62a9d605234d993b6e5330889795099af391..e0418c0c36aa99ea43dbf39fa176ddf8855e0568 100644
+index a5285a8952b2d99bfbb928b1bb31d3ddcf8ed57b..ca094e393de32b64db59c9fe906433761d70d29b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -841,19 +841,19 @@ public class CraftEventFactory {
diff --git a/patches/server/0670-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0669-Fix-swamp-hut-cat-generation-deadlock.patch
index 24bfbc0dc7..24bfbc0dc7 100644
--- a/patches/server/0670-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0669-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0671-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0670-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index cb7a4055d9..cb7a4055d9 100644
--- a/patches/server/0671-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0670-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0672-Implement-getComputedBiome-API.patch b/patches/server/0671-Implement-getComputedBiome-API.patch
index dab55a6218..dab55a6218 100644
--- a/patches/server/0672-Implement-getComputedBiome-API.patch
+++ b/patches/server/0671-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0673-Make-some-itemstacks-nonnull.patch b/patches/server/0672-Make-some-itemstacks-nonnull.patch
index 20944d9088..20944d9088 100644
--- a/patches/server/0673-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0672-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0674-Implement-enchantWithLevels-API.patch b/patches/server/0673-Implement-enchantWithLevels-API.patch
index 45f1f704ca..45f1f704ca 100644
--- a/patches/server/0674-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0673-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0675-Fix-saving-in-unloadWorld.patch b/patches/server/0674-Fix-saving-in-unloadWorld.patch
index a715afca0e..540896076f 100644
--- a/patches/server/0675-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0674-Fix-saving-in-unloadWorld.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3b48a8107bf0b4326b86ee08bb54341825be81c1..a504a6458423a997e703e95356dd2058d6c164e2 100644
+index 82e1c4713e043c4903b1f0154609da4558f90aef..430b35c35c7aa17d590031515063f2d24eeffe5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1385,7 +1385,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0676-Buffer-OOB-setBlock-calls.patch b/patches/server/0675-Buffer-OOB-setBlock-calls.patch
index 1b7ba291c4..1b7ba291c4 100644
--- a/patches/server/0676-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0675-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0677-Add-TameableDeathMessageEvent.patch b/patches/server/0676-Add-TameableDeathMessageEvent.patch
index 641b0b0e37..641b0b0e37 100644
--- a/patches/server/0677-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0676-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0678-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0677-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index fce021dda2..941734df6f 100644
--- a/patches/server/0678-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0677-Fix-new-block-data-for-EntityChangeBlockEvent.patch
@@ -196,7 +196,7 @@ index 674d710ff88db5eced9e017284d1b7ec7a4fe7cd..72320c6099a4b26235bab68570e7b7ef
}
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e0418c0c36aa99ea43dbf39fa176ddf8855e0568..f54a4c263eeb4df40c72c20c3c480ce74718a718 100644
+index ca094e393de32b64db59c9fe906433761d70d29b..fcc9fe8f5f57e9f6c28d762aa6585942e2b2698b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1378,11 +1378,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0679-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0678-fix-player-loottables-running-when-mob-loot-gamerule.patch
index 7a7f077e66..96f920f7d1 100644
--- a/patches/server/0679-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0678-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 f72ab5e4e743cb0758ebca28e81f97c143c91b42..d723adaa7b1df4a1d5067298536b303992ac2c52 100644
+index 3b5ff5eaed200d07cadf069d5657c9aeab8db90b..cf674caab9e67a27f90ead557634949710c19ca3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1218,12 +1218,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0679-Ensure-entity-passenger-world-matches-ridden-entity.patch
index 60380e62f3..9e576da81a 100644
--- a/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0679-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 a390e1791b4fb3eae5555fc9b760588e410be900..612abe47627f0e7c69aa8bfaeee1de4fda528a57 100644
+index 775243c5a2c44300c00f4f674f40d6793f5a797d..4f9071362d556f6f7fd5948dab99e2d260ec60fd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2803,7 +2803,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch b/patches/server/0680-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
index 7356aca21a..7356aca21a 100644
--- a/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
+++ b/patches/server/0680-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
diff --git a/patches/server/0682-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0681-Allow-changing-the-EnderDragon-podium.patch
index 5cbce2b4ec..5cbce2b4ec 100644
--- a/patches/server/0682-Allow-changing-the-EnderDragon-podium.patch
+++ b/patches/server/0681-Allow-changing-the-EnderDragon-podium.patch
diff --git a/patches/server/0683-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0682-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index f885dbe8b4..f885dbe8b4 100644
--- a/patches/server/0683-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0682-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0684-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0683-Prevent-tile-entity-copies-loading-chunks.patch
index d690eb7288..d690eb7288 100644
--- a/patches/server/0684-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0683-Prevent-tile-entity-copies-loading-chunks.patch
diff --git a/patches/server/0685-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0684-Use-username-instead-of-display-name-in-PlayerList-g.patch
index 3cb43bf449..5407679d61 100644
--- a/patches/server/0685-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0684-Use-username-instead-of-display-name-in-PlayerList-g.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 11f86e1b119d20f668e67b83f09137dcb24d4bf1..6409463c9834a660f2a2e2b6bbfac8b3beb80db7 100644
+index c8bb797a322220647d5839cc5d20b3ac7c01b8ba..1456945e8d6e82c59bf09150bfe24bd1ae14a8c3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1352,7 +1352,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0686-Expand-PlayerItemDamageEvent.patch b/patches/server/0685-Expand-PlayerItemDamageEvent.patch
index 9659c38659..9659c38659 100644
--- a/patches/server/0686-Expand-PlayerItemDamageEvent.patch
+++ b/patches/server/0685-Expand-PlayerItemDamageEvent.patch
diff --git a/patches/server/0687-WorldCreator-keepSpawnLoaded.patch b/patches/server/0686-WorldCreator-keepSpawnLoaded.patch
index 6712b0e0a3..ab38fc7006 100644
--- a/patches/server/0687-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0686-WorldCreator-keepSpawnLoaded.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a504a6458423a997e703e95356dd2058d6c164e2..6ba912570ea66c3b0747beb4c168e351904cc31e 100644
+index 430b35c35c7aa17d590031515063f2d24eeffe5c..4b894223387bf4029bbfa15d9605247935d7f829 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1328,7 +1328,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0688-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0687-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index ed8adb4503..ed8adb4503 100644
--- a/patches/server/0688-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0687-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0689-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0688-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index 3ecc56a332..3ecc56a332 100644
--- a/patches/server/0689-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0688-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0690-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0689-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index d50c55e4e3..d50c55e4e3 100644
--- a/patches/server/0690-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0689-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0691-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0690-Fire-CauldronLevelChange-on-initial-fill.patch
index 86520e0647..86520e0647 100644
--- a/patches/server/0691-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0690-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0692-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0691-fix-powder-snow-cauldrons-not-turning-to-water.patch
index 201c323a35..201c323a35 100644
--- a/patches/server/0692-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0691-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0693-Add-PlayerStopUsingItemEvent.patch b/patches/server/0692-Add-PlayerStopUsingItemEvent.patch
index b6d477aded..4471991148 100644
--- a/patches/server/0693-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0692-Add-PlayerStopUsingItemEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 36277d10822a4fd19b6159a90a455c237b5b177f..aef73b8ebc6b7784dea32a70e972fa9adb7d303e 100644
+index 03285728ca3df70c487cd67e973812f3968218e2..d86f10107e5f580fe96ff6a3cd186ca16d24f3f9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4203,6 +4203,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0694-Don-t-tick-markers.patch b/patches/server/0693-Don-t-tick-markers.patch
index 137b6302b6..81c5c7ea5c 100644
--- a/patches/server/0694-Don-t-tick-markers.patch
+++ b/patches/server/0693-Don-t-tick-markers.patch
@@ -23,10 +23,10 @@ index 9d9d133e0d973ecda1ef1efc872a51ee10463fd1..f671b74e4179fc29bc600b52e456ba9f
}
});
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 2d77e9526917a83987ae0486a669538d5417b781..f4b1b5f1903015b3c4650186466c8183560c9de0 100644
+index 4d53089f3fc6c76b8767efcae44522d710d406a7..3e0563ae33a3ed8379939f92e72e9b9e0ea8ae3a 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2219,6 +2219,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2224,6 +2224,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
public void onTickingStart(Entity entity) {
diff --git a/patches/server/0695-Expand-FallingBlock-API.patch b/patches/server/0694-Expand-FallingBlock-API.patch
index 7992fef972..7992fef972 100644
--- a/patches/server/0695-Expand-FallingBlock-API.patch
+++ b/patches/server/0694-Expand-FallingBlock-API.patch
diff --git a/patches/server/0696-Add-support-for-Proxy-Protocol.patch b/patches/server/0695-Add-support-for-Proxy-Protocol.patch
index 2b325eb5db..6387bf34f6 100644
--- a/patches/server/0696-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0695-Add-support-for-Proxy-Protocol.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add support for Proxy Protocol
diff --git a/build.gradle.kts b/build.gradle.kts
-index fd687af4923208272b01fc03fe9b65867e49dd6e..c8f3c53a84451cc19c958c1468cf1520f9d3347a 100644
+index d253682a020cc5cb41c9fdae48adf5c85258be62..9b514a9aa1d386481a1ee5077178564cd569117c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -41,6 +41,7 @@ dependencies {
diff --git a/patches/server/0697-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0696-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 4726c2f65c..4726c2f65c 100644
--- a/patches/server/0697-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0696-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0698-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0697-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index 7158b83635..7158b83635 100644
--- a/patches/server/0698-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0697-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0699-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0698-Sanitize-sent-BlockEntity-NBT.patch
index 60a49fa4ef..60a49fa4ef 100644
--- a/patches/server/0699-Sanitize-sent-BlockEntity-NBT.patch
+++ b/patches/server/0698-Sanitize-sent-BlockEntity-NBT.patch
diff --git a/patches/server/0700-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0699-Disable-component-selector-resolving-in-books-by-def.patch
index 7231198032..7231198032 100644
--- a/patches/server/0700-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0699-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0700-Prevent-entity-loading-causing-async-lookups.patch
index 077b25253a..a355a7c5d0 100644
--- a/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0700-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 612abe47627f0e7c69aa8bfaeee1de4fda528a57..828535741f9e39693fe9055ae1f5af2258668ae3 100644
+index 4f9071362d556f6f7fd5948dab99e2d260ec60fd..8062809659eab4f3667e297fc085093d4eb64154 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -725,6 +725,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0702-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0701-Throw-exception-on-world-create-while-being-ticked.patch
index 61105fee38..5e7fab746b 100644
--- a/patches/server/0702-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0701-Throw-exception-on-world-create-while-being-ticked.patch
@@ -45,7 +45,7 @@ index 57c52a30d284332361f28d6138d3c5f1fc6d52bd..25e2baf2109b27887e4b3631d948907d
gameprofilerfiller.popPush("connection");
this.tickConnection();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6ba912570ea66c3b0747beb4c168e351904cc31e..2d16e96c7c329cde6369f1d5b739f60f1776bb4b 100644
+index 4b894223387bf4029bbfa15d9605247935d7f829..557eb1a75a3115c3215315deae56a42d665693df 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -919,6 +919,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0703-Dont-resent-entity-on-art-update.patch b/patches/server/0702-Dont-resent-entity-on-art-update.patch
index 38d1a4ca58..38d1a4ca58 100644
--- a/patches/server/0703-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0702-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0704-Add-WardenAngerChangeEvent.patch b/patches/server/0703-Add-WardenAngerChangeEvent.patch
index ca2817ab51..ca2817ab51 100644
--- a/patches/server/0704-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0703-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0705-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0704-Add-option-for-strict-advancement-dimension-checks.patch
index ca19dca53f..3b8d2aa02f 100644
--- a/patches/server/0705-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0704-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 d723adaa7b1df4a1d5067298536b303992ac2c52..312225a15261f2e80fbf6133c75c567574ade181 100644
+index cf674caab9e67a27f90ead557634949710c19ca3..c98e07e1a507d5ffd3b16fa4bf3cdcc3b704e67d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1655,6 +1655,12 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0706-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0705-Add-missing-important-BlockStateListPopulator-method.patch
index e0b94dc4ac..e0b94dc4ac 100644
--- a/patches/server/0706-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0705-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0707-Nameable-Banner-API.patch b/patches/server/0706-Nameable-Banner-API.patch
index aab360dbed..aab360dbed 100644
--- a/patches/server/0707-Nameable-Banner-API.patch
+++ b/patches/server/0706-Nameable-Banner-API.patch
diff --git a/patches/server/0708-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0707-Don-t-broadcast-messages-to-command-blocks.patch
index 428c5de1aa..e27e3d40a7 100644
--- a/patches/server/0708-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0707-Don-t-broadcast-messages-to-command-blocks.patch
@@ -20,7 +20,7 @@ index a0e59b236dff1f861a0e987764a77ee203504412..5cb39f95bd2d45b6c18554605f01d2eb
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2d16e96c7c329cde6369f1d5b739f60f1776bb4b..3deb58f3cd2e29b51944ac81cb3e0e52ec496242 100644
+index 557eb1a75a3115c3215315deae56a42d665693df..e890f87c66e95e7d4f130c4c659c6662b4f4bd94 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1928,7 +1928,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0709-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0708-Prevent-empty-items-from-being-added-to-world.patch
index 4b6241c770..4f718f2374 100644
--- a/patches/server/0709-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0708-Prevent-empty-items-from-being-added-to-world.patch
@@ -7,10 +7,10 @@ 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 f4b1b5f1903015b3c4650186466c8183560c9de0..f3f93e8cbc2a5c9d0a3841ec7de010477bfd976a 100644
+index 3e0563ae33a3ed8379939f92e72e9b9e0ea8ae3a..d090b46a6c6d7e99ec07623adc3fc77a9918b1da 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1200,6 +1200,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1205,6 +1205,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
} else {
diff --git a/patches/server/0710-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0709-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index c2e21a749e..c2e21a749e 100644
--- a/patches/server/0710-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0709-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0711-Add-Player-getFishHook.patch b/patches/server/0710-Add-Player-getFishHook.patch
index b2f8e7f0eb..b2f8e7f0eb 100644
--- a/patches/server/0711-Add-Player-getFishHook.patch
+++ b/patches/server/0710-Add-Player-getFishHook.patch
diff --git a/patches/server/0712-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0711-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 32aaf6dc6e..32aaf6dc6e 100644
--- a/patches/server/0712-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0711-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0712-Add-various-missing-EntityDropItemEvent-calls.patch
index 965a338282..3175db1ada 100644
--- a/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0712-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 828535741f9e39693fe9055ae1f5af2258668ae3..7d4817cf9d2783f7be5882748323391a8cae5673 100644
+index 8062809659eab4f3667e297fc085093d4eb64154..1f40097a3cc2290516edc519313d139ea4ccd3cd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2673,6 +2673,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0714-Fix-Bee-flower-NPE.patch b/patches/server/0713-Fix-Bee-flower-NPE.patch
index d84bd3a355..d84bd3a355 100644
--- a/patches/server/0714-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0713-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0715-More-Teleport-API.patch b/patches/server/0714-More-Teleport-API.patch
index 59ddaae25c..a8459c765a 100644
--- a/patches/server/0715-More-Teleport-API.patch
+++ b/patches/server/0714-More-Teleport-API.patch
@@ -113,7 +113,7 @@ index 10fb64df10820974d11f142c102a11a5bd0f317c..8d2f6bb43fb69a4a1e2085960eb24f43
private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ef10695d2c1c3041e5f84bdb6001c08004af9d6b..c87aed470ce2964815cb39f804e95f6c03553aba 100644
+index 728a65ad7a826596530b12594db15c93f1af68fb..87aa5f0d594ff697b87bc06019351d22b6c8c8e5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1291,13 +1291,94 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0716-Add-EntityPortalReadyEvent.patch b/patches/server/0715-Add-EntityPortalReadyEvent.patch
index 46f19b8cc8..46f19b8cc8 100644
--- a/patches/server/0716-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0715-Add-EntityPortalReadyEvent.patch
diff --git a/patches/server/0717-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0716-Don-t-use-level-random-in-entity-constructors.patch
index 83efb1446f..83efb1446f 100644
--- a/patches/server/0717-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0716-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0718-Send-block-entities-after-destroy-prediction.patch b/patches/server/0717-Send-block-entities-after-destroy-prediction.patch
index 33f40a7bcc..33f40a7bcc 100644
--- a/patches/server/0718-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0717-Send-block-entities-after-destroy-prediction.patch
diff --git a/patches/server/0719-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0718-Warn-on-plugins-accessing-faraway-chunks.patch
index 4a9129bd6b..504e0b4859 100644
--- a/patches/server/0719-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0718-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -18,7 +18,7 @@ index 9afc0eaaca5ab7b6445d90ce53e31a6ae76f8848..f0c2187a92de633a1d4cc7e71ff62cbe
private static boolean isOutsideSpawnableHeight(int y) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353b69204a7 100644
+index 9b7304ea9a4f226872d13e64722adb267f727806..431bd698e28b7731bf781e29de6c6a3fd936c71c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -301,9 +301,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -43,10 +43,10 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
@Override
public Chunk getChunkAt(int x, int z) {
+ warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
- // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it
- net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
- if (chunk == null) {
-@@ -411,6 +426,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+ net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
+ return new CraftChunk(chunk);
+ }
+@@ -399,6 +414,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!unloadChunk0(x, z, false)) {
return false;
}
@@ -54,7 +54,7 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
final long chunkKey = ChunkCoordIntPair.pair(x, z);
world.getChunkProvider().unloadQueue.remove(chunkKey);
-@@ -484,6 +500,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -472,6 +488,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
@@ -62,7 +62,7 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
// If generate = false, but the chunk already exists, we will get this back.
-@@ -516,6 +533,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -504,6 +521,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -616,6 +634,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -604,6 +622,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -950,6 +969,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -938,6 +957,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@@ -86,11 +86,20 @@ index f67fee006578719262e2e32b38e023acff63fd7d..df0f83941215a098014936f22e1ba353
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2350,6 +2370,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- // Spigot end
+@@ -2339,6 +2359,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper start
- public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
+ @Override
+ public void getChunkAtAsync(int x, int z, boolean gen, boolean urgent, @NotNull Consumer<? super Chunk> cb) {
+ warnUnsafeChunk("getting a faraway chunk async", x, z); // Paper
- if (Bukkit.isPrimaryThread()) {
- net.minecraft.world.level.chunk.LevelChunk immediate = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
- if (immediate != null) {
+ ca.spottedleaf.moonrise.common.util.ChunkSystem.scheduleChunkLoad(
+ this.getHandle(), x, z, gen, ChunkStatus.FULL, true,
+ urgent ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL,
+@@ -2351,6 +2372,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+
+ @Override
+ public void getChunksAtAsync(int minX, int minZ, int maxX, int maxZ, boolean urgent, Runnable cb) {
++ warnUnsafeChunk("getting a faraway chunk async", minX, minZ); // Paper
++ warnUnsafeChunk("getting a faraway chunk async", maxX, maxZ); // Paper
+ this.getHandle().loadChunks(
+ minX, minZ, maxX, maxZ,
+ urgent ? ca.spottedleaf.concurrentutil.util.Priority.HIGHER : ca.spottedleaf.concurrentutil.util.Priority.NORMAL,
diff --git a/patches/server/0720-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch
index 87e2228947..11a0ecf025 100644
--- a/patches/server/0720-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0719-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c87aed470ce2964815cb39f804e95f6c03553aba..ddf28d7fbecc70f4cba5f71d7d1d5908b4ad3c3a 100644
+index 87aa5f0d594ff697b87bc06019351d22b6c8c8e5..51b6b8d54b139bc89e0343c7c1ec5acedcf6f8a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -696,6 +696,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0721-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0720-Add-and-fix-missing-BlockFadeEvents.patch
index 1ac5d1e5ab..1ac5d1e5ab 100644
--- a/patches/server/0721-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0720-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0722-Collision-API.patch b/patches/server/0721-Collision-API.patch
index 6798d0e429..6798d0e429 100644
--- a/patches/server/0722-Collision-API.patch
+++ b/patches/server/0721-Collision-API.patch
diff --git a/patches/server/0723-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0722-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index 34f5fa3e3d..34f5fa3e3d 100644
--- a/patches/server/0723-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0722-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0724-Block-Ticking-API.patch b/patches/server/0723-Block-Ticking-API.patch
index c2a5c23d6c..c2a5c23d6c 100644
--- a/patches/server/0724-Block-Ticking-API.patch
+++ b/patches/server/0723-Block-Ticking-API.patch
diff --git a/patches/server/0725-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0724-Add-Velocity-IP-Forwarding-Support.patch
index d5eb9544e5..a276b2c88d 100644
--- a/patches/server/0725-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0724-Add-Velocity-IP-Forwarding-Support.patch
@@ -228,7 +228,7 @@ index cb5dd77892283a1aaec45434fb99bb7f08ee5394..4a89b73d972f366e70f4d2bd96c6ee41
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3deb58f3cd2e29b51944ac81cb3e0e52ec496242..b84dc11212aba4c06375cdbefa91c09d86a2b957 100644
+index e890f87c66e95e7d4f130c4c659c6662b4f4bd94..927846bf3281771de0274216abe927e524df3493 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -848,7 +848,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0726-Add-NamespacedKey-biome-methods.patch b/patches/server/0725-Add-NamespacedKey-biome-methods.patch
index 1734d3c119..1734d3c119 100644
--- a/patches/server/0726-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0725-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/server/0727-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0726-Fix-plugin-loggers-on-server-shutdown.patch
index 7f6f83f992..1b6830b082 100644
--- a/patches/server/0727-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0726-Fix-plugin-loggers-on-server-shutdown.patch
@@ -49,7 +49,7 @@ index 25e2baf2109b27887e4b3631d948907d9d8d65a2..3fc8e626bc66f3cf32d165099ed7a6e4
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
-index 124aeebbbae7dc8cea1260bf3134a339c2e152ed..a7524d3853d5b67b6385d2b74832b9267503dfe6 100644
+index 29838b7c28409776e124641878def8d6d87630f5..be0d38544395a9b3befb898bb961f34e32fe9509 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -19,6 +19,12 @@ public class Main {
diff --git a/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0727-Stop-large-look-changes-from-crashing-the-server.patch
index cbf9f9f9f8..add808bade 100644
--- a/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0727-Stop-large-look-changes-from-crashing-the-server.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Stop large look changes from crashing the server
Co-authored-by: Jaren Knodel <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index aef73b8ebc6b7784dea32a70e972fa9adb7d303e..5986af338ffadbfae32783178dfe0b145c875b73 100644
+index d86f10107e5f580fe96ff6a3cd186ca16d24f3f9..18c56cef30fca0174703e775b3bbbf6df4272585 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3271,37 +3271,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0729-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0728-Fire-EntityChangeBlockEvent-in-more-places.patch
index 1d46619357..1d46619357 100644
--- a/patches/server/0729-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0728-Fire-EntityChangeBlockEvent-in-more-places.patch
diff --git a/patches/server/0730-Missing-eating-regain-reason.patch b/patches/server/0729-Missing-eating-regain-reason.patch
index 38626b6352..38626b6352 100644
--- a/patches/server/0730-Missing-eating-regain-reason.patch
+++ b/patches/server/0729-Missing-eating-regain-reason.patch
diff --git a/patches/server/0731-Missing-effect-cause.patch b/patches/server/0730-Missing-effect-cause.patch
index 6157121022..6157121022 100644
--- a/patches/server/0731-Missing-effect-cause.patch
+++ b/patches/server/0730-Missing-effect-cause.patch
diff --git a/patches/server/0732-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0731-Added-byte-array-serialization-deserialization-for-P.patch
index f2a4d437f0..f2a4d437f0 100644
--- a/patches/server/0732-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0731-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0733-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0732-Call-BlockPhysicsEvent-more-often.patch
index ad24091f87..ad24091f87 100644
--- a/patches/server/0733-Call-BlockPhysicsEvent-more-often.patch
+++ b/patches/server/0732-Call-BlockPhysicsEvent-more-often.patch
diff --git a/patches/server/0734-Configurable-chat-thread-limit.patch b/patches/server/0733-Configurable-chat-thread-limit.patch
index a02e95e2bf..a02e95e2bf 100644
--- a/patches/server/0734-Configurable-chat-thread-limit.patch
+++ b/patches/server/0733-Configurable-chat-thread-limit.patch
diff --git a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0734-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index 3ce15af172..3ce15af172 100644
--- a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0734-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0736-fix-Jigsaw-block-kicking-user.patch b/patches/server/0735-fix-Jigsaw-block-kicking-user.patch
index 749d498f57..749d498f57 100644
--- a/patches/server/0736-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0735-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0737-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0736-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 3159c4b594..3159c4b594 100644
--- a/patches/server/0737-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0736-use-BlockFormEvent-for-mud-converting-into-clay.patch
diff --git a/patches/server/0738-Add-getDrops-to-BlockState.patch b/patches/server/0737-Add-getDrops-to-BlockState.patch
index ea12f69bde..ea12f69bde 100644
--- a/patches/server/0738-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0737-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0739-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0738-Fix-a-bunch-of-vanilla-bugs.patch
index 14341b31e4..c8defc9dce 100644
--- a/patches/server/0739-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0738-Fix-a-bunch-of-vanilla-bugs.patch
@@ -89,10 +89,10 @@ 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 f3f93e8cbc2a5c9d0a3841ec7de010477bfd976a..d01f42aad003c7b0ea5700d32109eed4a264fa4c 100644
+index d090b46a6c6d7e99ec07623adc3fc77a9918b1da..88e3408244f57e9138d7ca7f9b2b90d4f8b66f7e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -748,7 +748,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -753,7 +753,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
} else {
AABB axisalignedbb = AABB.encapsulatingFullBlocks(blockposition1, blockposition1.atY(this.getMaxY() + 1)).inflate(3.0D);
List<LivingEntity> list = this.getEntitiesOfClass(LivingEntity.class, axisalignedbb, (entityliving) -> {
@@ -128,7 +128,7 @@ index 51ee01dfe5e144cb881c9376e586b95790a9ab98..f5e05a34afee8f5750b3a7871083968c
MutableComponent ichatmutablecomponent1 = Component.translatable("build.tooHigh", i).withStyle(ChatFormatting.RED);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 6409463c9834a660f2a2e2b6bbfac8b3beb80db7..9b01ef9e9b00274f1213c006a4cad0f75e412e13 100644
+index 1456945e8d6e82c59bf09150bfe24bd1ae14a8c3..4b8636c2107e6a16c26f259e0dbdbc40a1268e06 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -260,7 +260,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0740-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0739-Remove-unnecessary-onTrackingStart-during-navigation.patch
index ad0baf535f..1997aae5c2 100644
--- a/patches/server/0740-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0739-Remove-unnecessary-onTrackingStart-during-navigation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove unnecessary onTrackingStart during navigation warning
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index d01f42aad003c7b0ea5700d32109eed4a264fa4c..45e61a08152517a61260e662764d8bb0335537e3 100644
+index 88e3408244f57e9138d7ca7f9b2b90d4f8b66f7e..6db3418d839c0f4cd75ad822e605dc2105c3df53 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2237,7 +2237,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2242,7 +2242,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
if (entity instanceof Mob entityinsentient) {
@@ -17,7 +17,7 @@ index d01f42aad003c7b0ea5700d32109eed4a264fa4c..45e61a08152517a61260e662764d8bb0
String s = "onTrackingStart called during navigation iteration";
Util.logAndPauseIfInIde("onTrackingStart called during navigation iteration", new IllegalStateException("onTrackingStart called during navigation iteration"));
-@@ -2317,7 +2317,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2322,7 +2322,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
if (entity instanceof Mob entityinsentient) {
diff --git a/patches/server/0741-Fix-custom-piglin-loved-items.patch b/patches/server/0740-Fix-custom-piglin-loved-items.patch
index 358bd47f1e..358bd47f1e 100644
--- a/patches/server/0741-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0740-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0742-EntityPickupItemEvent-fixes.patch b/patches/server/0741-EntityPickupItemEvent-fixes.patch
index 839a01673d..839a01673d 100644
--- a/patches/server/0742-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0741-EntityPickupItemEvent-fixes.patch
diff --git a/patches/server/0743-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0742-Correctly-handle-interactions-with-items-on-cooldown.patch
index a86affadb8..d902a451c9 100644
--- a/patches/server/0743-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0742-Correctly-handle-interactions-with-items-on-cooldown.patch
@@ -30,7 +30,7 @@ index a706f0855fdf88cc9aece3ba00ef574b9cd8bd11..2aee9c2fbe38076317a3de7c3fdbd698
this.interactResult = event.useItemInHand() == Event.Result.DENY;
this.interactPosition = blockposition.immutable();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index f54a4c263eeb4df40c72c20c3c480ce74718a718..ea0241de1a7ef64059cddcb43c41f56b91901897 100644
+index fcc9fe8f5f57e9f6c28d762aa6585942e2b2698b..48d39015da2c91a27367d44e72b7dacddb41d6d6 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -555,6 +555,12 @@ public class CraftEventFactory {
diff --git a/patches/server/0744-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0743-Add-PlayerInventorySlotChangeEvent.patch
index cca34b90d0..ba048c97a2 100644
--- a/patches/server/0744-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0743-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 312225a15261f2e80fbf6133c75c567574ade181..04e3c75c9abfaccb6d2d59d234e5169258b77553 100644
+index c98e07e1a507d5ffd3b16fa4bf3cdcc3b704e67d..0929f399f0525d8cc886dc32392aa2d3096431b5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -381,6 +381,25 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0745-Elder-Guardian-appearance-API.patch b/patches/server/0744-Elder-Guardian-appearance-API.patch
index 2e672a8d57..64bfcb26e8 100644
--- a/patches/server/0745-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0744-Elder-Guardian-appearance-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ddf28d7fbecc70f4cba5f71d7d1d5908b4ad3c3a..9ebaa374c0a8ceff328f0686fe09b562f5e57008 100644
+index 51b6b8d54b139bc89e0343c7c1ec5acedcf6f8a2..1fb27bf5da9bb281d1ff6e863912dfac2588611f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3308,6 +3308,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0746-Add-entity-knockback-API.patch b/patches/server/0745-Add-entity-knockback-API.patch
index 71f4427274..71f4427274 100644
--- a/patches/server/0746-Add-entity-knockback-API.patch
+++ b/patches/server/0745-Add-entity-knockback-API.patch
diff --git a/patches/server/0747-Detect-headless-JREs.patch b/patches/server/0746-Detect-headless-JREs.patch
index e680b6146f..e680b6146f 100644
--- a/patches/server/0747-Detect-headless-JREs.patch
+++ b/patches/server/0746-Detect-headless-JREs.patch
diff --git a/patches/server/0748-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0747-fix-entity-vehicle-collision-event-not-called.patch
index 9b38b32086..5511a3cdd1 100644
--- a/patches/server/0748-fix-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0747-fix-entity-vehicle-collision-event-not-called.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix entity vehicle collision event not called
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
-index ee7350e19a86ffa115e4bce6b186a2422951e89b..d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d 100644
+index 7e7a78ebbf128f7d29cf9eb349f25230c9c7d5d0..f88c1becd08e7b10f228624160b85f89a379fbeb 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -157,7 +157,15 @@ public abstract class AbstractMinecart extends VehicleEntity {
diff --git a/patches/server/0749-Add-EntityToggleSitEvent.patch b/patches/server/0748-Add-EntityToggleSitEvent.patch
index 7bab6af93d..7bab6af93d 100644
--- a/patches/server/0749-Add-EntityToggleSitEvent.patch
+++ b/patches/server/0748-Add-EntityToggleSitEvent.patch
diff --git a/patches/server/0750-Add-fire-tick-delay-option.patch b/patches/server/0749-Add-fire-tick-delay-option.patch
index 7db107dee9..7db107dee9 100644
--- a/patches/server/0750-Add-fire-tick-delay-option.patch
+++ b/patches/server/0749-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0751-Add-Moving-Piston-API.patch b/patches/server/0750-Add-Moving-Piston-API.patch
index e3d3955822..e3d3955822 100644
--- a/patches/server/0751-Add-Moving-Piston-API.patch
+++ b/patches/server/0750-Add-Moving-Piston-API.patch
diff --git a/patches/server/0752-Ignore-impossible-spawn-tick.patch b/patches/server/0751-Ignore-impossible-spawn-tick.patch
index ee2750f36d..ee2750f36d 100644
--- a/patches/server/0752-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0751-Ignore-impossible-spawn-tick.patch
diff --git a/patches/server/0753-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch b/patches/server/0752-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
index 2fe35c8b32..2fe35c8b32 100644
--- a/patches/server/0753-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
+++ b/patches/server/0752-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch
diff --git a/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0753-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index 4ff7d42404..c12c95ac99 100644
--- a/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0753-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 7d4817cf9d2783f7be5882748323391a8cae5673..9b5af1041410be058afde31d2630d8dcb3b25179 100644
+index 1f40097a3cc2290516edc519313d139ea4ccd3cd..44d2c476981bc2c24f89009dcf628ece28fc8e32 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3321,6 +3321,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0755-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0754-Add-PrePlayerAttackEntityEvent.patch
index 5a925374e5..5a925374e5 100644
--- a/patches/server/0755-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0754-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/server/0756-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0755-ensure-reset-EnderDragon-boss-event-name.patch
index 4c5db1221b..4c5db1221b 100644
--- a/patches/server/0756-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0755-ensure-reset-EnderDragon-boss-event-name.patch
diff --git a/patches/server/0757-Add-Player-Warden-Warning-API.patch b/patches/server/0756-Add-Player-Warden-Warning-API.patch
index 101d6fe52b..ee15f1630c 100644
--- a/patches/server/0757-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0756-Add-Player-Warden-Warning-API.patch
@@ -10,7 +10,7 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9ebaa374c0a8ceff328f0686fe09b562f5e57008..b4de1600c9e5f5bf00cd4699993bd4a29a37e6cf 100644
+index 1fb27bf5da9bb281d1ff6e863912dfac2588611f..95f0e7e1248ded53ec5de684ec0cfb6343598f51 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3313,6 +3313,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0758-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0757-More-vanilla-friendly-methods-to-update-trades.patch
index b3901a0ae7..b3901a0ae7 100644
--- a/patches/server/0758-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0757-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0759-Add-paper-dumplisteners-command.patch b/patches/server/0758-Add-paper-dumplisteners-command.patch
index aabb60033d..aabb60033d 100644
--- a/patches/server/0759-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0758-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0760-check-global-player-list-where-appropriate.patch b/patches/server/0759-check-global-player-list-where-appropriate.patch
index a4e7a411b2..c8b1741440 100644
--- a/patches/server/0760-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0759-check-global-player-list-where-appropriate.patch
@@ -7,10 +7,10 @@ Makes certain entities check all players when searching for a player
instead of just checking players in their world.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 45e61a08152517a61260e662764d8bb0335537e3..b81d814619e4175f42aee397811b07cae420c2e8 100644
+index 6db3418d839c0f4cd75ad822e605dc2105c3df53..77c1ddc6fd14e0b033825909e5c814abd2306f8d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2353,4 +2353,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2358,4 +2358,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.updateDynamicGameEventListener(DynamicGameEventListener::move);
}
}
@@ -24,7 +24,7 @@ index 45e61a08152517a61260e662764d8bb0335537e3..b81d814619e4175f42aee397811b07ca
+ // Paper end - check global player list where appropriate
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 5986af338ffadbfae32783178dfe0b145c875b73..d121b28c8a79b6f5b690c53ae4fef7cd304afdaa 100644
+index 18c56cef30fca0174703e775b3bbbf6df4272585..d239108bd98fe885eba50a17855f2d62de02c70e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3866,7 +3866,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0761-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0760-Fix-async-entity-add-due-to-fungus-trees.patch
index 009feeb37a..009feeb37a 100644
--- a/patches/server/0761-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0760-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0762-ItemStack-damage-API.patch b/patches/server/0761-ItemStack-damage-API.patch
index 55e7f06af1..55e7f06af1 100644
--- a/patches/server/0762-ItemStack-damage-API.patch
+++ b/patches/server/0761-ItemStack-damage-API.patch
diff --git a/patches/server/0763-Friction-API.patch b/patches/server/0762-Friction-API.patch
index e31a2d2226..d0219e68b9 100644
--- a/patches/server/0763-Friction-API.patch
+++ b/patches/server/0762-Friction-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Friction API
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index d121b28c8a79b6f5b690c53ae4fef7cd304afdaa..29c3db84b55e82e25d60c99c87f3472b30fc9239 100644
+index d239108bd98fe885eba50a17855f2d62de02c70e..cd2d6b55b494830797014dbc3cc1f0fbf6518249 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0764-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0763-Ability-to-control-player-s-insomnia-and-phantoms.patch
index 0b482955d5..0b482955d5 100644
--- a/patches/server/0764-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0763-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0765-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0764-Fix-premature-player-kicks-on-shutdown.patch
index 5a0d9d65c0..640595a34d 100644
--- a/patches/server/0765-Fix-premature-player-kicks-on-shutdown.patch
+++ b/patches/server/0764-Fix-premature-player-kicks-on-shutdown.patch
@@ -47,7 +47,7 @@ index 4d9f1fc884050993287adfa4578a87da710623fb..a8dfe7a4b3d01bf75587be078f471d1e
this.disconnect((Component) Component.translatable("multiplayer.disconnect.server_shutdown"));
} catch (ClassCastException classcastexception) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index cb40a2d855e7ac8c1c8b4ec679fd057a31f3fc6f..8f7a808b0c89953a7f2932e68e2c85f9330469f2 100644
+index 3fc8e626bc66f3cf32d165099ed7a6e4300e8146..741b5ba321d9bd854afb9b54f0e23c739c7f929c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2127,7 +2127,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0766-Sync-offhand-slot-in-menus.patch b/patches/server/0765-Sync-offhand-slot-in-menus.patch
index b8a6ce0108..7a9fe3be6f 100644
--- a/patches/server/0766-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0765-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 04e3c75c9abfaccb6d2d59d234e5169258b77553..25b1e8bec23465f0e9a17f156bdff7fe716db84c 100644
+index 0929f399f0525d8cc886dc32392aa2d3096431b5..772a759a474a114ccb2f7f83b678708714788e60 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -350,6 +350,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0767-Player-Entity-Tracking-Events.patch b/patches/server/0766-Player-Entity-Tracking-Events.patch
index ca45b05945..49ee909e24 100644
--- a/patches/server/0767-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0766-Player-Entity-Tracking-Events.patch
@@ -21,7 +21,7 @@ index 51a6735b35e73175680e61c2d67d4adbedf305c9..8b5d11aceb77135c917c3581f4db792e
} 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 9b5af1041410be058afde31d2630d8dcb3b25179..a361480801d113b9619f7cd93b0da2332ca089dd 100644
+index 44d2c476981bc2c24f89009dcf628ece28fc8e32..eff6d23c12d65b9c82573a9bbad721baaa1029e3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4072,7 +4072,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0768-Limit-pet-look-distance.patch b/patches/server/0767-Limit-pet-look-distance.patch
index 983f861539..983f861539 100644
--- a/patches/server/0768-Limit-pet-look-distance.patch
+++ b/patches/server/0767-Limit-pet-look-distance.patch
diff --git a/patches/server/0769-fix-Instruments.patch b/patches/server/0768-fix-Instruments.patch
index db3dd8a879..cd55e6ad4e 100644
--- a/patches/server/0769-fix-Instruments.patch
+++ b/patches/server/0768-fix-Instruments.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] fix Instruments
properly handle Player#playNote
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b4de1600c9e5f5bf00cd4699993bd4a29a37e6cf..f059a2e5fbcdceb1a1e8601c7d1e3a3e438c599e 100644
+index 95f0e7e1248ded53ec5de684ec0cfb6343598f51..02850d3ef48aecda5d9b543e23d43c9b19ff3a89 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -773,7 +773,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0770-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0769-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index 6825374465..6825374465 100644
--- a/patches/server/0770-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0769-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0771-Add-BlockLockCheckEvent.patch b/patches/server/0770-Add-BlockLockCheckEvent.patch
index b06f734eb2..b06f734eb2 100644
--- a/patches/server/0771-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0770-Add-BlockLockCheckEvent.patch
diff --git a/patches/server/0772-Add-Sneaking-API-for-Entities.patch b/patches/server/0771-Add-Sneaking-API-for-Entities.patch
index aaf72ccfd7..aaf72ccfd7 100644
--- a/patches/server/0772-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0771-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/server/0773-Improve-logging-and-errors.patch b/patches/server/0772-Improve-logging-and-errors.patch
index 05b5ce7881..05b5ce7881 100644
--- a/patches/server/0773-Improve-logging-and-errors.patch
+++ b/patches/server/0772-Improve-logging-and-errors.patch
diff --git a/patches/server/0774-Improve-PortalEvents.patch b/patches/server/0773-Improve-PortalEvents.patch
index 1bced68acf..fc97d0c046 100644
--- a/patches/server/0774-Improve-PortalEvents.patch
+++ b/patches/server/0773-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 25b1e8bec23465f0e9a17f156bdff7fe716db84c..f05a9fd321a4af28e9771bbf39d73f80dd4160c9 100644
+index 772a759a474a114ccb2f7f83b678708714788e60..6a8a1c22e1bf53df7cf4b14daf9ff1de7017ef8b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1561,7 +1561,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -18,7 +18,7 @@ index 25b1e8bec23465f0e9a17f156bdff7fe716db84c..f05a9fd321a4af28e9771bbf39d73f80
// 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 a361480801d113b9619f7cd93b0da2332ca089dd..4d9680748a00df783e9611a90c31e2665ce3d736 100644
+index eff6d23c12d65b9c82573a9bbad721baaa1029e3..4135eeab128fc989d9357dee59c779d2812106e8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3743,7 +3743,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0775-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0774-Add-config-option-for-spider-worldborder-climbing.patch
index 6d4efc38b6..6d4efc38b6 100644
--- a/patches/server/0775-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0774-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0776-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0775-Add-missing-SpigotConfig-logCommands-check.patch
index 1f4535d32a..1f4535d32a 100644
--- a/patches/server/0776-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0775-Add-missing-SpigotConfig-logCommands-check.patch
diff --git a/patches/server/0777-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0776-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 581ad00ec1..581ad00ec1 100644
--- a/patches/server/0777-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0776-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0778-Flying-Fall-Damage.patch b/patches/server/0777-Flying-Fall-Damage.patch
index c13bc2fb48..4347fe8264 100644
--- a/patches/server/0778-Flying-Fall-Damage.patch
+++ b/patches/server/0777-Flying-Fall-Damage.patch
@@ -26,7 +26,7 @@ index 30e0a5fe3f9bd85d2b702c2c877c5682ed35d461..aca888c2f02b09ac6739bdc81b194c45
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f059a2e5fbcdceb1a1e8601c7d1e3a3e438c599e..dbc642fd7c953ee8d1756cae079f410c03bb1cbd 100644
+index 02850d3ef48aecda5d9b543e23d43c9b19ff3a89..68296e776cda9983d2b3f1fdabe7fcaa2e631e86 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2591,6 +2591,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0778-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index 18b9184eff..e26237618f 100644
--- a/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0778-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 4d9680748a00df783e9611a90c31e2665ce3d736..798fd11e76326ace74035cf782be9f4218fe5edc 100644
+index 4135eeab128fc989d9357dee59c779d2812106e8..61bd5290d0056656ab761ecf38cf8c8bbb80ab94 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -969,6 +969,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0780-config-for-disabling-entity-tag-tags.patch b/patches/server/0779-config-for-disabling-entity-tag-tags.patch
index 59c33843ce..59c33843ce 100644
--- a/patches/server/0780-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0779-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0781-Use-single-player-info-update-packet-on-join.patch b/patches/server/0780-Use-single-player-info-update-packet-on-join.patch
index 550ded3d15..a4901625a7 100644
--- a/patches/server/0781-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0780-Use-single-player-info-update-packet-on-join.patch
@@ -18,7 +18,7 @@ index 762382b45afbc18810787858539fba62afc3e84c..66655aecd83138760e5d7601d22b95bb
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 9b01ef9e9b00274f1213c006a4cad0f75e412e13..cbba549176b3acfc25ec42c2935b31ab2176e0fa 100644
+index 4b8636c2107e6a16c26f259e0dbdbc40a1268e06..7da3e315de67f3273997ce9160995183a3a1ce71 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -364,6 +364,7 @@ public abstract class PlayerList {
diff --git a/patches/server/0782-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0781-Correctly-shrink-items-during-EntityResurrectEvent.patch
index 427a668981..58fdf1c475 100644
--- a/patches/server/0782-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0781-Correctly-shrink-items-during-EntityResurrectEvent.patch
@@ -22,7 +22,7 @@ This patch corrects this behaviour by only shrinking the item if a totem
of undying was found and the event was called uncancelled.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 076c7828fdfa53c7453406beb937700e12b137d2..879ac6ec0b429ddb89ede2d51c8ccee9090fdc49 100644
+index cd2d6b55b494830797014dbc3cc1f0fbf6518249..633c37844062ad93c7241b78663a14a33570c30b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1672,7 +1672,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0783-Win-Screen-API.patch b/patches/server/0782-Win-Screen-API.patch
index f233f098bf..074d1e4455 100644
--- a/patches/server/0783-Win-Screen-API.patch
+++ b/patches/server/0782-Win-Screen-API.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API
public net.minecraft.server.level.ServerPlayer seenCredits
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index dbc642fd7c953ee8d1756cae079f410c03bb1cbd..afd68e1f50dc2b2db9b77b3caf7b5d75cf31e8e1 100644
+index 68296e776cda9983d2b3f1fdabe7fcaa2e631e86..0eaae1dddf90a23210075b795116f74fad2e2d94 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1310,6 +1310,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0784-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0783-Remove-CraftItemStack-setAmount-null-assignment.patch
index aa0acd564f..aa0acd564f 100644
--- a/patches/server/0784-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0783-Remove-CraftItemStack-setAmount-null-assignment.patch
diff --git a/patches/server/0785-Fix-force-opening-enchantment-tables.patch b/patches/server/0784-Fix-force-opening-enchantment-tables.patch
index 6ddc05bd3f..6ddc05bd3f 100644
--- a/patches/server/0785-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0784-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0786-Add-Entity-Body-Yaw-API.patch b/patches/server/0785-Add-Entity-Body-Yaw-API.patch
index 8c8b6b3629..8c8b6b3629 100644
--- a/patches/server/0786-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0785-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/server/0787-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0786-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index 9c1f7e2d47..9c1f7e2d47 100644
--- a/patches/server/0787-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0786-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0788-Add-EntityFertilizeEggEvent.patch b/patches/server/0787-Add-EntityFertilizeEggEvent.patch
index ea7e33d8b0..a5b9caf556 100644
--- a/patches/server/0788-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0787-Add-EntityFertilizeEggEvent.patch
@@ -69,7 +69,7 @@ index 014e1ea1603bc7a7b42ae7ff7d12e5a41f331d2f..af2f6e690fc51d319b77d081466c2dc7
this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F);
} // Paper - Call EntityDropItemEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index ea0241de1a7ef64059cddcb43c41f56b91901897..d63b9c666cf6eb1de114c5c89867b8d233267c9e 100644
+index 48d39015da2c91a27367d44e72b7dacddb41d6d6..ec5c16f64d4e797b4c09bd0d3ae6f143d8795612 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -2195,4 +2195,28 @@ public class CraftEventFactory {
diff --git a/patches/server/0789-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0788-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index 21d4d0ad65..21d4d0ad65 100644
--- a/patches/server/0789-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0788-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0790-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0789-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 2e105236ee..2e105236ee 100644
--- a/patches/server/0790-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0789-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0791-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0790-Correctly-handle-ArmorStand-invisibility.patch
index 4c4c5048be..4c4c5048be 100644
--- a/patches/server/0791-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0790-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0791-Fix-advancement-triggers-for-entity-damage.patch
index 1f72ba6104..5d63deeb0d 100644
--- a/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0791-Fix-advancement-triggers-for-entity-damage.patch
@@ -23,7 +23,7 @@ index 821bb93e1b055ba38fafe3b7079d79aa062ebe8a..221d73676fe2fd240a47cf312c1179e0
return !this.getResponse();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 0f20301c8194dcf9f3b42429437552ca0a613b13..c6fa51118232e5875779482ed1d694b7b9c7b861 100644
+index 633c37844062ad93c7241b78663a14a33570c30b..7bce1bd9ff1d76c5a238d03475d8bcdaaca680d3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2464,7 +2464,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0793-Fix-text-display-error-on-spawn.patch b/patches/server/0792-Fix-text-display-error-on-spawn.patch
index d783ac8eee..d783ac8eee 100644
--- a/patches/server/0793-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0792-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0794-Fix-inventories-returning-null-Locations.patch b/patches/server/0793-Fix-inventories-returning-null-Locations.patch
index 1a65689fad..1a65689fad 100644
--- a/patches/server/0794-Fix-inventories-returning-null-Locations.patch
+++ b/patches/server/0793-Fix-inventories-returning-null-Locations.patch
diff --git a/patches/server/0795-Add-Shearable-API.patch b/patches/server/0794-Add-Shearable-API.patch
index 302cec90c2..302cec90c2 100644
--- a/patches/server/0795-Add-Shearable-API.patch
+++ b/patches/server/0794-Add-Shearable-API.patch
diff --git a/patches/server/0796-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0795-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 254a94df3a..254a94df3a 100644
--- a/patches/server/0796-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0795-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0797-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0796-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index 72035f8c0e..72035f8c0e 100644
--- a/patches/server/0797-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0796-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0798-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0797-Treat-sequence-violations-like-they-should-be.patch
index de57dee971..de57dee971 100644
--- a/patches/server/0798-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0797-Treat-sequence-violations-like-they-should-be.patch
diff --git a/patches/server/0799-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0798-Prevent-causing-expired-keys-from-impacting-new-join.patch
index 0ee423dac7..0ee423dac7 100644
--- a/patches/server/0799-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0798-Prevent-causing-expired-keys-from-impacting-new-join.patch
diff --git a/patches/server/0800-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0799-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index 5ddc60ef91..cf13c8d853 100644
--- a/patches/server/0800-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0799-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
@@ -5,10 +5,10 @@ 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 b81d814619e4175f42aee397811b07cae420c2e8..e9096a138175448279a03a55043982b6d83fbe12 100644
+index 77c1ddc6fd14e0b033825909e5c814abd2306f8d..5ba217ff42aaa3034eeb956f19ffaacde12e52dd 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1355,6 +1355,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1360,6 +1360,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void gameEvent(Holder<GameEvent> event, Vec3 emitterPos, GameEvent.Context emitter) {
diff --git a/patches/server/0801-Use-array-for-gamerule-storage.patch b/patches/server/0800-Use-array-for-gamerule-storage.patch
index efb6cfeb50..efb6cfeb50 100644
--- a/patches/server/0801-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0800-Use-array-for-gamerule-storage.patch
diff --git a/patches/server/0802-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0801-Fix-a-couple-of-upstream-bed-issues.patch
index 76cfa7bc0d..76cfa7bc0d 100644
--- a/patches/server/0802-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0801-Fix-a-couple-of-upstream-bed-issues.patch
diff --git a/patches/server/0803-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0802-Fix-demo-flag-not-enabling-demo-mode.patch
index 1a72571965..1a72571965 100644
--- a/patches/server/0803-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0802-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0804-Add-Mob-Experience-reward-API.patch b/patches/server/0803-Add-Mob-Experience-reward-API.patch
index 9e59c458f8..9e59c458f8 100644
--- a/patches/server/0804-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0803-Add-Mob-Experience-reward-API.patch
diff --git a/patches/server/0805-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0804-Break-redstone-on-top-of-trap-doors-early.patch
index ded460b32b..ded460b32b 100644
--- a/patches/server/0805-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0804-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0806-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0805-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index becde16ce8..becde16ce8 100644
--- a/patches/server/0806-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0805-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0807-More-accurate-isInOpenWater-impl.patch b/patches/server/0806-More-accurate-isInOpenWater-impl.patch
index 6e110094dd..6e110094dd 100644
--- a/patches/server/0807-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0806-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0808-Expand-PlayerItemMendEvent.patch b/patches/server/0807-Expand-PlayerItemMendEvent.patch
index 60044b0d82..32b28446d4 100644
--- a/patches/server/0808-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0807-Expand-PlayerItemMendEvent.patch
@@ -30,7 +30,7 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38
if (l > 0) {
// this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index afd68e1f50dc2b2db9b77b3caf7b5d75cf31e8e1..f3b06876567719c6f88db63019278dcdc849d0c1 100644
+index 0eaae1dddf90a23210075b795116f74fad2e2d94..9cddd440e50d8314b4e853fccee22fc4540ccae0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1863,11 +1863,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0808-Refresh-ProjectileSource-for-projectiles.patch
index 3c6865e72d..0041557448 100644
--- a/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0808-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 798fd11e76326ace74035cf782be9f4218fe5edc..3d4d5d23623dccb8a5be85c2205dae11509a7119 100644
+index 61bd5290d0056656ab761ecf38cf8c8bbb80ab94..12f7ac6ecc8284fe4da83e09081a6e1c08f1b4de 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/0810-Add-transient-modifier-API.patch b/patches/server/0809-Add-transient-modifier-API.patch
index 36cc0a030a..36cc0a030a 100644
--- a/patches/server/0810-Add-transient-modifier-API.patch
+++ b/patches/server/0809-Add-transient-modifier-API.patch
diff --git a/patches/server/0811-Fix-block-place-logic.patch b/patches/server/0810-Fix-block-place-logic.patch
index 4f22f03cab..4f22f03cab 100644
--- a/patches/server/0811-Fix-block-place-logic.patch
+++ b/patches/server/0810-Fix-block-place-logic.patch
diff --git a/patches/server/0812-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0811-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index 69e6a10e57..69e6a10e57 100644
--- a/patches/server/0812-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0811-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
diff --git a/patches/server/0813-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0812-Call-BlockGrowEvent-for-missing-blocks.patch
index d48638c261..d48638c261 100644
--- a/patches/server/0813-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0812-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0814-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0813-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index 4cc150197b..516bf15511 100644
--- a/patches/server/0814-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0813-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b84dc11212aba4c06375cdbefa91c09d86a2b957..a7b79c9ec51f037287fad609c29b240e2071f2f8 100644
+index 927846bf3281771de0274216abe927e524df3493..5c907eca23d936ba3095f2d81256775edaa737da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -358,7 +358,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0815-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0814-fix-MapLike-spam-for-missing-key-selector.patch
index 2bd3b889f1..2bd3b889f1 100644
--- a/patches/server/0815-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0814-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0816-Fix-sniffer-removeExploredLocation.patch b/patches/server/0815-Fix-sniffer-removeExploredLocation.patch
index e8b1703090..e8b1703090 100644
--- a/patches/server/0816-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0815-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0817-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0816-Add-method-to-remove-all-active-potion-effects.patch
index e730bcf1d4..e730bcf1d4 100644
--- a/patches/server/0817-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0816-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/server/0818-Add-event-for-player-editing-sign.patch b/patches/server/0817-Add-event-for-player-editing-sign.patch
index 5029597839..5029597839 100644
--- a/patches/server/0818-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0817-Add-event-for-player-editing-sign.patch
diff --git a/patches/server/0819-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0818-Only-tick-item-frames-if-players-can-see-it.patch
index c7c6cd499f..c7c6cd499f 100644
--- a/patches/server/0819-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0818-Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/server/0820-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0819-Fix-cmd-permission-levels-for-command-blocks.patch
index aa96a27db6..aa96a27db6 100644
--- a/patches/server/0820-Fix-cmd-permission-levels-for-command-blocks.patch
+++ b/patches/server/0819-Fix-cmd-permission-levels-for-command-blocks.patch
diff --git a/patches/server/0821-Add-option-to-disable-block-updates.patch b/patches/server/0820-Add-option-to-disable-block-updates.patch
index 0ea835ecc9..0ea835ecc9 100644
--- a/patches/server/0821-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0820-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0822-Call-missing-BlockDispenseEvent.patch b/patches/server/0821-Call-missing-BlockDispenseEvent.patch
index c8d68a1ed8..174a0ab4b6 100644
--- a/patches/server/0822-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0821-Call-missing-BlockDispenseEvent.patch
@@ -50,7 +50,7 @@ index 5793569ae8a088f21b0d8d6771a5099b1e88be09..f8f570a97789ab16e57774f233506a28
for (int k = 0; k < 5; ++k) {
worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index dd0d19faccbc49b5f9718e2df9f004bb17a9ef7e..38c8f69dff0abe62fc405a9fbb29c80d45aa675f 100644
+index 8fba20a2ff4ef43aa3bda1116f58b696bde2b9b8..28e56095ec4b6fb73df747ec796498f8692c2a24 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -2196,6 +2196,32 @@ public class CraftEventFactory {
diff --git a/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0822-Don-t-load-chunks-for-supporting-block-checks.patch
index 5d7e485869..7440fc0c49 100644
--- a/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0822-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 3d4d5d23623dccb8a5be85c2205dae11509a7119..c26c814e9a3a54fb7b46b0e5f51843621f179d3d 100644
+index 12f7ac6ecc8284fe4da83e09081a6e1c08f1b4de..4cced854e750ea9057b4a8d686245925e5dc2868 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1229,7 +1229,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0824-Optimize-player-lookups-for-beacons.patch b/patches/server/0823-Optimize-player-lookups-for-beacons.patch
index 7e1285d891..7e1285d891 100644
--- a/patches/server/0824-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0823-Optimize-player-lookups-for-beacons.patch
diff --git a/patches/server/0825-More-Sign-Block-API.patch b/patches/server/0824-More-Sign-Block-API.patch
index 70558b0010..70558b0010 100644
--- a/patches/server/0825-More-Sign-Block-API.patch
+++ b/patches/server/0824-More-Sign-Block-API.patch
diff --git a/patches/server/0826-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0825-fix-item-meta-for-tadpole-buckets.patch
index 04c4b6a873..0ad43795a2 100644
--- a/patches/server/0826-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0825-fix-item-meta-for-tadpole-buckets.patch
@@ -30,7 +30,7 @@ index 27af7ca9d62bdb4a24be5af139c181d7bc271ba5..3ff0340c40e9dc9a6e690de15ccade7a
Material.GLOW_ITEM_FRAME,
Material.PAINTING
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
-index 50faaaa48dffcaf53823caed1e3f7263cd5c441f..ba5c958f322dc34baff3c9d1b99741a4ffeee135 100644
+index 6cc54035af870b75f45d836e5b60f5d9240dd7d0..c27f37fd8a0e90b1440bfd4329d044eb8df629d2 100644
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
@@ -209,6 +209,27 @@ public class ItemMetaTest {
diff --git a/patches/server/0827-Fix-BanList-API.patch b/patches/server/0826-Fix-BanList-API.patch
index 48283aa31e..39df7560c6 100644
--- a/patches/server/0827-Fix-BanList-API.patch
+++ b/patches/server/0826-Fix-BanList-API.patch
@@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f3b06876567719c6f88db63019278dcdc849d0c1..796a1540239362aec90f0a136bf7c28d282d5274 100644
+index 9cddd440e50d8314b4e853fccee22fc4540ccae0..b0b417d916c6c3099157f8279c346bc6670c0012 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1757,23 +1757,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0828-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0827-Determine-lava-and-water-fluid-explosion-resistance-.patch
index 4f2b8e09cd..4f2b8e09cd 100644
--- a/patches/server/0828-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0827-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0828-Fix-possible-NPE-on-painting-creation.patch
index cc63dc03cf..cc63dc03cf 100644
--- a/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0828-Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/server/0830-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0829-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index c481798890..c481798890 100644
--- a/patches/server/0830-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0829-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0831-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0830-ExperienceOrb-should-call-EntitySpawnEvent.patch
index 40dec00abb..da24259a50 100644
--- a/patches/server/0831-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0830-ExperienceOrb-should-call-EntitySpawnEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 38c8f69dff0abe62fc405a9fbb29c80d45aa675f..449380c97dc332ecd43e308fcf110c9548930600 100644
+index 28e56095ec4b6fb73df747ec796498f8692c2a24..b1ce440bc5c8b77654213a4630851daef3f15d60 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -744,7 +744,8 @@ public class CraftEventFactory {
diff --git a/patches/server/0832-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0831-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 301b345fb9..301b345fb9 100644
--- a/patches/server/0832-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0831-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0833-Add-whitelist-events.patch b/patches/server/0832-Add-whitelist-events.patch
index 96884032fb..96884032fb 100644
--- a/patches/server/0833-Add-whitelist-events.patch
+++ b/patches/server/0832-Add-whitelist-events.patch
diff --git a/patches/server/0834-Implement-PlayerFailMoveEvent.patch b/patches/server/0833-Implement-PlayerFailMoveEvent.patch
index ad4b642a19..ad4b642a19 100644
--- a/patches/server/0834-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0833-Implement-PlayerFailMoveEvent.patch
diff --git a/patches/server/0835-Folia-scheduler-and-owned-region-API.patch b/patches/server/0834-Folia-scheduler-and-owned-region-API.patch
index 2c701102be..edcef4f99f 100644
--- a/patches/server/0835-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0834-Folia-scheduler-and-owned-region-API.patch
@@ -1185,7 +1185,7 @@ index 7da3e315de67f3273997ce9160995183a3a1ce71..3a6e918e9db6397b6f1cff5310416552
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 c26c814e9a3a54fb7b46b0e5f51843621f179d3d..638b202519b0cca5ca7ba406e6f92c51a0ef990e 100644
+index 4cced854e750ea9057b4a8d686245925e5dc2868..5a2d33b7da60469f27f9782841b0cf879a780c8f 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
@@ -1249,7 +1249,7 @@ index c26c814e9a3a54fb7b46b0e5f51843621f179d3d..638b202519b0cca5ca7ba406e6f92c51
public void setLevelCallback(EntityInLevelCallback changeListener) {
this.levelCallback = changeListener;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b59dc253a086374e07338b989ba5835d138e5d72..190529d8f96b2cb4096a454aec37775388650af2 100644
+index 5c907eca23d936ba3095f2d81256775edaa737da..1bf51d4a1ffb6ab56c4023c49725e412f4350197 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -313,6 +313,76 @@ public final class CraftServer implements Server {
@@ -1330,7 +1330,7 @@ index b59dc253a086374e07338b989ba5835d138e5d72..190529d8f96b2cb4096a454aec377753
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
ConfigurationSerialization.registerClass(CraftPlayerProfile.class);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 4209434ff066670000dadb0c59fea297f03300f4..df199c1cffa7795126ab83af67e184238ddb211d 100644
+index e65d1ca701d835db0ed45e627c92c1c5ed384887..211726898275788e593002a279bf007c916de4de 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -71,6 +71,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0836-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0835-Only-erase-allay-memory-on-non-item-targets.patch
index b26cfd040b..b26cfd040b 100644
--- a/patches/server/0836-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0835-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0837-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0836-Fix-rotation-when-spawning-display-entities.patch
index 240a093118..22ee667200 100644
--- a/patches/server/0837-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0836-Fix-rotation-when-spawning-display-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix rotation when spawning display entities
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 8715d8e790b6735610e2f880f8c1f88a89967f21..6cf57640b3bd2bb0417129256ed77d9d67fcf04a 100644
+index e31aa2a499e894847f19800b6bceb17aba38a1c0..85b9224e9e999487abff15a008c7e37aae9b488b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -254,6 +254,7 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0838-Only-capture-actual-tree-growth.patch b/patches/server/0837-Only-capture-actual-tree-growth.patch
index f1dee3ad48..13fcd8afc3 100644
--- a/patches/server/0838-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0837-Only-capture-actual-tree-growth.patch
@@ -17,10 +17,10 @@ index f8f570a97789ab16e57774f233506a289277d5d9..18304349c9ab24657c4152aff800dba9
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index e9096a138175448279a03a55043982b6d83fbe12..0db41d36d5daf015c750fb0246ab3e5da1cd81a2 100644
+index 5ba217ff42aaa3034eeb956f19ffaacde12e52dd..5770fa7a798c1c019bef27426f945f3cc0387a36 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2198,6 +2198,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2203,6 +2203,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return range <= 0 ? 64.0 * 64.0 : range * range; // 64 is taken from default in ServerLevel#levelEvent
}
// Paper end - respect global sound events gamerule
diff --git a/patches/server/0839-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0838-Use-correct-source-for-mushroom-block-spread-event.patch
index 658d9ec376..658d9ec376 100644
--- a/patches/server/0839-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0838-Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/server/0840-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0839-Respect-randomizeData-on-more-entities-when-spawning.patch
index 67a5238077..adf37e5cf2 100644
--- a/patches/server/0840-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0839-Respect-randomizeData-on-more-entities-when-spawning.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] Respect randomizeData on more entities when spawning
* ExperienceOrb
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 6cf57640b3bd2bb0417129256ed77d9d67fcf04a..3b5277f90b5bba30d40d79ba67903a8d04d2c0df 100644
+index 85b9224e9e999487abff15a008c7e37aae9b488b..829d44c718bddf813d71a08097bc0fa1f5825476 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -255,6 +255,13 @@ public final class CraftEntityTypes {
diff --git a/patches/server/0841-Use-correct-seed-on-api-world-load.patch b/patches/server/0840-Use-correct-seed-on-api-world-load.patch
index 997631e23b..298996ee0f 100644
--- a/patches/server/0841-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0840-Use-correct-seed-on-api-world-load.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use correct seed on api world load
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 46807d5d94a0f90b230dfaf4d37378a3bfa21414..da3819f49b105bd98ce94b5abdf1c7652ff625a4 100644
+index 1bf51d4a1ffb6ab56c4023c49725e412f4350197..d5e8cb8a907385e807c786815cf33f1cd9355f0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1388,7 +1388,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0842-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0841-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index d87f310ded..d87f310ded 100644
--- a/patches/server/0842-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0841-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0843-Cache-map-ids-on-item-frames.patch b/patches/server/0842-Cache-map-ids-on-item-frames.patch
index 01fb83165d..01fb83165d 100644
--- a/patches/server/0843-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0842-Cache-map-ids-on-item-frames.patch
diff --git a/patches/server/0844-API-for-updating-recipes-on-clients.patch b/patches/server/0843-API-for-updating-recipes-on-clients.patch
index e0119725e2..fbced676d0 100644
--- a/patches/server/0844-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0843-API-for-updating-recipes-on-clients.patch
@@ -38,7 +38,7 @@ index 3a6e918e9db6397b6f1cff531041655298ce087d..efc12d629b71ba1da664d9ecfd4575be
public void reloadRecipes() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 87bc228c121077815bdad7942df1c9576edac21b..a618258fde1226588ea447522ba4177aa9cf9016 100644
+index d5e8cb8a907385e807c786815cf33f1cd9355f0c..8e0d8fafa68d909d1d10c6d6a03cca371c0e6fb3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1178,6 +1178,18 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0845-Fix-custom-statistic-criteria-creation.patch b/patches/server/0844-Fix-custom-statistic-criteria-creation.patch
index ff197a490c..ff197a490c 100644
--- a/patches/server/0845-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0844-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/server/0846-Bandaid-fix-for-Effect.patch b/patches/server/0845-Bandaid-fix-for-Effect.patch
index 7da01a3cd4..621a7cc2d2 100644
--- a/patches/server/0846-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0845-Bandaid-fix-for-Effect.patch
@@ -68,10 +68,10 @@ index 71733f918ed84b9879ac1b142ef6205c5e768a9c..c856384019eff2f2d0bb831ebe1ccb0f
break;
case BONE_MEAL_USE:
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index df0f83941215a098014936f22e1ba353b69204a7..bfe7d57310f822edaa4ddb3ebddb2086ffee8a4a 100644
+index 431bd698e28b7731bf781e29de6c6a3fd936c71c..bca9e4908c7949a6f0b24fed2aa7332dd8f23e92 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1374,7 +1374,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1362,7 +1362,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public <T> void playEffect(Location loc, Effect effect, T data, int radius) {
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
diff --git a/patches/server/0847-SculkCatalyst-bloom-API.patch b/patches/server/0846-SculkCatalyst-bloom-API.patch
index ba050f6086..ba050f6086 100644
--- a/patches/server/0847-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0846-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0848-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0847-API-for-an-entity-s-scoreboard-name.patch
index 703131ac85..703131ac85 100644
--- a/patches/server/0848-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0847-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/server/0849-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0848-Deprecate-and-replace-methods-with-old-StructureType.patch
index 80817c1175..2b18283f26 100644
--- a/patches/server/0849-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0848-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index fa505c0714bb95b2ab08b4bbb9ea79ce98898f4b..a1f2c8fd0348a6a5dad521430f473867bdadd1a5 100644
+index 8e0d8fafa68d909d1d10c6d6a03cca371c0e6fb3..ee79e3374b50ba21620a9685975a0341c15f313b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2007,6 +2007,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0850-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0849-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index 3098f18301..3098f18301 100644
--- a/patches/server/0850-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0849-Don-t-tab-complete-namespaced-commands-if-send-names.patch
diff --git a/patches/server/0851-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0850-Properly-handle-BlockBreakEvent-isDropItems.patch
index 7bf30bb112..7bf30bb112 100644
--- a/patches/server/0851-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0850-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0852-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0851-Fire-entity-death-event-for-ender-dragon.patch
index 0efcc781a4..0efcc781a4 100644
--- a/patches/server/0852-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0851-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0853-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0852-Configurable-entity-tracking-range-by-Y-coordinate.patch
index feb7011cca..feb7011cca 100644
--- a/patches/server/0853-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0852-Configurable-entity-tracking-range-by-Y-coordinate.patch
diff --git a/patches/server/0854-Add-Listing-API-for-Player.patch b/patches/server/0853-Add-Listing-API-for-Player.patch
index 9917a8cbfa..a9183d8193 100644
--- a/patches/server/0854-Add-Listing-API-for-Player.patch
+++ b/patches/server/0853-Add-Listing-API-for-Player.patch
@@ -122,7 +122,7 @@ index efc12d629b71ba1da664d9ecfd4575bee9b45dc3..9067100a82a8c405cec0a19e53b3b245
// Paper end - Use single player info update packet on join
player.sentListPacket = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d903b9f1d62a826378b6d4b8458e5f675536fef2..512156b9c31cda88c444ab860ad9f39d73fb512b 100644
+index b397f784510d832d300a777b4c4a4de03c904b72..76ee6dcf028720f22ca6d0ba5975a8f1555cca37 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0855-Configurable-Region-Compression-Format.patch b/patches/server/0854-Configurable-Region-Compression-Format.patch
index 64a52a4ea2..64a52a4ea2 100644
--- a/patches/server/0855-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0854-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/0856-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0855-Add-BlockFace-to-BlockDamageEvent.patch
index 2dcf331517..a5b150b6fc 100644
--- a/patches/server/0856-Add-BlockFace-to-BlockDamageEvent.patch
+++ b/patches/server/0855-Add-BlockFace-to-BlockDamageEvent.patch
@@ -18,7 +18,7 @@ index 3bd4ab8161c29bb8df2ba496a4430393b6593476..0da6496c18341c01fc4551ead7e740a6
if (blockEvent.isCancelled()) {
// Let the client know the block still exists
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 449380c97dc332ecd43e308fcf110c9548930600..c5f9d9aeeb1fc61edb0e57cef51f5f6371861000 100644
+index b1ce440bc5c8b77654213a4630851daef3f15d60..8853f0cfebfe56fd2aa3ec975701b5ffaad46257 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -660,13 +660,13 @@ public class CraftEventFactory {
diff --git a/patches/server/0857-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0856-Fix-NPE-on-Boat-getStatus.patch
index 19f832054d..19f832054d 100644
--- a/patches/server/0857-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/0856-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/0858-Expand-Pose-API.patch b/patches/server/0857-Expand-Pose-API.patch
index 2a0272f0fa..2a0272f0fa 100644
--- a/patches/server/0858-Expand-Pose-API.patch
+++ b/patches/server/0857-Expand-Pose-API.patch
diff --git a/patches/server/0859-More-DragonBattle-API.patch b/patches/server/0858-More-DragonBattle-API.patch
index a752a4de81..a752a4de81 100644
--- a/patches/server/0859-More-DragonBattle-API.patch
+++ b/patches/server/0858-More-DragonBattle-API.patch
diff --git a/patches/server/0860-Add-PlayerPickItemEvent.patch b/patches/server/0859-Add-PlayerPickItemEvent.patch
index b23a4f152a..b23a4f152a 100644
--- a/patches/server/0860-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0859-Add-PlayerPickItemEvent.patch
diff --git a/patches/server/0861-Allow-trident-custom-damage.patch b/patches/server/0860-Allow-trident-custom-damage.patch
index ee7ac1a043..ee7ac1a043 100644
--- a/patches/server/0861-Allow-trident-custom-damage.patch
+++ b/patches/server/0860-Allow-trident-custom-damage.patch
diff --git a/patches/server/0862-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0861-Expose-hand-in-BlockCanBuildEvent.patch
index f3ed54f3f9..f3ed54f3f9 100644
--- a/patches/server/0862-Expose-hand-in-BlockCanBuildEvent.patch
+++ b/patches/server/0861-Expose-hand-in-BlockCanBuildEvent.patch
diff --git a/patches/server/0863-Optimize-nearest-structure-border-iteration.patch b/patches/server/0862-Optimize-nearest-structure-border-iteration.patch
index edd50774cc..edd50774cc 100644
--- a/patches/server/0863-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/0862-Optimize-nearest-structure-border-iteration.patch
diff --git a/patches/server/0864-Implement-OfflinePlayer-isConnected.patch b/patches/server/0863-Implement-OfflinePlayer-isConnected.patch
index ace0ea37ab..4e901ad769 100644
--- a/patches/server/0864-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0863-Implement-OfflinePlayer-isConnected.patch
@@ -23,7 +23,7 @@ index 2c2c4db31a746b4eb853dc04c6b3e5631bbfa034..4f4e3ee18d586f61706504218cddc06a
public String getName() {
Player player = this.getPlayer();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 334303fbb2cf0086ad133bdc07b27e833162f71a..de97ca0a25d70de50dfcc6b092f5e58facfb5a3a 100644
+index 76ee6dcf028720f22ca6d0ba5975a8f1555cca37..d8f0f8f0afd0a3705cf20b2670a6dd137cd70c15 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -261,6 +261,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0865-Fix-slot-desync.patch b/patches/server/0864-Fix-slot-desync.patch
index a1835267ae..e43a5e95b8 100644
--- a/patches/server/0865-Fix-slot-desync.patch
+++ b/patches/server/0864-Fix-slot-desync.patch
@@ -10,7 +10,7 @@ Co-authored-by: Minecrell <[email protected]>
Co-authored-by: Newwind <[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 f05a9fd321a4af28e9771bbf39d73f80dd4160c9..90aa8e401e1d092a31ff21699409b8366629cdcc 100644
+index 6a8a1c22e1bf53df7cf4b14daf9ff1de7017ef8b..678c31bcb98acb376e08de220f9fc9322c4f85fc 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -460,6 +460,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -40,7 +40,7 @@ index 38730e11118bf71d167a18b807e06c20ea0d63d0..5be7304c8417e2987837d1c6ce8b8023
if (event.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8a0b26533e6bbabe829efbf5afcef1a79cdf0adb..4cd07d9a90885b59ef1b2be7562386d5e8c7b2ae 100644
+index e2ca84fb27cff54eada6ca1c7a96a29d1dbbb4e5..2342892db8b2bb1994727e611abb820f8104e486 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2753,8 +2753,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0866-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0865-Add-titleOverride-to-InventoryOpenEvent.patch
index 1b98c1b4a0..483c549c82 100644
--- a/patches/server/0866-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/0865-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 90aa8e401e1d092a31ff21699409b8366629cdcc..419fcb4cd97cf10a2601e02024b999a51a0ff952 100644
+index 678c31bcb98acb376e08de220f9fc9322c4f85fc..e038664858c7af59f52a6328c73ecb27f8a16644 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1924,12 +1924,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -79,7 +79,7 @@ index 7dddf4dd090fcd9e86b147d7e4ddeaa99800713e..4312290ad970f71e1dc25b707ab312c5
if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper - Prevent opening inventories when frozen
player.containerMenu = container;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index c5f9d9aeeb1fc61edb0e57cef51f5f6371861000..dbef230ae88ee1bfbc20ba53b534434c3ccac985 100644
+index 8853f0cfebfe56fd2aa3ec975701b5ffaad46257..b6c30bb70fb4746da024bc4d80b71aeb3558f101 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1401,10 +1401,21 @@ public class CraftEventFactory {
diff --git a/patches/server/0867-Configure-sniffer-egg-hatch-time.patch b/patches/server/0866-Configure-sniffer-egg-hatch-time.patch
index e39971b614..e39971b614 100644
--- a/patches/server/0867-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/0866-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/0868-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0867-Do-crystal-portal-proximity-check-before-entity-look.patch
index 0ba2ce3d55..0ba2ce3d55 100644
--- a/patches/server/0868-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/0867-Do-crystal-portal-proximity-check-before-entity-look.patch
diff --git a/patches/server/0869-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0868-Skip-POI-finding-if-stuck-in-vehicle.patch
index a4dcac44ac..a4dcac44ac 100644
--- a/patches/server/0869-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/0868-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/0870-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0869-Add-slot-sanity-checks-in-container-clicks.patch
index 8bc3b0c3fd..8bc3b0c3fd 100644
--- a/patches/server/0870-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/0869-Add-slot-sanity-checks-in-container-clicks.patch
diff --git a/patches/server/0871-Call-BlockRedstoneEvents-properly.patch b/patches/server/0870-Call-BlockRedstoneEvents-properly.patch
index 54b0e427b8..54b0e427b8 100644
--- a/patches/server/0871-Call-BlockRedstoneEvents-properly.patch
+++ b/patches/server/0870-Call-BlockRedstoneEvents-properly.patch
diff --git a/patches/server/0872-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0871-Allow-proper-checking-of-empty-item-stacks.patch
index 85819379c1..85819379c1 100644
--- a/patches/server/0872-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/0871-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/server/0873-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0872-Fix-silent-equipment-change-for-mobs.patch
index 14b0a2dab0..14b0a2dab0 100644
--- a/patches/server/0873-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/0872-Fix-silent-equipment-change-for-mobs.patch
diff --git a/patches/server/0874-Fix-spigot-s-Forced-Stats.patch b/patches/server/0873-Fix-spigot-s-Forced-Stats.patch
index 8e920d0d89..8e920d0d89 100644
--- a/patches/server/0874-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/0873-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/0875-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0874-Add-missing-InventoryHolders-to-inventories.patch
index d6bf23a4f8..d6bf23a4f8 100644
--- a/patches/server/0875-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/0874-Add-missing-InventoryHolders-to-inventories.patch
diff --git a/patches/server/0876-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0875-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index c55e56d157..c55e56d157 100644
--- a/patches/server/0876-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/0875-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
diff --git a/patches/server/0877-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0876-Add-missing-logs-for-log-ips-config-option.patch
index 2898d66615..2898d66615 100644
--- a/patches/server/0877-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/0876-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/0878-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0877-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index b6ec32df61..b6ec32df61 100644
--- a/patches/server/0878-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/0877-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/0879-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0878-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/0879-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/0878-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/0880-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0879-Fix-team-sidebar-objectives-not-being-cleared.patch
index cebe7aefc2..cebe7aefc2 100644
--- a/patches/server/0880-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/0879-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/0881-Fix-missing-map-initialize-event-call.patch b/patches/server/0880-Fix-missing-map-initialize-event-call.patch
index 0eb662ab82..a3e1b9d535 100644
--- a/patches/server/0881-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/0880-Fix-missing-map-initialize-event-call.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Fix missing map initialize event call
public net.minecraft.world.level.storage.DimensionDataStorage readSavedData(Ljava/util/function/Function;Lnet/minecraft/util/datafix/DataFixTypes;Ljava/lang/String;)Lnet/minecraft/world/level/saveddata/SavedData;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 0db41d36d5daf015c750fb0246ab3e5da1cd81a2..7cecbac43f1cd2d9516034ea9d2633c0c76e61f4 100644
+index 5770fa7a798c1c019bef27426f945f3cc0387a36..6923624f069c1aeb757386ef91d285769a2923a2 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1696,13 +1696,29 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1701,13 +1701,29 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Nullable
@Override
public MapItemSavedData getMapData(MapId id) {
diff --git a/patches/server/0882-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0881-Update-entity-data-when-attaching-firework-to-entity.patch
index f2c094976f..f2c094976f 100644
--- a/patches/server/0882-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/0881-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0882-Fix-UnsafeValues-loadAdvancement.patch
index 1fa31034dc..a2c8813abd 100644
--- a/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0882-Fix-UnsafeValues-loadAdvancement.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index f15060bbe6dc0fbb4a81aee294d311047a3650b2..86c78365e7510140515b0f0f834113d01095b842 100644
+index 939bc76ca46081d51a6cb18ac39cd05d3ce58ac8..789f98d0a6bbe240714ae965dfa1312439ce09cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -303,9 +303,30 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0884-Add-player-idle-duration-API.patch b/patches/server/0883-Add-player-idle-duration-API.patch
index 1f020b6945..e74ebf914c 100644
--- a/patches/server/0884-Add-player-idle-duration-API.patch
+++ b/patches/server/0883-Add-player-idle-duration-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index eccc2d4fce0281307e263e6fe788ce225a7422d1..bfe2ed7a121f5e955edbf42a514e9a3b6ff8eee8 100644
+index d8f0f8f0afd0a3705cf20b2670a6dd137cd70c15..81455040c878b202cdb96a282fddfe4a65c7d0b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3429,6 +3429,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0885-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0884-Don-t-check-if-we-can-see-non-visible-entities.patch
index 5a591c2450..5a591c2450 100644
--- a/patches/server/0885-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/0884-Don-t-check-if-we-can-see-non-visible-entities.patch
diff --git a/patches/server/0886-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0885-Fix-NPE-in-SculkBloomEvent-world-access.patch
index 3f44bad4f1..3f44bad4f1 100644
--- a/patches/server/0886-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/0885-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index c6e0416fd7..b540a94025 100644
--- a/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0886-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index bfe2ed7a121f5e955edbf42a514e9a3b6ff8eee8..69f2eb774b8aa364760b2e65a02bc547c1d89c9d 100644
+index 81455040c878b202cdb96a282fddfe4a65c7d0b7..273a94f727c6c736b2bdf98c1806431ebce4d90f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1132,7 +1132,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0888-Optimize-VarInts.patch b/patches/server/0887-Optimize-VarInts.patch
index b96957d432..b96957d432 100644
--- a/patches/server/0888-Optimize-VarInts.patch
+++ b/patches/server/0887-Optimize-VarInts.patch
diff --git a/patches/server/0889-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0888-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 50464e50cb..50464e50cb 100644
--- a/patches/server/0889-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0888-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/server/0890-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0889-Add-predicate-for-blocks-when-raytracing.patch
index b4282e60d7..1be78144b4 100644
--- a/patches/server/0890-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0889-Add-predicate-for-blocks-when-raytracing.patch
@@ -47,10 +47,10 @@ index 7e1a332168357b9af14dbe3299549c2c93903fa6..93738c7dea1ea3d19013a47380391274
Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index bfe7d57310f822edaa4ddb3ebddb2086ffee8a4a..acb9da6f6560f6cb4ac38c07aca449110d0e2e76 100644
+index bca9e4908c7949a6f0b24fed2aa7332dd8f23e92..d72ce4b4cd5bec76eb45d6f0027643740f9907fd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1108,9 +1108,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1096,9 +1096,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate<? super Entity> filter) {
@@ -68,7 +68,7 @@ index bfe7d57310f822edaa4ddb3ebddb2086ffee8a4a..acb9da6f6560f6cb4ac38c07aca44911
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1160,9 +1166,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1148,9 +1154,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) {
@@ -87,7 +87,7 @@ index bfe7d57310f822edaa4ddb3ebddb2086ffee8a4a..acb9da6f6560f6cb4ac38c07aca44911
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1175,16 +1188,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1163,16 +1176,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
Vector dir = direction.clone().normalize().multiply(maxDistance);
diff --git a/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0890-Broadcast-take-item-packets-with-collector-as-source.patch
index 6c7d603b8c..056419eb72 100644
--- a/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0890-Broadcast-take-item-packets-with-collector-as-source.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Broadcast take item packets with collector as source
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index c6fa51118232e5875779482ed1d694b7b9c7b861..2bff94cef4fef66b81508a2ef4b5613e76044832 100644
+index 7bce1bd9ff1d76c5a238d03475d8bcdaaca680d3..84623aa24f8c90f0b51094c2d0773ee98c3a8524 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3892,7 +3892,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0892-Expand-LingeringPotion-API.patch b/patches/server/0891-Expand-LingeringPotion-API.patch
index 3a58f0528a..3a58f0528a 100644
--- a/patches/server/0892-Expand-LingeringPotion-API.patch
+++ b/patches/server/0891-Expand-LingeringPotion-API.patch
diff --git a/patches/server/0893-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0892-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index d23fba6176..1efd2d32b1 100644
--- a/patches/server/0893-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0892-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
@@ -45,10 +45,10 @@ index 152ecd38814089333b8d61538297ce720756d2c3..12127b14babf646711d3a118416453c4
if (world instanceof ServerLevel) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index acb9da6f6560f6cb4ac38c07aca449110d0e2e76..305e1dc2d727841cd6dd23ec5ec0289e102552f8 100644
+index d72ce4b4cd5bec76eb45d6f0027643740f9907fd..b5b21852b4c3dc15e548afd81bdefbb83b9e7e9c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -734,7 +734,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -722,7 +722,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create(this.world, EntitySpawnReason.COMMAND);
lightning.moveTo(loc.getX(), loc.getY(), loc.getZ());
diff --git a/patches/server/0894-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0893-Add-hand-to-fish-event-for-all-player-interactions.patch
index cb3197a1b2..cb3197a1b2 100644
--- a/patches/server/0894-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/0893-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/server/0895-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0894-Fix-several-issues-with-EntityBreedEvent.patch
index 7d7a988fc0..7d7a988fc0 100644
--- a/patches/server/0895-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/0894-Fix-several-issues-with-EntityBreedEvent.patch
diff --git a/patches/server/0896-Add-UUID-attribute-modifier-API.patch b/patches/server/0895-Add-UUID-attribute-modifier-API.patch
index 4b5e695553..4b5e695553 100644
--- a/patches/server/0896-Add-UUID-attribute-modifier-API.patch
+++ b/patches/server/0895-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/server/0897-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0896-Fix-missing-event-call-for-entity-teleport-API.patch
index c00c1e49bd..7f89636154 100644
--- a/patches/server/0897-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/0896-Fix-missing-event-call-for-entity-teleport-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix missing event call for entity teleport API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 11a08ff211a9a32a825519ddb1736e02cf7f685e..7536ab5c22d97a074c08a95fff6bc756d61e387d 100644
+index 7cd929d4b9ab60a585c2316b949fce2a0e97e467..2b1f3e27ce5cecc94297c27debe5e3bd64c08967 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -259,6 +259,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0898-Lazily-create-LootContext-for-criterions.patch b/patches/server/0897-Lazily-create-LootContext-for-criterions.patch
index d1033bf7e7..d1033bf7e7 100644
--- a/patches/server/0898-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/0897-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0898-Don-t-fire-sync-events-during-worldgen.patch
index 4849f6aa02..60837d1de4 100644
--- a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0898-Don-t-fire-sync-events-during-worldgen.patch
@@ -19,10 +19,10 @@ 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 7cecbac43f1cd2d9516034ea9d2633c0c76e61f4..7a985c30a973efacf3e8b70e7163c550d86b0870 100644
+index 6923624f069c1aeb757386ef91d285769a2923a2..7ab4e93ae11e3a510cb58aeed8029c19dfccf31d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1189,6 +1189,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1194,6 +1194,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit start
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot
@@ -31,7 +31,7 @@ index 7cecbac43f1cd2d9516034ea9d2633c0c76e61f4..7a985c30a973efacf3e8b70e7163c550
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 4cd07d9a90885b59ef1b2be7562386d5e8c7b2ae..7657888bab53428fda9d3d10ac35bfddc5c16266 100644
+index 2342892db8b2bb1994727e611abb820f8104e486..12afae25cf60a402f92d1a4054738d50f076348c 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
@@ -68,7 +68,7 @@ index 64dc0bd1900575e40ac72a98c6df371223bd244c..c2693d530be00af16b2aa4ca4afd1d13
}, () -> {
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2bff94cef4fef66b81508a2ef4b5613e76044832..22c565fd6b14ae018f4526b174388ed5247600f6 100644
+index 84623aa24f8c90f0b51094c2d0773ee98c3a8524..3229db46d1efa2c58182043a3d2841040eb021f2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1159,6 +1159,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0900-Add-Structure-check-API.patch b/patches/server/0899-Add-Structure-check-API.patch
index ef58cef8a7..a7d968138a 100644
--- a/patches/server/0900-Add-Structure-check-API.patch
+++ b/patches/server/0899-Add-Structure-check-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 305e1dc2d727841cd6dd23ec5ec0289e102552f8..e8b1d8fb12280f733b3d96a78991b14dcb4484c4 100644
+index b5b21852b4c3dc15e548afd81bdefbb83b9e7e9c..77faa873b22f59d27d5a99f4fef0d86a977875d0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -242,6 +242,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0901-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0900-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index db45e464ac..af848f2181 100644
--- a/patches/server/0901-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/0900-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index af78e73755743fb2db7a99b834affc963b44bc10..3bcc807005a677884255f1ee36cbf1653797ba55 100644
+index 43d1f278a56ff344ddf4e5d70471485b393a3b1d..2948fc39ad2f65739dea6b8256112b85ea755340 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1666,7 +1666,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0901-Restore-vanilla-entity-drops-behavior.patch
index 8ab0f9fb23..9bc5b11cbd 100644
--- a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0901-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 419fcb4cd97cf10a2601e02024b999a51a0ff952..df21cd1bd2a3dda7169edbea18bbfdf043db76f8 100644
+index e038664858c7af59f52a6328c73ecb27f8a16644..55a4424c47591d1bcaba306f6af877a4fb7144bf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1235,20 +1235,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
@@ -37,7 +37,7 @@ index 419fcb4cd97cf10a2601e02024b999a51a0ff952..df21cd1bd2a3dda7169edbea18bbfdf0
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 7657888bab53428fda9d3d10ac35bfddc5c16266..b7594a0fd6fe7e25d13202c95b2c39a04e84abde 100644
+index 12afae25cf60a402f92d1a4054738d50f076348c..b2a62e6414abbe10b3338fcc1d68530856d59ba4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2679,19 +2679,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -89,7 +89,7 @@ index 7657888bab53428fda9d3d10ac35bfddc5c16266..b7594a0fd6fe7e25d13202c95b2c39a0
return this.spawnAtLocation(world, entityitem);
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 22c565fd6b14ae018f4526b174388ed5247600f6..8c3ec957210a259e26253dbb3a4191702ce6699c 100644
+index 3229db46d1efa2c58182043a3d2841040eb021f2..4fbd23d1783642becb39a404b988eb44c418c3b5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -289,7 +289,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0903-Dont-resend-blocks-on-interactions.patch b/patches/server/0902-Dont-resend-blocks-on-interactions.patch
index 04f0061970..04f0061970 100644
--- a/patches/server/0903-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/0902-Dont-resend-blocks-on-interactions.patch
diff --git a/patches/server/0904-add-more-scoreboard-API.patch b/patches/server/0903-add-more-scoreboard-API.patch
index 3365b53a36..3365b53a36 100644
--- a/patches/server/0904-add-more-scoreboard-API.patch
+++ b/patches/server/0903-add-more-scoreboard-API.patch
diff --git a/patches/server/0905-Improve-Registry.patch b/patches/server/0904-Improve-Registry.patch
index 5546233da5..5546233da5 100644
--- a/patches/server/0905-Improve-Registry.patch
+++ b/patches/server/0904-Improve-Registry.patch
diff --git a/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0905-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index 0889a0b322..9f3a60df76 100644
--- a/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0905-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
@@ -26,7 +26,7 @@ index c6dcc37ac5fcf50bcb246f533b99983dfc5c19c2..c13b6f14c3061710c2b27034db240cc9
d3 = to.getX();
d4 = to.getY();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 8c3ec957210a259e26253dbb3a4191702ce6699c..0557a182a17a2891f2a9e0e4367d5102674e3b42 100644
+index 4fbd23d1783642becb39a404b988eb44c418c3b5..bd2df2a70e78b68b5eefd9c0b6fe14f9717fb1d7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4364,7 +4364,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0907-Add-experience-points-API.patch b/patches/server/0906-Add-experience-points-API.patch
index c202546913..b8ee3f5b5e 100644
--- a/patches/server/0907-Add-experience-points-API.patch
+++ b/patches/server/0906-Add-experience-points-API.patch
@@ -18,7 +18,7 @@ index aca888c2f02b09ac6739bdc81b194c4527dd69f5..a19a795deaa7f46c92b97912e2ade006
// Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 69f2eb774b8aa364760b2e65a02bc547c1d89c9d..4b56cb08931b81f6ad81bd4e3ed991db7ab7629d 100644
+index 273a94f727c6c736b2bdf98c1806431ebce4d90f..a1c7e7b95718562d86ee8e6da1bb6e6b5d82ce7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1931,6 +1931,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0908-Add-drops-to-shear-events.patch b/patches/server/0907-Add-drops-to-shear-events.patch
index 0ae1794dca..96f687b0ed 100644
--- a/patches/server/0908-Add-drops-to-shear-events.patch
+++ b/patches/server/0907-Add-drops-to-shear-events.patch
@@ -306,7 +306,7 @@ index 9d416f775fa19ad1978c7c9c9e0d5bc16728879d..18dae37d65552077aa3825c76f433bbd
});
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a0455f590d549343d6d8fd7991ba1b87a87acdb8..e7749a3ef6289d73379649f2f76f4e4fdfac7a8b 100644
+index 1c87019f5eb8e51accef3dc7ee949cdf2bec8f72..ea4e1bf4bfe003c102ecce5958131aa86ec83864 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1689,20 +1689,20 @@ public class CraftEventFactory {
diff --git a/patches/server/0909-Add-PlayerShieldDisableEvent.patch b/patches/server/0908-Add-PlayerShieldDisableEvent.patch
index d2d860a028..d2d860a028 100644
--- a/patches/server/0909-Add-PlayerShieldDisableEvent.patch
+++ b/patches/server/0908-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/server/0910-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0909-Validate-ResourceLocation-in-NBT-reading.patch
index 5374ae13cb..cbc12c1bb2 100644
--- a/patches/server/0910-Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/0909-Validate-ResourceLocation-in-NBT-reading.patch
@@ -85,7 +85,7 @@ index b7721ed97305d1cd6725935f965c2effc1bef5a1..5f880a8809f9c20bc8e8c0b2d48590ba
if (nbt.contains("leash", 11)) {
Either<UUID, BlockPos> either = (Either) NbtUtils.readBlockPos(nbt, "leash").map(Either::right).orElse(null); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 97a524db692b7367f22a373439c1233b143f4a17..2fa73a9f444628a5e0df9f54e9bcd453973f0029 100644
+index bd2df2a70e78b68b5eefd9c0b6fe14f9717fb1d7..c1c92bdbe133bd60cf2920a2195bbb15d0f94455 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -909,11 +909,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0911-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0910-Properly-handle-experience-dropping-on-block-break.patch
index 5b45a7fb92..5b45a7fb92 100644
--- a/patches/server/0911-Properly-handle-experience-dropping-on-block-break.patch
+++ b/patches/server/0910-Properly-handle-experience-dropping-on-block-break.patch
diff --git a/patches/server/0912-Fixup-NamespacedKey-handling.patch b/patches/server/0911-Fixup-NamespacedKey-handling.patch
index 2de1c49d0b..2de1c49d0b 100644
--- a/patches/server/0912-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0911-Fixup-NamespacedKey-handling.patch
diff --git a/patches/server/0913-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0912-Expose-LootTable-of-DecoratedPot.patch
index afa86977a9..afa86977a9 100644
--- a/patches/server/0913-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/server/0912-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/server/0914-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0913-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
index c1b9e8e12b..c1b9e8e12b 100644
--- a/patches/server/0914-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
+++ b/patches/server/0913-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
diff --git a/patches/server/0915-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0914-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
index 4ed1121ea1..4ed1121ea1 100644
--- a/patches/server/0915-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
+++ b/patches/server/0914-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
diff --git a/patches/server/0916-Add-ShulkerDuplicateEvent.patch b/patches/server/0915-Add-ShulkerDuplicateEvent.patch
index f06c91ae48..f06c91ae48 100644
--- a/patches/server/0916-Add-ShulkerDuplicateEvent.patch
+++ b/patches/server/0915-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0916-Add-api-for-spawn-egg-texture-colors.patch
index d894cc200c..d894cc200c 100644
--- a/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/0916-Add-api-for-spawn-egg-texture-colors.patch
diff --git a/patches/server/0918-Add-Lifecycle-Event-system.patch b/patches/server/0917-Add-Lifecycle-Event-system.patch
index 6b71908eac..b1b86fa7e1 100644
--- a/patches/server/0918-Add-Lifecycle-Event-system.patch
+++ b/patches/server/0917-Add-Lifecycle-Event-system.patch
@@ -727,7 +727,7 @@ index 2e96308696e131f3f013469a395e5ddda2c5d529..65a66e484c1c39c5f41d97db52f31c67
} catch (Throwable e) {
LOGGER.error("Failed to run bootstrapper for %s. This plugin will not be loaded.".formatted(provider.getSource()), e);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9ab601a8e455196cd04dfa0fa81c4d356ec62b13..5112fdb9faf4b2761bb2b7107c49952f37be030c 100644
+index ee79e3374b50ba21620a9685975a0341c15f313b..7cc96d03472a4cb94e679251f0969995284f7eaa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1050,6 +1050,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0919-ItemStack-Tooltip-API.patch b/patches/server/0918-ItemStack-Tooltip-API.patch
index f3abeb774c..f3abeb774c 100644
--- a/patches/server/0919-ItemStack-Tooltip-API.patch
+++ b/patches/server/0918-ItemStack-Tooltip-API.patch
diff --git a/patches/server/0920-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/0919-Add-getChunkSnapshot-includeLightData-parameter.patch
index ba33560bab..ba33560bab 100644
--- a/patches/server/0920-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/server/0919-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/server/0921-Add-FluidState-API.patch b/patches/server/0920-Add-FluidState-API.patch
index e1e2fe004f..e1e2fe004f 100644
--- a/patches/server/0921-Add-FluidState-API.patch
+++ b/patches/server/0920-Add-FluidState-API.patch
diff --git a/patches/server/0922-add-number-format-api.patch b/patches/server/0921-add-number-format-api.patch
index d412b5f929..d412b5f929 100644
--- a/patches/server/0922-add-number-format-api.patch
+++ b/patches/server/0921-add-number-format-api.patch
diff --git a/patches/server/0923-improve-BanList-types.patch b/patches/server/0922-improve-BanList-types.patch
index c89914131f..4d46a5f1dc 100644
--- a/patches/server/0923-improve-BanList-types.patch
+++ b/patches/server/0922-improve-BanList-types.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] improve BanList types
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a2c749b2997557fec5c978f3bed8c35d7614e740..6136037d3d096300d93b9710dd854224b30e0738 100644
+index 7cc96d03472a4cb94e679251f0969995284f7eaa..54ef70eff81194c85d6433d00382a5909b6d797f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2260,6 +2260,21 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0924-Expanded-Hopper-API.patch b/patches/server/0923-Expanded-Hopper-API.patch
index 2b59ac9974..2b59ac9974 100644
--- a/patches/server/0924-Expanded-Hopper-API.patch
+++ b/patches/server/0923-Expanded-Hopper-API.patch
diff --git a/patches/server/0925-Add-BlockBreakProgressUpdateEvent.patch b/patches/server/0924-Add-BlockBreakProgressUpdateEvent.patch
index 9b57c89df5..35b4cf39bc 100644
--- a/patches/server/0925-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/server/0924-Add-BlockBreakProgressUpdateEvent.patch
@@ -5,10 +5,10 @@ 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 7a985c30a973efacf3e8b70e7163c550d86b0870..ea1281c9a3b83b17de64d583e029db9bacabcd88 100644
+index 7ab4e93ae11e3a510cb58aeed8029c19dfccf31d..b8c7894ad47280ecdc141e7075e3723156214e93 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1285,6 +1285,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1290,6 +1290,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (entity instanceof Player) entityhuman = (Player) entity;
// CraftBukkit end
diff --git a/patches/server/0926-Deprecate-ItemStack-setType.patch b/patches/server/0925-Deprecate-ItemStack-setType.patch
index e58b22013f..e58b22013f 100644
--- a/patches/server/0926-Deprecate-ItemStack-setType.patch
+++ b/patches/server/0925-Deprecate-ItemStack-setType.patch
diff --git a/patches/server/0927-Add-CartographyItemEvent.patch b/patches/server/0926-Add-CartographyItemEvent.patch
index 11d1fd5ed9..11d1fd5ed9 100644
--- a/patches/server/0927-Add-CartographyItemEvent.patch
+++ b/patches/server/0926-Add-CartographyItemEvent.patch
diff --git a/patches/server/0928-More-Raid-API.patch b/patches/server/0927-More-Raid-API.patch
index 6fc560a121..c9f33a2368 100644
--- a/patches/server/0928-More-Raid-API.patch
+++ b/patches/server/0927-More-Raid-API.patch
@@ -86,10 +86,10 @@ index b8ce1c1c2447f9cff1717bfcfd6eb911ade0d4b3..51f21af9d75769abdcba713b9aa33392
+ // Paper end - more Raid API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index e8b1d8fb12280f733b3d96a78991b14dcb4484c4..86d653da7e0ed8123e769eb48c6de2e1396e4fe0 100644
+index 77faa873b22f59d27d5a99f4fef0d86a977875d0..06b73ace3ae89e8a9de592bb4b8439b4e0cac9f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2318,6 +2318,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2306,6 +2306,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (raid == null) ? null : new CraftRaid(raid);
}
diff --git a/patches/server/0929-Add-onboarding-message-for-initial-server-start.patch b/patches/server/0928-Add-onboarding-message-for-initial-server-start.patch
index 64a7380197..64a7380197 100644
--- a/patches/server/0929-Add-onboarding-message-for-initial-server-start.patch
+++ b/patches/server/0928-Add-onboarding-message-for-initial-server-start.patch
diff --git a/patches/server/0930-Configurable-max-block-fluid-ticks.patch b/patches/server/0929-Configurable-max-block-fluid-ticks.patch
index c93e0006cc..8f7fdf137d 100644
--- a/patches/server/0930-Configurable-max-block-fluid-ticks.patch
+++ b/patches/server/0929-Configurable-max-block-fluid-ticks.patch
@@ -5,10 +5,10 @@ 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 ea1281c9a3b83b17de64d583e029db9bacabcd88..711d5136124c0fa21015f0154057ab5742071e59 100644
+index b8c7894ad47280ecdc141e7075e3723156214e93..a0d663a8f041018b617099be86a133f814ad6356 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -489,9 +489,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -494,9 +494,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (!this.isDebug() && flag) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
diff --git a/patches/server/0931-Fix-bees-aging-inside-hives.patch b/patches/server/0930-Fix-bees-aging-inside-hives.patch
index 8d4dcd0b64..8d4dcd0b64 100644
--- a/patches/server/0931-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0930-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0932-Disable-memory-reserve-allocating.patch b/patches/server/0931-Disable-memory-reserve-allocating.patch
index ea801f5092..ea801f5092 100644
--- a/patches/server/0932-Disable-memory-reserve-allocating.patch
+++ b/patches/server/0931-Disable-memory-reserve-allocating.patch
diff --git a/patches/server/0933-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0932-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
index 3cf04503d8..3cf04503d8 100644
--- a/patches/server/0933-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
+++ b/patches/server/0932-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
diff --git a/patches/server/0934-Fix-DamageSource-API.patch b/patches/server/0933-Fix-DamageSource-API.patch
index d03ac9d5ef..641e4cb5ad 100644
--- a/patches/server/0934-Fix-DamageSource-API.patch
+++ b/patches/server/0933-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 b7594a0fd6fe7e25d13202c95b2c39a04e84abde..6ebd653ea3c302f26d02f81b6718924708148e4c 100644
+index b2a62e6414abbe10b3338fcc1d68530856d59ba4..ef764777c3054522aa875026addd3d1e7cc3d2ec 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3389,7 +3389,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
diff --git a/patches/server/0935-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0934-Fix-creation-of-invalid-block-entity-during-world-ge.patch
index d12e5cd665..d12e5cd665 100644
--- a/patches/server/0935-Fix-creation-of-invalid-block-entity-during-world-ge.patch
+++ b/patches/server/0934-Fix-creation-of-invalid-block-entity-during-world-ge.patch
diff --git a/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch b/patches/server/0935-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
index 2041bbd5a1..2041bbd5a1 100644
--- a/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
+++ b/patches/server/0935-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch
diff --git a/patches/server/0937-Improve-tag-parser-handling.patch b/patches/server/0936-Improve-tag-parser-handling.patch
index 2d01b18c07..2d01b18c07 100644
--- a/patches/server/0937-Improve-tag-parser-handling.patch
+++ b/patches/server/0936-Improve-tag-parser-handling.patch
diff --git a/patches/server/0938-Item-Mutation-Fixes.patch b/patches/server/0937-Item-Mutation-Fixes.patch
index f7242e591f..f7242e591f 100644
--- a/patches/server/0938-Item-Mutation-Fixes.patch
+++ b/patches/server/0937-Item-Mutation-Fixes.patch
diff --git a/patches/server/0939-Per-world-ticks-per-spawn-settings.patch b/patches/server/0938-Per-world-ticks-per-spawn-settings.patch
index 2746e3483b..2746e3483b 100644
--- a/patches/server/0939-Per-world-ticks-per-spawn-settings.patch
+++ b/patches/server/0938-Per-world-ticks-per-spawn-settings.patch
diff --git a/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0939-Properly-track-the-changed-item-from-dispense-events.patch
index 7b03ec7aef..7b03ec7aef 100644
--- a/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch
+++ b/patches/server/0939-Properly-track-the-changed-item-from-dispense-events.patch
diff --git a/patches/server/0941-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0940-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
index 5c06384279..5c06384279 100644
--- a/patches/server/0941-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
+++ b/patches/server/0940-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
diff --git a/patches/server/0942-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0941-Add-config-for-mobs-immune-to-default-effects.patch
index c3b01a16ed..c3b01a16ed 100644
--- a/patches/server/0942-Add-config-for-mobs-immune-to-default-effects.patch
+++ b/patches/server/0941-Add-config-for-mobs-immune-to-default-effects.patch
diff --git a/patches/server/0943-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0942-Deep-clone-nbt-tags-in-PDC.patch
index 559c6cddea..f2a98afbc1 100644
--- a/patches/server/0943-Deep-clone-nbt-tags-in-PDC.patch
+++ b/patches/server/0942-Deep-clone-nbt-tags-in-PDC.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone nbt tags in PDC
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 3bcc807005a677884255f1ee36cbf1653797ba55..8d13505c36d732f17293c6a6d65cac20919b8b7a 100644
+index 2948fc39ad2f65739dea6b8256112b85ea755340..8cfc5a381aa39b8ec396efeed6d456cbf3e792f9 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -372,7 +372,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0944-Support-old-UUID-format-for-NBT.patch b/patches/server/0943-Support-old-UUID-format-for-NBT.patch
index 68ff8a5255..68ff8a5255 100644
--- a/patches/server/0944-Support-old-UUID-format-for-NBT.patch
+++ b/patches/server/0943-Support-old-UUID-format-for-NBT.patch
diff --git a/patches/server/0945-Fix-shield-disable-inconsistency.patch b/patches/server/0944-Fix-shield-disable-inconsistency.patch
index 3dcabedf09..0c35d7cbf8 100644
--- a/patches/server/0945-Fix-shield-disable-inconsistency.patch
+++ b/patches/server/0944-Fix-shield-disable-inconsistency.patch
@@ -8,7 +8,7 @@ it will not disable the shield if the attacker is holding
an axe item.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 9154f43b578176e13604a7cbd8c210ff3b0ecce9..241c0b1d509bf60104820914a32b81edfdbb33c4 100644
+index c1c92bdbe133bd60cf2920a2195bbb15d0f94455..d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2425,7 +2425,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0946-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0945-Handle-Large-Packets-disconnecting-client.patch
index 32e463a242..32e463a242 100644
--- a/patches/server/0946-Handle-Large-Packets-disconnecting-client.patch
+++ b/patches/server/0945-Handle-Large-Packets-disconnecting-client.patch
diff --git a/patches/server/0947-Fix-ItemFlags.patch b/patches/server/0946-Fix-ItemFlags.patch
index e045394f3c..e37a753912 100644
--- a/patches/server/0947-Fix-ItemFlags.patch
+++ b/patches/server/0946-Fix-ItemFlags.patch
@@ -33,7 +33,7 @@ index 73fe41322e0349ad1d46a760f621b6c91112e90e..19af55ec2bf62b70bd3be44f499b32f5
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 8d13505c36d732f17293c6a6d65cac20919b8b7a..6b3eed94c26bc16177f9b9fadd140f9a89163af2 100644
+index 8cfc5a381aa39b8ec396efeed6d456cbf3e792f9..6641c72ddb9fd55f1c25f33a5272fd3c85a6cf5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -275,6 +275,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0948-Fix-damage-modifier-inconsistencies.patch b/patches/server/0947-Fix-damage-modifier-inconsistencies.patch
index 1494c35c06..57f6c98116 100644
--- a/patches/server/0948-Fix-damage-modifier-inconsistencies.patch
+++ b/patches/server/0947-Fix-damage-modifier-inconsistencies.patch
@@ -8,7 +8,7 @@ reduction is not applied like in Vanilla.
Additionally fix the "is_freezing" damage type tag.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 418e67ef5896325fe143501f5a4f1604b065ba0f..864e4c660bf3d381880e5928b6945bea213ac57e 100644
+index 41a0650bfd6e72b83364441dd76df3d561d3163e..deba03eb37012c638e08e20cd1c98e9db190c790 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1222,11 +1222,11 @@ public class CraftEventFactory {
diff --git a/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0948-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
index ce7f3d5550..811e5396d1 100644
--- a/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
+++ b/patches/server/0948-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Revert to vanilla handling of LivingEntity#actuallyHurt
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 241c0b1d509bf60104820914a32b81edfdbb33c4..fe545447bdb982355491ec83c14993325dcc799d 100644
+index d08eec460a67fbd0b2ed2e0dd6d557dc629f4dfe..555d1b05ef6278567de598488b9486db965b8587 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1455,7 +1455,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0950-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0949-improve-checking-handled-tags-in-itemmeta.patch
index 8d257c881d..f90c4b0ad0 100644
--- a/patches/server/0950-improve-checking-handled-tags-in-itemmeta.patch
+++ b/patches/server/0949-improve-checking-handled-tags-in-itemmeta.patch
@@ -456,7 +456,7 @@ index 4941e0afff8df5f10f06c715b54bf58eb86051c5..566d893a413fd04b99e83dc2da8fe958
getOrEmpty(tag, CraftMetaFirework.FIREWORKS).ifPresent((fireworks) -> {
this.power = fireworks.flightDuration();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 6b3eed94c26bc16177f9b9fadd140f9a89163af2..13b19adc21ece31476b2980c5bc01a50f15df634 100644
+index 6641c72ddb9fd55f1c25f33a5272fd3c85a6cf5c..c42a6ced8c04dc04c918550ab8f9722d89183cca 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -389,7 +389,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0951-Expose-hasColor-to-leather-armor.patch b/patches/server/0950-Expose-hasColor-to-leather-armor.patch
index 9166ad6261..9166ad6261 100644
--- a/patches/server/0951-Expose-hasColor-to-leather-armor.patch
+++ b/patches/server/0950-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/server/0952-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0951-Added-API-to-get-player-ha-proxy-address.patch
index c52dab2de0..b1e5e78bb0 100644
--- a/patches/server/0952-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/server/0951-Added-API-to-get-player-ha-proxy-address.patch
@@ -35,7 +35,7 @@ index c62df32af11636ad408b584fcc590590ce4fb0d0..baed0bb80d44973f9323bbe536551182
} else {
super.channelRead(ctx, msg);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 58d12409447903f855baa6beb149aa658bf7b1bb..766c1e80997d1bed99f4ebf9499eec60bf70a536 100644
+index a1c7e7b95718562d86ee8e6da1bb6e6b5d82ce7a..700751a1469dd99339e6502e96cd98e72feee803 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -270,7 +270,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0953-General-ItemMeta-fixes.patch b/patches/server/0952-General-ItemMeta-fixes.patch
index 4c8bd99900..4c8bd99900 100644
--- a/patches/server/0953-General-ItemMeta-fixes.patch
+++ b/patches/server/0952-General-ItemMeta-fixes.patch
diff --git a/patches/server/0954-More-Chest-Block-API.patch b/patches/server/0953-More-Chest-Block-API.patch
index d7c00f61e1..d7c00f61e1 100644
--- a/patches/server/0954-More-Chest-Block-API.patch
+++ b/patches/server/0953-More-Chest-Block-API.patch
diff --git a/patches/server/0955-Print-data-component-type-on-encoding-error.patch b/patches/server/0954-Print-data-component-type-on-encoding-error.patch
index f003f33b92..f003f33b92 100644
--- a/patches/server/0955-Print-data-component-type-on-encoding-error.patch
+++ b/patches/server/0954-Print-data-component-type-on-encoding-error.patch
diff --git a/patches/server/0956-Brigadier-based-command-API.patch b/patches/server/0955-Brigadier-based-command-API.patch
index 924a5f032b..9d2a8822f5 100644
--- a/patches/server/0956-Brigadier-based-command-API.patch
+++ b/patches/server/0955-Brigadier-based-command-API.patch
@@ -2376,7 +2376,7 @@ index c4ffa8519b520e0793af90e149518951d7ffb65b..688916c8fef40d4c81379ad38609a979
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1827b6d6e1d14b89305da61b261cb3720690922f..0289bd3e047847a1ecd66ca30863bd0408645667 100644
+index 54ef70eff81194c85d6433d00382a5909b6d797f..c65a4bb7f1818378a5e571d39a5aabe8ad87d16c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -275,11 +275,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0957-Fix-issues-with-Recipe-API.patch b/patches/server/0956-Fix-issues-with-Recipe-API.patch
index d0ead5ed62..d0ead5ed62 100644
--- a/patches/server/0957-Fix-issues-with-Recipe-API.patch
+++ b/patches/server/0956-Fix-issues-with-Recipe-API.patch
diff --git a/patches/server/0958-Fix-equipment-slot-and-group-API.patch b/patches/server/0957-Fix-equipment-slot-and-group-API.patch
index 8c113014bb..aeb8a79cfa 100644
--- a/patches/server/0958-Fix-equipment-slot-and-group-API.patch
+++ b/patches/server/0957-Fix-equipment-slot-and-group-API.patch
@@ -52,7 +52,7 @@ index e62baea16df017f1e394e3c706157e158066eb93..656c9a6d8cd42891141ee29ec91ab5d1
throw new IllegalArgumentException("Could not get slot " + slot + " - not a valid slot for PlayerInventory");
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 71d0ade48d450b76be9cb396ac613fa4c783679e..b24857e34d87ea4fa9aa0db0ba684014c2625cc1 100644
+index 29946404ed7fe29c9f7457fcf5650111cd6411a9..37a8954f37a97afdbcc7b7c7026371f477cb3655 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1704,7 +1704,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0959-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0958-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
index 8b39d13b43..8b39d13b43 100644
--- a/patches/server/0959-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
+++ b/patches/server/0958-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
diff --git a/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0959-Prevent-sending-oversized-item-data-in-equipment-and.patch
index 58783adedb..75e7f6ee9d 100644
--- a/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0959-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -222,7 +222,7 @@ index 688916c8fef40d4c81379ad38609a97993b4b702..6cf3b28749d92b4e33e2f88c6335c9a6
ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - fix slot desync - always refresh player inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index fe545447bdb982355491ec83c14993325dcc799d..6feab3d1b85857ab2c5b2228f2b0d5e6c2a5518d 100644
+index 555d1b05ef6278567de598488b9486db965b8587..e33130ca8f3d2572018dd782b366af2989a95fd6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3461,7 +3461,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0961-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0960-Prevent-NPE-if-hooked-entity-was-cleared.patch
index f51092a291..f51092a291 100644
--- a/patches/server/0961-Prevent-NPE-if-hooked-entity-was-cleared.patch
+++ b/patches/server/0960-Prevent-NPE-if-hooked-entity-was-cleared.patch
diff --git a/patches/server/0962-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0961-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
index 4b06a0c06a..4b06a0c06a 100644
--- a/patches/server/0962-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
+++ b/patches/server/0961-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
diff --git a/patches/server/0963-Add-missing-fishing-event-state.patch b/patches/server/0962-Add-missing-fishing-event-state.patch
index 5bc1574135..5bc1574135 100644
--- a/patches/server/0963-Add-missing-fishing-event-state.patch
+++ b/patches/server/0962-Add-missing-fishing-event-state.patch
diff --git a/patches/server/0964-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0963-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index 8a27d911c5..8a27d911c5 100644
--- a/patches/server/0964-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/server/0963-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
diff --git a/patches/server/0965-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0964-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
index 1abf467e7e..1abf467e7e 100644
--- a/patches/server/0965-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
+++ b/patches/server/0964-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
diff --git a/patches/server/0966-Adopt-MaterialRerouting.patch b/patches/server/0965-Adopt-MaterialRerouting.patch
index 648057e1dd..648057e1dd 100644
--- a/patches/server/0966-Adopt-MaterialRerouting.patch
+++ b/patches/server/0965-Adopt-MaterialRerouting.patch
diff --git a/patches/server/0967-Suspicious-Effect-Entry-API.patch b/patches/server/0966-Suspicious-Effect-Entry-API.patch
index d2599dfa85..d2599dfa85 100644
--- a/patches/server/0967-Suspicious-Effect-Entry-API.patch
+++ b/patches/server/0966-Suspicious-Effect-Entry-API.patch
diff --git a/patches/server/0968-check-if-itemstack-is-stackable-first.patch b/patches/server/0967-check-if-itemstack-is-stackable-first.patch
index a7ddd8df5b..a7ddd8df5b 100644
--- a/patches/server/0968-check-if-itemstack-is-stackable-first.patch
+++ b/patches/server/0967-check-if-itemstack-is-stackable-first.patch
diff --git a/patches/server/0969-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0968-Fix-removing-recipes-from-RecipeIterator.patch
index f64e093768..f64e093768 100644
--- a/patches/server/0969-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0968-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0969-Configurable-damage-tick-when-blocking-with-shield.patch
index a161fd71b6..7946c9fb9e 100644
--- a/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch
+++ b/patches/server/0969-Configurable-damage-tick-when-blocking-with-shield.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable damage tick when blocking with shield
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 6feab3d1b85857ab2c5b2228f2b0d5e6c2a5518d..ff7616e1d6d6c821a75649812ec69e0dc6a8e378 100644
+index e33130ca8f3d2572018dd782b366af2989a95fd6..6a89a9af2ccb82ee1162b14f4be5a868b927a34d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2487,7 +2487,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0971-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0970-Properly-remove-the-experimental-smithing-inventory-.patch
index 9ede88caa7..9ede88caa7 100644
--- a/patches/server/0971-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/server/0970-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/server/0972-disable-forced-empty-world-ticks.patch b/patches/server/0971-disable-forced-empty-world-ticks.patch
index ae366dd7f0..dd54449a10 100644
--- a/patches/server/0972-disable-forced-empty-world-ticks.patch
+++ b/patches/server/0971-disable-forced-empty-world-ticks.patch
@@ -5,10 +5,10 @@ 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 711d5136124c0fa21015f0154057ab5742071e59..24df2baaeb34eccbe148ac0e518f44e9a869ffa5 100644
+index a0d663a8f041018b617099be86a133f814ad6356..b6b80285a54efd6012c4eedbdc5b2af702f27981 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -509,7 +509,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -514,7 +514,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.handlingTick = false;
gameprofilerfiller.pop();
diff --git a/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0972-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index a2e8a59019..a2e8a59019 100644
--- a/patches/server/0973-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/0972-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
diff --git a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 8ab2de5f02..9962dfd635 100644
--- a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0973-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -15,10 +15,10 @@ 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 24df2baaeb34eccbe148ac0e518f44e9a869ffa5..ce148cf5930cdcf0163c7f6416cbbd89e4d22720 100644
+index b6b80285a54efd6012c4eedbdc5b2af702f27981..be35f9ab6d8877aad755a6ac0344a901b61a49de 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2333,6 +2333,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2338,6 +2338,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
{
if ( iter.next().player == entity )
{
@@ -27,7 +27,7 @@ index 24df2baaeb34eccbe148ac0e518f44e9a869ffa5..ce148cf5930cdcf0163c7f6416cbbd89
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index df21cd1bd2a3dda7169edbea18bbfdf043db76f8..b6b8687fc79c060cd65e04dc67c855c775ab7684 100644
+index 55a4424c47591d1bcaba306f6af877a4fb7144bf..a13f88ed2ce39848b1fe1673265cf6c62adbfb66 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2811,6 +2811,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player {
diff --git a/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0974-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index a22e16473b..a22e16473b 100644
--- a/patches/server/0975-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/0974-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
diff --git a/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0975-Allow-Saving-of-Oversized-Chunks.patch
index 59ac229e5b..59ac229e5b 100644
--- a/patches/server/0976-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/0975-Allow-Saving-of-Oversized-Chunks.patch
diff --git a/patches/server/0977-Flat-bedrock-generator-settings.patch b/patches/server/0976-Flat-bedrock-generator-settings.patch
index f9c0bab64c..f9c0bab64c 100644
--- a/patches/server/0977-Flat-bedrock-generator-settings.patch
+++ b/patches/server/0976-Flat-bedrock-generator-settings.patch
diff --git a/patches/server/0978-Entity-Activation-Range-2.0.patch b/patches/server/0977-Entity-Activation-Range-2.0.patch
index c69bbf042a..d11a88d699 100644
--- a/patches/server/0978-Entity-Activation-Range-2.0.patch
+++ b/patches/server/0977-Entity-Activation-Range-2.0.patch
@@ -19,10 +19,10 @@ Feature patch
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 ce148cf5930cdcf0163c7f6416cbbd89e4d22720..cd00b534e4c527e0b4a5ad78cde87c22c49b4c33 100644
+index be35f9ab6d8877aad755a6ac0344a901b61a49de..5b1ba650973a603ecb77324eb18dda4647e0340b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -962,11 +962,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -967,11 +967,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public void tickNonPassenger(Entity entity) {
// Spigot start
@@ -36,7 +36,7 @@ index ce148cf5930cdcf0163c7f6416cbbd89e4d22720..cd00b534e4c527e0b4a5ad78cde87c22
// Spigot end
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = Profiler.get();
-@@ -976,20 +976,23 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -981,20 +981,23 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString();
});
gameprofilerfiller.incrementCounter("tickNonPassenger");
@@ -62,7 +62,7 @@ index ce148cf5930cdcf0163c7f6416cbbd89e4d22720..cd00b534e4c527e0b4a5ad78cde87c22
if (!passenger.isRemoved() && passenger.getVehicle() == vehicle) {
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
passenger.setOldPosAndRot();
-@@ -1000,15 +1003,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1005,15 +1008,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return BuiltInRegistries.ENTITY_TYPE.getKey(passenger.getType()).toString();
});
gameprofilerfiller.incrementCounter("tickPassenger");
diff --git a/patches/server/0979-Anti-Xray.patch b/patches/server/0978-Anti-Xray.patch
index 89ade95f20..71308aabb0 100644
--- a/patches/server/0979-Anti-Xray.patch
+++ b/patches/server/0978-Anti-Xray.patch
@@ -1105,10 +1105,10 @@ 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 cd00b534e4c527e0b4a5ad78cde87c22c49b4c33..32f8186b1502b481c1100f7fdba0339ae3dd34fa 100644
+index 5b1ba650973a603ecb77324eb18dda4647e0340b..c5f3e4dff83a85a3a5f29534afd84d4a332b1d3e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -343,7 +343,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -348,7 +348,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
@@ -1599,7 +1599,7 @@ index 5fc9e8e969debb3e15ed474b36a1c48b086d0449..f65cc95ab28e8a3b21eac2b16bd9ebe9
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 0289bd3e047847a1ecd66ca30863bd0408645667..a3c6ad1a53bdfd9bd928951983a503afba9eedc3 100644
+index c65a4bb7f1818378a5e571d39a5aabe8ad87d16c..758d86865136e5ef58f401f00c5e62fbb8cf25a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2702,7 +2702,7 @@ public final class CraftServer implements Server {
@@ -1612,10 +1612,10 @@ index 0289bd3e047847a1ecd66ca30863bd0408645667..a3c6ad1a53bdfd9bd928951983a503af
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 86d653da7e0ed8123e769eb48c6de2e1396e4fe0..d7726177e6085faa1169767835d5cb666e4a67bc 100644
+index 06b73ace3ae89e8a9de592bb4b8439b4e0cac9f2..5ce8d2a57fd2f29d227d223f1f5742540f1701bd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -464,11 +464,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -452,11 +452,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/0980-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0979-Use-Velocity-compression-and-cipher-natives.patch
index 1ba1f2e920..8459cc1aba 100644
--- a/patches/server/0980-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0979-Use-Velocity-compression-and-cipher-natives.patch
@@ -9,7 +9,7 @@ Feature patch
private-f net.minecraft.network.CompressionDecoder inflater
diff --git a/build.gradle.kts b/build.gradle.kts
-index c8f3c53a84451cc19c958c1468cf1520f9d3347a..3288d59c9635819aef0bd864c64cb80e339c050f 100644
+index 9b514a9aa1d386481a1ee5077178564cd569117c..9e6c2a4630ce75e4115f76b5e7a1e0b50e8b3197 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -50,6 +50,11 @@ dependencies {
diff --git a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0980-Optimize-Collision-to-not-load-chunks.patch
index b67457788b..b67457788b 100644
--- a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/0980-Optimize-Collision-to-not-load-chunks.patch
diff --git a/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/0981-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index 9a50ca7915..9a50ca7915 100644
--- a/patches/server/0982-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/0981-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
diff --git a/patches/server/0983-Optimize-Hoppers.patch b/patches/server/0982-Optimize-Hoppers.patch
index 21523246d3..21523246d3 100644
--- a/patches/server/0983-Optimize-Hoppers.patch
+++ b/patches/server/0982-Optimize-Hoppers.patch
diff --git a/patches/server/0984-Optimize-Voxel-Shape-Merging.patch b/patches/server/0983-Optimize-Voxel-Shape-Merging.patch
index fe52a8b802..fe52a8b802 100644
--- a/patches/server/0984-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/0983-Optimize-Voxel-Shape-Merging.patch
diff --git a/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch b/patches/server/0984-Optimize-Bit-Operations-by-inlining.patch
index 2659c21023..2659c21023 100644
--- a/patches/server/0985-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/0984-Optimize-Bit-Operations-by-inlining.patch
diff --git a/patches/server/0986-Remove-streams-from-hot-code.patch b/patches/server/0985-Remove-streams-from-hot-code.patch
index bab16c74ad..bab16c74ad 100644
--- a/patches/server/0986-Remove-streams-from-hot-code.patch
+++ b/patches/server/0985-Remove-streams-from-hot-code.patch
diff --git a/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0986-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index edf50d7e23..edf50d7e23 100644
--- a/patches/server/0987-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/0986-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
diff --git a/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0987-Fix-entity-type-tags-suggestions-in-selectors.patch
index f29fc5c649..f29fc5c649 100644
--- a/patches/server/0988-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/0987-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/0988-Handle-Oversized-block-entities-in-chunks.patch
index 5098df0611..5098df0611 100644
--- a/patches/server/0989-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/0988-Handle-Oversized-block-entities-in-chunks.patch
diff --git a/patches/server/0990-Check-distance-in-entity-interactions.patch b/patches/server/0989-Check-distance-in-entity-interactions.patch
index 2e36b3f8e3..bc351d5fd9 100644
--- a/patches/server/0990-Check-distance-in-entity-interactions.patch
+++ b/patches/server/0989-Check-distance-in-entity-interactions.patch
@@ -18,7 +18,7 @@ index 57223285860f61119b6cf348aa78e59384a04e22..ccfe9ef24dce9f34613692adb13738d3
};
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ff7616e1d6d6c821a75649812ec69e0dc6a8e378..bd34c878d8ca6fb4e4f526761fd657b250c26d80 100644
+index 6a89a9af2ccb82ee1162b14f4be5a868b927a34d..ed26eb5e8cc9a46e4a4d2c58d587463d5571a8e0 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 {
diff --git a/patches/server/0991-Configurable-Sand-Duping.patch b/patches/server/0990-Configurable-Sand-Duping.patch
index d209e03e1e..d209e03e1e 100644
--- a/patches/server/0991-Configurable-Sand-Duping.patch
+++ b/patches/server/0990-Configurable-Sand-Duping.patch
diff --git a/patches/server/0992-Properly-resend-entities.patch b/patches/server/0991-Properly-resend-entities.patch
index d8b50689d8..01b1658ae9 100644
--- a/patches/server/0992-Properly-resend-entities.patch
+++ b/patches/server/0991-Properly-resend-entities.patch
@@ -188,7 +188,7 @@ index 6a4f52342c5a195206ecf3ac118e8a4df4d2f3d2..20fcfb7d7d2541731452454d78f69672
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 bd34c878d8ca6fb4e4f526761fd657b250c26d80..016be3addd3bf0ae3dd5f6094de3902206c5b43a 100644
+index ed26eb5e8cc9a46e4a4d2c58d587463d5571a8e0..5616391f02f8599f5786a6d8e740a0ed9290627f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4030,6 +4030,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0993-Registry-Modification-API.patch b/patches/server/0992-Registry-Modification-API.patch
index 17e32ead7f..bd82d9ecf8 100644
--- a/patches/server/0993-Registry-Modification-API.patch
+++ b/patches/server/0992-Registry-Modification-API.patch
@@ -11,7 +11,7 @@ public net.minecraft.resources.RegistryOps lookupProvider
public net.minecraft.resources.RegistryOps$HolderLookupAdapter
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
-index 39120c63ed25d45a4083523fbfe79d871f4d892e..f563e6e7a558d22f571154640e99cc86718c89f5 100644
+index c6969f968b45eff2aeb44e647712abda10c7c113..d34ffad8a36abbb215491d74ae8d9b490a0bc64f 100644
--- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java
+++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
@@ -2,6 +2,7 @@ package io.papermc.paper.registry;
diff --git a/patches/server/0994-Add-registry-entry-and-builders.patch b/patches/server/0993-Add-registry-entry-and-builders.patch
index be3eccb69a..be3eccb69a 100644
--- a/patches/server/0994-Add-registry-entry-and-builders.patch
+++ b/patches/server/0993-Add-registry-entry-and-builders.patch
diff --git a/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/0994-Proxy-ItemStack-to-CraftItemStack.patch
index c7dfc54b2e..c7dfc54b2e 100644
--- a/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch
+++ b/patches/server/0994-Proxy-ItemStack-to-CraftItemStack.patch
diff --git a/patches/server/0996-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/server/0995-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
index f0bd1ac5eb..f0bd1ac5eb 100644
--- a/patches/server/0996-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
+++ b/patches/server/0995-Make-a-PDC-view-accessible-directly-from-ItemStack.patch
diff --git a/patches/server/0997-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/server/0996-Prioritize-Minecraft-commands-in-function-parsing-an.patch
index c22d5f09be..c22d5f09be 100644
--- a/patches/server/0997-Prioritize-Minecraft-commands-in-function-parsing-an.patch
+++ b/patches/server/0996-Prioritize-Minecraft-commands-in-function-parsing-an.patch
diff --git a/patches/server/0998-optimize-dirt-and-snow-spreading.patch b/patches/server/0997-optimize-dirt-and-snow-spreading.patch
index 36f98fb336..36f98fb336 100644
--- a/patches/server/0998-optimize-dirt-and-snow-spreading.patch
+++ b/patches/server/0997-optimize-dirt-and-snow-spreading.patch
diff --git a/patches/server/0999-Fix-NPE-for-Jukebox-setRecord.patch b/patches/server/0998-Fix-NPE-for-Jukebox-setRecord.patch
index c673e4f8c7..c673e4f8c7 100644
--- a/patches/server/0999-Fix-NPE-for-Jukebox-setRecord.patch
+++ b/patches/server/0998-Fix-NPE-for-Jukebox-setRecord.patch
diff --git a/patches/server/1000-fix-horse-inventories.patch b/patches/server/0999-fix-horse-inventories.patch
index 9737a4fa71..9737a4fa71 100644
--- a/patches/server/1000-fix-horse-inventories.patch
+++ b/patches/server/0999-fix-horse-inventories.patch
diff --git a/patches/server/1001-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/1000-Only-call-EntityDamageEvents-before-actuallyHurt.patch
index df30fe3fdd..80cac108bc 100644
--- a/patches/server/1001-Only-call-EntityDamageEvents-before-actuallyHurt.patch
+++ b/patches/server/1000-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 61d4515cce2b5ed73a2202d43b8f96bb63b9a459..2edb4a4a7638f7bea2d50fa3ce8a5d9916c90a26 100644
+index 5616391f02f8599f5786a6d8e740a0ed9290627f..cfef1bff0080ffc662e3a4428116f7d4dc71eab2 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 {
diff --git a/patches/server/1002-Add-ItemType-getItemRarity.patch b/patches/server/1001-Add-ItemType-getItemRarity.patch
index 0863f02f5c..0863f02f5c 100644
--- a/patches/server/1002-Add-ItemType-getItemRarity.patch
+++ b/patches/server/1001-Add-ItemType-getItemRarity.patch
diff --git a/patches/server/1003-Add-plugin-info-at-startup.patch b/patches/server/1002-Add-plugin-info-at-startup.patch
index 051309bbed..051309bbed 100644
--- a/patches/server/1003-Add-plugin-info-at-startup.patch
+++ b/patches/server/1002-Add-plugin-info-at-startup.patch
diff --git a/patches/server/1004-Make-interaction-leniency-distance-configurable.patch b/patches/server/1003-Make-interaction-leniency-distance-configurable.patch
index 236b30655b..236b30655b 100644
--- a/patches/server/1004-Make-interaction-leniency-distance-configurable.patch
+++ b/patches/server/1003-Make-interaction-leniency-distance-configurable.patch
diff --git a/patches/server/1005-Fix-PickupStatus-getting-reset.patch b/patches/server/1004-Fix-PickupStatus-getting-reset.patch
index 5008a8638b..5008a8638b 100644
--- a/patches/server/1005-Fix-PickupStatus-getting-reset.patch
+++ b/patches/server/1004-Fix-PickupStatus-getting-reset.patch
diff --git a/patches/server/1006-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/server/1005-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
index b06a0b6c33..b06a0b6c33 100644
--- a/patches/server/1006-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
+++ b/patches/server/1005-Check-for-block-type-in-SculkSensorBlock-canActivate.patch
diff --git a/patches/server/1007-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/1006-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index 4dfddc64f0..67e1737740 100644
--- a/patches/server/1007-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/server/1006-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index b24857e34d87ea4fa9aa0db0ba684014c2625cc1..5bb37a77363d91222dae833d018da753e3549f93 100644
+index 37a8954f37a97afdbcc7b7c7026371f477cb3655..ab616f58e35458e52fb5a94e39875a188fd6a05b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -2500,4 +2500,119 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/1008-Configuration-for-horizontal-only-item-merging.patch b/patches/server/1007-Configuration-for-horizontal-only-item-merging.patch
index 4b1c29914b..4b1c29914b 100644
--- a/patches/server/1008-Configuration-for-horizontal-only-item-merging.patch
+++ b/patches/server/1007-Configuration-for-horizontal-only-item-merging.patch
diff --git a/patches/server/1009-Add-skipping-world-symlink-scan.patch b/patches/server/1008-Add-skipping-world-symlink-scan.patch
index f3221508c6..f3221508c6 100644
--- a/patches/server/1009-Add-skipping-world-symlink-scan.patch
+++ b/patches/server/1008-Add-skipping-world-symlink-scan.patch
diff --git a/patches/server/1010-Add-even-more-Enchantment-API.patch b/patches/server/1009-Add-even-more-Enchantment-API.patch
index dfc79b5b19..dfc79b5b19 100644
--- a/patches/server/1010-Add-even-more-Enchantment-API.patch
+++ b/patches/server/1009-Add-even-more-Enchantment-API.patch
diff --git a/patches/server/1011-Leashable-API.patch b/patches/server/1010-Leashable-API.patch
index f3cf7dc395..f3cf7dc395 100644
--- a/patches/server/1011-Leashable-API.patch
+++ b/patches/server/1010-Leashable-API.patch
diff --git a/patches/server/1012-Fix-CraftBukkit-drag-system.patch b/patches/server/1011-Fix-CraftBukkit-drag-system.patch
index 29c50814ac..29c50814ac 100644
--- a/patches/server/1012-Fix-CraftBukkit-drag-system.patch
+++ b/patches/server/1011-Fix-CraftBukkit-drag-system.patch
diff --git a/patches/server/1013-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch b/patches/server/1012-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
index c2857c2245..c2857c2245 100644
--- a/patches/server/1013-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
+++ b/patches/server/1012-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch
diff --git a/patches/server/1014-Remove-set-damage-lootable-item-function-from-compas.patch b/patches/server/1013-Remove-set-damage-lootable-item-function-from-compas.patch
index ac0c0e3513..ac0c0e3513 100644
--- a/patches/server/1014-Remove-set-damage-lootable-item-function-from-compas.patch
+++ b/patches/server/1013-Remove-set-damage-lootable-item-function-from-compas.patch
diff --git a/patches/server/1015-Add-enchantment-seed-update-API.patch b/patches/server/1014-Add-enchantment-seed-update-API.patch
index 3725102979..3725102979 100644
--- a/patches/server/1015-Add-enchantment-seed-update-API.patch
+++ b/patches/server/1014-Add-enchantment-seed-update-API.patch
diff --git a/patches/server/1016-Fix-synchronise-sending-chat-to-client-with-updating.patch b/patches/server/1015-Fix-synchronise-sending-chat-to-client-with-updating.patch
index 9f024a9662..9f024a9662 100644
--- a/patches/server/1016-Fix-synchronise-sending-chat-to-client-with-updating.patch
+++ b/patches/server/1015-Fix-synchronise-sending-chat-to-client-with-updating.patch
diff --git a/patches/server/1017-Fix-InventoryOpenEvent-cancellation.patch b/patches/server/1016-Fix-InventoryOpenEvent-cancellation.patch
index eb14b552dc..eb14b552dc 100644
--- a/patches/server/1017-Fix-InventoryOpenEvent-cancellation.patch
+++ b/patches/server/1016-Fix-InventoryOpenEvent-cancellation.patch
diff --git a/patches/server/1018-Fire-BlockExpEvent-on-grindstone-use.patch b/patches/server/1017-Fire-BlockExpEvent-on-grindstone-use.patch
index e5944fabfe..e5944fabfe 100644
--- a/patches/server/1018-Fire-BlockExpEvent-on-grindstone-use.patch
+++ b/patches/server/1017-Fire-BlockExpEvent-on-grindstone-use.patch
diff --git a/patches/server/1019-Check-dead-flag-in-isAlive.patch b/patches/server/1018-Check-dead-flag-in-isAlive.patch
index c2653e4474..0641acbaa9 100644
--- a/patches/server/1019-Check-dead-flag-in-isAlive.patch
+++ b/patches/server/1018-Check-dead-flag-in-isAlive.patch
@@ -15,7 +15,7 @@ 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 2edb4a4a7638f7bea2d50fa3ce8a5d9916c90a26..4d75ce205d5a0d61780936aa522710f5f753b271 100644
+index cfef1bff0080ffc662e3a4428116f7d4dc71eab2..f2708479ccf994278ad1ab4665edc46672001e8a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2145,7 +2145,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/1020-Add-FeatureFlag-API.patch b/patches/server/1019-Add-FeatureFlag-API.patch
index 43cb4f5162..ed2a09b0c6 100644
--- a/patches/server/1020-Add-FeatureFlag-API.patch
+++ b/patches/server/1019-Add-FeatureFlag-API.patch
@@ -162,10 +162,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 d7726177e6085faa1169767835d5cb666e4a67bc..0437eee2b34b2ad5799892390726ff79635b6baf 100644
+index 5ce8d2a57fd2f29d227d223f1f5742540f1701bd..61271ef3741656e81f30f9276ee48630ce97b3d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2371,10 +2371,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/1021-Tag-Lifecycle-Events.patch b/patches/server/1020-Tag-Lifecycle-Events.patch
index 943c370a5b..6b65432932 100644
--- a/patches/server/1021-Tag-Lifecycle-Events.patch
+++ b/patches/server/1020-Tag-Lifecycle-Events.patch
@@ -474,7 +474,7 @@ index fdc88e52235a152dbe3cca273990b4b68f8daaf8..13797035494a1e010e1da529fb46040f
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 e3e3099bb33d21055e480fdbd2df2a3e159f0f1a..843f8ccce6302a6db6cc61c496a5eee21305a88f 100644
+index ff6f2dc31bbbaa420323a68282cb1ee3d8b98c0f..e18692ad6bdbc8bc2df605833501b1ad888b8b7d 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
diff --git a/patches/server/1022-Item-serialization-as-json.patch b/patches/server/1021-Item-serialization-as-json.patch
index 4cc5284169..ea3fc2b9a6 100644
--- a/patches/server/1022-Item-serialization-as-json.patch
+++ b/patches/server/1021-Item-serialization-as-json.patch
@@ -28,7 +28,7 @@ index c80fd4960dfbb0fde37363e7df25b0a5411bdb11..ff7f6916f65466c25a7bde35d64682c1
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 83835e41034e79442177f19dcb18e7df5b0e296e..08d48cd55cfaf92530cc900f2f119ae3a258eb39 100644
+index f4ccdd848dd64e97796ef952d2aeacb3219da1bd..29d5fa49730d2161bb1b024995a533a08c57939b 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 {
diff --git a/patches/server/1023-Validate-slot-in-PlayerInventory-setSlot.patch b/patches/server/1022-Validate-slot-in-PlayerInventory-setSlot.patch
index 3c402b2284..3c402b2284 100644
--- a/patches/server/1023-Validate-slot-in-PlayerInventory-setSlot.patch
+++ b/patches/server/1022-Validate-slot-in-PlayerInventory-setSlot.patch
diff --git a/patches/server/1024-Remove-wall-time-unused-skip-tick-protection.patch b/patches/server/1023-Remove-wall-time-unused-skip-tick-protection.patch
index deaf422ec7..deaf422ec7 100644
--- a/patches/server/1024-Remove-wall-time-unused-skip-tick-protection.patch
+++ b/patches/server/1023-Remove-wall-time-unused-skip-tick-protection.patch
diff --git a/patches/server/1025-Disable-pretty-printing-for-advancement-saving.patch b/patches/server/1024-Disable-pretty-printing-for-advancement-saving.patch
index c6ad9249f5..c6ad9249f5 100644
--- a/patches/server/1025-Disable-pretty-printing-for-advancement-saving.patch
+++ b/patches/server/1024-Disable-pretty-printing-for-advancement-saving.patch
diff --git a/patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch b/patches/server/1025-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
index 67b0a1e97f..67b0a1e97f 100644
--- a/patches/server/1026-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
+++ b/patches/server/1025-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch
diff --git a/patches/server/1027-Add-enchantWithLevels-with-enchantment-registry-set.patch b/patches/server/1026-Add-enchantWithLevels-with-enchantment-registry-set.patch
index 61f5aced36..61f5aced36 100644
--- a/patches/server/1027-Add-enchantWithLevels-with-enchantment-registry-set.patch
+++ b/patches/server/1026-Add-enchantWithLevels-with-enchantment-registry-set.patch
diff --git a/patches/server/1028-Improve-entity-effect-API.patch b/patches/server/1027-Improve-entity-effect-API.patch
index cc17e320f6..51c6f3ecf8 100644
--- a/patches/server/1028-Improve-entity-effect-API.patch
+++ b/patches/server/1027-Improve-entity-effect-API.patch
@@ -25,7 +25,7 @@ index d1d9916db7bd4886d30355e6a0ecb69cd21c2364..ddabaed899c755925ad8618b78c33dac
+ // Paper end - broadcast hurt animation
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index bcfbacf408d3bd043c3ecd8c3a43497bcff58343..55fa71403c6fe1fa1ffd00d9cecb6b67bd66e174 100644
+index 700751a1469dd99339e6502e96cd98e72feee803..0d3d565db8fdc30e44966492f2c30171b4dac7ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1282,6 +1282,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/1029-Add-recipeBrewTime.patch b/patches/server/1028-Add-recipeBrewTime.patch
index 39d7149206..39d7149206 100644
--- a/patches/server/1029-Add-recipeBrewTime.patch
+++ b/patches/server/1028-Add-recipeBrewTime.patch
diff --git a/patches/server/1030-Call-bucket-events-for-cauldrons.patch b/patches/server/1029-Call-bucket-events-for-cauldrons.patch
index ab192b82a4..ab192b82a4 100644
--- a/patches/server/1030-Call-bucket-events-for-cauldrons.patch
+++ b/patches/server/1029-Call-bucket-events-for-cauldrons.patch
diff --git a/patches/server/1031-Add-PlayerInsertLecternBookEvent.patch b/patches/server/1030-Add-PlayerInsertLecternBookEvent.patch
index f15585222f..f15585222f 100644
--- a/patches/server/1031-Add-PlayerInsertLecternBookEvent.patch
+++ b/patches/server/1030-Add-PlayerInsertLecternBookEvent.patch
diff --git a/patches/server/1032-Void-damage-configuration-API.patch b/patches/server/1031-Void-damage-configuration-API.patch
index 06ec44aacc..e1006ef695 100644
--- a/patches/server/1032-Void-damage-configuration-API.patch
+++ b/patches/server/1031-Void-damage-configuration-API.patch
@@ -20,7 +20,7 @@ index 20fcfb7d7d2541731452454d78f6967215c4fcd7..5949cbccb569ab1d518508d200e69ad9
&& (!(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 99c98a91fe7471791fca8233acf6eeba516b10ed..4836b01323abb125289982ef3ceca09d6a9cfc3b 100644
+index f2708479ccf994278ad1ab4665edc46672001e8a..59c992173fda6153c58722caae061b0e6bee86a1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2701,7 +2701,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -33,7 +33,7 @@ index 99c98a91fe7471791fca8233acf6eeba516b10ed..4836b01323abb125289982ef3ceca09d
protected void updateSwingTime() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 0437eee2b34b2ad5799892390726ff79635b6baf..30dc6ac6c7da7397a113da2994b16ef375b067fa 100644
+index 61271ef3741656e81f30f9276ee48630ce97b3d3..4a5a0e33af16369f665bf39e70238e4e5a5486da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -167,6 +167,41 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/1033-Add-Offline-PDC-API.patch b/patches/server/1032-Add-Offline-PDC-API.patch
index f1513955cb..f1513955cb 100644
--- a/patches/server/1033-Add-Offline-PDC-API.patch
+++ b/patches/server/1032-Add-Offline-PDC-API.patch
diff --git a/patches/server/1034-Add-AnvilView-bypassEnchantmentLevelRestriction.patch b/patches/server/1033-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
index f8c089a57c..7084bf9f8d 100644
--- a/patches/server/1034-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
+++ b/patches/server/1033-Add-AnvilView-bypassEnchantmentLevelRestriction.patch
@@ -8,7 +8,7 @@ maximum level. The added API enables plugins to disable this behaviour,
allowing enchantments that are overleveled to be applied via the anvil.
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
-index cc5aae32f34305965847ade8b530272b1126b5c9..dc2bc53f6fa84fa09bd86450060ad9878307001c 100644
+index ae0ba6b0e1f0bee3c3a701b22725171e499b97a3..286ae002e1711ad9e800b7f2091988d66cd572a7 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -54,6 +54,7 @@ public class AnvilMenu extends ItemCombinerMenu {
diff --git a/patches/server/1035-Add-proper-async-player-disconnections.patch b/patches/server/1034-Add-proper-async-player-disconnections.patch
index 0da8a73aa2..eff84b6f89 100644
--- a/patches/server/1035-Add-proper-async-player-disconnections.patch
+++ b/patches/server/1034-Add-proper-async-player-disconnections.patch
@@ -6,7 +6,7 @@ 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 90a2c61c42cba7e38f167eccdd7a951a947963c4..fff8d15d44613a075b9793c2a41520212166eb3b 100644
+index 36624d3dc7e3f2a64f88b01c5e906018fcee0015..d18af548fa6e979267347443b61efc58b271dfcf 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<?>> {
diff --git a/patches/server/1036-DataComponent-API.patch b/patches/server/1035-DataComponent-API.patch
index 744404bca8..744404bca8 100644
--- a/patches/server/1036-DataComponent-API.patch
+++ b/patches/server/1035-DataComponent-API.patch
diff --git a/patches/server/1037-Always-send-Banner-patterns-to-the-client.patch b/patches/server/1036-Always-send-Banner-patterns-to-the-client.patch
index a5951afc90..a5951afc90 100644
--- a/patches/server/1037-Always-send-Banner-patterns-to-the-client.patch
+++ b/patches/server/1036-Always-send-Banner-patterns-to-the-client.patch
diff --git a/patches/server/1038-Rewrite-dataconverter-system.patch b/patches/server/1037-Rewrite-dataconverter-system.patch
index 71437e89b2..71437e89b2 100644
--- a/patches/server/1038-Rewrite-dataconverter-system.patch
+++ b/patches/server/1037-Rewrite-dataconverter-system.patch
diff --git a/patches/server/1039-Moonrise-optimisation-patches.patch b/patches/server/1038-Moonrise-optimisation-patches.patch
index 09ebd46947..28100bbfb0 100644
--- a/patches/server/1039-Moonrise-optimisation-patches.patch
+++ b/patches/server/1038-Moonrise-optimisation-patches.patch
@@ -17,7 +17,7 @@ Currently includes:
See https://github.com/Tuinity/Moonrise
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 94bba2b71918d79f54b3e28c35e76098ba0afd8c..fc029c8fb22a7c8eeb23bfc171812f6da91c60fa 100644
+index 49fe9eed5d5d08abd6e9778fe0d0545f35552435..fc029c8fb22a7c8eeb23bfc171812f6da91c60fa 100644
--- a/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
+++ b/src/main/java/ca/spottedleaf/moonrise/common/util/ChunkSystem.java
@@ -2,11 +2,17 @@ package ca.spottedleaf.moonrise.common.util;
@@ -87,7 +87,7 @@ index 94bba2b71918d79f54b3e28c35e76098ba0afd8c..fc029c8fb22a7c8eeb23bfc171812f6d
- private static long chunkLoadCounter = 0L;
public static void scheduleChunkLoad(final ServerLevel level, final int chunkX, final int chunkZ, final ChunkStatus toStatus,
final boolean addTicket, final Priority priority, final Consumer<ChunkAccess> onComplete) {
-- if (!org.bukkit.Bukkit.isPrimaryThread()) {
+- if (!org.bukkit.Bukkit.isOwnedByCurrentRegion(level.getWorld(), chunkX, chunkZ)) {
- scheduleChunkTask(level, chunkX, chunkZ, () -> {
- scheduleChunkLoad(level, chunkX, chunkZ, toStatus, addTicket, priority, onComplete);
- }, priority);
@@ -153,7 +153,7 @@ index 94bba2b71918d79f54b3e28c35e76098ba0afd8c..fc029c8fb22a7c8eeb23bfc171812f6d
- throw new IllegalArgumentException("Cannot wait for INACCESSIBLE status");
- }
-
-- if (!org.bukkit.Bukkit.isPrimaryThread()) {
+- if (!org.bukkit.Bukkit.isOwnedByCurrentRegion(level.getWorld(), chunkX, chunkZ)) {
- scheduleChunkTask(level, chunkX, chunkZ, () -> {
- scheduleTickingState(level, chunkX, chunkZ, toStatus, addTicket, priority, onComplete);
- }, priority);
@@ -26790,7 +26790,7 @@ index b2fd3e936559c8fcb8b02ae3ef63c4f3bd0edb08..5bbc7ceaafc163f12344e5d5d355ad2f
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 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70174468a3 100644
+index c5f3e4dff83a85a3a5f29534afd84d4a332b1d3e..85c58214c13208ed30f0ae4a2722f172184123ab 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -185,7 +185,7 @@ import org.bukkit.event.weather.LightningStrikeEvent;
@@ -26811,7 +26811,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
private final GameEventDispatcher gameEventDispatcher;
public boolean noSave;
private final SleepStatus sleepStatus;
-@@ -272,15 +272,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -272,12 +272,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public final void loadChunksForMoveAsync(AABB axisalignedbb, ca.spottedleaf.concurrentutil.util.Priority priority,
java.util.function.Consumer<List<net.minecraft.world.level.chunk.ChunkAccess>> onLoad) {
@@ -26821,17 +26821,16 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
- });
- return;
- }
-- List<net.minecraft.world.level.chunk.ChunkAccess> ret = new java.util.ArrayList<>();
-- it.unimi.dsi.fastutil.ints.IntArrayList ticketLevels = new it.unimi.dsi.fastutil.ints.IntArrayList();
--
+ // Paper - rewrite chunk system
int minBlockX = Mth.floor(axisalignedbb.minX - 1.0E-7D) - 3;
- int maxBlockX = Mth.floor(axisalignedbb.maxX + 1.0E-7D) + 3;
-
-@@ -293,30 +285,159 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
- int minChunkZ = minBlockZ >> 4;
- int maxChunkZ = maxBlockZ >> 4;
+ int minBlockZ = Mth.floor(axisalignedbb.minZ - 1.0E-7D) - 3;
+@@ -296,32 +291,159 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+ public final void loadChunks(int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ,
+ ca.spottedleaf.concurrentutil.util.Priority priority,
+ java.util.function.Consumer<List<net.minecraft.world.level.chunk.ChunkAccess>> onLoad) {
+- List<net.minecraft.world.level.chunk.ChunkAccess> ret = new java.util.ArrayList<>();
+- it.unimi.dsi.fastutil.ints.IntArrayList ticketLevels = new it.unimi.dsi.fastutil.ints.IntArrayList();
- ServerChunkCache chunkProvider = this.getChunkSource();
+ this.moonrise$loadChunksAsync(minChunkX, maxChunkX, minChunkZ, maxChunkZ, priority, onLoad); // Paper - rewrite chunk system
+ }
@@ -26874,7 +26873,9 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
+ final ca.spottedleaf.moonrise.patches.chunk_system.scheduling.NewChunkHolder.ChunkCompletion lastCompletion = newChunkHolder.getLastChunkCompletion();
+ return lastCompletion == null ? null : lastCompletion.chunk();
+ }
-+
+
+- int requiredChunks = (maxChunkX - minChunkX + 1) * (maxChunkZ - minChunkZ + 1);
+- int[] loadedChunks = new int[1];
+ @Override
+ public final ChunkAccess moonrise$getSpecificChunkIfLoaded(final int chunkX, final int chunkZ, final net.minecraft.world.level.chunk.status.ChunkStatus leastStatus) {
+ final ca.spottedleaf.moonrise.patches.chunk_system.scheduling.NewChunkHolder newChunkHolder = this.moonrise$getChunkTaskScheduler().chunkHolderManager.getChunkHolder(chunkX, chunkZ);
@@ -26883,26 +26884,24 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
+ }
+ return newChunkHolder.getChunkIfPresentUnchecked(leastStatus);
+ }
-
-- int requiredChunks = (maxChunkX - minChunkX + 1) * (maxChunkZ - minChunkZ + 1);
-- int[] loadedChunks = new int[1];
++
+ @Override
+ public final void moonrise$midTickTasks() {
+ ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.server).moonrise$executeMidTickTasks();
+ }
-
-- Long holderIdentifier = Long.valueOf(chunkProvider.chunkFutureAwaitCounter++);
++
+ @Override
+ public final ChunkAccess moonrise$syncLoadNonFull(final int chunkX, final int chunkZ, final net.minecraft.world.level.chunk.status.ChunkStatus status) {
+ return this.moonrise$getChunkTaskScheduler().syncLoadNonFull(chunkX, chunkZ, status);
+ }
-- java.util.function.Consumer<net.minecraft.world.level.chunk.ChunkAccess> consumer = (net.minecraft.world.level.chunk.ChunkAccess chunk) -> {
+- Long holderIdentifier = Long.valueOf(chunkProvider.chunkFutureAwaitCounter++);
+ @Override
+ public final ca.spottedleaf.moonrise.patches.chunk_system.scheduling.ChunkTaskScheduler moonrise$getChunkTaskScheduler() {
+ return this.chunkTaskScheduler;
+ }
-+
+
+- java.util.function.Consumer<net.minecraft.world.level.chunk.ChunkAccess> consumer = (net.minecraft.world.level.chunk.ChunkAccess chunk) -> {
+ @Override
+ public final ca.spottedleaf.moonrise.patches.chunk_system.io.MoonriseRegionFileIO.RegionDataController moonrise$getChunkDataController() {
+ return this.chunkDataController;
@@ -27002,7 +27001,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
}
}
-@@ -324,22 +445,137 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -329,22 +451,137 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
for (int cx = minChunkX; cx <= maxChunkX; ++cx) {
for (int cz = minChunkZ; cz <= maxChunkZ; ++cz) {
@@ -27150,7 +27149,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
-@@ -373,14 +609,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -378,14 +615,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
DataFixer datafixer = minecraftserver.getFixerUpper();
EntityPersistentStorage<Entity> entitypersistentstorage = new EntityStorage(new SimpleRegionStorage(new RegionStorageInfo(convertable_conversionsession.getLevelId(), resourcekey, "entities"), convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), datafixer, flag2, DataFixTypes.ENTITY_CHUNK), this, minecraftserver);
@@ -27168,7 +27167,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
return minecraftserver.overworld().getDataStorage();
});
this.chunkSource.getGeneratorState().ensureStructuresGenerated();
-@@ -408,6 +643,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -413,6 +649,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.randomSequences = (RandomSequences) Objects.requireNonNullElseGet(randomsequences, () -> {
return (RandomSequences) this.getDataStorage().computeIfAbsent(RandomSequences.factory(l), "random_sequences");
});
@@ -27189,7 +27188,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
}
-@@ -530,7 +779,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -535,7 +785,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
gameprofilerfiller.push("checkDespawn");
entity.checkDespawn();
gameprofilerfiller.pop();
@@ -27198,7 +27197,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
Entity entity1 = entity.getVehicle();
if (entity1 != null) {
-@@ -553,13 +802,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -558,13 +808,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
gameprofilerfiller.push("entityManagement");
@@ -27217,7 +27216,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
protected void tickTime() {
-@@ -599,7 +851,60 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -604,7 +857,60 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
});
}
@@ -27278,7 +27277,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
ChunkPos chunkcoordintpair = chunk.getPos();
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
-@@ -607,7 +912,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -612,7 +918,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("thunder");
@@ -27287,7 +27286,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
if (this.isRainingAt(blockposition)) {
-@@ -639,7 +944,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -644,7 +950,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
for (int l = 0; l < randomTickSpeed; ++l) {
@@ -27296,7 +27295,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
this.tickPrecipitation(this.getBlockRandomPos(j, 0, k, 15));
}
}
-@@ -647,35 +952,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -652,35 +958,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
gameprofilerfiller.popPush("tickBlocks");
if (randomTickSpeed > 0) {
@@ -27333,7 +27332,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
gameprofilerfiller.pop();
-@@ -948,6 +1225,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -953,6 +1231,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (fluid1.is(fluid)) {
fluid1.tick(this, pos, iblockdata);
}
@@ -27345,7 +27344,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
-@@ -957,6 +1239,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -962,6 +1245,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (iblockdata.is(block)) {
iblockdata.tick(this, pos, this.random);
}
@@ -27357,7 +27356,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
-@@ -1035,6 +1322,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1040,6 +1328,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
public void save(@Nullable ProgressListener progressListener, boolean flush, boolean savingDisabled) {
@@ -27369,7 +27368,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
ServerChunkCache chunkproviderserver = this.getChunkSource();
if (!savingDisabled) {
-@@ -1048,14 +1340,19 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1053,14 +1346,19 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
@@ -27395,7 +27394,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
// CraftBukkit start - moved from MinecraftServer.saveChunks
ServerLevel worldserver1 = this;
-@@ -1195,7 +1492,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1200,7 +1498,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.removePlayerImmediately((ServerPlayer) entity, Entity.RemovalReason.DISCARDED);
}
@@ -27404,7 +27403,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
// CraftBukkit start
-@@ -1226,7 +1523,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1231,7 +1529,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
// CraftBukkit end
@@ -27413,7 +27412,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
}
-@@ -1237,11 +1534,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1242,11 +1540,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public boolean tryAddFreshEntityWithPassengers(Entity entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) {
// CraftBukkit end
@@ -27426,7 +27425,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
return false;
} else {
this.addFreshEntityWithPassengers(entity, reason); // CraftBukkit
-@@ -1901,7 +2194,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1906,7 +2200,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
@@ -27435,7 +27434,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
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()));
-@@ -1950,7 +2243,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1955,7 +2249,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
BufferedWriter bufferedwriter2 = Files.newBufferedWriter(path1);
try {
@@ -27444,7 +27443,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
} catch (Throwable throwable4) {
if (bufferedwriter2 != null) {
try {
-@@ -1971,7 +2264,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1976,7 +2270,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
BufferedWriter bufferedwriter3 = Files.newBufferedWriter(path2);
try {
@@ -27453,7 +27452,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
} catch (Throwable throwable6) {
if (bufferedwriter3 != null) {
try {
-@@ -2113,7 +2406,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2118,7 +2412,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@VisibleForTesting
public String getWatchdogStats() {
@@ -27462,7 +27461,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
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());
}
-@@ -2143,15 +2436,25 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2148,15 +2442,25 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public LevelEntityGetter<Entity> getEntities() {
org.spigotmc.AsyncCatcher.catchOp("Chunk getEntities call"); // Spigot
@@ -27491,7 +27490,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
public void startTickingChunk(LevelChunk chunk) {
-@@ -2171,34 +2474,47 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2176,34 +2480,47 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@Override
public void close() throws IOException {
super.close();
@@ -27546,7 +27545,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70
}
@Override
-@@ -2254,7 +2570,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2259,7 +2576,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
CrashReportCategory crashreportsystemdetails = super.fillReportDetails(report);
crashreportsystemdetails.setDetail("Loaded entity count", () -> {
@@ -36017,7 +36016,7 @@ index f65cc95ab28e8a3b21eac2b16bd9ebe97e56e571..0074bc0e7147dc3a8c538e796f14ac9b
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a3c6ad1a53bdfd9bd928951983a503afba9eedc3..34eb7ede1d9f8cbd94660144fc5ef77669ea8afa 100644
+index 758d86865136e5ef58f401f00c5e62fbb8cf25a3..6323738fe96c8e815a0835e6d8b03125c36ecf90 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1432,7 +1432,7 @@ public final class CraftServer implements Server {
@@ -36048,10 +36047,10 @@ index a3c6ad1a53bdfd9bd928951983a503afba9eedc3..34eb7ede1d9f8cbd94660144fc5ef776
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2847e626b 100644
+index 4a5a0e33af16369f665bf39e70238e4e5a5486da..696152286a4d16fa51a23ff6e15fb297f3476007 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -500,10 +500,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -488,10 +488,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -36069,7 +36068,7 @@ index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2
// Paper start - Anti-Xray bypass
final Map<Object, ClientboundLevelChunkWithLightPacket> refreshPackets = new HashMap<>();
-@@ -516,8 +520,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -504,8 +508,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}));
// Paper end - Anti-Xray bypass
}
@@ -36079,16 +36078,16 @@ index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2
return true;
}
-@@ -621,20 +624,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -609,20 +612,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Plugin> getPluginChunkTickets(int x, int z) {
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
- SortedArraySet<Ticket<?>> tickets = chunkDistanceManager.tickets.get(ChunkPos.asLong(x, z));
-
+-
- if (tickets == null) {
- return Collections.emptyList();
- }
--
+
- ImmutableList.Builder<Plugin> ret = ImmutableList.builder();
- for (Ticket<?> ticket : tickets) {
- if (ticket.getType() == TicketType.PLUGIN_TICKET) {
@@ -36101,7 +36100,7 @@ index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2
}
@Override
-@@ -642,7 +633,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -630,7 +621,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>();
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -36110,7 +36109,7 @@ index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2
long chunkKey = chunkTickets.getLongKey();
SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue();
-@@ -1345,12 +1336,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1333,12 +1324,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getViewDistance() {
@@ -36125,7 +36124,7 @@ index 30dc6ac6c7da7397a113da2994b16ef375b067fa..18e6c9fb355614de40999310f47502e2
}
public BlockMetadataStore getBlockMetadata() {
-@@ -2488,17 +2479,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2473,17 +2464,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setSimulationDistance(final int simulationDistance) {
diff --git a/patches/server/1040-API-for-checking-sent-chunks.patch b/patches/server/1039-API-for-checking-sent-chunks.patch
index 33cbf04ef5..33cbf04ef5 100644
--- a/patches/server/1040-API-for-checking-sent-chunks.patch
+++ b/patches/server/1039-API-for-checking-sent-chunks.patch
diff --git a/patches/server/1041-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1040-Fix-CraftWorld-isChunkGenerated.patch
index bf009e18a3..2aa2a06b03 100644
--- a/patches/server/1041-Fix-CraftWorld-isChunkGenerated.patch
+++ b/patches/server/1040-Fix-CraftWorld-isChunkGenerated.patch
@@ -6,10 +6,10 @@ 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 18e6c9fb355614de40999310f47502e2847e626b..3134fab97260897601d7c8e2810f11b8be86dbec 100644
+index 696152286a4d16fa51a23ff6e15fb297f3476007..8f234b46c24a0ae08aa5f8190c5b27e1f62dfbab 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -409,11 +409,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -397,11 +397,28 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
diff --git a/patches/server/1042-Add-startup-flag-to-disable-gamerule-limits.patch b/patches/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch
index 452a3c6ba7..452a3c6ba7 100644
--- a/patches/server/1042-Add-startup-flag-to-disable-gamerule-limits.patch
+++ b/patches/server/1041-Add-startup-flag-to-disable-gamerule-limits.patch
diff --git a/patches/server/1043-Improved-Watchdog-Support.patch b/patches/server/1042-Improved-Watchdog-Support.patch
index 85b1434e1b..85b1434e1b 100644
--- a/patches/server/1043-Improved-Watchdog-Support.patch
+++ b/patches/server/1042-Improved-Watchdog-Support.patch
diff --git a/patches/server/1044-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
index 2d5148854d..ded78aa33e 100644
--- a/patches/server/1044-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
@@ -78,10 +78,10 @@ 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 70efc63102b3d3727be376d42f1bef70174468a3..7b936a01888d71fe305863054471b6b4a3aa95b8 100644
+index 85c58214c13208ed30f0ae4a2722f172184123ab..ff79925649ac1ceb6121c4b74fdb65f5f138f689 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1247,7 +1247,26 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1253,7 +1253,26 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
@@ -108,7 +108,7 @@ index 70efc63102b3d3727be376d42f1bef70174468a3..7b936a01888d71fe305863054471b6b4
// Spigot start
/*if (!org.spigotmc.ActivationRange.checkIfActive(entity)) { // Paper - comment out EAR 2
entity.tickCount++;
-@@ -1277,6 +1296,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1283,6 +1302,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.tickPassenger(entity, entity1, isActive); // Paper - EAR 2
}
diff --git a/patches/server/1045-Entity-load-save-limit-per-chunk.patch b/patches/server/1044-Entity-load-save-limit-per-chunk.patch
index 7a75cf646d..7a75cf646d 100644
--- a/patches/server/1045-Entity-load-save-limit-per-chunk.patch
+++ b/patches/server/1044-Entity-load-save-limit-per-chunk.patch
diff --git a/patches/server/1046-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index d0af0f3027..d0af0f3027 100644
--- a/patches/server/1046-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/1045-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/1047-Bundle-spark.patch b/patches/server/1046-Bundle-spark.patch
index 00be00c19e..926b4e8f9b 100644
--- a/patches/server/1047-Bundle-spark.patch
+++ b/patches/server/1046-Bundle-spark.patch
@@ -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 34eb7ede1d9f8cbd94660144fc5ef77669ea8afa..dfddcfb1fe1679adaecf75375757dca720e76ce1 100644
+index 6323738fe96c8e815a0835e6d8b03125c36ecf90..806e56cb60235a99f468d36a059fdbd54c2d46e3 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/1048-Improve-performance-of-mass-crafts.patch b/patches/server/1047-Improve-performance-of-mass-crafts.patch
index 7231e230c1..7231e230c1 100644
--- a/patches/server/1048-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1047-Improve-performance-of-mass-crafts.patch
diff --git a/patches/server/1049-Incremental-chunk-and-player-saving.patch b/patches/server/1048-Incremental-chunk-and-player-saving.patch
index 19e7e9ed59..d545517720 100644
--- a/patches/server/1049-Incremental-chunk-and-player-saving.patch
+++ b/patches/server/1048-Incremental-chunk-and-player-saving.patch
@@ -51,10 +51,10 @@ index 38b5eef0b5ff38f9a8dfa59822d7b41336108f49..b33b68649e67de08719b30e98650c84f
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 7b936a01888d71fe305863054471b6b4a3aa95b8..c09c718c1b1c9f27fdf1e4160b2df6887cf1d1a2 100644
+index ff79925649ac1ceb6121c4b74fdb65f5f138f689..5f244cafe6c3cfb4a3bd08f9ae0f1a5aeec9b359 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -1347,6 +1347,30 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -1353,6 +1353,30 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return !this.server.isUnderSpawnProtection(this, pos, player) && this.getWorldBorder().isWithinBounds(pos);
}
diff --git a/patches/server/1050-Optimise-general-POI-access.patch b/patches/server/1049-Optimise-general-POI-access.patch
index 2fa0832c02..2fa0832c02 100644
--- a/patches/server/1050-Optimise-general-POI-access.patch
+++ b/patches/server/1049-Optimise-general-POI-access.patch
diff --git a/patches/server/1051-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch
index d8a7d54cb0..d8a7d54cb0 100644
--- a/patches/server/1051-Fix-entity-tracker-desync-when-new-players-are-added.patch
+++ b/patches/server/1050-Fix-entity-tracker-desync-when-new-players-are-added.patch
diff --git a/patches/server/1052-Lag-compensation-ticks.patch b/patches/server/1051-Lag-compensation-ticks.patch
index 8fc7383de7..9e44007563 100644
--- a/patches/server/1052-Lag-compensation-ticks.patch
+++ b/patches/server/1051-Lag-compensation-ticks.patch
@@ -30,10 +30,10 @@ index b33b68649e67de08719b30e98650c84f4c3c18d6..e636a96ea6220fda671a31d3d9cdea46
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 c09c718c1b1c9f27fdf1e4160b2df6887cf1d1a2..21c78bc96c39f6261adaad2e7c225948b6f1606f 100644
+index 5f244cafe6c3cfb4a3bd08f9ae0f1a5aeec9b359..91c99cf68bf07eb81dcb63690365559df41b912e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -576,6 +576,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -582,6 +582,17 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
);
}
// Paper end - chunk tick iteration
diff --git a/patches/server/1053-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch
index 82b8f60c95..82b8f60c95 100644
--- a/patches/server/1053-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/1052-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/1054-Optional-per-player-mob-spawns.patch b/patches/server/1053-Optional-per-player-mob-spawns.patch
index 90f5fa951b..90f5fa951b 100644
--- a/patches/server/1054-Optional-per-player-mob-spawns.patch
+++ b/patches/server/1053-Optional-per-player-mob-spawns.patch
diff --git a/patches/server/1055-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index a4379980b1..a4379980b1 100644
--- a/patches/server/1055-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/1054-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
diff --git a/patches/server/1056-Avoid-issues-with-certain-tasks-not-processing-durin.patch b/patches/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch
index 4bb32dd1da..4bb32dd1da 100644
--- a/patches/server/1056-Avoid-issues-with-certain-tasks-not-processing-durin.patch
+++ b/patches/server/1055-Avoid-issues-with-certain-tasks-not-processing-durin.patch
diff --git a/patches/server/1057-Allow-using-old-ender-pearl-behavior.patch b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch
index 6f44fde3f4..6f44fde3f4 100644
--- a/patches/server/1057-Allow-using-old-ender-pearl-behavior.patch
+++ b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch
diff --git a/patches/server/1058-Block-Enderpearl-Travel-Exploit.patch b/patches/server/1057-Block-Enderpearl-Travel-Exploit.patch
index 75bce7f50b..303bfdae1b 100644
--- a/patches/server/1058-Block-Enderpearl-Travel-Exploit.patch
+++ b/patches/server/1057-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 21c78bc96c39f6261adaad2e7c225948b6f1606f..5964d601c05176f48167cc92057a59e52a4da92b 100644
+index 91c99cf68bf07eb81dcb63690365559df41b912e..6bf37e37e179e7f962ca6a256b8476b99855aac5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2658,6 +2658,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2664,6 +2664,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public void onTickingEnd(Entity entity) {
ServerLevel.this.entityTickList.remove(entity);
diff --git a/patches/server/1059-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/1058-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index 30f853ff98..30f853ff98 100644
--- a/patches/server/1059-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/1058-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/1060-Correct-update-cursor.patch b/patches/server/1059-Correct-update-cursor.patch
index 9d4e655ebb..9d4e655ebb 100644
--- a/patches/server/1060-Correct-update-cursor.patch
+++ b/patches/server/1059-Correct-update-cursor.patch
diff --git a/patches/server/1061-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch b/patches/server/1060-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch
index fd0f3377d3..4af4caf52d 100644
--- a/patches/server/1061-Call-CraftPlayer-onEntityRemove-for-all-online-playe.patch
+++ b/patches/server/1060-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 5964d601c05176f48167cc92057a59e52a4da92b..3b6b6483bf855493948417f44f06427b625bc910 100644
+index 6bf37e37e179e7f962ca6a256b8476b99855aac5..9638bb0393257a917bdaa95d33561b37ab1878bc 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
-@@ -2780,7 +2780,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2786,7 +2786,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit start
entity.valid = false;
if (!(entity instanceof ServerPlayer)) {
diff --git a/patches/server/1062-Improve-exact-choice-recipe-ingredients.patch b/patches/server/1061-Improve-exact-choice-recipe-ingredients.patch
index a7270cced5..a7270cced5 100644
--- a/patches/server/1062-Improve-exact-choice-recipe-ingredients.patch
+++ b/patches/server/1061-Improve-exact-choice-recipe-ingredients.patch
diff --git a/patches/server/1063-Eigencraft-redstone-implementation.patch b/patches/server/1062-Eigencraft-redstone-implementation.patch
index 85700695b3..85700695b3 100644
--- a/patches/server/1063-Eigencraft-redstone-implementation.patch
+++ b/patches/server/1062-Eigencraft-redstone-implementation.patch
diff --git a/patches/server/1064-Improve-performance-of-RecipeMap-removeRecipe.patch b/patches/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch
index 08bbad66b6..08bbad66b6 100644
--- a/patches/server/1064-Improve-performance-of-RecipeMap-removeRecipe.patch
+++ b/patches/server/1063-Improve-performance-of-RecipeMap-removeRecipe.patch
diff --git a/patches/server/1065-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch b/patches/server/1064-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
index 81c7b52685..81c7b52685 100644
--- a/patches/server/1065-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
+++ b/patches/server/1064-Reduce-work-done-in-CraftMapCanvas.drawImage-by-limi.patch
diff --git a/patches/server/1066-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1065-Add-Alternate-Current-redstone-implementation.patch
index 6e77b53180..631fddfa22 100644
--- a/patches/server/1066-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/1065-Add-Alternate-Current-redstone-implementation.patch
@@ -2328,7 +2328,7 @@ index 0000000000000000000000000000000000000000..298076a0db4e6ee6e4775ac43bf749d9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 3b6b6483bf855493948417f44f06427b625bc910..a0611bf5f88d5b12dc981dda14e355c751ff802e 100644
+index 9638bb0393257a917bdaa95d33561b37ab1878bc..957cae6ddeba9efe3b55588567ae51e8b86b6a42 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
@@ -2339,7 +2339,7 @@ index 3b6b6483bf855493948417f44f06427b625bc910..a0611bf5f88d5b12dc981dda14e355c7
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
-@@ -2641,6 +2642,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+@@ -2647,6 +2648,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return this.chunkSource.getGenerator().getSeaLevel();
}