aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJake Potrebic <[email protected]>2023-10-22 12:12:00 -0700
committerGitHub <[email protected]>2023-10-22 20:12:00 +0100
commit90fe0d58a5945c31f2c1b138799f64f2fe3475d8 (patch)
tree57e2a8b12dbe8245ce5694dd15af35dc33c3c4c2
parent489bff9bbdc4215bd2cbc54d837463c608e7747e (diff)
downloadPaper-90fe0d58a5945c31f2c1b138799f64f2fe3475d8.tar.gz
Paper-90fe0d58a5945c31f2c1b138799f64f2fe3475d8.zip
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9825)
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 897a0a23 SPIGOT-5753: Back PotionType by a minecraft registry 255b2aa1 SPIGOT-7080: Add World#locateNearestBiome ff984826 Remove javadoc.io doc links CraftBukkit Changes: 71b0135cc SPIGOT-5753: Back PotionType by a minecraft registry a6bcb8489 SPIGOT-7080: Add World#locateNearestBiome ad0e57434 SPIGOT-7502: CraftMetaItem - cannot deserialize BlockStateTag b3efca57a SPIGOT-6400: Use Mockito instead of InvocationHandler 38c599f9d PR-1272: Only allow one entity in CraftItem instead of two f065271ac SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld Spigot Changes: e0e223fe Remove javadoc.io doc links
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch7
-rw-r--r--patches/api/0005-Adventure.patch10
-rw-r--r--patches/api/0008-Paper-Plugins.patch10
-rw-r--r--patches/api/0010-Timings-v2.patch6
-rw-r--r--patches/api/0014-Version-Command-2.0.patch4
-rw-r--r--patches/api/0017-Add-view-distance-API.patch4
-rw-r--r--patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch4
-rw-r--r--patches/api/0055-Fix-upstream-javadocs.patch12
-rw-r--r--patches/api/0098-Additional-world.getNearbyEntities-API-s.patch4
-rw-r--r--patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch4
-rw-r--r--patches/api/0114-Expand-Explosions-API.patch4
-rw-r--r--patches/api/0118-Add-World.getEntity-UUID-API.patch4
-rw-r--r--patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch4
-rw-r--r--patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch4
-rw-r--r--patches/api/0140-isChunkGenerated-API.patch4
-rw-r--r--patches/api/0142-Async-Chunks-API.patch4
-rw-r--r--patches/api/0156-Add-sun-related-API.patch4
-rw-r--r--patches/api/0172-Fix-Spigot-annotation-mistakes.patch16
-rw-r--r--patches/api/0175-Add-Heightmap-API.patch4
-rw-r--r--patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/api/0246-Add-StructuresLocateEvent.patch4
-rw-r--r--patches/api/0264-Expand-world-key-API.patch4
-rw-r--r--patches/api/0265-Item-Rarity-API.patch4
-rw-r--r--patches/api/0266-Expose-protocol-version.patch4
-rw-r--r--patches/api/0271-More-World-API.patch16
-rw-r--r--patches/api/0284-ItemStack-repair-check-API.patch4
-rw-r--r--patches/api/0289-Attributes-API-for-item-defaults.patch4
-rw-r--r--patches/api/0299-Missing-Entity-API.patch4
-rw-r--r--patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch4
-rw-r--r--patches/api/0316-Get-entity-default-attributes.patch4
-rw-r--r--patches/api/0321-Add-isCollidable-methods-to-various-places.patch4
-rw-r--r--patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch4
-rw-r--r--patches/api/0344-More-PotionEffectType-API.patch4
-rw-r--r--patches/api/0346-Implement-regenerateChunk.patch4
-rw-r--r--patches/api/0351-Custom-Potion-Mixes.patch6
-rw-r--r--patches/api/0363-Expand-FallingBlock-API.patch8
-rw-r--r--patches/api/0374-Add-NamespacedKey-biome-methods.patch4
-rw-r--r--patches/api/0424-Fix-custom-statistic-criteria-creation.patch4
-rw-r--r--patches/server/0001-Setup-Gradle-project.patch15
-rw-r--r--patches/server/0003-Build-system-changes.patch12
-rw-r--r--patches/server/0004-Test-changes.patch252
-rw-r--r--patches/server/0005-Paper-config-files.patch10
-rw-r--r--patches/server/0009-MC-Utils.patch14
-rw-r--r--patches/server/0010-Adventure.patch14
-rw-r--r--patches/server/0013-Paper-Plugins.patch26
-rw-r--r--patches/server/0014-Timings-v2.patch8
-rw-r--r--patches/server/0018-Rewrite-chunk-system.patch14
-rw-r--r--patches/server/0028-Implement-Paper-VersionChecker.patch4
-rw-r--r--patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch4
-rw-r--r--patches/server/0136-Item-canEntityPickup.patch10
-rw-r--r--patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch4
-rw-r--r--patches/server/0211-Expand-Explosions-API.patch4
-rw-r--r--patches/server/0215-Implement-World.getEntity-UUID-API.patch4
-rw-r--r--patches/server/0219-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch4
-rw-r--r--patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch4
-rw-r--r--patches/server/0266-Add-sun-related-API.patch4
-rw-r--r--patches/server/0308-Add-Heightmap-API.patch4
-rw-r--r--patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch4
-rw-r--r--patches/server/0316-Fix-World-isChunkGenerated-calls.patch6
-rw-r--r--patches/server/0342-Anti-Xray.patch6
-rw-r--r--patches/server/0360-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/server/0391-Deobfuscate-stacktraces-in-log-messages-crash-report.patch4
-rw-r--r--patches/server/0392-Implement-Mob-Goal-API.patch4
-rw-r--r--patches/server/0418-Fix-Per-World-Difficulty-Remembering-Difficulty.patch4
-rw-r--r--patches/server/0422-Add-Plugin-Tickets-to-API-Chunk-Methods.patch16
-rw-r--r--patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch4
-rw-r--r--patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/server/0483-Fix-client-lag-on-advancement-loading.patch4
-rw-r--r--patches/server/0484-Item-no-age-no-player-pickup.patch25
-rw-r--r--patches/server/0521-Added-WorldGameRuleChangeEvent.patch6
-rw-r--r--patches/server/0564-Expand-world-key-API.patch4
-rw-r--r--patches/server/0566-Item-Rarity-API.patch4
-rw-r--r--patches/server/0570-Expose-protocol-version.patch4
-rw-r--r--patches/server/0581-More-World-API.patch24
-rw-r--r--patches/server/0596-Add-basic-Datapack-API.patch (renamed from patches/server/0597-Add-basic-Datapack-API.patch)0
-rw-r--r--patches/server/0596-Fix-CraftPotionBrewer-cache.patch44
-rw-r--r--patches/server/0597-Add-environment-variable-to-disable-server-gui.patch (renamed from patches/server/0598-Add-environment-variable-to-disable-server-gui.patch)0
-rw-r--r--patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/server/0599-additions-to-PlayerGameModeChangeEvent.patch)0
-rw-r--r--patches/server/0599-ItemStack-repair-check-API.patch (renamed from patches/server/0600-ItemStack-repair-check-API.patch)4
-rw-r--r--patches/server/0600-More-Enchantment-API.patch (renamed from patches/server/0601-More-Enchantment-API.patch)0
-rw-r--r--patches/server/0601-Move-range-check-for-block-placing-up.patch (renamed from patches/server/0602-Move-range-check-for-block-placing-up.patch)0
-rw-r--r--patches/server/0602-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/0603-Fix-and-optimise-world-force-upgrading.patch)0
-rw-r--r--patches/server/0603-Add-Mob-lookAt-API.patch (renamed from patches/server/0604-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/server/0604-Add-Unix-domain-socket-support.patch (renamed from patches/server/0605-Add-Unix-domain-socket-support.patch)0
-rw-r--r--patches/server/0605-Add-EntityInsideBlockEvent.patch (renamed from patches/server/0606-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/server/0606-Attributes-API-for-item-defaults.patch (renamed from patches/server/0607-Attributes-API-for-item-defaults.patch)4
-rw-r--r--patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/server/0608-Add-cause-to-Weather-ThunderChangeEvents.patch)6
-rw-r--r--patches/server/0608-More-Lidded-Block-API.patch (renamed from patches/server/0609-More-Lidded-Block-API.patch)0
-rw-r--r--patches/server/0609-Limit-item-frame-cursors-on-maps.patch (renamed from patches/server/0610-Limit-item-frame-cursors-on-maps.patch)0
-rw-r--r--patches/server/0610-Add-PlayerKickEvent-causes.patch (renamed from patches/server/0611-Add-PlayerKickEvent-causes.patch)0
-rw-r--r--patches/server/0611-Add-PufferFishStateChangeEvent.patch (renamed from patches/server/0612-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/server/0612-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (renamed from patches/server/0613-Fix-PlayerBucketEmptyEvent-result-itemstack.patch)0
-rw-r--r--patches/server/0613-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (renamed from patches/server/0614-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch)0
-rw-r--r--patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch (renamed from patches/server/0615-Add-option-to-fix-items-merging-through-walls.patch)0
-rw-r--r--patches/server/0615-Add-BellRevealRaiderEvent.patch (renamed from patches/server/0616-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/server/0616-Fix-invulnerable-end-crystals.patch (renamed from patches/server/0617-Fix-invulnerable-end-crystals.patch)0
-rw-r--r--patches/server/0617-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/server/0618-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/server/0618-Fix-dangerous-end-portal-logic.patch (renamed from patches/server/0619-Fix-dangerous-end-portal-logic.patch)0
-rw-r--r--patches/server/0619-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from patches/server/0620-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch)0
-rw-r--r--patches/server/0620-Make-item-validations-configurable.patch (renamed from patches/server/0621-Make-item-validations-configurable.patch)2
-rw-r--r--patches/server/0621-Line-Of-Sight-Changes.patch (renamed from patches/server/0622-Line-Of-Sight-Changes.patch)0
-rw-r--r--patches/server/0622-add-per-world-spawn-limits.patch (renamed from patches/server/0623-add-per-world-spawn-limits.patch)4
-rw-r--r--patches/server/0623-Fix-potions-splash-events.patch (renamed from patches/server/0624-Fix-potions-splash-events.patch)0
-rw-r--r--patches/server/0624-Add-more-LimitedRegion-API.patch (renamed from patches/server/0625-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/server/0625-Fix-PlayerDropItemEvent-using-wrong-item.patch (renamed from patches/server/0626-Fix-PlayerDropItemEvent-using-wrong-item.patch)0
-rw-r--r--patches/server/0626-Missing-Entity-API.patch (renamed from patches/server/0627-Missing-Entity-API.patch)4
-rw-r--r--patches/server/0627-Ensure-disconnect-for-book-edit-is-called-on-main.patch (renamed from patches/server/0628-Ensure-disconnect-for-book-edit-is-called-on-main.patch)0
-rw-r--r--patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (renamed from patches/server/0629-Fix-return-value-of-Block-applyBoneMeal-always-being.patch)0
-rw-r--r--patches/server/0629-Use-getChunkIfLoadedImmediately-in-places.patch (renamed from patches/server/0630-Use-getChunkIfLoadedImmediately-in-places.patch)0
-rw-r--r--patches/server/0630-Fix-commands-from-signs-not-firing-command-events.patch (renamed from patches/server/0631-Fix-commands-from-signs-not-firing-command-events.patch)0
-rw-r--r--patches/server/0631-Adds-PlayerArmSwingEvent.patch (renamed from patches/server/0632-Adds-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/server/0632-Fixes-kick-event-leave-message-not-being-sent.patch (renamed from patches/server/0633-Fixes-kick-event-leave-message-not-being-sent.patch)0
-rw-r--r--patches/server/0633-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch)0
-rw-r--r--patches/server/0634-Fix-incorrect-message-for-outdated-client.patch (renamed from patches/server/0635-Fix-incorrect-message-for-outdated-client.patch)0
-rw-r--r--patches/server/0635-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0636-Don-t-apply-cramming-damage-to-players.patch)0
-rw-r--r--patches/server/0636-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0637-Rate-options-and-timings-for-sensors-and-behaviors.patch)0
-rw-r--r--patches/server/0637-Add-a-bunch-of-missing-forceDrop-toggles.patch (renamed from patches/server/0638-Add-a-bunch-of-missing-forceDrop-toggles.patch)0
-rw-r--r--patches/server/0638-Stinger-API.patch (renamed from patches/server/0639-Stinger-API.patch)0
-rw-r--r--patches/server/0639-Fix-incosistency-issue-with-empty-map-items-in-CB.patch (renamed from patches/server/0640-Fix-incosistency-issue-with-empty-map-items-in-CB.patch)0
-rw-r--r--patches/server/0640-Add-System.out-err-catcher.patch (renamed from patches/server/0641-Add-System.out-err-catcher.patch)0
-rw-r--r--patches/server/0641-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/server/0642-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/server/0642-Improve-boat-collision-performance.patch (renamed from patches/server/0643-Improve-boat-collision-performance.patch)0
-rw-r--r--patches/server/0643-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0644-Prevent-AFK-kick-while-watching-end-credits.patch)0
-rw-r--r--patches/server/0644-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0645-Allow-skipping-writing-of-comments-to-server.propert.patch)0
-rw-r--r--patches/server/0645-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0646-Add-PlayerSetSpawnEvent.patch)0
-rw-r--r--patches/server/0646-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0647-Make-hoppers-respect-inventory-max-stack-size.patch)0
-rw-r--r--patches/server/0647-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0648-Optimize-entity-tracker-passenger-checks.patch)0
-rw-r--r--patches/server/0648-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0649-Config-option-for-Piglins-guarding-chests.patch)0
-rw-r--r--patches/server/0649-Added-EntityDamageItemEvent.patch (renamed from patches/server/0650-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/server/0650-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0651-Optimize-indirect-passenger-iteration.patch)0
-rw-r--r--patches/server/0651-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch)0
-rw-r--r--patches/server/0652-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/server/0653-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/server/0653-Clear-bucket-NBT-after-dispense.patch (renamed from patches/server/0654-Clear-bucket-NBT-after-dispense.patch)0
-rw-r--r--patches/server/0654-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0655-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/server/0655-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0656-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/server/0656-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0657-Option-to-prevent-NBT-copy-in-smithing-recipes.patch)0
-rw-r--r--patches/server/0657-More-CommandBlock-API.patch (renamed from patches/server/0658-More-CommandBlock-API.patch)0
-rw-r--r--patches/server/0658-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0659-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/server/0659-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0660-Add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0661-Add-methods-to-find-targets-for-lightning-strikes.patch)4
-rw-r--r--patches/server/0661-Get-entity-default-attributes.patch (renamed from patches/server/0662-Get-entity-default-attributes.patch)4
-rw-r--r--patches/server/0662-Left-handed-API.patch (renamed from patches/server/0663-Left-handed-API.patch)0
-rw-r--r--patches/server/0663-Add-more-advancement-API.patch (renamed from patches/server/0664-Add-more-advancement-API.patch)0
-rw-r--r--patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0665-Add-ItemFactory-getSpawnEgg-API.patch)0
-rw-r--r--patches/server/0665-Add-critical-damage-API.patch (renamed from patches/server/0666-Add-critical-damage-API.patch)2
-rw-r--r--patches/server/0666-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0667-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/server/0667-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0668-Add-isCollidable-methods-to-various-places.patch)4
-rw-r--r--patches/server/0668-Goat-ram-API.patch (renamed from patches/server/0669-Goat-ram-API.patch)0
-rw-r--r--patches/server/0669-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0670-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0671-Add-Raw-Byte-Entity-Serialization.patch)4
-rw-r--r--patches/server/0671-Vanilla-command-permission-fixes.patch (renamed from patches/server/0672-Vanilla-command-permission-fixes.patch)0
-rw-r--r--patches/server/0672-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0673-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch)0
-rw-r--r--patches/server/0673-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0674-Fix-GameProfileCache-concurrency.patch)0
-rw-r--r--patches/server/0674-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0675-Improve-and-expand-AsyncCatcher.patch)0
-rw-r--r--patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0676-Add-paper-mobcaps-and-paper-playermobcaps.patch)4
-rw-r--r--patches/server/0676-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0677-Sanitize-ResourceLocation-error-logging.patch)0
-rw-r--r--patches/server/0677-Optimise-general-POI-access.patch (renamed from patches/server/0678-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/0678-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0679-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/0679-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0680-Manually-inline-methods-in-BlockPosition.patch)0
-rw-r--r--patches/server/0680-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0681-Name-craft-scheduler-threads-according-to-the-plugin.patch)0
-rw-r--r--patches/server/0681-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0682-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch)0
-rw-r--r--patches/server/0682-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0683-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch)0
-rw-r--r--patches/server/0683-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0684-Don-t-lookup-fluid-state-when-raytracing.patch)0
-rw-r--r--patches/server/0684-Time-scoreboard-search.patch (renamed from patches/server/0685-Time-scoreboard-search.patch)0
-rw-r--r--patches/server/0685-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch)0
-rw-r--r--patches/server/0686-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0687-Do-not-run-raytrace-logic-for-AIR.patch)0
-rw-r--r--patches/server/0687-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0688-Execute-chunk-tasks-mid-tick.patch)0
-rw-r--r--patches/server/0688-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0689-Oprimise-map-impl-for-tracked-players.patch)0
-rw-r--r--patches/server/0689-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0690-Optimise-BlockSoil-nearby-water-lookup.patch)0
-rw-r--r--patches/server/0690-Optimise-random-block-ticking.patch (renamed from patches/server/0691-Optimise-random-block-ticking.patch)0
-rw-r--r--patches/server/0691-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/0692-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0693-Use-Velocity-compression-and-cipher-natives.patch)4
-rw-r--r--patches/server/0693-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0694-Detail-more-information-in-watchdog-dumps.patch)0
-rw-r--r--patches/server/0694-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0695-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch)0
-rw-r--r--patches/server/0695-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0696-Fix-Bukkit-NamespacedKey-shenanigans.patch)0
-rw-r--r--patches/server/0696-Distance-manager-tick-timings.patch (renamed from patches/server/0697-Distance-manager-tick-timings.patch)0
-rw-r--r--patches/server/0697-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0698-Fix-merchant-inventory-not-closing-on-entity-removal.patch)0
-rw-r--r--patches/server/0698-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0699-Check-requirement-before-suggesting-root-nodes.patch)0
-rw-r--r--patches/server/0699-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0700-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch)0
-rw-r--r--patches/server/0700-Add-packet-limiter-config.patch (renamed from patches/server/0701-Add-packet-limiter-config.patch)0
-rw-r--r--patches/server/0701-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0702-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch)0
-rw-r--r--patches/server/0702-Ensure-valid-vehicle-status.patch (renamed from patches/server/0703-Ensure-valid-vehicle-status.patch)0
-rw-r--r--patches/server/0703-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0704-Prevent-softlocked-end-exit-portal-generation.patch)0
-rw-r--r--patches/server/0704-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0705-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch)0
-rw-r--r--patches/server/0705-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0706-Don-t-log-debug-logging-being-disabled.patch)0
-rw-r--r--patches/server/0706-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0707-fix-various-menus-with-empty-level-accesses.patch)0
-rw-r--r--patches/server/0707-Preserve-overstacked-loot.patch (renamed from patches/server/0708-Preserve-overstacked-loot.patch)0
-rw-r--r--patches/server/0708-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0709-Update-head-rotation-in-missing-places.patch)0
-rw-r--r--patches/server/0709-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0710-prevent-unintended-light-block-manipulation.patch)0
-rw-r--r--patches/server/0710-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0711-Fix-CraftCriteria-defaults-map.patch)0
-rw-r--r--patches/server/0711-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0712-Fix-upstreams-block-state-factories.patch)0
-rw-r--r--patches/server/0712-Configurable-feature-seeds.patch (renamed from patches/server/0713-Configurable-feature-seeds.patch)0
-rw-r--r--patches/server/0713-Add-root-admin-user-detection.patch (renamed from patches/server/0714-Add-root-admin-user-detection.patch)0
-rw-r--r--patches/server/0714-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0715-Always-allow-item-changing-in-Fireball.patch)0
-rw-r--r--patches/server/0715-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0716-don-t-attempt-to-teleport-dead-entities.patch)0
-rw-r--r--patches/server/0716-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch)0
-rw-r--r--patches/server/0717-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0718-Remove-client-side-code-using-deprecated-for-removal.patch)0
-rw-r--r--patches/server/0718-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0719-Fix-removing-recipes-from-RecipeIterator.patch)0
-rw-r--r--patches/server/0719-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch)0
-rw-r--r--patches/server/0720-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch)0
-rw-r--r--patches/server/0721-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0722-Fix-Spigot-growth-modifiers.patch)0
-rw-r--r--patches/server/0722-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0723-Prevent-ContainerOpenersCounter-openCount-from-going.patch)0
-rw-r--r--patches/server/0723-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0724-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/server/0724-Optimize-HashMapPalette.patch (renamed from patches/server/0725-Optimize-HashMapPalette.patch)0
-rw-r--r--patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0726-Allow-delegation-to-vanilla-chunk-gen.patch)0
-rw-r--r--patches/server/0726-Collision-optimisations.patch (renamed from patches/server/0727-Collision-optimisations.patch)0
-rw-r--r--patches/server/0727-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0728-Optimise-collision-checking-in-player-move-packet-ha.patch)0
-rw-r--r--patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0729-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)4
-rw-r--r--patches/server/0729-Add-more-Campfire-API.patch (renamed from patches/server/0730-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0730-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0731-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/0731-Fix-tripwire-state-inconsistency.patch (renamed from patches/server/0732-Fix-tripwire-state-inconsistency.patch)0
-rw-r--r--patches/server/0732-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0733-Forward-CraftEntity-in-teleport-command.patch)0
-rw-r--r--patches/server/0733-Improve-scoreboard-entries.patch (renamed from patches/server/0734-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/server/0734-Entity-powdered-snow-API.patch (renamed from patches/server/0735-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/server/0735-Add-API-for-item-entity-health.patch (renamed from patches/server/0736-Add-API-for-item-entity-health.patch)14
-rw-r--r--patches/server/0736-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/0737-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/0737-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0738-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0738-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0739-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0739-Load-effect-amplifiers-greater-than-127-correctly.patch (renamed from patches/server/0740-Load-effect-amplifiers-greater-than-127-correctly.patch)0
-rw-r--r--patches/server/0740-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0741-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0741-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0742-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0742-Bucketable-API.patch (renamed from patches/server/0743-Bucketable-API.patch)0
-rw-r--r--patches/server/0743-Validate-usernames.patch (renamed from patches/server/0744-Validate-usernames.patch)0
-rw-r--r--patches/server/0744-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0745-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0746-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)4
-rw-r--r--patches/server/0746-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0747-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0747-Add-new-overload-to-PersistentDataContainer-has.patch (renamed from patches/server/0748-Add-new-overload-to-PersistentDataContainer-has.patch)0
-rw-r--r--patches/server/0748-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0749-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0749-Reset-placed-block-on-exception.patch (renamed from patches/server/0750-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0750-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0751-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0751-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/server/0752-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch)0
-rw-r--r--patches/server/0752-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0753-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0753-Kick-on-main-for-illegal-chat.patch (renamed from patches/server/0754-Kick-on-main-for-illegal-chat.patch)0
-rw-r--r--patches/server/0754-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0755-Multi-Block-Change-API-Implementation.patch)2
-rw-r--r--patches/server/0755-Fix-NotePlayEvent.patch (renamed from patches/server/0756-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0756-Freeze-Tick-Lock-API.patch (renamed from patches/server/0757-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/server/0757-Dolphin-API.patch (renamed from patches/server/0758-Dolphin-API.patch)0
-rw-r--r--patches/server/0758-More-PotionEffectType-API.patch (renamed from patches/server/0759-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0759-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0761-API-for-creating-command-sender-which-forwards-feedb.patch)0
-rw-r--r--patches/server/0761-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0762-Add-missing-structure-set-seed-configs.patch)0
-rw-r--r--patches/server/0762-Implement-regenerateChunk.patch (renamed from patches/server/0763-Implement-regenerateChunk.patch)6
-rw-r--r--patches/server/0763-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0764-Fix-cancelled-powdered-snow-bucket-placement.patch)0
-rw-r--r--patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0765-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)0
-rw-r--r--patches/server/0765-Add-GameEvent-tags.patch (renamed from patches/server/0766-Add-GameEvent-tags.patch)0
-rw-r--r--patches/server/0766-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0767-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)0
-rw-r--r--patches/server/0767-Furnace-RecipesUsed-API.patch (renamed from patches/server/0768-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0768-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0769-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0769-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/server/0770-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/server/0770-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0771-Option-to-have-default-CustomSpawners-in-custom-worl.patch)0
-rw-r--r--patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0772-Put-world-into-worldlist-before-initing-the-world.patch)0
-rw-r--r--patches/server/0772-Fix-Entity-Position-Desync.patch (renamed from patches/server/0773-Fix-Entity-Position-Desync.patch)0
-rw-r--r--patches/server/0773-Custom-Potion-Mixes.patch (renamed from patches/server/0774-Custom-Potion-Mixes.patch)4
-rw-r--r--patches/server/0774-Force-close-world-loading-screen.patch (renamed from patches/server/0775-Force-close-world-loading-screen.patch)0
-rw-r--r--patches/server/0775-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0776-Fix-falling-block-spawn-methods.patch)6
-rw-r--r--patches/server/0776-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0777-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0777-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0778-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)2
-rw-r--r--patches/server/0778-More-Projectile-API.patch (renamed from patches/server/0779-More-Projectile-API.patch)0
-rw-r--r--patches/server/0779-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0780-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0780-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0781-Don-t-allow-vehicle-movement-from-players-while-tele.patch)0
-rw-r--r--patches/server/0781-Implement-getComputedBiome-API.patch (renamed from patches/server/0782-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0782-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0783-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0783-Implement-enchantWithLevels-API.patch (renamed from patches/server/0784-Implement-enchantWithLevels-API.patch)0
-rw-r--r--patches/server/0784-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0785-Fix-saving-in-unloadWorld.patch)0
-rw-r--r--patches/server/0785-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0786-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0786-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0787-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0788-Fix-new-block-data-for-EntityChangeBlockEvent.patch)0
-rw-r--r--patches/server/0788-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0789-fix-player-loottables-running-when-mob-loot-gamerule.patch)0
-rw-r--r--patches/server/0789-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0790-Ensure-entity-passenger-world-matches-ridden-entity.patch)0
-rw-r--r--patches/server/0790-Guard-against-invalid-entity-positions.patch (renamed from patches/server/0791-Guard-against-invalid-entity-positions.patch)0
-rw-r--r--patches/server/0791-cache-resource-keys.patch (renamed from patches/server/0792-cache-resource-keys.patch)0
-rw-r--r--patches/server/0792-Allow-to-change-the-podium-for-the-EnderDragon.patch (renamed from patches/server/0793-Allow-to-change-the-podium-for-the-EnderDragon.patch)0
-rw-r--r--patches/server/0793-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0794-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch (renamed from patches/server/0795-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch)0
-rw-r--r--patches/server/0795-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0796-Prevent-tile-entity-copies-loading-chunks.patch)0
-rw-r--r--patches/server/0796-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0797-Use-username-instead-of-display-name-in-PlayerList-g.patch)0
-rw-r--r--patches/server/0797-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch (renamed from patches/server/0798-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch)0
-rw-r--r--patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch (renamed from patches/server/0799-Pass-ServerLevel-for-gamerule-callbacks.patch)6
-rw-r--r--patches/server/0799-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/server/0800-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/server/0800-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0801-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/server/0801-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0802-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0802-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0803-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)0
-rw-r--r--patches/server/0803-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0804-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0804-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0805-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0805-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0806-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0806-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0807-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/server/0807-Don-t-tick-markers.patch (renamed from patches/server/0809-Don-t-tick-markers.patch)0
-rw-r--r--patches/server/0809-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0810-Do-not-accept-invalid-client-settings.patch)0
-rw-r--r--patches/server/0810-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0811-Add-support-for-Proxy-Protocol.patch)2
-rw-r--r--patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0812-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0812-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0813-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0813-Sanitize-Sent-BlockEntity-NBT.patch (renamed from patches/server/0814-Sanitize-Sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0814-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0815-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0815-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0816-Prevent-entity-loading-causing-async-lookups.patch)0
-rw-r--r--patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0817-Throw-exception-on-world-create-while-being-ticked.patch)0
-rw-r--r--patches/server/0817-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/0818-Add-Alternate-Current-redstone-implementation.patch)0
-rw-r--r--patches/server/0818-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0819-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0819-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0820-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0820-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0821-Add-option-for-strict-advancement-dimension-checks.patch)0
-rw-r--r--patches/server/0821-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0822-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0822-Nameable-Banner-API.patch (renamed from patches/server/0823-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0824-Don-t-broadcast-messages-to-command-blocks.patch)0
-rw-r--r--patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0825-Prevent-empty-items-from-being-added-to-world.patch)0
-rw-r--r--patches/server/0825-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0826-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0826-Add-Player-getFishHook.patch (renamed from patches/server/0827-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0827-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0828-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0828-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0829-Add-various-missing-EntityDropItemEvent-calls.patch)0
-rw-r--r--patches/server/0829-Add-some-minimal-debug-information-to-chat-packet-er.patch (renamed from patches/server/0830-Add-some-minimal-debug-information-to-chat-packet-er.patch)0
-rw-r--r--patches/server/0830-Fix-Bee-flower-NPE.patch (renamed from patches/server/0831-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0831-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (renamed from patches/server/0832-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch)0
-rw-r--r--patches/server/0832-More-Teleport-API.patch (renamed from patches/server/0833-More-Teleport-API.patch)0
-rw-r--r--patches/server/0833-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0834-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0835-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0835-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0836-Send-block-entities-after-destroy-prediction.patch)0
-rw-r--r--patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0837-Warn-on-plugins-accessing-faraway-chunks.patch)16
-rw-r--r--patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0838-Custom-Chat-Completion-Suggestions-API.patch)2
-rw-r--r--patches/server/0838-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0839-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0839-Collision-API.patch (renamed from patches/server/0840-Collision-API.patch)0
-rw-r--r--patches/server/0840-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0841-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0841-Block-Ticking-API.patch (renamed from patches/server/0842-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0843-Add-Velocity-IP-Forwarding-Support.patch)0
-rw-r--r--patches/server/0843-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch (renamed from patches/server/0844-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch)0
-rw-r--r--patches/server/0844-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0845-Add-NamespacedKey-biome-methods.patch)4
-rw-r--r--patches/server/0845-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch)0
-rw-r--r--patches/server/0846-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch)0
-rw-r--r--patches/server/0847-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0848-Fire-EntityChangeBlockEvent-in-more-places.patch)0
-rw-r--r--patches/server/0848-Missing-eating-regain-reason.patch (renamed from patches/server/0849-Missing-eating-regain-reason.patch)0
-rw-r--r--patches/server/0849-Missing-effect-cause.patch (renamed from patches/server/0850-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0850-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0851-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/server/0852-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)0
-rw-r--r--patches/server/0852-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0853-Call-BlockPhysicsEvent-more-often.patch)0
-rw-r--r--patches/server/0853-Configurable-chat-thread-limit.patch (renamed from patches/server/0854-Configurable-chat-thread-limit.patch)0
-rw-r--r--patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0855-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0855-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0856-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0856-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0857-use-BlockFormEvent-for-mud-converting-into-clay.patch)0
-rw-r--r--patches/server/0857-Add-getDrops-to-BlockState.patch (renamed from patches/server/0858-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0858-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0859-Fix-a-bunch-of-vanilla-bugs.patch)0
-rw-r--r--patches/server/0859-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0860-Remove-unnecessary-onTrackingStart-during-navigation.patch)0
-rw-r--r--patches/server/0860-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0861-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0861-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0862-EntityPickupItemEvent-fixes.patch)0
-rw-r--r--patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0863-Correctly-handle-interactions-with-items-on-cooldown.patch)0
-rw-r--r--patches/server/0863-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0864-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/server/0864-Elder-Guardian-appearance-API.patch (renamed from patches/server/0865-Elder-Guardian-appearance-API.patch)2
-rw-r--r--patches/server/0865-Allow-changing-bed-s-occupied-property.patch (renamed from patches/server/0866-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/server/0866-Add-entity-knockback-API.patch (renamed from patches/server/0867-Add-entity-knockback-API.patch)0
-rw-r--r--patches/server/0867-Detect-headless-JREs.patch (renamed from patches/server/0868-Detect-headless-JREs.patch)0
-rw-r--r--patches/server/0868-fixed-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0869-fixed-entity-vehicle-collision-event-not-called.patch)0
-rw-r--r--patches/server/0869-optimized-dirt-and-snow-spreading.patch (renamed from patches/server/0870-optimized-dirt-and-snow-spreading.patch)0
-rw-r--r--patches/server/0870-Added-EntityToggleSitEvent.patch (renamed from patches/server/0871-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/server/0871-Add-fire-tick-delay-option.patch (renamed from patches/server/0872-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0872-Add-Moving-Piston-API.patch (renamed from patches/server/0873-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0873-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0874-Ignore-impossible-spawn-tick.patch)0
-rw-r--r--patches/server/0874-Track-projectile-source-for-fireworks-from-dispenser.patch (renamed from patches/server/0875-Track-projectile-source-for-fireworks-from-dispenser.patch)0
-rw-r--r--patches/server/0875-Fix-EntityArgument-suggestion-permissions-to-align-w.patch (renamed from patches/server/0876-Fix-EntityArgument-suggestion-permissions-to-align-w.patch)0
-rw-r--r--patches/server/0876-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0877-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)0
-rw-r--r--patches/server/0877-Prevent-compass-from-loading-chunks.patch (renamed from patches/server/0878-Prevent-compass-from-loading-chunks.patch)0
-rw-r--r--patches/server/0878-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0879-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/server/0879-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0880-ensure-reset-EnderDragon-boss-event-name.patch)0
-rw-r--r--patches/server/0880-fix-MC-252817-green-map-markers-do-not-disappear.patch (renamed from patches/server/0881-fix-MC-252817-green-map-markers-do-not-disappear.patch)0
-rw-r--r--patches/server/0881-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0882-Add-Player-Warden-Warning-API.patch)2
-rw-r--r--patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0883-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0883-Add-paper-dumplisteners-command.patch (renamed from patches/server/0884-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0884-check-global-player-list-where-appropriate.patch (renamed from patches/server/0885-check-global-player-list-where-appropriate.patch)0
-rw-r--r--patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0886-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0886-ItemStack-damage-API.patch (renamed from patches/server/0887-ItemStack-damage-API.patch)0
-rw-r--r--patches/server/0887-Friction-API.patch (renamed from patches/server/0888-Friction-API.patch)12
-rw-r--r--patches/server/0888-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0889-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0889-Fix-player-kick-on-shutdown.patch (renamed from patches/server/0890-Fix-player-kick-on-shutdown.patch)0
-rw-r--r--patches/server/0890-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0891-Sync-offhand-slot-in-menus.patch)0
-rw-r--r--patches/server/0891-Player-Entity-Tracking-Events.patch (renamed from patches/server/0892-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/server/0892-Limit-pet-look-distance.patch (renamed from patches/server/0893-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0893-Properly-resend-entities.patch (renamed from patches/server/0894-Properly-resend-entities.patch)0
-rw-r--r--patches/server/0894-Fixes-and-additions-to-the-SpawnReason-API.patch (renamed from patches/server/0895-Fixes-and-additions-to-the-SpawnReason-API.patch)0
-rw-r--r--patches/server/0895-fix-Instruments.patch (renamed from patches/server/0896-fix-Instruments.patch)2
-rw-r--r--patches/server/0896-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0897-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0897-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/0898-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/0898-Add-BlockLockCheckEvent.patch (renamed from patches/server/0899-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/server/0899-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0900-Add-Sneaking-API-for-Entities.patch)2
-rw-r--r--patches/server/0900-Improve-logging-and-errors.patch (renamed from patches/server/0901-Improve-logging-and-errors.patch)0
-rw-r--r--patches/server/0901-Improve-PortalEvents.patch (renamed from patches/server/0902-Improve-PortalEvents.patch)0
-rw-r--r--patches/server/0902-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0903-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0903-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0904-Add-missing-SpigotConfig-logCommands-check.patch)0
-rw-r--r--patches/server/0904-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0905-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0905-Flying-Fall-Damage.patch (renamed from patches/server/0906-Flying-Fall-Damage.patch)2
-rw-r--r--patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch (renamed from patches/server/0907-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch)0
-rw-r--r--patches/server/0907-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0908-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)0
-rw-r--r--patches/server/0908-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0909-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0909-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0910-Use-single-player-info-update-packet-on-join.patch)0
-rw-r--r--patches/server/0910-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0911-Correctly-shrink-items-during-EntityResurrectEvent.patch)0
-rw-r--r--patches/server/0911-Win-Screen-API.patch (renamed from patches/server/0912-Win-Screen-API.patch)2
-rw-r--r--patches/server/0912-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0913-Remove-CraftItemStack-setAmount-null-assignment.patch)0
-rw-r--r--patches/server/0913-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0914-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0914-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0915-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/server/0915-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0916-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0916-Update-the-flag-when-a-captured-block-state-is-outda.patch (renamed from patches/server/0917-Update-the-flag-when-a-captured-block-state-is-outda.patch)0
-rw-r--r--patches/server/0917-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0918-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/server/0918-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0919-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0919-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0920-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0920-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0921-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0921-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0922-Fix-advancement-triggers-for-entity-damage.patch)0
-rw-r--r--patches/server/0922-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0923-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0923-Fix-certain-inventories-returning-null-Locations.patch (renamed from patches/server/0924-Fix-certain-inventories-returning-null-Locations.patch)0
-rw-r--r--patches/server/0924-Add-Shearable-API.patch (renamed from patches/server/0925-Add-Shearable-API.patch)0
-rw-r--r--patches/server/0925-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0926-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0926-Optimize-Hoppers.patch (renamed from patches/server/0927-Optimize-Hoppers.patch)0
-rw-r--r--patches/server/0927-Fix-beehives-generating-from-using-bonemeal.patch (renamed from patches/server/0928-Fix-beehives-generating-from-using-bonemeal.patch)0
-rw-r--r--patches/server/0928-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0929-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0929-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0930-Treat-sequence-violations-like-they-should-be.patch)0
-rw-r--r--patches/server/0930-remove-duplicate-animate-packet-for-records.patch (renamed from patches/server/0931-remove-duplicate-animate-packet-for-records.patch)0
-rw-r--r--patches/server/0931-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0932-Prevent-causing-expired-keys-from-impacting-new-join.patch)0
-rw-r--r--patches/server/0932-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0933-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)0
-rw-r--r--patches/server/0933-Use-array-for-gamerule-storage.patch (renamed from patches/server/0934-Use-array-for-gamerule-storage.patch)0
-rw-r--r--patches/server/0934-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0935-Fix-a-couple-of-upstream-bed-issues.patch)0
-rw-r--r--patches/server/0935-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0936-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0936-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0937-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/server/0937-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0938-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0938-Fix-DamageCause-for-Falling-Blocks.patch (renamed from patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch)0
-rw-r--r--patches/server/0939-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0940-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0940-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0941-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0941-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch (renamed from patches/server/0942-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch)0
-rw-r--r--patches/server/0942-Optimise-recalcBlockCounts-for-empty-sections.patch (renamed from patches/server/0943-Optimise-recalcBlockCounts-for-empty-sections.patch)0
-rw-r--r--patches/server/0943-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0944-Expand-PlayerItemMendEvent.patch)2
-rw-r--r--patches/server/0944-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0945-Refresh-ProjectileSource-for-projectiles.patch)0
-rw-r--r--patches/server/0945-Add-transient-modifier-API.patch (renamed from patches/server/0946-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0946-Fix-block-place-logic.patch (renamed from patches/server/0947-Fix-block-place-logic.patch)0
-rw-r--r--patches/server/0947-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0948-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)0
-rw-r--r--patches/server/0948-Ignore-inline-definitions-of-trim-material-pattern.patch (renamed from patches/server/0949-Ignore-inline-definitions-of-trim-material-pattern.patch)0
-rw-r--r--patches/server/0949-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0950-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0950-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)0
-rw-r--r--patches/server/0951-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0952-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0952-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0953-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0953-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/server/0954-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch (renamed from patches/server/0955-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch)0
-rw-r--r--patches/server/0955-Fix-incorrect-crafting-result-amount-for-fireworks.patch (renamed from patches/server/0956-Fix-incorrect-crafting-result-amount-for-fireworks.patch)0
-rw-r--r--patches/server/0956-Properly-Cancel-Usable-Items.patch (renamed from patches/server/0957-Properly-Cancel-Usable-Items.patch)0
-rw-r--r--patches/server/0957-Add-event-for-player-editing-sign.patch (renamed from patches/server/0958-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/server/0958-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch)0
-rw-r--r--patches/server/0959-Improve-command-function-perm-level-checks.patch (renamed from patches/server/0960-Improve-command-function-perm-level-checks.patch)0
-rw-r--r--patches/server/0960-Add-option-to-disable-block-updates.patch (renamed from patches/server/0961-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0961-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0962-Call-missing-BlockDispenseEvent.patch)0
-rw-r--r--patches/server/0962-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0963-Don-t-load-chunks-for-supporting-block-checks.patch)0
-rw-r--r--patches/server/0963-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0964-Optimize-player-lookups-for-beacons.patch)0
-rw-r--r--patches/server/0964-Add-Sign-getInteractableSideFor.patch (renamed from patches/server/0965-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/server/0965-Array-backed-synched-entity-data.patch (renamed from patches/server/0966-Array-backed-synched-entity-data.patch)0
-rw-r--r--patches/server/0966-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0967-fix-item-meta-for-tadpole-buckets.patch)0
-rw-r--r--patches/server/0967-Suppress-Item-Meta-Validation-Checks.patch (renamed from patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch)2
-rw-r--r--patches/server/0968-Fix-BanList-API.patch (renamed from patches/server/0969-Fix-BanList-API.patch)2
-rw-r--r--patches/server/0969-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0970-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0970-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0971-Fix-possible-NPE-on-painting-creation.patch)0
-rw-r--r--patches/server/0971-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0972-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0972-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch)0
-rw-r--r--patches/server/0973-Don-t-tick-signs.patch (renamed from patches/server/0974-Don-t-tick-signs.patch)0
-rw-r--r--patches/server/0974-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0975-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0975-Add-whitelist-events.patch (renamed from patches/server/0976-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0976-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0977-Implement-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/server/0977-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0978-Folia-scheduler-and-owned-region-API.patch)2
-rw-r--r--patches/server/0978-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0979-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0979-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0980-API-for-updating-recipes-on-clients.patch)0
-rw-r--r--patches/server/0980-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0981-Fix-rotation-when-spawning-display-entities.patch)0
-rw-r--r--patches/server/0981-Only-capture-actual-tree-growth.patch (renamed from patches/server/0982-Only-capture-actual-tree-growth.patch)0
-rw-r--r--patches/server/0982-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0983-Use-correct-source-for-mushroom-block-spread-event.patch)0
-rw-r--r--patches/server/0983-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch)0
-rw-r--r--patches/server/0984-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0985-Use-correct-seed-on-api-world-load.patch)0
-rw-r--r--patches/server/0985-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0986-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0986-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0987-Cache-map-ids-on-item-frames.patch)0
-rw-r--r--patches/server/0987-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0988-Fix-custom-statistic-criteria-creation.patch)4
-rw-r--r--patches/server/0988-Bandaid-fix-for-Effect.patch (renamed from patches/server/0989-Bandaid-fix-for-Effect.patch)6
-rw-r--r--patches/server/0989-SculkCatalyst-bloom-API.patch (renamed from patches/server/0990-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0990-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0991-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/server/0991-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/0992-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)2
-rw-r--r--patches/server/0992-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch)0
-rw-r--r--patches/server/0993-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0994-Don-t-tab-complete-namespaced-commands-if-send-names.patch)0
-rw-r--r--patches/server/0994-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0995-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0995-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0996-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0996-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0997-Configurable-entity-tracking-range-by-Y-coordinate.patch)0
-rw-r--r--patches/server/0997-Add-Listing-API-for-Player.patch (renamed from patches/server/0998-Add-Listing-API-for-Player.patch)2
-rw-r--r--patches/server/0998-Configurable-Region-Compression-Format.patch (renamed from patches/server/0999-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0999-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/server/1000-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/1001-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/1001-Expand-Pose-API.patch (renamed from patches/server/1002-Expand-Pose-API.patch)2
-rw-r--r--patches/server/1002-More-DragonBattle-API.patch (renamed from patches/server/1003-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/1003-Deep-clone-unhandled-nbt-tags.patch (renamed from patches/server/1004-Deep-clone-unhandled-nbt-tags.patch)2
-rw-r--r--patches/server/1004-Add-PlayerPickItemEvent.patch (renamed from patches/server/1005-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/server/1005-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1006-Improve-performance-of-mass-crafts.patch)0
-rw-r--r--patches/server/1006-Allow-trident-custom-damage.patch (renamed from patches/server/1007-Allow-trident-custom-damage.patch)2
-rw-r--r--patches/server/1007-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/server/1008-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/1008-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/1009-Optimize-nearest-structure-border-iteration.patch)0
-rw-r--r--patches/server/1009-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/1010-Implement-OfflinePlayer-isConnected.patch)2
-rw-r--r--patches/server/1010-Fix-inventory-desync.patch (renamed from patches/server/1011-Fix-inventory-desync.patch)0
-rw-r--r--patches/server/1011-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/server/1012-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/1013-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/1013-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/1014-Do-crystal-portal-proximity-check-before-entity-look.patch)0
-rw-r--r--patches/server/1014-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/1015-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/1015-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/1016-Add-slot-sanity-checks-in-container-clicks.patch)0
-rw-r--r--patches/server/1016-Call-BlockRedstoneEvents-for-lecterns.patch (renamed from patches/server/1017-Call-BlockRedstoneEvents-for-lecterns.patch)0
-rw-r--r--patches/server/1017-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/1018-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/server/1018-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/1019-Fix-silent-equipment-change-for-mobs.patch)0
-rw-r--r--patches/server/1019-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/1020-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/1020-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/1021-Add-missing-InventoryHolders-to-inventories.patch)0
-rw-r--r--patches/server/1021-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/1022-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)0
-rw-r--r--patches/server/1022-Actually-optimise-explosions.patch (renamed from patches/server/1023-Actually-optimise-explosions.patch)0
-rw-r--r--patches/server/1023-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/1024-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/1024-Remove-Spigot-Bug-Fix-for-MC-109346.patch (renamed from patches/server/1025-Remove-Spigot-Bug-Fix-for-MC-109346.patch)0
-rw-r--r--patches/server/1025-Fix-SuspiciousStewMeta.patch (renamed from patches/server/1026-Fix-SuspiciousStewMeta.patch)0
-rw-r--r--patches/server/1026-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1027-Optimise-chunk-tick-iteration.patch)0
-rw-r--r--patches/server/1027-Lag-compensation-ticks.patch (renamed from patches/server/1028-Lag-compensation-ticks.patch)0
-rw-r--r--patches/server/1028-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/1029-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/1029-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/1030-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/1030-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/1031-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/1031-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1032-Optimise-nearby-player-retrieval.patch)2
-rw-r--r--patches/server/1032-Remove-streams-for-villager-AI.patch (renamed from patches/server/1033-Remove-streams-for-villager-AI.patch)0
-rw-r--r--patches/server/1033-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/1034-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/1034-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/1035-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/1035-Use-correct-variable-for-initializing-CraftLootTable.patch (renamed from patches/server/1036-Use-correct-variable-for-initializing-CraftLootTable.patch)0
-rw-r--r--patches/server/1036-Make-setVelocity-method-of-Fireballs-change-the-trav.patch (renamed from patches/server/1037-Make-setVelocity-method-of-Fireballs-change-the-trav.patch)0
-rw-r--r--patches/server/1037-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/1038-Fix-UnsafeValues-loadAdvancement.patch)4
-rw-r--r--patches/server/1038-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/1039-Don-t-check-if-we-can-see-non-visible-entities.patch)0
-rw-r--r--patches/server/1039-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/1040-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/1041-Temp-fix-for-serialisable-blockdata.patch19
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
523 files changed, 356 insertions, 638 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index 65d96647ff..226b6e96ad 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -124,10 +124,10 @@ index 0000000000000000000000000000000000000000..41e77b687df6480adf8f5e21daad105d
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index e31246ebbe2af2950d63ad413460ea7c0c6baa36..0000000000000000000000000000000000000000
+index a464312b63bb62d196d6ec2d55ffcdc85ae4da67..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
-@@ -1,281 +0,0 @@
+@@ -1,278 +0,0 @@
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
@@ -330,9 +330,6 @@ index e31246ebbe2af2950d63ad413460ea7c0c6baa36..00000000000000000000000000000000
- <configuration>
- <links>
- <link>https://guava.dev/releases/31.1-jre/api/docs/</link>
-- <link>https://javadoc.io/doc/org.yaml/snakeyaml/2.0/</link>
-- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/24.0.1/</link>
-- <link>https://javadoc.io/doc/net.md-5/bungeecord-chat/1.20-R0.1/</link>
- </links>
- <tags>
- <tag>
diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch
index 914a718feb..9138c87fe3 100644
--- a/patches/api/0005-Adventure.patch
+++ b/patches/api/0005-Adventure.patch
@@ -1476,10 +1476,10 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 68194147e96307eca1147f3b2be5771270efb3d7..90b0253bd16a2b3c2ba3155f3eb9af35aab9f36f 100644
+index 4a9a82540e40685d2b837c76c431827a00cf4ba3..a3ee6f2f588bc9c87e49378359f450820b9af1b9 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -25,6 +25,15 @@ import org.jetbrains.annotations.Nullable;
+@@ -26,6 +26,15 @@ import org.jetbrains.annotations.Nullable;
*/
@Deprecated
public interface UnsafeValues {
@@ -1508,10 +1508,10 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb
return warning == null || warning.value();
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 2009f98dc12bc8921cd3108884c1ab65bcfc0109..4c2d252a8298336b0ad23d15fc9290f05e5438c6 100644
+index 5c9d74a5d8876507ee855dbecc2bfa8755f4062e..1403d28bf9124e3c4cd741dfda06400318e8a0a0 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -44,7 +44,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -45,7 +45,7 @@ import org.jetbrains.annotations.Nullable;
/**
* Represents a world, which may contain entities, chunks and blocks
*/
@@ -1520,7 +1520,7 @@ index 2009f98dc12bc8921cd3108884c1ab65bcfc0109..4c2d252a8298336b0ad23d15fc9290f0
/**
* Gets the {@link Block} at the given coordinates
-@@ -605,6 +605,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -606,6 +606,14 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public List<Player> getPlayers();
diff --git a/patches/api/0008-Paper-Plugins.patch b/patches/api/0008-Paper-Plugins.patch
index fde562e55f..9339310e0d 100644
--- a/patches/api/0008-Paper-Plugins.patch
+++ b/patches/api/0008-Paper-Plugins.patch
@@ -1346,13 +1346,13 @@ index 0000000000000000000000000000000000000000..6bf3d212a6156ad9ab0e82d1ca0a04f8
+
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 90b0253bd16a2b3c2ba3155f3eb9af35aab9f36f..08b7e95f56d0454de57de492327542c36f46369d 100644
+index a3ee6f2f588bc9c87e49378359f450820b9af1b9..0743592273cc1c5f4ab6935349941bf25b438448 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -100,4 +100,14 @@ public interface UnsafeValues {
-
- @Nullable
- FeatureFlag getFeatureFlag(@NotNull NamespacedKey key);
+@@ -109,4 +109,14 @@ public interface UnsafeValues {
+ * @return an internal potion data
+ */
+ PotionType.InternalPotionData getInternalPotionData(NamespacedKey key);
+
+ // Paper start
+ @Deprecated(forRemoval = true)
diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch
index 13135b7d35..2f419c9714 100644
--- a/patches/api/0010-Timings-v2.patch
+++ b/patches/api/0010-Timings-v2.patch
@@ -2897,10 +2897,10 @@ index e3602c6703b29ffec17ef7806c9deb3eead8a112..3e642d8a0294f7290c3d4310813e6e8a
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 08b7e95f56d0454de57de492327542c36f46369d..5d089d2fbbead69e744bb5a7dd172183e28d0eab 100644
+index 0743592273cc1c5f4ab6935349941bf25b438448..659405d84b5a61618576e930805da5cd3a054b4c 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -35,6 +35,7 @@ public interface UnsafeValues {
+@@ -36,6 +36,7 @@ public interface UnsafeValues {
net.kyori.adventure.text.Component resolveWithContext(net.kyori.adventure.text.Component component, org.bukkit.command.CommandSender context, org.bukkit.entity.Entity scoreboardSubject, boolean bypassPermissions) throws java.io.IOException;
// Paper end
@@ -2908,7 +2908,7 @@ index 08b7e95f56d0454de57de492327542c36f46369d..5d089d2fbbead69e744bb5a7dd172183
Material toLegacy(Material material);
Material fromLegacy(Material material);
-@@ -110,4 +111,12 @@ public interface UnsafeValues {
+@@ -119,4 +120,12 @@ public interface UnsafeValues {
return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion());
}
// Paper end
diff --git a/patches/api/0014-Version-Command-2.0.patch b/patches/api/0014-Version-Command-2.0.patch
index 164e1d9fb9..99c72a7b3d 100644
--- a/patches/api/0014-Version-Command-2.0.patch
+++ b/patches/api/0014-Version-Command-2.0.patch
@@ -56,10 +56,10 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 5d089d2fbbead69e744bb5a7dd172183e28d0eab..7ded4b932917a4a7b00b419e94a98aa8d59efe59 100644
+index 659405d84b5a61618576e930805da5cd3a054b4c..4604392831d19a789e4906cf1a5f0197105fd6f2 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -118,5 +118,12 @@ public interface UnsafeValues {
+@@ -127,5 +127,12 @@ public interface UnsafeValues {
* @return name
*/
String getTimingsServerName();
diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch
index 7ec3d43852..ed3258121d 100644
--- a/patches/api/0017-Add-view-distance-API.patch
+++ b/patches/api/0017-Add-view-distance-API.patch
@@ -8,10 +8,10 @@ Add per player no-tick, tick, and send view distances.
Also add send/no-tick view distance to World.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 4c2d252a8298336b0ad23d15fc9290f05e5438c6..20a949a65a92e1d4c5162585339732377b8fba0c 100644
+index 1403d28bf9124e3c4cd741dfda06400318e8a0a0..3559115d09b57acf5c2853b811862e5131f2a625 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2662,6 +2662,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2663,6 +2663,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
int getSimulationDistance();
// Spigot end
diff --git a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch
index a8e231d2f7..4bc411fd8f 100644
--- a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 20a949a65a92e1d4c5162585339732377b8fba0c..9c8cfd05bbac5155b723414113ab9a9ec9ada81f 100644
+index 3559115d09b57acf5c2853b811862e5131f2a625..dbb799aed5bbb80edd2428b63d3fce15cf2e2f05 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -46,6 +46,33 @@ import org.jetbrains.annotations.Nullable;
+@@ -47,6 +47,33 @@ import org.jetbrains.annotations.Nullable;
*/
public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient, Metadatable, PersistentDataHolder, Keyed, net.kyori.adventure.audience.ForwardingAudience { // Paper
diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch
index 038bf29af0..073161eb61 100644
--- a/patches/api/0055-Fix-upstream-javadocs.patch
+++ b/patches/api/0055-Fix-upstream-javadocs.patch
@@ -161,10 +161,10 @@ index 22d508a6c80d7e19352bceb57009fdbcb16bc723..3c1862b9a9293155f756615b5bd23cc8
* @return an array containing all previous players
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 9c8cfd05bbac5155b723414113ab9a9ec9ada81f..bb36bb6e98d36d407fc0ed8e9562feffb45f3f97 100644
+index dbb799aed5bbb80edd2428b63d3fce15cf2e2f05..609e4908ed21f69b9e813500e702bbe784bff00c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2576,7 +2576,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2577,7 +2577,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link StructureType}.
* Finding unexplored structures can, and will, block if the world is
@@ -173,7 +173,7 @@ index 9c8cfd05bbac5155b723414113ab9a9ec9ada81f..bb36bb6e98d36d407fc0ed8e9562feff
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2610,7 +2610,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2611,7 +2611,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link StructureType}.
* Finding unexplored structures can, and will, block if the world is
@@ -182,7 +182,7 @@ index 9c8cfd05bbac5155b723414113ab9a9ec9ada81f..bb36bb6e98d36d407fc0ed8e9562feff
* temporarily freezing while locating an unexplored structure.
* <p>
* The {@code radius} is not a rigid square radius. Each structure may alter
-@@ -2643,7 +2643,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2644,7 +2644,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
/**
* Find the closest nearby structure of a given {@link Structure}. Finding
* unexplored structures can, and will, block if the world is looking in
@@ -322,10 +322,10 @@ index 91fc11dda99de506be83d40df8929bf7cd8e8d85..7dc631ebd009f5f5c3ac1699c3f3515c
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
-index 8814519df13c5e9475774f4bce4c8c6a462c2978..be9a35790fc664721ac94f3708613eb77631a0c5 100644
+index 8eb0cf31b1ce6d714a14cf65bbb117ff163ae2f3..8e57082e8b19a2fd9625816c2ea4a90d41f78ca5 100644
--- a/src/main/java/org/bukkit/entity/Arrow.java
+++ b/src/main/java/org/bukkit/entity/Arrow.java
-@@ -73,7 +73,7 @@ public interface Arrow extends AbstractArrow {
+@@ -93,7 +93,7 @@ public interface Arrow extends AbstractArrow {
* Removes a custom potion effect from this arrow.
*
* @param type the potion effect type to remove
diff --git a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch
index 533c79b5e9..62ccb90725 100644
--- a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch
+++ b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's
Provides more methods to get nearby entities, and filter by types and predicates
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index bb36bb6e98d36d407fc0ed8e9562feffb45f3f97..51e7c662f2d56c1a99818497315e75d661494145 100644
+index 609e4908ed21f69b9e813500e702bbe784bff00c..7a6caf93606203198369030a295f1edbffde3c31 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1,6 +1,9 @@
@@ -19,7 +19,7 @@ index bb36bb6e98d36d407fc0ed8e9562feffb45f3f97..51e7c662f2d56c1a99818497315e75d6
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
-@@ -624,6 +627,256 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -625,6 +628,256 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Collection<Entity> getEntitiesByClasses(@NotNull Class<?>... classes);
diff --git a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch
index 8fdb4dc523..f2bacaf65f 100644
--- a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -522,10 +522,10 @@ index e9cbbdf310e48011ee538c5592baee2535965fee..dbedaf6a92681bc32d74f067cd4686c8
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 51e7c662f2d56c1a99818497315e75d661494145..1c7cdfe7a20500be8347a848e424e7409f73263c 100644
+index 7a6caf93606203198369030a295f1edbffde3c31..3e7385d21380abcd40649045e4666cf4bed32195 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2776,7 +2776,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2777,7 +2777,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
*/
diff --git a/patches/api/0114-Expand-Explosions-API.patch b/patches/api/0114-Expand-Explosions-API.patch
index f76cc573ed..afbf3c97c5 100644
--- a/patches/api/0114-Expand-Explosions-API.patch
+++ b/patches/api/0114-Expand-Explosions-API.patch
@@ -108,10 +108,10 @@ index 6693e3d8dc2519facb12db981a6b6325faa095bf..b7ff09ffdd3aecc1843d175bc76fe5fa
* Returns a list of entities within a bounding box centered around a Location.
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 1c7cdfe7a20500be8347a848e424e7409f73263c..e551347c8db9a89e8e450d39accb37f3ee4589ee 100644
+index 3e7385d21380abcd40649045e4666cf4bed32195..266ed71b79d32f9b812be322563c247051ccd9d0 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1391,6 +1391,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1392,6 +1392,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
public boolean createExplosion(@NotNull Location loc, float power, boolean setFire);
diff --git a/patches/api/0118-Add-World.getEntity-UUID-API.patch b/patches/api/0118-Add-World.getEntity-UUID-API.patch
index 17eb778f1d..97c7cea1fa 100644
--- a/patches/api/0118-Add-World.getEntity-UUID-API.patch
+++ b/patches/api/0118-Add-World.getEntity-UUID-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index e551347c8db9a89e8e450d39accb37f3ee4589ee..6ed9d86683947a9b529b8ec0f8d88a7924742585 100644
+index 266ed71b79d32f9b812be322563c247051ccd9d0..ffe6c8be86fc93d39e256a89e5016e3025afbe5c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -911,6 +911,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -912,6 +912,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z);
diff --git a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch
index ad788a3ccc..c239c5731e 100644
--- a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch
+++ b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch
@@ -44,10 +44,10 @@ index efbfed855248cff8b4bdbfc181d3e82058df4749..766d643f0fe79660942fdad25e39e488
* Gets the world containing this chunk
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 6ed9d86683947a9b529b8ec0f8d88a7924742585..7f104d2c94d1de3eb003e412c35b5324beeada33 100644
+index ffe6c8be86fc93d39e256a89e5016e3025afbe5c..315ecb5dc0f33edfef893ead1297c8165d292250 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -179,6 +179,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -180,6 +180,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Chunk getChunkAt(@NotNull Block block);
diff --git a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch
index 69f2642e46..5ba59b0ca5 100644
--- a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch
@@ -50,10 +50,10 @@ index aa6821aa33d3c579a139bd7c0378253c43b3754a..6e6e65c40813ccce618fa7a3df2c0030
* @return A new location where X/Y/Z are the center of the block
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 7f104d2c94d1de3eb003e412c35b5324beeada33..762be36670b12286876917b9fbf64ca5bddf6c2e 100644
+index 315ecb5dc0f33edfef893ead1297c8165d292250..ad5afa7a05636cee82b517c673d281f0f4e38644 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -96,6 +96,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -97,6 +97,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Block getBlockAt(@NotNull Location location);
diff --git a/patches/api/0140-isChunkGenerated-API.patch b/patches/api/0140-isChunkGenerated-API.patch
index 444315854d..1309083cfc 100644
--- a/patches/api/0140-isChunkGenerated-API.patch
+++ b/patches/api/0140-isChunkGenerated-API.patch
@@ -34,10 +34,10 @@ index 6e6e65c40813ccce618fa7a3df2c0030aa0a3bbe..8508aa2c6fb7c9f41f3d185f5228c86d
/**
* Sets the position of this Location and returns itself
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 762be36670b12286876917b9fbf64ca5bddf6c2e..ca1a4e9bd912258185d59ff70de1e7cc5e43d436 100644
+index ad5afa7a05636cee82b517c673d281f0f4e38644..880ff5ee1237096ac2da115b665dc663c677e57b 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -245,6 +245,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -246,6 +246,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
// Paper end - chunk long key API
diff --git a/patches/api/0142-Async-Chunks-API.patch b/patches/api/0142-Async-Chunks-API.patch
index 176c1bfa8f..d8422cf04a 100644
--- a/patches/api/0142-Async-Chunks-API.patch
+++ b/patches/api/0142-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 ca1a4e9bd912258185d59ff70de1e7cc5e43d436..ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48 100644
+index 880ff5ee1237096ac2da115b665dc663c677e57b..fc6b99e4f37179b15254bf0b398b1a800de1b73f 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -954,6 +954,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -955,6 +955,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
}
return nearby;
}
diff --git a/patches/api/0156-Add-sun-related-API.patch b/patches/api/0156-Add-sun-related-API.patch
index 61fed8f28d..b58796a9c2 100644
--- a/patches/api/0156-Add-sun-related-API.patch
+++ b/patches/api/0156-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 ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48..be5baaf499cc76dd737d6203570e3d431c18afcf 100644
+index fc6b99e4f37179b15254bf0b398b1a800de1b73f..df511007ca4b3b5df04abfa6b7f1c4de636407fc 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1781,6 +1781,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1782,6 +1782,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
*/
public void setFullTime(long time);
diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
index 3555f5a2f1..f42ca8a8dd 100644
--- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
@@ -156,10 +156,10 @@ index f43209cf7b752c26718c303ca8c3e1c7d9912ad3..f0094e6fb05e526736629ad3181c8d2c
/**
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 44b8c9111ddc93719d9f3bb23ee1799897389f52..74c81f73649507f21351fc003d00fbeca274d92a 100644
+index f79f4f20ee9f1f2ca3d12984064fc7fe57a932ba..82a206bd3000bc8d601c6e7c0bd078b4bb7e962f 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -184,14 +184,14 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -191,14 +191,14 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see TrimMaterial
*/
@@ -176,7 +176,7 @@ index 44b8c9111ddc93719d9f3bb23ee1799897389f52..74c81f73649507f21351fc003d00fbec
Registry<TrimPattern> TRIM_PATTERN = Bukkit.getRegistry(TrimPattern.class);
/**
* Villager profession.
-@@ -273,8 +273,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -280,8 +280,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @param input non-null input
* @return registered object or null if does not exist
@@ -282,10 +282,10 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
return origin;
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index be5baaf499cc76dd737d6203570e3d431c18afcf..399fe079035e4d38030d8ad930fbc89c69f251b0 100644
+index df511007ca4b3b5df04abfa6b7f1c4de636407fc..dea26b0bd6e1dccb7b043a7395e7958461e270ee 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -415,9 +415,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -416,9 +416,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param z Z-coordinate of the chunk
* @return Whether the chunk was actually refreshed
*
@@ -296,7 +296,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..399fe079035e4d38030d8ad930fbc89c
public boolean refreshChunk(int x, int z);
/**
-@@ -3707,6 +3706,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3708,6 +3707,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
// Paper end - view distance api
// Spigot start
@@ -307,7 +307,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..399fe079035e4d38030d8ad930fbc89c
public class Spigot {
/**
-@@ -3715,8 +3718,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3716,8 +3719,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param loc The location to strike lightning
* @param isSilent Whether this strike makes no sound
* @return The lightning entity.
@@ -320,7 +320,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..399fe079035e4d38030d8ad930fbc89c
public LightningStrike strikeLightning(@NotNull Location loc, boolean isSilent) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -3727,14 +3734,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3728,14 +3735,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @param loc The location to strike lightning
* @param isSilent Whether this strike makes no sound
* @return The lightning entity.
diff --git a/patches/api/0175-Add-Heightmap-API.patch b/patches/api/0175-Add-Heightmap-API.patch
index 5b38d5f8b0..5100bb0ae9 100644
--- a/patches/api/0175-Add-Heightmap-API.patch
+++ b/patches/api/0175-Add-Heightmap-API.patch
@@ -102,10 +102,10 @@ index f7564581c18425c903e54f949728dd3742ca7bf2..1bfe465b9aaeea7d3c871140145b7de1
/**
* Creates explosion at this location with given power
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index c748679337989a7b4e2a39e542268b7fd851ed91..e9423c88ccc35a7c32e1dca970faf0ec452fcbba 100644
+index e673e05c3d94c28d6809a0de7f7d070712b85741..5d3b645eb24f5c0e3309143fc0e53545c6de8083 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -150,6 +150,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -151,6 +151,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public Block getHighestBlockAt(@NotNull Location location);
diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
index f0a5b45329..93f111f781 100644
--- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 7ded4b932917a4a7b00b419e94a98aa8d59efe59..27178f6eee7d60caa6ee864554b60092442c9002 100644
+index 4604392831d19a789e4906cf1a5f0197105fd6f2..f063016f8a88dbff480ac3b4b3ef05c16a8e515a 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -125,5 +125,9 @@ public interface UnsafeValues {
+@@ -134,5 +134,9 @@ public interface UnsafeValues {
default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
}
diff --git a/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index ad18c50696..0118683bc2 100644
--- a/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 27178f6eee7d60caa6ee864554b60092442c9002..591cc561f6e60bcab3e45fd56f1a50e43e728f4c 100644
+index f063016f8a88dbff480ac3b4b3ef05c16a8e515a..96b66f4f6fb8637ab3ad275ddd980d5b71711a6c 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -129,5 +129,12 @@ public interface UnsafeValues {
+@@ -138,5 +138,12 @@ public interface UnsafeValues {
byte[] serializeItem(ItemStack item);
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0246-Add-StructuresLocateEvent.patch b/patches/api/0246-Add-StructuresLocateEvent.patch
index af96fba857..87179f5974 100644
--- a/patches/api/0246-Add-StructuresLocateEvent.patch
+++ b/patches/api/0246-Add-StructuresLocateEvent.patch
@@ -505,10 +505,10 @@ index 0000000000000000000000000000000000000000..1e7b53f9bc13dcd5a0a4a40004591e4f
+ }
+}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 74c81f73649507f21351fc003d00fbeca274d92a..4efda6d0f81ac192890b5003ceebf3d8fd07ea08 100644
+index 82a206bd3000bc8d601c6e7c0bd078b4bb7e962f..3818f940b98488bd1068d941cfbbac3721677c7a 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -248,6 +248,17 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -255,6 +255,17 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @see GameEvent
*/
Registry<GameEvent> GAME_EVENT = Objects.requireNonNull(Bukkit.getRegistry(GameEvent.class), "No registry present for GameEvent. This is a bug.");
diff --git a/patches/api/0264-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch
index 5fa795ea37..c5018e180f 100644
--- a/patches/api/0264-Expand-world-key-API.patch
+++ b/patches/api/0264-Expand-world-key-API.patch
@@ -78,10 +78,10 @@ index c8a312bf6cef6ba62114d4f46555f517f53c7576..2bfb1cfb4d669f4bb5a4ef540683bcee
* Create a new virtual {@link WorldBorder}.
* <p>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 591cc561f6e60bcab3e45fd56f1a50e43e728f4c..1c07e3ef0b7bf3bc0bfe234434114cb6c2f18d42 100644
+index 96b66f4f6fb8637ab3ad275ddd980d5b71711a6c..27d5f37a9b2da92307e5b505e3b31cca8a067018 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -136,5 +136,10 @@ public interface UnsafeValues {
+@@ -145,5 +145,10 @@ public interface UnsafeValues {
* Use this when sending custom packets, so that there are no collisions on the client or server.
*/
public int nextEntityId();
diff --git a/patches/api/0265-Item-Rarity-API.patch b/patches/api/0265-Item-Rarity-API.patch
index 6200960345..bd9fc07cfc 100644
--- a/patches/api/0265-Item-Rarity-API.patch
+++ b/patches/api/0265-Item-Rarity-API.patch
@@ -61,10 +61,10 @@ index 74f9626b485aca594cdb9f11c363c6c38c78a661..cfe35b0ca1f502c5c9af0d307bd22dce
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 1c07e3ef0b7bf3bc0bfe234434114cb6c2f18d42..2c79e05db0b87599fcc650df3c81ed906ad3e76a 100644
+index 27d5f37a9b2da92307e5b505e3b31cca8a067018..26b0d5c0a62e516db6eef9dedc81216d7ed5053c 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -141,5 +141,22 @@ public interface UnsafeValues {
+@@ -150,5 +150,22 @@ public interface UnsafeValues {
* Just don't use it.
*/
@org.jetbrains.annotations.NotNull String getMainLevelName();
diff --git a/patches/api/0266-Expose-protocol-version.patch b/patches/api/0266-Expose-protocol-version.patch
index af2edf8e08..18c7331272 100644
--- a/patches/api/0266-Expose-protocol-version.patch
+++ b/patches/api/0266-Expose-protocol-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 2c79e05db0b87599fcc650df3c81ed906ad3e76a..664c0221566e48eb5c2fe5ce046608573e735b2a 100644
+index 26b0d5c0a62e516db6eef9dedc81216d7ed5053c..3ae23a15a2c8757d3003041425ced583187d3d21 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -158,5 +158,12 @@ public interface UnsafeValues {
+@@ -167,5 +167,12 @@ public interface UnsafeValues {
* @return the itemstack rarity
*/
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack);
diff --git a/patches/api/0271-More-World-API.patch b/patches/api/0271-More-World-API.patch
index 8f06d4b8a7..13634e19f8 100644
--- a/patches/api/0271-More-World-API.patch
+++ b/patches/api/0271-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 ec94aa4967cb2dfc92d6b41d91b31125a1509cb9..768be78bd617c21b360cf1b650dcb2e8c481c084 100644
+index 75a3f5528182fed8086bbb7fb9529f7746d005e6..efca79f7fd5a4e3c75d7060efae44c564edeb036 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -3714,6 +3714,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3715,6 +3715,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
@@ -21,9 +21,13 @@ index ec94aa4967cb2dfc92d6b41d91b31125a1509cb9..768be78bd617c21b360cf1b650dcb2e8
+ * @param biome Biome to find
+ * @param radius radius to search
+ * @return Location of biome or null if not found in specified radius
++ * @deprecated use {@link #locateNearestBiome(Location, int, Biome...)}
+ */
++ @Deprecated
+ @Nullable
-+ Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius);
++ default Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius) {
++ return java.util.Optional.ofNullable(this.locateNearestBiome(origin, radius, 8, 8, biome)).map(BiomeSearchResult::getLocation).orElse(null);
++ }
+
+ /**
+ * Locates the nearest biome based on an origin, biome type, and radius to search
@@ -34,9 +38,13 @@ index ec94aa4967cb2dfc92d6b41d91b31125a1509cb9..768be78bd617c21b360cf1b650dcb2e8
+ * @param radius radius to search
+ * @param step Search step 1 would mean checking every block, 8 would be every 8th block
+ * @return Location of biome or null if not found in specified radius
++ * @deprecated use {@link #locateNearestBiome(Location, int, int, int, Biome...)}
+ */
++ @Deprecated
+ @Nullable
-+ Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius, int step);
++ default Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius, int step) {
++ return java.util.Optional.ofNullable(this.locateNearestBiome(origin, radius, step, step, biome)).map(BiomeSearchResult::getLocation).orElse(null);
++ }
+
+ /**
+ * Checks if the world:
diff --git a/patches/api/0284-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch
index f446663ea1..156f084676 100644
--- a/patches/api/0284-ItemStack-repair-check-API.patch
+++ b/patches/api/0284-ItemStack-repair-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 664c0221566e48eb5c2fe5ce046608573e735b2a..edc9b1ec665a57d9e4954c8409b1a42b29118b8c 100644
+index 3ae23a15a2c8757d3003041425ced583187d3d21..6b8013b072c9ca0a6f5ba86f37de3744fc70979e 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -159,6 +159,16 @@ public interface UnsafeValues {
+@@ -168,6 +168,16 @@ public interface UnsafeValues {
*/
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack);
diff --git a/patches/api/0289-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch
index b7b2aac3ef..0e51ebcf1e 100644
--- a/patches/api/0289-Attributes-API-for-item-defaults.patch
+++ b/patches/api/0289-Attributes-API-for-item-defaults.patch
@@ -31,10 +31,10 @@ index cfe35b0ca1f502c5c9af0d307bd22dcecc3b0f32..9be00bc616b1c6ad9619d9a48d5870f6
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index edc9b1ec665a57d9e4954c8409b1a42b29118b8c..d30cdfece8d324fb95c96c156974317450518274 100644
+index 6b8013b072c9ca0a6f5ba86f37de3744fc70979e..0f09250d536b7405f0dc253afb1f3c4ccbaeb0da 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -169,6 +169,18 @@ public interface UnsafeValues {
+@@ -178,6 +178,18 @@ public interface UnsafeValues {
*/
public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial);
diff --git a/patches/api/0299-Missing-Entity-API.patch b/patches/api/0299-Missing-Entity-API.patch
index c7880c07a0..69cfbb286f 100644
--- a/patches/api/0299-Missing-Entity-API.patch
+++ b/patches/api/0299-Missing-Entity-API.patch
@@ -153,10 +153,10 @@ index 0d88dce9978243a1f995c5fb448c5d71b01136eb..8b1048c94dffd058eb9fd9144f7f59fc
+ // Paper end - Horse API
}
diff --git a/src/main/java/org/bukkit/entity/AreaEffectCloud.java b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-index c2096b5344d48d855d031538ec32e0154bd9054d..f3180f6a4910984fc324f4a69eac59e036e32f2b 100644
+index 8d6caae8ba11e1fe73cd5f88657eaac5f66c9d3d..fc59d6d4c2d43b09aef3a6f30b73d26280e831fa 100644
--- a/src/main/java/org/bukkit/entity/AreaEffectCloud.java
+++ b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-@@ -239,4 +239,20 @@ public interface AreaEffectCloud extends Entity {
+@@ -259,4 +259,20 @@ public interface AreaEffectCloud extends Entity {
* @param source the {@link ProjectileSource} that threw the LingeringPotion
*/
public void setSource(@Nullable ProjectileSource source);
diff --git a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
index 1d35dc1e92..2dfc41c4cb 100644
--- a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index b7a2ef57ed089ca750693a413c57bc80048b5608..6ee336e9cda8b740aa3984b115797cd9333e012f 100644
+index e097ac0d62fe9f97762cef4d3a4b740613b8dc34..ec46baeeaed183e3e2565f98d6a3fcafd972e0bc 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -734,6 +734,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -735,6 +735,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public LightningStrike strikeLightningEffect(@NotNull Location loc);
diff --git a/patches/api/0316-Get-entity-default-attributes.patch b/patches/api/0316-Get-entity-default-attributes.patch
index 4ce69b5623..07b67050f3 100644
--- a/patches/api/0316-Get-entity-default-attributes.patch
+++ b/patches/api/0316-Get-entity-default-attributes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index d30cdfece8d324fb95c96c156974317450518274..827da519862c32907b41be77f61d51a244b2a749 100644
+index 0f09250d536b7405f0dc253afb1f3c4ccbaeb0da..f08e03c71f1e59d31a22822701b4e9ae6cc1429d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -187,5 +187,22 @@ public interface UnsafeValues {
+@@ -196,5 +196,22 @@ public interface UnsafeValues {
* @return the server's protocol version
*/
int getProtocolVersion();
diff --git a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
index 323a6acf65..b284622701 100644
--- a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch
@@ -26,10 +26,10 @@ index 9be00bc616b1c6ad9619d9a48d5870f6d7ffb917..da6e36a16e609272b60fc41ff69a6fa3
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 827da519862c32907b41be77f61d51a244b2a749..c9fdcda4d86a8419852d7acc0e85fe51656a829b 100644
+index f08e03c71f1e59d31a22822701b4e9ae6cc1429d..7dc808f94c42e821fa125073b1a9b853e16d5b41 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -204,5 +204,14 @@ public interface UnsafeValues {
+@@ -213,5 +213,14 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
*/
@org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
diff --git a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
index 5947d4491a..ed15969264 100644
--- a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index c9fdcda4d86a8419852d7acc0e85fe51656a829b..943736891bf58e620c47391b37c1d00610f68744 100644
+index 7dc808f94c42e821fa125073b1a9b853e16d5b41..fc0356b0600946af0a46312cee16b080a7769ae2 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -130,6 +130,14 @@ public interface UnsafeValues {
+@@ -139,6 +139,14 @@ public interface UnsafeValues {
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0344-More-PotionEffectType-API.patch b/patches/api/0344-More-PotionEffectType-API.patch
index 0791f582c4..74780b4c6b 100644
--- a/patches/api/0344-More-PotionEffectType-API.patch
+++ b/patches/api/0344-More-PotionEffectType-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 4efda6d0f81ac192890b5003ceebf3d8fd07ea08..44d863510d454f316a5d9b7214b54ca499226d74 100644
+index 3818f940b98488bd1068d941cfbbac3721677c7a..c936a6e193163f2af147484daf6accf24c2f3644 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -257,6 +257,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -264,6 +264,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*/
@Deprecated(forRemoval = true)
Registry<io.papermc.paper.world.structure.ConfiguredStructure> CONFIGURED_STRUCTURE = Bukkit.getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class);
diff --git a/patches/api/0346-Implement-regenerateChunk.patch b/patches/api/0346-Implement-regenerateChunk.patch
index 4f03973925..b3c78845fe 100644
--- a/patches/api/0346-Implement-regenerateChunk.patch
+++ b/patches/api/0346-Implement-regenerateChunk.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement regenerateChunk
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 6ee336e9cda8b740aa3984b115797cd9333e012f..da524a71af74b02515b037f7fe09ba6988e2c8bf 100644
+index ec46baeeaed183e3e2565f98d6a3fcafd972e0bc..1825b5f08c2a5bb3fd41ecabf60285400ad78c9c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -483,8 +483,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -484,8 +484,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return Whether the chunk was actually regenerated
*
* @deprecated regenerating a single chunk is not likely to produce the same
diff --git a/patches/api/0351-Custom-Potion-Mixes.patch b/patches/api/0351-Custom-Potion-Mixes.patch
index 18d75eda0a..ebb1ae34fe 100644
--- a/patches/api/0351-Custom-Potion-Mixes.patch
+++ b/patches/api/0351-Custom-Potion-Mixes.patch
@@ -192,12 +192,12 @@ index c2a9afee5c57d62bb6d62807eadae513b53849ba..20f95f8911852d86ea938dd73ed0d44c
// Paper end
}
diff --git a/src/main/java/org/bukkit/potion/PotionBrewer.java b/src/main/java/org/bukkit/potion/PotionBrewer.java
-index d21f407cc16cfd709c1cabf408e8d8d16aba7e1a..1598f34d306fb34ff7ffe7886b0d6e4abe734b6b 100644
+index 2072f048e10eba829cef047d854b5a22c8f055a3..eb189e170bc4975c5378f95f86ecf2cc880bd931 100644
--- a/src/main/java/org/bukkit/potion/PotionBrewer.java
+++ b/src/main/java/org/bukkit/potion/PotionBrewer.java
-@@ -43,4 +43,25 @@ public interface PotionBrewer {
- */
+@@ -45,4 +45,25 @@ public interface PotionBrewer {
@NotNull
+ @Deprecated
public Collection<PotionEffect> getEffects(@NotNull PotionType type, boolean upgraded, boolean extended);
+
+ // Paper start
diff --git a/patches/api/0363-Expand-FallingBlock-API.patch b/patches/api/0363-Expand-FallingBlock-API.patch
index e3f694d500..065484cd89 100644
--- a/patches/api/0363-Expand-FallingBlock-API.patch
+++ b/patches/api/0363-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 109acbccfa0e5bcd32889e1911798176d600a5fc..8d861f5522a33669f67b3e41dfbc5234637114b4 100644
+index 6606fa0fb7d8230546e42c51e4cd576118cba751..59c1224cf9b96bde607fa71d89c93a4eae053783 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2241,8 +2241,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2242,8 +2242,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 109acbccfa0e5bcd32889e1911798176d600a5fc..8d861f5522a33669f67b3e41dfbc5234
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
/**
-@@ -2255,8 +2257,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2256,8 +2258,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 109acbccfa0e5bcd32889e1911798176d600a5fc..8d861f5522a33669f67b3e41dfbc5234
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException;
/**
-@@ -2273,7 +2277,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2274,7 +2278,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/0374-Add-NamespacedKey-biome-methods.patch b/patches/api/0374-Add-NamespacedKey-biome-methods.patch
index 784c83013f..ae9059caa8 100644
--- a/patches/api/0374-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0374-Add-NamespacedKey-biome-methods.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 943736891bf58e620c47391b37c1d00610f68744..fd340351587b408c59d5b2da1965357dc72be356 100644
+index fc0356b0600946af0a46312cee16b080a7769ae2..815b16338ed5f90daf24edc5be14a6f49e978832 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -221,5 +221,32 @@ public interface UnsafeValues {
+@@ -230,5 +230,32 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if {@link Material#isBlock()} is false
*/
boolean isCollidable(@org.jetbrains.annotations.NotNull Material material);
diff --git a/patches/api/0424-Fix-custom-statistic-criteria-creation.patch b/patches/api/0424-Fix-custom-statistic-criteria-creation.patch
index 8c5d91400e..42a05e6c6b 100644
--- a/patches/api/0424-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0424-Fix-custom-statistic-criteria-creation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index fd340351587b408c59d5b2da1965357dc72be356..9237e2fca0557890b718de9029207a552396e45a 100644
+index 815b16338ed5f90daf24edc5be14a6f49e978832..a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -248,5 +248,7 @@ public interface UnsafeValues {
+@@ -257,5 +257,7 @@ public interface UnsafeValues {
* @throws IllegalStateException if no biome by the given key is registered.
*/
void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey);
diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch
index 8109fb92d4..b62a9a1e77 100644
--- a/patches/server/0001-Setup-Gradle-project.patch
+++ b/patches/server/0001-Setup-Gradle-project.patch
@@ -28,10 +28,10 @@ index 3df8c60ab5cd1454660980883f80668d535b742b..37c3a00659ce21623be07317f4f6a45b
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..beb19d5aa6cb60115cbd173b2a7f67769b4a367d
+index 0000000000000000000000000000000000000000..3be7f53046d821d6777481b92b3aa6e3df51ed8f
--- /dev/null
+++ b/build.gradle.kts
-@@ -0,0 +1,139 @@
+@@ -0,0 +1,140 @@
+import io.papermc.paperweight.util.*
+
+plugins {
@@ -57,6 +57,7 @@ index 0000000000000000000000000000000000000000..beb19d5aa6cb60115cbd173b2a7f6776
+
+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
+ testImplementation("org.hamcrest:hamcrest:2.2")
++ testImplementation("org.mockito:mockito-core:5.5.0")
+}
+
+val craftbukkitPackageVersion = "1_20_R2" // Paper
@@ -173,10 +174,10 @@ index 0000000000000000000000000000000000000000..beb19d5aa6cb60115cbd173b2a7f6776
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 20658694ee91e70d12ee874d8895ee9446e8ae9c..0000000000000000000000000000000000000000
+index 2410a3cb98fc8d643043c7e3a85c880d4a9f2aa4..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
-@@ -1,596 +0,0 @@
+@@ -1,602 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
@@ -461,6 +462,12 @@ index 20658694ee91e70d12ee874d8895ee9446e8ae9c..00000000000000000000000000000000
- <version>2.2</version>
- <scope>test</scope>
- </dependency>
+- <dependency>
+- <groupId>org.mockito</groupId>
+- <artifactId>mockito-core</artifactId>
+- <version>5.5.0</version>
+- <scope>test</scope>
+- </dependency>
- </dependencies>
-
- <!-- This builds a completely 'ready to start' jar with all dependencies inside -->
diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch
index 8d8d538af8..1a0d4cfe73 100644
--- a/patches/server/0003-Build-system-changes.patch
+++ b/patches/server/0003-Build-system-changes.patch
@@ -9,7 +9,7 @@ public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde00c68ce55 100644
+index 3be7f53046d821d6777481b92b3aa6e3df51ed8f..ff4d0f970990187e9b46324b5cf051fcc546119f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -9,10 +9,9 @@ plugins {
@@ -25,7 +25,7 @@ index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde0
implementation("commons-lang:commons-lang:2.6")
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
-@@ -34,6 +33,7 @@ tasks.jar {
+@@ -35,6 +34,7 @@ tasks.jar {
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
@@ -33,7 +33,7 @@ index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde0
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit",
-@@ -42,6 +42,9 @@ tasks.jar {
+@@ -43,6 +43,9 @@ tasks.jar {
"Specification-Title" to "Bukkit",
"Specification-Version" to project.version,
"Specification-Vendor" to "Bukkit Team",
@@ -43,7 +43,7 @@ index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde0
)
for (tld in setOf("net", "com", "org")) {
attributes("$tld/bukkit", "Sealed" to true)
-@@ -49,6 +52,11 @@ tasks.jar {
+@@ -50,6 +53,11 @@ tasks.jar {
}
}
@@ -55,7 +55,7 @@ index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde0
publishing {
publications.create<MavenPublication>("maven") {
artifact(tasks.shadowJar)
-@@ -75,6 +83,17 @@ tasks.shadowJar {
+@@ -76,6 +84,17 @@ tasks.shadowJar {
}
}
@@ -73,7 +73,7 @@ index beb19d5aa6cb60115cbd173b2a7f67769b4a367d..e8c4e7379d46b1ba88110729b8ccbde0
tasks.test {
exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
useJUnitPlatform()
-@@ -133,7 +152,14 @@ tasks.registerRunTask("runReobf") {
+@@ -134,7 +153,14 @@ tasks.registerRunTask("runReobf") {
classpath(runtimeClasspathWithoutVanillaServer)
}
diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch
index 4bcf44e701..80539ed829 100644
--- a/patches/server/0004-Test-changes.patch
+++ b/patches/server/0004-Test-changes.patch
@@ -5,18 +5,10 @@ Subject: [PATCH] Test changes
diff --git a/build.gradle.kts b/build.gradle.kts
-index e8c4e7379d46b1ba88110729b8ccbde00c68ce55..9c2e9f73fada65f67144c4f85bb182dcc4282055 100644
+index ff4d0f970990187e9b46324b5cf051fcc546119f..844eff88c9ad95871900c2d8aa3136b3f2928bf9 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -12,6 +12,7 @@ dependencies {
- implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
- implementation("org.ow2.asm:asm:9.5")
- implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation
-+ testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito
- implementation("commons-lang:commons-lang:2.6")
- runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
- runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
-@@ -57,6 +58,12 @@ tasks.compileJava {
+@@ -58,6 +58,12 @@ tasks.compileJava {
options.setIncremental(false)
}
@@ -29,228 +21,22 @@ index e8c4e7379d46b1ba88110729b8ccbde00c68ce55..9c2e9f73fada65f67144c4f85bb182dc
publishing {
publications.create<MavenPublication>("maven") {
artifact(tasks.shadowJar)
-diff --git a/src/test/java/io/papermc/paper/testing/DummyServer.java b/src/test/java/io/papermc/paper/testing/DummyServer.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..fd40d6818fe6b511a57f60896cf523a5e871af64
---- /dev/null
-+++ b/src/test/java/io/papermc/paper/testing/DummyServer.java
-@@ -0,0 +1,66 @@
-+package io.papermc.paper.testing;
-+
-+import java.util.logging.Logger;
-+import org.bukkit.Bukkit;
-+import org.bukkit.Material;
-+import org.bukkit.NamespacedKey;
-+import org.bukkit.Server;
-+import org.bukkit.command.SimpleCommandMap;
-+import org.bukkit.craftbukkit.CraftRegistry;
-+import org.bukkit.craftbukkit.block.data.CraftBlockData;
-+import org.bukkit.craftbukkit.inventory.CraftItemFactory;
-+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
-+import org.bukkit.craftbukkit.util.CraftNamespacedKey;
-+import org.bukkit.plugin.PluginManager;
-+import org.bukkit.plugin.SimplePluginManager;
-+import org.bukkit.support.AbstractTestingBase;
-+import org.mockito.Mockito;
-+
-+import static org.mockito.Mockito.any;
-+import static org.mockito.Mockito.mock;
-+import static org.mockito.Mockito.when;
-+
-+public final class DummyServer {
-+
-+ @SuppressWarnings({"deprecation", "removal"})
-+ public static void setup() {
-+ //noinspection ConstantValue
-+ if (Bukkit.getServer() != null) {
-+ return;
-+ }
-+
-+ final Server dummyServer = mock(Server.class, Mockito.withSettings().stubOnly());
-+
-+ final Logger logger = Logger.getLogger(DummyServer.class.getCanonicalName());
-+ when(dummyServer.getLogger()).thenReturn(logger);
-+ when(dummyServer.getName()).thenReturn(DummyServer.class.getSimpleName());
-+ when(dummyServer.getVersion()).thenReturn("Version_" + DummyServer.class.getPackage().getImplementationVersion());
-+ when(dummyServer.getBukkitVersion()).thenReturn("BukkitVersion_" + DummyServer.class.getPackage().getImplementationVersion());
-+
-+ final Thread currentThread = Thread.currentThread();
-+ when(dummyServer.isPrimaryThread()).thenAnswer(ignored -> Thread.currentThread().equals(currentThread));
-+
-+ when(dummyServer.getItemFactory()).thenReturn(CraftItemFactory.instance());
-+
-+ when(dummyServer.getUnsafe()).thenAnswer(ignored -> CraftMagicNumbers.INSTANCE); // lambda for lazy load
-+
-+ when(dummyServer.createBlockData(any(Material.class))).thenAnswer(invocation -> {
-+ return CraftBlockData.newData(invocation.getArgument(0, Material.class), null);
-+ });
-+
-+ when(dummyServer.getLootTable(any(NamespacedKey.class))).thenAnswer(invocation -> {
-+ final NamespacedKey key = invocation.getArgument(0, NamespacedKey.class);
-+ return new org.bukkit.craftbukkit.CraftLootTable(key, AbstractTestingBase.DATA_PACK.getLootData().getLootTable(CraftNamespacedKey.toMinecraft(key)));
-+ });
-+
-+ when(dummyServer.getRegistry(any())).thenAnswer(invocation -> {
-+ return CraftRegistry.createRegistry(invocation.getArgument(0), org.bukkit.support.AbstractTestingBase.REGISTRY_CUSTOM);
-+ });
-+
-+ final PluginManager pluginManager = new SimplePluginManager(dummyServer, new SimpleCommandMap(dummyServer));
-+ when(dummyServer.getPluginManager()).thenReturn(pluginManager);
-+
-+ Bukkit.setServer(dummyServer);
-+
-+ }
-+}
-diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
-index c3c0dff6497ba47604c29a9ff7bcc4692e9ba757..bedb1c43fd9d27eda2411e23d46eb1ad96429507 100644
---- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
-+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
-@@ -54,6 +54,7 @@ public abstract class AbstractTestingBase {
- LayeredRegistryAccess<RegistryLayer> layers = RegistryLayer.createRegistryAccess();
- layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES);
- REGISTRY_CUSTOM = layers.compositeAccess().freeze();
-+ io.papermc.paper.testing.DummyServer.setup(); // Paper
- // Register vanilla pack
- DATA_PACK = ReloadableServerResources.loadResources(resourceManager, REGISTRY_CUSTOM, FeatureFlags.REGISTRY.allFlags(), Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join();
- // Bind tags
-@@ -61,7 +62,6 @@ public abstract class AbstractTestingBase {
- // Biome shortcut
- BIOMES = REGISTRY_CUSTOM.registryOrThrow(Registries.BIOME);
-
-- DummyServer.setup();
- DummyEnchantments.setup();
-
- CraftRegistry.setMinecraftRegistry(REGISTRY_CUSTOM);
diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java
-deleted file mode 100644
-index e3197ea88b68de8f893f3fa986507b95b789645d..0000000000000000000000000000000000000000
+index d96efc9aa90debcca5f237c949ba11b10070223a..efa4452cd20231051cdac1b497d7bfafb72bed78 100644
--- a/src/test/java/org/bukkit/support/DummyServer.java
-+++ /dev/null
-@@ -1,127 +0,0 @@
--package org.bukkit.support;
--
--import java.lang.reflect.InvocationHandler;
--import java.lang.reflect.Method;
--import java.lang.reflect.Proxy;
--import java.util.HashMap;
--import java.util.logging.Logger;
--import org.bukkit.Bukkit;
--import org.bukkit.Material;
--import org.bukkit.NamespacedKey;
--import org.bukkit.Server;
--import org.bukkit.craftbukkit.CraftLootTable;
--import org.bukkit.craftbukkit.CraftRegistry;
--import org.bukkit.craftbukkit.block.data.CraftBlockData;
--import org.bukkit.craftbukkit.inventory.CraftItemFactory;
--import org.bukkit.craftbukkit.util.CraftMagicNumbers;
--import org.bukkit.craftbukkit.util.CraftNamespacedKey;
--import org.bukkit.craftbukkit.util.Versioning;
--
--public final class DummyServer implements InvocationHandler {
-- private static interface MethodHandler {
-- Object handle(DummyServer server, Object[] args);
-- }
-- private static final HashMap<Method, MethodHandler> methods = new HashMap<Method, MethodHandler>();
-- static {
-- try {
-- methods.put(
-- Server.class.getMethod("getItemFactory"),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return CraftItemFactory.instance();
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("getName"),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return DummyServer.class.getName();
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("getVersion"),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return DummyServer.class.getPackage().getImplementationVersion();
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("getBukkitVersion"),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return Versioning.getBukkitVersion();
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("getLogger"),
-- new MethodHandler() {
-- final Logger logger = Logger.getLogger(DummyServer.class.getCanonicalName());
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return logger;
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("getUnsafe"),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return CraftMagicNumbers.INSTANCE;
-- }
-- }
-- );
-- methods.put(
-- Server.class.getMethod("createBlockData", Material.class),
-- new MethodHandler() {
-- final Logger logger = Logger.getLogger(DummyServer.class.getCanonicalName());
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return CraftBlockData.newData((Material) args[0], null);
-- }
-- }
-- );
-- methods.put(Server.class.getMethod("getLootTable", NamespacedKey.class),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- NamespacedKey key = (NamespacedKey) args[0];
-- return new CraftLootTable(key, AbstractTestingBase.DATA_PACK.getLootData().getLootTable(CraftNamespacedKey.toMinecraft(key)));
-- }
-- }
-- );
-- methods.put(Server.class.getMethod("getRegistry", Class.class),
-- new MethodHandler() {
-- @Override
-- public Object handle(DummyServer server, Object[] args) {
-- return CraftRegistry.createRegistry((Class) args[0], AbstractTestingBase.REGISTRY_CUSTOM);
-- }
-- }
-- );
-- Bukkit.setServer(Proxy.getProxyClass(Server.class.getClassLoader(), Server.class).asSubclass(Server.class).getConstructor(InvocationHandler.class).newInstance(new DummyServer()));
-- } catch (Throwable t) {
-- throw new Error(t);
-- }
-- }
--
-- public static void setup() {}
--
-- private DummyServer() {};
--
-- @Override
-- public Object invoke(Object proxy, Method method, Object[] args) {
-- MethodHandler handler = DummyServer.methods.get(method);
-- if (handler != null) {
-- return handler.handle(this, args);
-- }
-- throw new UnsupportedOperationException(String.valueOf(method));
-- }
--}
++++ b/src/test/java/org/bukkit/support/DummyServer.java
+@@ -38,6 +38,14 @@ public final class DummyServer {
+
+ when(instance.getRegistry(any())).then(mock -> CraftRegistry.createRegistry(mock.getArgument(0), AbstractTestingBase.REGISTRY_CUSTOM));
+
++ // Paper start - testing additions
++ final Thread currentThread = Thread.currentThread();
++ when(instance.isPrimaryThread()).thenAnswer(ignored -> Thread.currentThread().equals(currentThread));
++
++ final org.bukkit.plugin.PluginManager pluginManager = new org.bukkit.plugin.SimplePluginManager(instance, new org.bukkit.command.SimpleCommandMap(instance));
++ when(instance.getPluginManager()).thenReturn(pluginManager);
++ // paper end - testing additions
++
+ Bukkit.setServer(instance);
+ } catch (Throwable t) {
+ throw new Error(t);
diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch
index 9c15e266b1..328de5913d 100644
--- a/patches/server/0005-Paper-config-files.patch
+++ b/patches/server/0005-Paper-config-files.patch
@@ -15,13 +15,13 @@ public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/mine
public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES
diff --git a/build.gradle.kts b/build.gradle.kts
-index e03e01c4b9f3886a72c569d7a64da0cca5cbcc5b..ded8824a43c99754ea12544930b416c610bd2ead 100644
+index 677ec3d3b440dba6fd38ffb6f1102794ab3b013a..fd4eb839bbfa99a66ad30289d29bdc6a9fd1f3c8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -13,6 +13,7 @@ dependencies {
+@@ -12,6 +12,7 @@ dependencies {
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
implementation("org.ow2.asm:asm:9.5")
implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation
- testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito
+ implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
implementation("commons-lang:commons-lang:2.6")
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
@@ -4996,12 +4996,12 @@ index 0000000000000000000000000000000000000000..0396589795da1f83ddf62426236dde9a
+ }
+}
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
-index bedb1c43fd9d27eda2411e23d46eb1ad96429507..8174b6bb78553cbe124b499ffa235368179d1564 100644
+index c3c0dff6497ba47604c29a9ff7bcc4692e9ba757..6dd31027808cd309b6ee5ece9fe73d251c03b7cf 100644
--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
@@ -63,6 +63,7 @@ public abstract class AbstractTestingBase {
- BIOMES = REGISTRY_CUSTOM.registryOrThrow(Registries.BIOME);
+ DummyServer.setup();
DummyEnchantments.setup();
+ io.papermc.paper.configuration.GlobalConfigTestingBase.setupGlobalConfigForTest(); // Paper
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index eb8ca352d0..0ef4251630 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -7856,10 +7856,10 @@ index 25156be63f91a1c41ef41154f675d04eb97459a8..47bab513feec217d875192afef61f3af
return false;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 29bd4879ef94bcfea879fac49dea22eba4af8251..f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6 100644
+index 72120be90f1aa3a5408b9dc96f00b5f645809fe6..437f546cb22e0ed7d400540d890e5130889fac0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -242,8 +242,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -243,8 +243,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk[] getLoadedChunks() {
@@ -7870,7 +7870,7 @@ index 29bd4879ef94bcfea879fac49dea22eba4af8251..f07c3bfa42c3e26b19c08b3b5ad2ad8d
}
@Override
-@@ -318,7 +318,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -319,7 +319,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean refreshChunk(int x, int z) {
@@ -7879,7 +7879,7 @@ index 29bd4879ef94bcfea879fac49dea22eba4af8251..f07c3bfa42c3e26b19c08b3b5ad2ad8d
if (playerChunk == null) return false;
playerChunk.getTickingChunkFuture().thenAccept(either -> {
-@@ -1970,4 +1970,32 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1995,4 +1995,32 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return this.spigot;
}
// Spigot end
@@ -8198,10 +8198,10 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b5506411a893e5eccfb83ab58d718753338b490a..bf6e87116df29a99d7aad3250e8e59d2d957159b 100644
+index 795d2ef869f9ec229bac76bac5fefff9adc0f2a1..641b1f0444af8d4c4e878495605bc5ba97b124af 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -99,8 +99,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -104,8 +104,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
private static final Map<Item, Material> ITEM_MATERIAL = new HashMap<>();
private static final Map<Material, Item> MATERIAL_ITEM = new HashMap<>();
private static final Map<Material, Block> MATERIAL_BLOCK = new HashMap<>();
@@ -8219,7 +8219,7 @@ index b5506411a893e5eccfb83ab58d718753338b490a..bf6e87116df29a99d7aad3250e8e59d2
for (Block block : BuiltInRegistries.BLOCK) {
BLOCK_MATERIAL.put(block, Material.getMaterial(BuiltInRegistries.BLOCK.getKey(block).getPath().toUpperCase(Locale.ROOT)));
}
-@@ -151,6 +160,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -156,6 +165,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
public static ResourceLocation key(Material mat) {
return CraftNamespacedKey.toMinecraft(mat.getKey());
}
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 16e435e69c..1a154f0bee 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -3051,10 +3051,10 @@ index f890e0e8ae52965f671fe82911b006a61a33a86b..e04b981e990efc6402978a329dee8024
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568f49a944f 100644
+index 437f546cb22e0ed7d400540d890e5130889fac0c..91334fc68e9e66facbf1ba9b445d87fcf4b26ddf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -152,6 +152,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -153,6 +153,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this);
private final Object2IntOpenHashMap<SpawnCategory> spawnCategoryLimit = new Object2IntOpenHashMap<>();
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
@@ -3062,7 +3062,7 @@ index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568
private static final Random rand = new Random();
-@@ -1603,6 +1604,39 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1604,6 +1605,39 @@ public class CraftWorld extends CraftRegionAccessor implements World {
entityTracker.broadcastAndSend(packet);
}
}
@@ -3102,7 +3102,7 @@ index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568
private static Map<String, GameRules.Key<?>> gamerules;
public static synchronized Map<String, GameRules.Key<?>> getGameRulesNMS() {
-@@ -1997,5 +2031,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2022,5 +2056,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return ret;
}
@@ -4562,7 +4562,7 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..5c6eb9b6f3ca4fc6534fe023fe78be5c
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index fca7eb9d4a91a2dff3ebcc5522b2b0aedac75afc..087080e4df07d87b55b42436cffc2f772d883db3 100644
+index 0cb3806b57c5a381b7f1fc04dcb7cfbf74fb5ef4..d1b2ff690580edb4e42cce6607afb189f28fb09a 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -4908,10 +4908,10 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318
boolean hadFormat = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index bf6e87116df29a99d7aad3250e8e59d2d957159b..c72179ff4eb4b2b479da302f648eff85a6345f34 100644
+index 641b1f0444af8d4c4e878495605bc5ba97b124af..da7bc4cfde594dba68dfc644b49748b4865f7d89 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -70,6 +70,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -75,6 +75,43 @@ public final class CraftMagicNumbers implements UnsafeValues {
private CraftMagicNumbers() {}
diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch
index d61faaafdc..93fefb0bec 100644
--- a/patches/server/0013-Paper-Plugins.patch
+++ b/patches/server/0013-Paper-Plugins.patch
@@ -7083,10 +7083,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7
@Override
public FileConfiguration getConfig() {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index c72179ff4eb4b2b479da302f648eff85a6345f34..9e08622fbee6d1e4f5b320a6d9780a8b88f34457 100644
+index da7bc4cfde594dba68dfc644b49748b4865f7d89..1c70aa4475bb43aba2f66eedabd4d1f5c5ae3409 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -419,6 +419,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -424,6 +424,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack);
return nmsItemStack.getItem().getDescriptionId(nmsItemStack);
}
@@ -7891,16 +7891,16 @@ index 0000000000000000000000000000000000000000..ba271c35eb2804f94cfc893bf94affb9
+ return "null";
+ }
+}
-diff --git a/src/test/java/io/papermc/paper/testing/DummyServer.java b/src/test/java/io/papermc/paper/testing/DummyServer.java
-index fd40d6818fe6b511a57f60896cf523a5e871af64..88894731a6a21d74ce78d15c16e34d8a363f39cf 100644
---- a/src/test/java/io/papermc/paper/testing/DummyServer.java
-+++ b/src/test/java/io/papermc/paper/testing/DummyServer.java
-@@ -57,7 +57,7 @@ public final class DummyServer {
- return CraftRegistry.createRegistry(invocation.getArgument(0), org.bukkit.support.AbstractTestingBase.REGISTRY_CUSTOM);
- });
+diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java
+index efa4452cd20231051cdac1b497d7bfafb72bed78..1f6f055805454d7c0f726c9feef57578482c003a 100644
+--- a/src/test/java/org/bukkit/support/DummyServer.java
++++ b/src/test/java/org/bukkit/support/DummyServer.java
+@@ -42,7 +42,7 @@ public final class DummyServer {
+ final Thread currentThread = Thread.currentThread();
+ when(instance.isPrimaryThread()).thenAnswer(ignored -> Thread.currentThread().equals(currentThread));
-- final PluginManager pluginManager = new SimplePluginManager(dummyServer, new SimpleCommandMap(dummyServer));
-+ final PluginManager pluginManager = new io.papermc.paper.plugin.manager.PaperPluginManagerImpl(dummyServer, new SimpleCommandMap(dummyServer), null);
- when(dummyServer.getPluginManager()).thenReturn(pluginManager);
+- final org.bukkit.plugin.PluginManager pluginManager = new org.bukkit.plugin.SimplePluginManager(instance, new org.bukkit.command.SimpleCommandMap(instance));
++ final org.bukkit.plugin.PluginManager pluginManager = new io.papermc.paper.plugin.manager.PaperPluginManagerImpl(instance, new org.bukkit.command.SimpleCommandMap(instance), null);
+ when(instance.getPluginManager()).thenReturn(pluginManager);
+ // paper end - testing additions
- Bukkit.setServer(dummyServer);
diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch
index 750734d37a..7504552dca 100644
--- a/patches/server/0014-Timings-v2.patch
+++ b/patches/server/0014-Timings-v2.patch
@@ -2050,10 +2050,10 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222
+ } // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 9e08622fbee6d1e4f5b320a6d9780a8b88f34457..1ea2d4a1b378694120d599f52cc07922831f5a65 100644
+index 1c70aa4475bb43aba2f66eedabd4d1f5c5ae3409..0a2a6697118833d45ffe95252cee8011b505d566 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -206,6 +206,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -211,6 +211,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end
// ========================================================================
@@ -2066,8 +2066,8 @@ index 9e08622fbee6d1e4f5b320a6d9780a8b88f34457..1ea2d4a1b378694120d599f52cc07922
public static byte toLegacyData(BlockState data) {
return CraftLegacy.toLegacyData(data);
-@@ -432,6 +438,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
- return CraftFeatureFlag.getFromNMS(namespacedKey);
+@@ -445,6 +451,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
+ return new CraftPotionType(namespacedKey, potionRegistry);
}
+ // Paper start
diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch
index a5d84c29d9..e596790a9e 100644
--- a/patches/server/0018-Rewrite-chunk-system.patch
+++ b/patches/server/0018-Rewrite-chunk-system.patch
@@ -22586,7 +22586,7 @@ index 9f6c2e5b5d9e8d714a47c770e255d06c0ef7c190..ac807277a6b26d140ea9873d17c7aa4f
for(SavedTick<T> savedTick : this.pendingTicks) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index 762d37ab5a98b19514c8ec38cb3f2ecdf1e5ba8e..4efdde5f48f50db57fdd70f84bf36a768e2601ea 100644
+index 86f4d05a70d4c02a8eecfb685a23e257b55f58fd..03431a9d2ba736285836f5df1fe46b4e0d7ff50e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -112,7 +112,7 @@ public class CraftChunk implements Chunk {
@@ -22683,10 +22683,10 @@ index 319be97869dcc8fb1baed483633612bae17a491a..8377270a5daa3257cd9799e242fe8894
// Paper start - Adventure
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0bbc72401 100644
+index 91334fc68e9e66facbf1ba9b445d87fcf4b26ddf..dfd45e5a32e8ff8d7f803addefa8240c0f7424c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -322,10 +322,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -323,10 +323,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -22704,7 +22704,7 @@ index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0
ClientboundLevelChunkWithLightPacket refreshPacket = new ClientboundLevelChunkWithLightPacket(chunk, this.world.getLightEngine(), null, null);
for (ServerPlayer player : playersInRange) {
-@@ -333,8 +337,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -334,8 +338,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
player.connection.send(refreshPacket);
}
@@ -22714,7 +22714,7 @@ index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0
return true;
}
-@@ -411,20 +414,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -412,20 +415,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Plugin> getPluginChunkTickets(int x, int z) {
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -22736,7 +22736,7 @@ index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0
}
@Override
-@@ -432,7 +422,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -433,7 +423,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>();
DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager;
@@ -22745,7 +22745,7 @@ index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0
long chunkKey = chunkTickets.getLongKey();
SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue();
-@@ -1964,14 +1954,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1989,14 +1979,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Spigot start
@Override
public int getViewDistance() {
diff --git a/patches/server/0028-Implement-Paper-VersionChecker.patch b/patches/server/0028-Implement-Paper-VersionChecker.patch
index b266d8791a..192dbbc368 100644
--- a/patches/server/0028-Implement-Paper-VersionChecker.patch
+++ b/patches/server/0028-Implement-Paper-VersionChecker.patch
@@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..22a55be34fde453fedd987173d95b8b3
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 1ea2d4a1b378694120d599f52cc07922831f5a65..e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c 100644
+index 0a2a6697118833d45ffe95252cee8011b505d566..f967975d641fadce813a34a9344f6294368b797c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -443,6 +443,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -456,6 +456,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public String getTimingsServerName() {
return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName;
}
diff --git a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch
index 4ef6fbe143..190aad2d4a 100644
--- a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch
@@ -20,10 +20,10 @@ index 7b681914b7f9e7fb6d2ea607e0d63ca7024a7ec3..7cfcbc1e38f5e9145c827dfe26299277
private final List<TickingBlockEntity> pendingBlockEntityTickers = Lists.newArrayList();
private boolean tickingBlockEntities;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a41c937d8b4648c900bf6b5d4c47fcd0bbc72401..53a5f6709bca2aa76297e55e555cbfeb38e8ad4e 100644
+index dfd45e5a32e8ff8d7f803addefa8240c0f7424c0..9fc72dd4db44fa65c2d4e8d30cf8c19f0fb556a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -154,6 +154,56 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -155,6 +155,56 @@ public class CraftWorld extends CraftRegionAccessor implements World {
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY);
private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers
diff --git a/patches/server/0136-Item-canEntityPickup.patch b/patches/server/0136-Item-canEntityPickup.patch
index 87899f7022..a1f9419b67 100644
--- a/patches/server/0136-Item-canEntityPickup.patch
+++ b/patches/server/0136-Item-canEntityPickup.patch
@@ -33,25 +33,25 @@ index 11dad6b6c6cf922417ab54a1db13d809c10c999e..adb8ac976397322f0b4122fd9469dd51
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
super(type, world);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-index 4fbbc3c76d49c31aadd957ad3a30d479f6c99c15..66e69cb13e2d82acc0a2398625766a49bc701a09 100644
+index 8badae31059e3f229f448ca0f99e05627f1ee141..b1be6c99ebff90ff98a7d5cafec4a856b9704b66 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-@@ -65,6 +65,18 @@ public class CraftItem extends CraftEntity implements Item {
+@@ -63,6 +63,18 @@ public class CraftItem extends CraftEntity implements Item {
}
}
+ // Paper Start
+ @Override
+ public boolean canMobPickup() {
-+ return item.canMobPickup;
++ return this.getHandle().canMobPickup;
+ }
+
+ @Override
+ public void setCanMobPickup(boolean canMobPickup) {
-+ item.canMobPickup = canMobPickup;
++ this.getHandle().canMobPickup = canMobPickup;
+ }
+ // Paper End
+
@Override
public void setOwner(UUID uuid) {
- this.item.setTarget(uuid);
+ this.getHandle().setTarget(uuid);
diff --git a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch
index 527c650c55..376480e65b 100644
--- a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -34,10 +34,10 @@ index 445b8839d2a7a5ec2debb853d606e499c2a1f20b..4c1911140197568685524721e3140739
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 53a5f6709bca2aa76297e55e555cbfeb38e8ad4e..2104609f5dae00457725a57a03e3d51e2bb8b841 100644
+index 9fc72dd4db44fa65c2d4e8d30cf8c19f0fb556a0..c8d960d1fc8b44f64e84abb38f12e3825d2c97bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1863,11 +1863,17 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1864,11 +1864,17 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/patches/server/0211-Expand-Explosions-API.patch b/patches/server/0211-Expand-Explosions-API.patch
index a87e7c6fba..22525e1b13 100644
--- a/patches/server/0211-Expand-Explosions-API.patch
+++ b/patches/server/0211-Expand-Explosions-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API
Add Entity as a Source capability, and add more API choices, and on Location.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 2104609f5dae00457725a57a03e3d51e2bb8b841..f288570c8b3cee0c0b79981f332c1c067cd7bb9e 100644
+index c8d960d1fc8b44f64e84abb38f12e3825d2c97bc..2e8e66b6f89334d37a93a8571131a9cf4eb35c6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -716,6 +716,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -717,6 +717,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) {
return !this.world.explode(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? net.minecraft.world.level.Level.ExplosionInteraction.MOB : net.minecraft.world.level.Level.ExplosionInteraction.NONE).wasCanceled;
}
diff --git a/patches/server/0215-Implement-World.getEntity-UUID-API.patch b/patches/server/0215-Implement-World.getEntity-UUID-API.patch
index dac9f6070c..f76ffcb0dd 100644
--- a/patches/server/0215-Implement-World.getEntity-UUID-API.patch
+++ b/patches/server/0215-Implement-World.getEntity-UUID-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index f288570c8b3cee0c0b79981f332c1c067cd7bb9e..a29cb2e267e0a9d7f4cec3cf503968933b999435 100644
+index 2e8e66b6f89334d37a93a8571131a9cf4eb35c6f..a0878c2a3164cb0dd6cd5b1b982c5c854b86c322 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1040,6 +1040,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1041,6 +1041,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return list;
}
diff --git a/patches/server/0219-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0219-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
index 070ea7f207..8a66c6190d 100644
--- a/patches/server/0219-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
+++ b/patches/server/0219-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread
diff --git a/build.gradle.kts b/build.gradle.kts
-index 3e07bc8be9b1406b8ecbb9a4b3c6ed05f48cdbde..85c3b070da9dcde26b8f947e52ba390c535feae2 100644
+index 05ca5df9b74ebf2b7d4674dabcbd88b7f8aaec53..d7b0aab57d3bd6f215876fd585b11f44b0c31829 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -38,6 +38,7 @@ dependencies {
+@@ -37,6 +37,7 @@ dependencies {
implementation("commons-lang:commons-lang:2.6")
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
diff --git a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index 8223a1714e..9f2d03c908 100644
--- a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a29cb2e267e0a9d7f4cec3cf503968933b999435..6e806ede0d94cb3cdb7e772ba56a010ad241590c 100644
+index a0878c2a3164cb0dd6cd5b1b982c5c854b86c322..2948cf1b2ca8e342d366077407231a89bbb36667 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -400,7 +400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -401,7 +401,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
diff --git a/patches/server/0266-Add-sun-related-API.patch b/patches/server/0266-Add-sun-related-API.patch
index fb9c514239..1e0c8a4ca8 100644
--- a/patches/server/0266-Add-sun-related-API.patch
+++ b/patches/server/0266-Add-sun-related-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add sun related API
public net.minecraft.world.entity.Mob isSunBurnTick()Z
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6e806ede0d94cb3cdb7e772ba56a010ad241590c..238669816f082704b62a7bef8b78058dceef8be2 100644
+index 2948cf1b2ca8e342d366077407231a89bbb36667..342bf2941414333ebedaf7d1bd9778a651078ff3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -692,6 +692,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -693,6 +693,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
diff --git a/patches/server/0308-Add-Heightmap-API.patch b/patches/server/0308-Add-Heightmap-API.patch
index 8767b51828..40583f6584 100644
--- a/patches/server/0308-Add-Heightmap-API.patch
+++ b/patches/server/0308-Add-Heightmap-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Heightmap API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 238669816f082704b62a7bef8b78058dceef8be2..3ff94314e2dcfab964d230684ff218c634b75499 100644
+index 342bf2941414333ebedaf7d1bd9778a651078ff3..ebc2b01b21d15c52928c62edb88dbd088c8ab460 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -219,6 +219,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -220,6 +220,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return CraftBlock.at(world, new BlockPos(x, y, z));
}
diff --git a/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch
index 106f3f97a3..bbb61a2580 100644
--- a/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch
+++ b/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch
@@ -191,10 +191,10 @@ index 4d2348df25410a0b5364eec066880326d6667dad..286aad3205ef8a9e21a47ef07893844f
this.maxCount = i * i;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3ff94314e2dcfab964d230684ff218c634b75499..7c6ebec598bac78e3055e5c890550238c2795f23 100644
+index ebc2b01b21d15c52928c62edb88dbd088c8ab460..fdb3de1dee72a0e90a42a9d39fa021c0b81922ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1350,15 +1350,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1351,15 +1351,21 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {
diff --git a/patches/server/0316-Fix-World-isChunkGenerated-calls.patch b/patches/server/0316-Fix-World-isChunkGenerated-calls.patch
index 990affd052..842027cae2 100644
--- a/patches/server/0316-Fix-World-isChunkGenerated-calls.patch
+++ b/patches/server/0316-Fix-World-isChunkGenerated-calls.patch
@@ -156,10 +156,10 @@ index 42dc999d820e62c6a222afbd9239cc671fc7de53..b850dba2b0fa5bc762b170ed7083cf89
} catch (Throwable throwable) {
if (dataoutputstream != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 7c6ebec598bac78e3055e5c890550238c2795f23..0a9cf69ce0983f167ce63dc58eace455561da8e7 100644
+index fdb3de1dee72a0e90a42a9d39fa021c0b81922ef..6c13c3c55d58d654d28d5eebcc6dd9789f6565dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -307,9 +307,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -308,9 +308,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
@@ -185,7 +185,7 @@ index 7c6ebec598bac78e3055e5c890550238c2795f23..0a9cf69ce0983f167ce63dc58eace455
throw new RuntimeException(ex);
}
}
-@@ -423,20 +437,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -424,20 +438,48 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
diff --git a/patches/server/0342-Anti-Xray.patch b/patches/server/0342-Anti-Xray.patch
index c9e058dea7..6695e4846c 100644
--- a/patches/server/0342-Anti-Xray.patch
+++ b/patches/server/0342-Anti-Xray.patch
@@ -1541,7 +1541,7 @@ index 982fb3ef071d6a66f16744717e8e146bef6d9e8c..02beedb84a8bec001270116c6ce496db
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index d10dcf5b9c987bbd4761470c16c9d4693ccf896d..adee86c79f9db0a93691ec338791d7c75ab2dd4b 100644
+index 35f8fbd29e18cf3aba120a6658552eb5dbe535d4..593c73bf497ff571ea4c19867aa9be4b8272f39b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -53,7 +53,7 @@ public class CraftChunk implements Chunk {
@@ -1567,10 +1567,10 @@ index dd4d1b6f59992c8bf0336b146cc163c6a612999d..be805e78fb4cb9fba25afd53af8d72ff
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 0a9cf69ce0983f167ce63dc58eace455561da8e7..83df374d5f471a9a40c670a7496a8a03970d10a3 100644
+index 6c13c3c55d58d654d28d5eebcc6dd9789f6565dd..0f2166ce8facfdc8d51a580ca0c5107b7fbe67c2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -418,11 +418,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -419,11 +419,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
List<ServerPlayer> playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false);
if (playersInRange.isEmpty()) return true; // Paper - rewrite player chunk loader
diff --git a/patches/server/0360-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0360-Add-Raw-Byte-ItemStack-Serialization.patch
index a14a6ac426..f532915d0a 100644
--- a/patches/server/0360-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/server/0360-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c..46af63d8a36621f48a7610b5c3d55ae71639bcf5 100644
+index f967975d641fadce813a34a9344f6294368b797c..a78c6610be6e89dd89881867b8b91ed9cece7562 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -448,6 +448,52 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -461,6 +461,52 @@ public final class CraftMagicNumbers implements UnsafeValues {
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.PaperVersionFetcher();
}
diff --git a/patches/server/0391-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0391-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
index 2885ba82ee..264327acb2 100644
--- a/patches/server/0391-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
+++ b/patches/server/0391-Deobfuscate-stacktraces-in-log-messages-crash-report.patch
@@ -9,8 +9,8 @@ diff --git a/build.gradle.kts b/build.gradle.kts
index 8b892c96eae2395093fcbfd696731fefd2003941..c210a1d4d779cc64ff7f5ae2d2c63b249ceb6205 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -37,6 +37,7 @@ dependencies {
- testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito
+@@ -36,6 +36,7 @@ dependencies {
+ implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation
implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
implementation("commons-lang:commons-lang:2.6")
+ implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
diff --git a/patches/server/0392-Implement-Mob-Goal-API.patch b/patches/server/0392-Implement-Mob-Goal-API.patch
index 4e5407726e..ef3a06cc01 100644
--- a/patches/server/0392-Implement-Mob-Goal-API.patch
+++ b/patches/server/0392-Implement-Mob-Goal-API.patch
@@ -8,14 +8,14 @@ diff --git a/build.gradle.kts b/build.gradle.kts
index c210a1d4d779cc64ff7f5ae2d2c63b249ceb6205..0fb730260d1a31cf74db808d3655a566a61fd754 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -46,6 +46,7 @@ dependencies {
+@@ -45,6 +45,7 @@ dependencies {
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
+ testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.hamcrest:hamcrest:2.2")
- }
+ testImplementation("org.mockito:mockito-core:5.5.0")
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..f80a6ad7638453348ee82ea00b166a3aac029142
diff --git a/patches/server/0418-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0418-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index 46a2774ba9..d9da2ef55e 100644
--- a/patches/server/0418-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0418-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -117,10 +117,10 @@ index b35b3feafbd25d698d3fea463d4bf65b6a09b590..7494c8762f7ea9828a7dfc71dc296583
for (SpawnCategory spawnCategory : SpawnCategory.values()) {
if (CraftSpawnCategory.isValidForLimits(spawnCategory)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 83df374d5f471a9a40c670a7496a8a03970d10a3..047f2e4ff74089ae6e99db4d622f4c109869717a 100644
+index 0f2166ce8facfdc8d51a580ca0c5107b7fbe67c2..689a0ca651e51b0207afc7346c891f363d1ec1aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1150,7 +1150,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1151,7 +1151,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setDifficulty(Difficulty difficulty) {
diff --git a/patches/server/0422-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0422-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
index a0a3f58f77..5527db6775 100644
--- a/patches/server/0422-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
+++ b/patches/server/0422-Add-Plugin-Tickets-to-API-Chunk-Methods.patch
@@ -44,10 +44,10 @@ index 7494c8762f7ea9828a7dfc71dc2965838bbd8a0f..e58a2a3532d6ba62e99708b0f4f2cc8f
this.printSaveWarning = false;
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 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3437ef71f 100644
+index 689a0ca651e51b0207afc7346c891f363d1ec1aa..38d8a8306acb43e9a8bc69bd3990be8e53536e0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -279,7 +279,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -280,7 +280,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@@ -62,7 +62,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
return new CraftChunk(chunk);
}
-@@ -293,6 +299,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -294,6 +300,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftChunk(this.getHandle(), x, z);
}
@@ -75,7 +75,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
@Override
public Chunk getChunkAt(Block block) {
Preconditions.checkArgument(block != null, "null block");
-@@ -358,7 +370,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -359,7 +371,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)) {
@@ -84,7 +84,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
}
return true;
-@@ -444,9 +456,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -445,9 +457,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
// Paper start - Optimize this method
ChunkPos chunkPos = new ChunkPos(x, z);
@@ -98,7 +98,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
if (immediate == null) {
immediate = world.getChunkSource().chunkMap.getUnloadingChunk(x, z);
}
-@@ -454,7 +469,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -455,7 +470,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!(immediate instanceof ImposterProtoChunk) && !(immediate instanceof net.minecraft.world.level.chunk.LevelChunk)) {
return false; // not full status
}
@@ -107,7 +107,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
world.getChunk(x, z); // make sure we're at ticket level 32 or lower
return true;
}
-@@ -480,7 +495,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -481,7 +496,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// we do this so we do not re-read the chunk data on disk
}
@@ -116,7 +116,7 @@ index 047f2e4ff74089ae6e99db4d622f4c109869717a..8cd35efe17cd6cf06fa77cc0e3b018f3
world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true);
return true;
// Paper end
-@@ -2208,6 +2223,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2233,6 +2248,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
io.papermc.paper.chunk.system.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;
diff --git a/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
index ffc73c72a8..f896fc8ad0 100644
--- a/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
+++ b/patches/server/0447-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch
@@ -21,10 +21,10 @@ index 5826536978724b54080d7d4ee61aa79800d57800..197ef343cb2d7a072852dc36964d54d5
// if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add
this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8cd35efe17cd6cf06fa77cc0e3b018f3437ef71f..54c7316ff9d9f9352a1cf01bd508830130988a05 100644
+index 38d8a8306acb43e9a8bc69bd3990be8e53536e0d..e0c3a5cf44a66d3df31871da57460bb648c8770b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -259,12 +259,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -260,12 +260,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean setSpawnLocation(int x, int y, int z, float angle) {
try {
diff --git a/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 898f425c94..fe5405410d 100644
--- a/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0465-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -21,10 +21,10 @@ index b0a73ddd7438b9ecd4462638f9f784d796c62c6c..71dc4112cb932c6b1305f0f22e99f069
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 46af63d8a36621f48a7610b5c3d55ae71639bcf5..62ade83a9dbf4faf226b3a39c0e4249a231390dd 100644
+index a78c6610be6e89dd89881867b8b91ed9cece7562..d40ea1a394c483abe18915446d61b3f1f496af53 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -494,6 +494,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -507,6 +507,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!");
return compound;
}
diff --git a/patches/server/0483-Fix-client-lag-on-advancement-loading.patch b/patches/server/0483-Fix-client-lag-on-advancement-loading.patch
index ddef10d3c2..9d922ffc2f 100644
--- a/patches/server/0483-Fix-client-lag-on-advancement-loading.patch
+++ b/patches/server/0483-Fix-client-lag-on-advancement-loading.patch
@@ -15,10 +15,10 @@ manually reload the advancement data for all players, which
normally takes place as a part of the datapack reloading.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 62ade83a9dbf4faf226b3a39c0e4249a231390dd..b6436d708b2f99d3c923c112859ecd5ea2a123d8 100644
+index d40ea1a394c483abe18915446d61b3f1f496af53..fc8c1e46a2cfb4fc3095d249ba249d6eb4bbb1b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -327,7 +327,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -332,7 +332,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex);
}
diff --git a/patches/server/0484-Item-no-age-no-player-pickup.patch b/patches/server/0484-Item-no-age-no-player-pickup.patch
index 6501bec6d6..09109439e5 100644
--- a/patches/server/0484-Item-no-age-no-player-pickup.patch
+++ b/patches/server/0484-Item-no-age-no-player-pickup.patch
@@ -5,45 +5,44 @@ Subject: [PATCH] Item no age & no player pickup
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-index 66e69cb13e2d82acc0a2398625766a49bc701a09..ff6868ab31cec208045353c842f20ca31191bc0a 100644
+index b1be6c99ebff90ff98a7d5cafec4a856b9704b66..43f6422fedae4304801c7be21990725eca11fc62 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-@@ -9,6 +9,12 @@ import org.bukkit.entity.Item;
- import org.bukkit.inventory.ItemStack;
+@@ -9,6 +9,11 @@ import org.bukkit.inventory.ItemStack;
public class CraftItem extends CraftEntity implements Item {
-+
+
+ // Paper start
+ private final static int NO_AGE_TIME = (int) Short.MIN_VALUE;
+ private final static int NO_PICKUP_TIME = (int) Short.MAX_VALUE;
+ // Paper end
+
- private final ItemEntity item;
-
- public CraftItem(CraftServer server, Entity entity, ItemEntity item) {
-@@ -75,6 +81,26 @@ public class CraftItem extends CraftEntity implements Item {
+ public CraftItem(CraftServer server, ItemEntity entity) {
+ super(server, entity);
+ }
+@@ -73,6 +78,26 @@ public class CraftItem extends CraftEntity implements Item {
public void setCanMobPickup(boolean canMobPickup) {
- item.canMobPickup = canMobPickup;
+ this.getHandle().canMobPickup = canMobPickup;
}
+
+ @Override
+ public boolean canPlayerPickup() {
-+ return item.pickupDelay != NO_PICKUP_TIME;
++ return this.getHandle().pickupDelay != NO_PICKUP_TIME;
+ }
+
+ @Override
+ public void setCanPlayerPickup(boolean canPlayerPickup) {
-+ item.pickupDelay = canPlayerPickup ? 0 : NO_PICKUP_TIME;
++ this.getHandle().pickupDelay = canPlayerPickup ? 0 : NO_PICKUP_TIME;
+ }
+
+ @Override
+ public boolean willAge() {
-+ return item.age != NO_AGE_TIME;
++ return this.getHandle().age != NO_AGE_TIME;
+ }
+
+ @Override
+ public void setWillAge(boolean willAge) {
-+ item.age = willAge ? 0 : NO_AGE_TIME;
++ this.getHandle().age = willAge ? 0 : NO_AGE_TIME;
+ }
// Paper End
diff --git a/patches/server/0521-Added-WorldGameRuleChangeEvent.patch b/patches/server/0521-Added-WorldGameRuleChangeEvent.patch
index a611a4fd3d..d6247847f5 100644
--- a/patches/server/0521-Added-WorldGameRuleChangeEvent.patch
+++ b/patches/server/0521-Added-WorldGameRuleChangeEvent.patch
@@ -64,10 +64,10 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 54c7316ff9d9f9352a1cf01bd508830130988a05..013d7f6107230e3e530ff86cc9219ca0a6681ec6 100644
+index e0c3a5cf44a66d3df31871da57460bb648c8770b..31fda85d5da2cbf4af199fd2431b258592f14af4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1845,8 +1845,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1846,8 +1846,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule)) return false;
@@ -82,7 +82,7 @@ index 54c7316ff9d9f9352a1cf01bd508830130988a05..013d7f6107230e3e530ff86cc9219ca0
handle.onChanged(this.getHandle().getServer());
return true;
}
-@@ -1882,8 +1887,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1883,8 +1888,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!this.isGameRule(rule.getName())) return false;
diff --git a/patches/server/0564-Expand-world-key-API.patch b/patches/server/0564-Expand-world-key-API.patch
index 91069f6e1a..6e268ad5cd 100644
--- a/patches/server/0564-Expand-world-key-API.patch
+++ b/patches/server/0564-Expand-world-key-API.patch
@@ -67,10 +67,10 @@ index 877ce4baa6a0e755d81bdc3df57fcc9a0a90f1a5..48ba01082041281d247b898cfa84bccf
// Check if a World already exists with the UID.
if (this.getWorld(world.getUID()) != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b6436d708b2f99d3c923c112859ecd5ea2a123d8..8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67 100644
+index fc8c1e46a2cfb4fc3095d249ba249d6eb4bbb1b2..9c8d50e072db0551182dd7ea31eca11c1371702a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -505,6 +505,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -518,6 +518,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int nextEntityId() {
return net.minecraft.world.entity.Entity.nextEntityId();
}
diff --git a/patches/server/0566-Item-Rarity-API.patch b/patches/server/0566-Item-Rarity-API.patch
index d951e3afbf..370339eb5f 100644
--- a/patches/server/0566-Item-Rarity-API.patch
+++ b/patches/server/0566-Item-Rarity-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API
public net.minecraft.world.item.Item rarity
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67..2039442d5d7f99e6589e4625a76ebbc62944d018 100644
+index 9c8d50e072db0551182dd7ea31eca11c1371702a..38dbbc1977aa29292a89e8f9d8baf6030d89d7d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -510,6 +510,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -523,6 +523,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
public String getMainLevelName() {
return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName;
}
diff --git a/patches/server/0570-Expose-protocol-version.patch b/patches/server/0570-Expose-protocol-version.patch
index 213d964b4d..fad23f6e40 100644
--- a/patches/server/0570-Expose-protocol-version.patch
+++ b/patches/server/0570-Expose-protocol-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 2039442d5d7f99e6589e4625a76ebbc62944d018..aed137c6857190e6dad62ab70ae0be3613f3bea3 100644
+index 38dbbc1977aa29292a89e8f9d8baf6030d89d7d1..35484b3ad8a767b4d74ca926d9d8610d142624a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -524,6 +524,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -537,6 +537,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) {
return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()];
}
diff --git a/patches/server/0581-More-World-API.patch b/patches/server/0581-More-World-API.patch
index 6f53185a03..d02481f481 100644
--- a/patches/server/0581-More-World-API.patch
+++ b/patches/server/0581-More-World-API.patch
@@ -5,31 +5,15 @@ 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 013d7f6107230e3e530ff86cc9219ca0a6681ec6..085faebd53c0d620fe4e9aa5f0fc88b0e96d0b10 100644
+index 31fda85d5da2cbf4af199fd2431b258592f14af4..4d5e34a9ad59c3ed3b39630f0fd4e119ea3326e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2088,6 +2088,69 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2089,6 +2089,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), CraftLocation.toBukkit(found.getFirst(), this));
}
+ // Paper start
+ @Override
-+ public Location locateNearestBiome(Location origin, Biome biome, int radius) {
-+ return this.locateNearestBiome(origin, biome, radius, 8);
-+ }
-+
-+ @Override
-+ public Location locateNearestBiome(Location origin, Biome biome, int radius, int step) {
-+ BlockPos originPos = io.papermc.paper.util.MCUtil.toBlockPos(origin);
-+ Pair<BlockPos, Holder<net.minecraft.world.level.biome.Biome>> pair = getHandle().findClosestBiome3d(holder -> holder.is(CraftNamespacedKey.toMinecraft(biome.getKey())), originPos, radius, step, step);
-+ if (pair == null) {
-+ return null;
-+ }
-+ BlockPos nearest = pair.getFirst();
-+ return new Location(this, nearest.getX(), nearest.getY(), nearest.getZ());
-+ }
-+
-+ @Override
+ public boolean isUltrawarm() {
+ return getHandle().dimensionType().ultraWarm();
+ }
@@ -76,8 +60,8 @@ index 013d7f6107230e3e530ff86cc9219ca0a6681ec6..085faebd53c0d620fe4e9aa5f0fc88b0
+ // Paper end
+
@Override
- public Raid locateNearestRaid(Location location, int radius) {
- Preconditions.checkArgument(location != null, "Location cannot be null");
+ public BiomeSearchResult locateNearestBiome(Location origin, int radius, Biome... biomes) {
+ return this.locateNearestBiome(origin, radius, 32, 64, biomes);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java b/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java
index 3071ac1ac0e733d73dade49597a39f7d156bbc04..967445b2eb158454100a27369a1f463d69f54f27 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java
diff --git a/patches/server/0597-Add-basic-Datapack-API.patch b/patches/server/0596-Add-basic-Datapack-API.patch
index c10a6a69e3..c10a6a69e3 100644
--- a/patches/server/0597-Add-basic-Datapack-API.patch
+++ b/patches/server/0596-Add-basic-Datapack-API.patch
diff --git a/patches/server/0596-Fix-CraftPotionBrewer-cache.patch b/patches/server/0596-Fix-CraftPotionBrewer-cache.patch
deleted file mode 100644
index 2d8295382f..0000000000
--- a/patches/server/0596-Fix-CraftPotionBrewer-cache.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sceri <[email protected]>
-Date: Fri, 14 May 2021 19:06:51 +0500
-Subject: [PATCH] Fix CraftPotionBrewer cache
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
-index 1e4bc0d9f9d2e45157929af685f116988cbb8c03..8fdc9a3bb2f1b6bdc6c2c96f8ade7e9cd88ea4e0 100644
---- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
-+++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
-@@ -15,12 +15,18 @@ import org.bukkit.potion.PotionEffectType;
- import org.bukkit.potion.PotionType;
-
- public class CraftPotionBrewer implements PotionBrewer {
-- private static final Map<PotionType, Collection<PotionEffect>> cache = Maps.newHashMap();
-+ private static final Map<Integer, Collection<PotionEffect>> cache = Maps.newHashMap(); // Paper
-
- @Override
- public Collection<PotionEffect> getEffects(PotionType damage, boolean upgraded, boolean extended) {
-- if (CraftPotionBrewer.cache.containsKey(damage))
-- return CraftPotionBrewer.cache.get(damage);
-+ // Paper start
-+ int key = damage.ordinal() << 2;
-+ key |= (upgraded ? 1 : 0) << 1;
-+ key |= extended ? 1 : 0;
-+
-+ if (CraftPotionBrewer.cache.containsKey(key))
-+ return CraftPotionBrewer.cache.get(key);
-+ // Paper end
-
- List<MobEffectInstance> mcEffects = Potion.byName(CraftPotionUtil.fromBukkit(new PotionData(damage, extended, upgraded))).getEffects();
-
-@@ -29,9 +35,9 @@ public class CraftPotionBrewer implements PotionBrewer {
- builder.add(CraftPotionUtil.toBukkit(effect));
- }
-
-- CraftPotionBrewer.cache.put(damage, builder.build());
-+ CraftPotionBrewer.cache.put(key, builder.build()); // Paper
-
-- return CraftPotionBrewer.cache.get(damage);
-+ return CraftPotionBrewer.cache.get(key); // Paper
- }
-
- @Override
diff --git a/patches/server/0598-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0597-Add-environment-variable-to-disable-server-gui.patch
index 15f4f2968a..15f4f2968a 100644
--- a/patches/server/0598-Add-environment-variable-to-disable-server-gui.patch
+++ b/patches/server/0597-Add-environment-variable-to-disable-server-gui.patch
diff --git a/patches/server/0599-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch
index aaa9ccb441..aaa9ccb441 100644
--- a/patches/server/0599-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch
diff --git a/patches/server/0600-ItemStack-repair-check-API.patch b/patches/server/0599-ItemStack-repair-check-API.patch
index c2cb4c6674..b82fb6d5dd 100644
--- a/patches/server/0600-ItemStack-repair-check-API.patch
+++ b/patches/server/0599-ItemStack-repair-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index aed137c6857190e6dad62ab70ae0be3613f3bea3..794c1da115ccfa26fd77f7b28406e6298d88f3db 100644
+index 35484b3ad8a767b4d74ca926d9d8610d142624a1..5cb6fe52514a94eeda2676659f1a990071befecd 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -525,6 +525,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -538,6 +538,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()];
}
diff --git a/patches/server/0601-More-Enchantment-API.patch b/patches/server/0600-More-Enchantment-API.patch
index a065d8b7e3..a065d8b7e3 100644
--- a/patches/server/0601-More-Enchantment-API.patch
+++ b/patches/server/0600-More-Enchantment-API.patch
diff --git a/patches/server/0602-Move-range-check-for-block-placing-up.patch b/patches/server/0601-Move-range-check-for-block-placing-up.patch
index 9a7aee265f..9a7aee265f 100644
--- a/patches/server/0602-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0601-Move-range-check-for-block-placing-up.patch
diff --git a/patches/server/0603-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch
index f76a27b6fd..f76a27b6fd 100644
--- a/patches/server/0603-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch
diff --git a/patches/server/0604-Add-Mob-lookAt-API.patch b/patches/server/0603-Add-Mob-lookAt-API.patch
index b60d6b1767..b60d6b1767 100644
--- a/patches/server/0604-Add-Mob-lookAt-API.patch
+++ b/patches/server/0603-Add-Mob-lookAt-API.patch
diff --git a/patches/server/0605-Add-Unix-domain-socket-support.patch b/patches/server/0604-Add-Unix-domain-socket-support.patch
index d76d9a1bc5..d76d9a1bc5 100644
--- a/patches/server/0605-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0604-Add-Unix-domain-socket-support.patch
diff --git a/patches/server/0606-Add-EntityInsideBlockEvent.patch b/patches/server/0605-Add-EntityInsideBlockEvent.patch
index aef98d33da..aef98d33da 100644
--- a/patches/server/0606-Add-EntityInsideBlockEvent.patch
+++ b/patches/server/0605-Add-EntityInsideBlockEvent.patch
diff --git a/patches/server/0607-Attributes-API-for-item-defaults.patch b/patches/server/0606-Attributes-API-for-item-defaults.patch
index a1c744a84d..3b1bb9e3fd 100644
--- a/patches/server/0607-Attributes-API-for-item-defaults.patch
+++ b/patches/server/0606-Attributes-API-for-item-defaults.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 794c1da115ccfa26fd77f7b28406e6298d88f3db..b16e22ab5f371ce8d84a77a2f709d3541d48d3b6 100644
+index 5cb6fe52514a94eeda2676659f1a990071befecd..9c06e1b5853de70eb9fad444b2a97acd25328bc4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -533,6 +533,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -546,6 +546,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial));
}
diff --git a/patches/server/0608-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch
index 4106a33db3..5b4a0ffe19 100644
--- a/patches/server/0608-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch
@@ -95,10 +95,10 @@ index 14b8011c8874e05647eb1636ee1eed5d90da8200..7bfc5bbfcf67e5bbf57e99e648ff5bed
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 085faebd53c0d620fe4e9aa5f0fc88b0e96d0b10..065ae3bea7dfe8f360ad9ac97d503880a41e9dd0 100644
+index 784001a514b2400b07f64f7d60ec0926891b7b51..a08d724c327b8f3eb819f72713b7fe4be18c1940 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1186,7 +1186,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1187,7 +1187,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@@ -107,7 +107,7 @@ index 085faebd53c0d620fe4e9aa5f0fc88b0e96d0b10..065ae3bea7dfe8f360ad9ac97d503880
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
}
-@@ -1208,7 +1208,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1209,7 +1209,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
diff --git a/patches/server/0609-More-Lidded-Block-API.patch b/patches/server/0608-More-Lidded-Block-API.patch
index a72c613eb8..a72c613eb8 100644
--- a/patches/server/0609-More-Lidded-Block-API.patch
+++ b/patches/server/0608-More-Lidded-Block-API.patch
diff --git a/patches/server/0610-Limit-item-frame-cursors-on-maps.patch b/patches/server/0609-Limit-item-frame-cursors-on-maps.patch
index 64dc46158b..64dc46158b 100644
--- a/patches/server/0610-Limit-item-frame-cursors-on-maps.patch
+++ b/patches/server/0609-Limit-item-frame-cursors-on-maps.patch
diff --git a/patches/server/0611-Add-PlayerKickEvent-causes.patch b/patches/server/0610-Add-PlayerKickEvent-causes.patch
index 16e21badd0..16e21badd0 100644
--- a/patches/server/0611-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0610-Add-PlayerKickEvent-causes.patch
diff --git a/patches/server/0612-Add-PufferFishStateChangeEvent.patch b/patches/server/0611-Add-PufferFishStateChangeEvent.patch
index 091a042a02..091a042a02 100644
--- a/patches/server/0612-Add-PufferFishStateChangeEvent.patch
+++ b/patches/server/0611-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/server/0613-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0612-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
index 1dbdf33922..1dbdf33922 100644
--- a/patches/server/0613-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
+++ b/patches/server/0612-Fix-PlayerBucketEmptyEvent-result-itemstack.patch
diff --git a/patches/server/0614-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0613-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
index e8ae16c851..e8ae16c851 100644
--- a/patches/server/0614-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
+++ b/patches/server/0613-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch
diff --git a/patches/server/0615-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch
index 8f2e06ffef..8f2e06ffef 100644
--- a/patches/server/0615-Add-option-to-fix-items-merging-through-walls.patch
+++ b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch
diff --git a/patches/server/0616-Add-BellRevealRaiderEvent.patch b/patches/server/0615-Add-BellRevealRaiderEvent.patch
index ed8e81f6a2..ed8e81f6a2 100644
--- a/patches/server/0616-Add-BellRevealRaiderEvent.patch
+++ b/patches/server/0615-Add-BellRevealRaiderEvent.patch
diff --git a/patches/server/0617-Fix-invulnerable-end-crystals.patch b/patches/server/0616-Fix-invulnerable-end-crystals.patch
index 195d6b8a42..195d6b8a42 100644
--- a/patches/server/0617-Fix-invulnerable-end-crystals.patch
+++ b/patches/server/0616-Fix-invulnerable-end-crystals.patch
diff --git a/patches/server/0618-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0617-Add-ElderGuardianAppearanceEvent.patch
index 93e8beb3d3..93e8beb3d3 100644
--- a/patches/server/0618-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/server/0617-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/server/0619-Fix-dangerous-end-portal-logic.patch b/patches/server/0618-Fix-dangerous-end-portal-logic.patch
index c93cc3a95e..c93cc3a95e 100644
--- a/patches/server/0619-Fix-dangerous-end-portal-logic.patch
+++ b/patches/server/0618-Fix-dangerous-end-portal-logic.patch
diff --git a/patches/server/0620-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0619-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
index ef457d74af..ef457d74af 100644
--- a/patches/server/0620-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
+++ b/patches/server/0619-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
diff --git a/patches/server/0621-Make-item-validations-configurable.patch b/patches/server/0620-Make-item-validations-configurable.patch
index ea2f4e4929..00982be0da 100644
--- a/patches/server/0621-Make-item-validations-configurable.patch
+++ b/patches/server/0620-Make-item-validations-configurable.patch
@@ -32,7 +32,7 @@ index 5d72d2c6fcab478121eb9b4216cf79532b58299e..88c899e323eb554febe191ac7df678bb
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 03639ba2ad9c91a96e6fd46f023c101a63b760e8..228f923907fd304893f66cd389208ce5064b8563 100644
+index fa0b8293bb9df1ab344f6d795d3d5ac92f605d3e..f79ea76c0127b7b57ab0511afbed626a3b42fd05 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -361,7 +361,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0622-Line-Of-Sight-Changes.patch b/patches/server/0621-Line-Of-Sight-Changes.patch
index 8ded2bb1b7..8ded2bb1b7 100644
--- a/patches/server/0622-Line-Of-Sight-Changes.patch
+++ b/patches/server/0621-Line-Of-Sight-Changes.patch
diff --git a/patches/server/0623-add-per-world-spawn-limits.patch b/patches/server/0622-add-per-world-spawn-limits.patch
index b8c0fcecb3..b5ff1a2631 100644
--- a/patches/server/0623-add-per-world-spawn-limits.patch
+++ b/patches/server/0622-add-per-world-spawn-limits.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] add per world spawn limits
Taken from #2982. Credit to Chasewhip8
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 065ae3bea7dfe8f360ad9ac97d503880a41e9dd0..1f8e6b2a293848e61bcfcda4be4afd5c4ac0a91f 100644
+index a08d724c327b8f3eb819f72713b7fe4be18c1940..286db6e246d48fb391c609f4e8a0222f1b294cfc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -212,6 +212,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -213,6 +213,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.biomeProvider = biomeProvider;
this.environment = env;
diff --git a/patches/server/0624-Fix-potions-splash-events.patch b/patches/server/0623-Fix-potions-splash-events.patch
index 18d8ef0d0a..18d8ef0d0a 100644
--- a/patches/server/0624-Fix-potions-splash-events.patch
+++ b/patches/server/0623-Fix-potions-splash-events.patch
diff --git a/patches/server/0625-Add-more-LimitedRegion-API.patch b/patches/server/0624-Add-more-LimitedRegion-API.patch
index 2a50497e38..2a50497e38 100644
--- a/patches/server/0625-Add-more-LimitedRegion-API.patch
+++ b/patches/server/0624-Add-more-LimitedRegion-API.patch
diff --git a/patches/server/0626-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0625-Fix-PlayerDropItemEvent-using-wrong-item.patch
index 119470aad4..119470aad4 100644
--- a/patches/server/0626-Fix-PlayerDropItemEvent-using-wrong-item.patch
+++ b/patches/server/0625-Fix-PlayerDropItemEvent-using-wrong-item.patch
diff --git a/patches/server/0627-Missing-Entity-API.patch b/patches/server/0626-Missing-Entity-API.patch
index df472c2f75..eaf09c6356 100644
--- a/patches/server/0627-Missing-Entity-API.patch
+++ b/patches/server/0626-Missing-Entity-API.patch
@@ -428,10 +428,10 @@ index 3f1f4d65525562b3117fdc21c8a7f535b12c3c46..90a989c7c9de6f9ba55ab640761915e9
+ // Paper end - Horse API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
-index 78487d6c87a9b4ae3b2065957290417323c1109e..c13d7fd15d8614f1ced30569fd1eae732a31b800 100644
+index d9895ac178a11a349572aa3d342a0ffd0df4139e..e7b0f4583f80e5df204269becb0feba20c6ab69d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java
-@@ -223,4 +223,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
+@@ -239,4 +239,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
this.getHandle().setOwner(null);
}
}
diff --git a/patches/server/0628-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0627-Ensure-disconnect-for-book-edit-is-called-on-main.patch
index 3c993b4430..3c993b4430 100644
--- a/patches/server/0628-Ensure-disconnect-for-book-edit-is-called-on-main.patch
+++ b/patches/server/0627-Ensure-disconnect-for-book-edit-is-called-on-main.patch
diff --git a/patches/server/0629-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
index 62c862fdb8..62c862fdb8 100644
--- a/patches/server/0629-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
+++ b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch
diff --git a/patches/server/0630-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0629-Use-getChunkIfLoadedImmediately-in-places.patch
index f9e82eef32..f9e82eef32 100644
--- a/patches/server/0630-Use-getChunkIfLoadedImmediately-in-places.patch
+++ b/patches/server/0629-Use-getChunkIfLoadedImmediately-in-places.patch
diff --git a/patches/server/0631-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0630-Fix-commands-from-signs-not-firing-command-events.patch
index 915947a504..915947a504 100644
--- a/patches/server/0631-Fix-commands-from-signs-not-firing-command-events.patch
+++ b/patches/server/0630-Fix-commands-from-signs-not-firing-command-events.patch
diff --git a/patches/server/0632-Adds-PlayerArmSwingEvent.patch b/patches/server/0631-Adds-PlayerArmSwingEvent.patch
index bc131a01dd..bc131a01dd 100644
--- a/patches/server/0632-Adds-PlayerArmSwingEvent.patch
+++ b/patches/server/0631-Adds-PlayerArmSwingEvent.patch
diff --git a/patches/server/0633-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0632-Fixes-kick-event-leave-message-not-being-sent.patch
index 52d7a40ffa..52d7a40ffa 100644
--- a/patches/server/0633-Fixes-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0632-Fixes-kick-event-leave-message-not-being-sent.patch
diff --git a/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0633-Add-config-for-mobs-immune-to-default-effects.patch
index be1d9fc586..be1d9fc586 100644
--- a/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch
+++ b/patches/server/0633-Add-config-for-mobs-immune-to-default-effects.patch
diff --git a/patches/server/0635-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0634-Fix-incorrect-message-for-outdated-client.patch
index 3c1d877b05..3c1d877b05 100644
--- a/patches/server/0635-Fix-incorrect-message-for-outdated-client.patch
+++ b/patches/server/0634-Fix-incorrect-message-for-outdated-client.patch
diff --git a/patches/server/0636-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0635-Don-t-apply-cramming-damage-to-players.patch
index b1101975e7..b1101975e7 100644
--- a/patches/server/0636-Don-t-apply-cramming-damage-to-players.patch
+++ b/patches/server/0635-Don-t-apply-cramming-damage-to-players.patch
diff --git a/patches/server/0637-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0636-Rate-options-and-timings-for-sensors-and-behaviors.patch
index 297c6b3a06..297c6b3a06 100644
--- a/patches/server/0637-Rate-options-and-timings-for-sensors-and-behaviors.patch
+++ b/patches/server/0636-Rate-options-and-timings-for-sensors-and-behaviors.patch
diff --git a/patches/server/0638-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0637-Add-a-bunch-of-missing-forceDrop-toggles.patch
index 4a998000b2..4a998000b2 100644
--- a/patches/server/0638-Add-a-bunch-of-missing-forceDrop-toggles.patch
+++ b/patches/server/0637-Add-a-bunch-of-missing-forceDrop-toggles.patch
diff --git a/patches/server/0639-Stinger-API.patch b/patches/server/0638-Stinger-API.patch
index 9e8f26a8d2..9e8f26a8d2 100644
--- a/patches/server/0639-Stinger-API.patch
+++ b/patches/server/0638-Stinger-API.patch
diff --git a/patches/server/0640-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0639-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
index 5f8b5b11ed..5f8b5b11ed 100644
--- a/patches/server/0640-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
+++ b/patches/server/0639-Fix-incosistency-issue-with-empty-map-items-in-CB.patch
diff --git a/patches/server/0641-Add-System.out-err-catcher.patch b/patches/server/0640-Add-System.out-err-catcher.patch
index 1f11b3d41a..1f11b3d41a 100644
--- a/patches/server/0641-Add-System.out-err-catcher.patch
+++ b/patches/server/0640-Add-System.out-err-catcher.patch
diff --git a/patches/server/0642-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0641-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index f4242ad30e..f4242ad30e 100644
--- a/patches/server/0642-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/server/0641-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/server/0643-Improve-boat-collision-performance.patch b/patches/server/0642-Improve-boat-collision-performance.patch
index 65a69531ec..65a69531ec 100644
--- a/patches/server/0643-Improve-boat-collision-performance.patch
+++ b/patches/server/0642-Improve-boat-collision-performance.patch
diff --git a/patches/server/0644-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0643-Prevent-AFK-kick-while-watching-end-credits.patch
index 403f8edd6d..403f8edd6d 100644
--- a/patches/server/0644-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0643-Prevent-AFK-kick-while-watching-end-credits.patch
diff --git a/patches/server/0645-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0644-Allow-skipping-writing-of-comments-to-server.propert.patch
index 9fba827e12..9fba827e12 100644
--- a/patches/server/0645-Allow-skipping-writing-of-comments-to-server.propert.patch
+++ b/patches/server/0644-Allow-skipping-writing-of-comments-to-server.propert.patch
diff --git a/patches/server/0646-Add-PlayerSetSpawnEvent.patch b/patches/server/0645-Add-PlayerSetSpawnEvent.patch
index 7374ed9828..7374ed9828 100644
--- a/patches/server/0646-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0645-Add-PlayerSetSpawnEvent.patch
diff --git a/patches/server/0647-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0646-Make-hoppers-respect-inventory-max-stack-size.patch
index 45531b8594..45531b8594 100644
--- a/patches/server/0647-Make-hoppers-respect-inventory-max-stack-size.patch
+++ b/patches/server/0646-Make-hoppers-respect-inventory-max-stack-size.patch
diff --git a/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0647-Optimize-entity-tracker-passenger-checks.patch
index 524e1fabfb..524e1fabfb 100644
--- a/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch
+++ b/patches/server/0647-Optimize-entity-tracker-passenger-checks.patch
diff --git a/patches/server/0649-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0648-Config-option-for-Piglins-guarding-chests.patch
index 63865bec49..63865bec49 100644
--- a/patches/server/0649-Config-option-for-Piglins-guarding-chests.patch
+++ b/patches/server/0648-Config-option-for-Piglins-guarding-chests.patch
diff --git a/patches/server/0650-Added-EntityDamageItemEvent.patch b/patches/server/0649-Added-EntityDamageItemEvent.patch
index 935084ef4b..935084ef4b 100644
--- a/patches/server/0650-Added-EntityDamageItemEvent.patch
+++ b/patches/server/0649-Added-EntityDamageItemEvent.patch
diff --git a/patches/server/0651-Optimize-indirect-passenger-iteration.patch b/patches/server/0650-Optimize-indirect-passenger-iteration.patch
index ea38b0fd48..ea38b0fd48 100644
--- a/patches/server/0651-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0650-Optimize-indirect-passenger-iteration.patch
diff --git a/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0651-Configurable-item-frame-map-cursor-update-interval.patch
index a1e4f933cb..a1e4f933cb 100644
--- a/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch
+++ b/patches/server/0651-Configurable-item-frame-map-cursor-update-interval.patch
diff --git a/patches/server/0653-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0652-Make-EntityUnleashEvent-cancellable.patch
index 17065b886a..17065b886a 100644
--- a/patches/server/0653-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/server/0652-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/server/0654-Clear-bucket-NBT-after-dispense.patch b/patches/server/0653-Clear-bucket-NBT-after-dispense.patch
index 1f2a7cae78..1f2a7cae78 100644
--- a/patches/server/0654-Clear-bucket-NBT-after-dispense.patch
+++ b/patches/server/0653-Clear-bucket-NBT-after-dispense.patch
diff --git a/patches/server/0655-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0654-Change-EnderEye-target-without-changing-other-things.patch
index 71e04b67ea..71e04b67ea 100644
--- a/patches/server/0655-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/server/0654-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/server/0656-Add-BlockBreakBlockEvent.patch b/patches/server/0655-Add-BlockBreakBlockEvent.patch
index 2fd4cd307f..2fd4cd307f 100644
--- a/patches/server/0656-Add-BlockBreakBlockEvent.patch
+++ b/patches/server/0655-Add-BlockBreakBlockEvent.patch
diff --git a/patches/server/0657-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0656-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
index 5f0bb00e06..5f0bb00e06 100644
--- a/patches/server/0657-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
+++ b/patches/server/0656-Option-to-prevent-NBT-copy-in-smithing-recipes.patch
diff --git a/patches/server/0658-More-CommandBlock-API.patch b/patches/server/0657-More-CommandBlock-API.patch
index 162a84f2e6..162a84f2e6 100644
--- a/patches/server/0658-More-CommandBlock-API.patch
+++ b/patches/server/0657-More-CommandBlock-API.patch
diff --git a/patches/server/0659-Add-missing-team-sidebar-display-slots.patch b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch
index a9c7a8fa5b..a9c7a8fa5b 100644
--- a/patches/server/0659-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/server/0660-Add-back-EntityPortalExitEvent.patch b/patches/server/0659-Add-back-EntityPortalExitEvent.patch
index b349e583a2..b349e583a2 100644
--- a/patches/server/0660-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0659-Add-back-EntityPortalExitEvent.patch
diff --git a/patches/server/0661-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch
index c6cef5bec2..85e5229ebe 100644
--- a/patches/server/0661-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -31,10 +31,10 @@ index 31d30840ec0acfd0d666163f77c8deb0efced922..a11bd2d9f5b2fb248cc322ea61886050
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 1f8e6b2a293848e61bcfcda4be4afd5c4ac0a91f..31b3314bd2e155be8e4f82431dce8b5e3f3934ef 100644
+index 286db6e246d48fb391c609f4e8a0222f1b294cfc..b137d0946b45b1f1a0170177b47fcece406a70dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -698,6 +698,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -699,6 +699,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (LightningStrike) lightning.getBukkitEntity();
}
diff --git a/patches/server/0662-Get-entity-default-attributes.patch b/patches/server/0661-Get-entity-default-attributes.patch
index 0b08f57edc..afd4c49b4d 100644
--- a/patches/server/0662-Get-entity-default-attributes.patch
+++ b/patches/server/0661-Get-entity-default-attributes.patch
@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..68044b8439c302114240d0ae4da93ab3
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b16e22ab5f371ce8d84a77a2f709d3541d48d3b6..b697619abf1bce42a15a38d959dad37d49055c30 100644
+index 9c06e1b5853de70eb9fad444b2a97acd25328bc4..19c07e2c4b6010bf673f79e58fdbaa41275c4fba 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -550,6 +550,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -563,6 +563,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int getProtocolVersion() {
return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion();
}
diff --git a/patches/server/0663-Left-handed-API.patch b/patches/server/0662-Left-handed-API.patch
index 367c9ed9bc..367c9ed9bc 100644
--- a/patches/server/0663-Left-handed-API.patch
+++ b/patches/server/0662-Left-handed-API.patch
diff --git a/patches/server/0664-Add-more-advancement-API.patch b/patches/server/0663-Add-more-advancement-API.patch
index ba79527126..ba79527126 100644
--- a/patches/server/0664-Add-more-advancement-API.patch
+++ b/patches/server/0663-Add-more-advancement-API.patch
diff --git a/patches/server/0665-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch
index ed29983bdd..ed29983bdd 100644
--- a/patches/server/0665-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch
diff --git a/patches/server/0666-Add-critical-damage-API.patch b/patches/server/0665-Add-critical-damage-API.patch
index 1042d66937..14504a2eb1 100644
--- a/patches/server/0666-Add-critical-damage-API.patch
+++ b/patches/server/0665-Add-critical-damage-API.patch
@@ -59,7 +59,7 @@ index 786ef24e97cfb96ddee2be9e02272e6f572cd64d..39f011a3c5e0eaa24ab95738329ba98a
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index f70f0764d9743dbfa2ead4c90d0df3dbc107672d..02574c777047b8e1375aa91e0cd75c7325837643 100644
+index 53de7f516aee20cb7b5db0648dea1c38d74e5d96..df7e044a585579534b3cad260abd74c945911dff 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -372,6 +372,7 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/0667-Fix-issues-with-mob-conversion.patch b/patches/server/0666-Fix-issues-with-mob-conversion.patch
index 237d313b89..237d313b89 100644
--- a/patches/server/0667-Fix-issues-with-mob-conversion.patch
+++ b/patches/server/0666-Fix-issues-with-mob-conversion.patch
diff --git a/patches/server/0668-Add-isCollidable-methods-to-various-places.patch b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch
index f503e60c72..587957d8af 100644
--- a/patches/server/0668-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch
@@ -39,10 +39,10 @@ index eb895090384b6ce0943e8286a3aae55506f4310a..1308720c6f3072a5442b93d495e03735
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index b697619abf1bce42a15a38d959dad37d49055c30..ce6b2198db6a48e9e1899db94c49a6c108950f61 100644
+index 19c07e2c4b6010bf673f79e58fdbaa41275c4fba..4e4852a1973df20023b7213b18b032d7244a4c1f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -562,6 +562,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -575,6 +575,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey)));
return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier);
}
diff --git a/patches/server/0669-Goat-ram-API.patch b/patches/server/0668-Goat-ram-API.patch
index 443c58b4ee..443c58b4ee 100644
--- a/patches/server/0669-Goat-ram-API.patch
+++ b/patches/server/0668-Goat-ram-API.patch
diff --git a/patches/server/0670-Add-API-for-resetting-a-single-score.patch b/patches/server/0669-Add-API-for-resetting-a-single-score.patch
index 0983cd3cdf..0983cd3cdf 100644
--- a/patches/server/0670-Add-API-for-resetting-a-single-score.patch
+++ b/patches/server/0669-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/server/0671-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch
index c965ae0cd0..02be891cbf 100644
--- a/patches/server/0671-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch
@@ -47,10 +47,10 @@ index 2ea8b72ef450b60ec6d7ec10f3f94d2154e06670..3d9ee3a7305b0575387e719ac4062c4a
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index ce6b2198db6a48e9e1899db94c49a6c108950f61..186959e6e7aef0dada59320d3f180c99a93bc90c 100644
+index 4e4852a1973df20023b7213b18b032d7244a4c1f..170fd09370ebf8c14116933fd505c8096904a281 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -473,6 +473,29 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -486,6 +486,29 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion())));
}
diff --git a/patches/server/0672-Vanilla-command-permission-fixes.patch b/patches/server/0671-Vanilla-command-permission-fixes.patch
index 6a9ac954d9..6a9ac954d9 100644
--- a/patches/server/0672-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0671-Vanilla-command-permission-fixes.patch
diff --git a/patches/server/0673-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0672-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
index 26a2297164..26a2297164 100644
--- a/patches/server/0673-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
+++ b/patches/server/0672-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch
diff --git a/patches/server/0674-Fix-GameProfileCache-concurrency.patch b/patches/server/0673-Fix-GameProfileCache-concurrency.patch
index 0337248104..0337248104 100644
--- a/patches/server/0674-Fix-GameProfileCache-concurrency.patch
+++ b/patches/server/0673-Fix-GameProfileCache-concurrency.patch
diff --git a/patches/server/0675-Improve-and-expand-AsyncCatcher.patch b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch
index 4050bab51e..4050bab51e 100644
--- a/patches/server/0675-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch
diff --git a/patches/server/0676-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch
index 402fa3cdec..5e0ea09120 100644
--- a/patches/server/0676-Add-paper-mobcaps-and-paper-playermobcaps.patch
+++ b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch
@@ -294,10 +294,10 @@ index 2a5daa15b1095b20716e997c18fe68ac7d550da6..58e9e04d05d23471690e0d9e42aeb98a
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 31b3314bd2e155be8e4f82431dce8b5e3f3934ef..a96a8878c7b1f1e39d07187e8bee8321305acdef 100644
+index b137d0946b45b1f1a0170177b47fcece406a70dc..4de85b0f3b77d838c91e79b1126e39d41c1f6132 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1704,9 +1704,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1705,9 +1705,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/0677-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0676-Sanitize-ResourceLocation-error-logging.patch
index 989716f6fd..989716f6fd 100644
--- a/patches/server/0677-Sanitize-ResourceLocation-error-logging.patch
+++ b/patches/server/0676-Sanitize-ResourceLocation-error-logging.patch
diff --git a/patches/server/0678-Optimise-general-POI-access.patch b/patches/server/0677-Optimise-general-POI-access.patch
index 332786d627..332786d627 100644
--- a/patches/server/0678-Optimise-general-POI-access.patch
+++ b/patches/server/0677-Optimise-general-POI-access.patch
diff --git a/patches/server/0679-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0678-Custom-table-implementation-for-blockstate-state-loo.patch
index 0023c8bd8c..0023c8bd8c 100644
--- a/patches/server/0679-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/0678-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/0680-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0679-Manually-inline-methods-in-BlockPosition.patch
index c8b8adfce9..c8b8adfce9 100644
--- a/patches/server/0680-Manually-inline-methods-in-BlockPosition.patch
+++ b/patches/server/0679-Manually-inline-methods-in-BlockPosition.patch
diff --git a/patches/server/0681-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0680-Name-craft-scheduler-threads-according-to-the-plugin.patch
index e2e0d713f0..e2e0d713f0 100644
--- a/patches/server/0681-Name-craft-scheduler-threads-according-to-the-plugin.patch
+++ b/patches/server/0680-Name-craft-scheduler-threads-according-to-the-plugin.patch
diff --git a/patches/server/0682-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0681-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
index ad81d50205..ad81d50205 100644
--- a/patches/server/0682-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
+++ b/patches/server/0681-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch
diff --git a/patches/server/0683-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0682-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
index 5475ff2092..5475ff2092 100644
--- a/patches/server/0683-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
+++ b/patches/server/0682-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch
diff --git a/patches/server/0684-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0683-Don-t-lookup-fluid-state-when-raytracing.patch
index d931ef54fa..d931ef54fa 100644
--- a/patches/server/0684-Don-t-lookup-fluid-state-when-raytracing.patch
+++ b/patches/server/0683-Don-t-lookup-fluid-state-when-raytracing.patch
diff --git a/patches/server/0685-Time-scoreboard-search.patch b/patches/server/0684-Time-scoreboard-search.patch
index e6b092ac61..e6b092ac61 100644
--- a/patches/server/0685-Time-scoreboard-search.patch
+++ b/patches/server/0684-Time-scoreboard-search.patch
diff --git a/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0685-Send-full-pos-packets-for-hard-colliding-entities.patch
index f005ae7e71..f005ae7e71 100644
--- a/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/0685-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/patches/server/0687-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0686-Do-not-run-raytrace-logic-for-AIR.patch
index 75ece1bf8b..75ece1bf8b 100644
--- a/patches/server/0687-Do-not-run-raytrace-logic-for-AIR.patch
+++ b/patches/server/0686-Do-not-run-raytrace-logic-for-AIR.patch
diff --git a/patches/server/0688-Execute-chunk-tasks-mid-tick.patch b/patches/server/0687-Execute-chunk-tasks-mid-tick.patch
index f4272a0512..f4272a0512 100644
--- a/patches/server/0688-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/0687-Execute-chunk-tasks-mid-tick.patch
diff --git a/patches/server/0689-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0688-Oprimise-map-impl-for-tracked-players.patch
index 63b0b6da7a..63b0b6da7a 100644
--- a/patches/server/0689-Oprimise-map-impl-for-tracked-players.patch
+++ b/patches/server/0688-Oprimise-map-impl-for-tracked-players.patch
diff --git a/patches/server/0690-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0689-Optimise-BlockSoil-nearby-water-lookup.patch
index 08ef0f3bc8..08ef0f3bc8 100644
--- a/patches/server/0690-Optimise-BlockSoil-nearby-water-lookup.patch
+++ b/patches/server/0689-Optimise-BlockSoil-nearby-water-lookup.patch
diff --git a/patches/server/0691-Optimise-random-block-ticking.patch b/patches/server/0690-Optimise-random-block-ticking.patch
index 981e905456..981e905456 100644
--- a/patches/server/0691-Optimise-random-block-ticking.patch
+++ b/patches/server/0690-Optimise-random-block-ticking.patch
diff --git a/patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0691-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 0a7c36c977..0a7c36c977 100644
--- a/patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/0691-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/0693-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0692-Use-Velocity-compression-and-cipher-natives.patch
index 9530dadb3f..de7c22c15f 100644
--- a/patches/server/0693-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/0692-Use-Velocity-compression-and-cipher-natives.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Use Velocity compression and cipher natives
diff --git a/build.gradle.kts b/build.gradle.kts
-index 5a89e789d44fcf42838643c9023bc5ffc9b98606..c70fd0daeb312e339301c3a72e53a2e9b96759c3 100644
+index 7691727bc188912cab74c6fe4546dfd7b4e68bb5..bd906c491a63ec79d5b2d0901e30dde655c0fc8a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
-@@ -41,6 +41,11 @@ dependencies {
+@@ -40,6 +40,11 @@ dependencies {
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
runtimeOnly("com.mysql:mysql-connector-j:8.1.0")
runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
diff --git a/patches/server/0694-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0693-Detail-more-information-in-watchdog-dumps.patch
index da5cdf4ab8..da5cdf4ab8 100644
--- a/patches/server/0694-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/0693-Detail-more-information-in-watchdog-dumps.patch
diff --git a/patches/server/0695-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0694-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
index 429df0d968..429df0d968 100644
--- a/patches/server/0695-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
+++ b/patches/server/0694-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch
diff --git a/patches/server/0696-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0695-Fix-Bukkit-NamespacedKey-shenanigans.patch
index c77b9ae0d6..c77b9ae0d6 100644
--- a/patches/server/0696-Fix-Bukkit-NamespacedKey-shenanigans.patch
+++ b/patches/server/0695-Fix-Bukkit-NamespacedKey-shenanigans.patch
diff --git a/patches/server/0697-Distance-manager-tick-timings.patch b/patches/server/0696-Distance-manager-tick-timings.patch
index c7179fd70d..c7179fd70d 100644
--- a/patches/server/0697-Distance-manager-tick-timings.patch
+++ b/patches/server/0696-Distance-manager-tick-timings.patch
diff --git a/patches/server/0698-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0697-Fix-merchant-inventory-not-closing-on-entity-removal.patch
index 26b94b2d8b..26b94b2d8b 100644
--- a/patches/server/0698-Fix-merchant-inventory-not-closing-on-entity-removal.patch
+++ b/patches/server/0697-Fix-merchant-inventory-not-closing-on-entity-removal.patch
diff --git a/patches/server/0699-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0698-Check-requirement-before-suggesting-root-nodes.patch
index 4f135f41df..4f135f41df 100644
--- a/patches/server/0699-Check-requirement-before-suggesting-root-nodes.patch
+++ b/patches/server/0698-Check-requirement-before-suggesting-root-nodes.patch
diff --git a/patches/server/0700-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0699-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 6ef712fd7a..6ef712fd7a 100644
--- a/patches/server/0700-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0699-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
diff --git a/patches/server/0701-Add-packet-limiter-config.patch b/patches/server/0700-Add-packet-limiter-config.patch
index 6b454b34dd..6b454b34dd 100644
--- a/patches/server/0701-Add-packet-limiter-config.patch
+++ b/patches/server/0700-Add-packet-limiter-config.patch
diff --git a/patches/server/0702-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0701-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
index 1914569c27..1914569c27 100644
--- a/patches/server/0702-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
+++ b/patches/server/0701-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch
diff --git a/patches/server/0703-Ensure-valid-vehicle-status.patch b/patches/server/0702-Ensure-valid-vehicle-status.patch
index f0389c43e9..f0389c43e9 100644
--- a/patches/server/0703-Ensure-valid-vehicle-status.patch
+++ b/patches/server/0702-Ensure-valid-vehicle-status.patch
diff --git a/patches/server/0704-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0703-Prevent-softlocked-end-exit-portal-generation.patch
index df49391139..df49391139 100644
--- a/patches/server/0704-Prevent-softlocked-end-exit-portal-generation.patch
+++ b/patches/server/0703-Prevent-softlocked-end-exit-portal-generation.patch
diff --git a/patches/server/0705-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0704-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
index b415f668ab..b415f668ab 100644
--- a/patches/server/0705-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
+++ b/patches/server/0704-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch
diff --git a/patches/server/0706-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0705-Don-t-log-debug-logging-being-disabled.patch
index 82e266f96e..82e266f96e 100644
--- a/patches/server/0706-Don-t-log-debug-logging-being-disabled.patch
+++ b/patches/server/0705-Don-t-log-debug-logging-being-disabled.patch
diff --git a/patches/server/0707-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0706-fix-various-menus-with-empty-level-accesses.patch
index 3bda24b9c6..3bda24b9c6 100644
--- a/patches/server/0707-fix-various-menus-with-empty-level-accesses.patch
+++ b/patches/server/0706-fix-various-menus-with-empty-level-accesses.patch
diff --git a/patches/server/0708-Preserve-overstacked-loot.patch b/patches/server/0707-Preserve-overstacked-loot.patch
index 004c7c6f77..004c7c6f77 100644
--- a/patches/server/0708-Preserve-overstacked-loot.patch
+++ b/patches/server/0707-Preserve-overstacked-loot.patch
diff --git a/patches/server/0709-Update-head-rotation-in-missing-places.patch b/patches/server/0708-Update-head-rotation-in-missing-places.patch
index d80dd0df5c..d80dd0df5c 100644
--- a/patches/server/0709-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0708-Update-head-rotation-in-missing-places.patch
diff --git a/patches/server/0710-prevent-unintended-light-block-manipulation.patch b/patches/server/0709-prevent-unintended-light-block-manipulation.patch
index 745b4cd9b5..745b4cd9b5 100644
--- a/patches/server/0710-prevent-unintended-light-block-manipulation.patch
+++ b/patches/server/0709-prevent-unintended-light-block-manipulation.patch
diff --git a/patches/server/0711-Fix-CraftCriteria-defaults-map.patch b/patches/server/0710-Fix-CraftCriteria-defaults-map.patch
index 65eeffccea..65eeffccea 100644
--- a/patches/server/0711-Fix-CraftCriteria-defaults-map.patch
+++ b/patches/server/0710-Fix-CraftCriteria-defaults-map.patch
diff --git a/patches/server/0712-Fix-upstreams-block-state-factories.patch b/patches/server/0711-Fix-upstreams-block-state-factories.patch
index 86d1fc56bc..86d1fc56bc 100644
--- a/patches/server/0712-Fix-upstreams-block-state-factories.patch
+++ b/patches/server/0711-Fix-upstreams-block-state-factories.patch
diff --git a/patches/server/0713-Configurable-feature-seeds.patch b/patches/server/0712-Configurable-feature-seeds.patch
index 2e7ba7f297..2e7ba7f297 100644
--- a/patches/server/0713-Configurable-feature-seeds.patch
+++ b/patches/server/0712-Configurable-feature-seeds.patch
diff --git a/patches/server/0714-Add-root-admin-user-detection.patch b/patches/server/0713-Add-root-admin-user-detection.patch
index 00bf912738..00bf912738 100644
--- a/patches/server/0714-Add-root-admin-user-detection.patch
+++ b/patches/server/0713-Add-root-admin-user-detection.patch
diff --git a/patches/server/0715-Always-allow-item-changing-in-Fireball.patch b/patches/server/0714-Always-allow-item-changing-in-Fireball.patch
index f8453901a9..f8453901a9 100644
--- a/patches/server/0715-Always-allow-item-changing-in-Fireball.patch
+++ b/patches/server/0714-Always-allow-item-changing-in-Fireball.patch
diff --git a/patches/server/0716-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0715-don-t-attempt-to-teleport-dead-entities.patch
index 24d15f8607..24d15f8607 100644
--- a/patches/server/0716-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0715-don-t-attempt-to-teleport-dead-entities.patch
diff --git a/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0716-Prevent-excessive-velocity-through-repeated-crits.patch
index 949aa4cef7..949aa4cef7 100644
--- a/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0716-Prevent-excessive-velocity-through-repeated-crits.patch
diff --git a/patches/server/0718-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0717-Remove-client-side-code-using-deprecated-for-removal.patch
index db5dd67f1b..db5dd67f1b 100644
--- a/patches/server/0718-Remove-client-side-code-using-deprecated-for-removal.patch
+++ b/patches/server/0717-Remove-client-side-code-using-deprecated-for-removal.patch
diff --git a/patches/server/0719-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0718-Fix-removing-recipes-from-RecipeIterator.patch
index c57379be37..c57379be37 100644
--- a/patches/server/0719-Fix-removing-recipes-from-RecipeIterator.patch
+++ b/patches/server/0718-Fix-removing-recipes-from-RecipeIterator.patch
diff --git a/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0719-Prevent-sending-oversized-item-data-in-equipment-and.patch
index 3bdd3a358e..3bdd3a358e 100644
--- a/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0719-Prevent-sending-oversized-item-data-in-equipment-and.patch
diff --git a/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0720-Hide-unnecessary-itemmeta-from-clients.patch
index 8247d73bf8..8247d73bf8 100644
--- a/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch
+++ b/patches/server/0720-Hide-unnecessary-itemmeta-from-clients.patch
diff --git a/patches/server/0722-Fix-Spigot-growth-modifiers.patch b/patches/server/0721-Fix-Spigot-growth-modifiers.patch
index c83c76a287..c83c76a287 100644
--- a/patches/server/0722-Fix-Spigot-growth-modifiers.patch
+++ b/patches/server/0721-Fix-Spigot-growth-modifiers.patch
diff --git a/patches/server/0723-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0722-Prevent-ContainerOpenersCounter-openCount-from-going.patch
index 62a65ff130..62a65ff130 100644
--- a/patches/server/0723-Prevent-ContainerOpenersCounter-openCount-from-going.patch
+++ b/patches/server/0722-Prevent-ContainerOpenersCounter-openCount-from-going.patch
diff --git a/patches/server/0724-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0723-Add-PlayerItemFrameChangeEvent.patch
index 6214bdbdef..6214bdbdef 100644
--- a/patches/server/0724-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/server/0723-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/server/0725-Optimize-HashMapPalette.patch b/patches/server/0724-Optimize-HashMapPalette.patch
index 9e2b26701e..9e2b26701e 100644
--- a/patches/server/0725-Optimize-HashMapPalette.patch
+++ b/patches/server/0724-Optimize-HashMapPalette.patch
diff --git a/patches/server/0726-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch
index 5ac222f51b..5ac222f51b 100644
--- a/patches/server/0726-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch
diff --git a/patches/server/0727-Collision-optimisations.patch b/patches/server/0726-Collision-optimisations.patch
index c8215111b7..c8215111b7 100644
--- a/patches/server/0727-Collision-optimisations.patch
+++ b/patches/server/0726-Collision-optimisations.patch
diff --git a/patches/server/0728-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0727-Optimise-collision-checking-in-player-move-packet-ha.patch
index 07f462e68e..07f462e68e 100644
--- a/patches/server/0728-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/0727-Optimise-collision-checking-in-player-move-packet-ha.patch
diff --git a/patches/server/0729-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index 10679d3a5c..63d75ec33c 100644
--- a/patches/server/0729-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix ChunkSnapshot#isSectionEmpty(int) and optimize
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index adee86c79f9db0a93691ec338791d7c75ab2dd4b..2b138ee73efb8365aa362e08bfb785e3c1aedabb 100644
+index 593c73bf497ff571ea4c19867aa9be4b8272f39b..e03345e5b29040b851eec285b994df831aabef81 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -290,13 +290,17 @@ public class CraftChunk implements Chunk {
@@ -30,7 +30,7 @@ index adee86c79f9db0a93691ec338791d7c75ab2dd4b..2b138ee73efb8365aa362e08bfb785e3
+ // Paper end
LevelLightEngine lightengine = this.worldServer.getLightEngine();
- DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(x, i, z));
+ DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(x, chunk.getSectionYFromSectionIndex(i), z)); // SPIGOT-7498: Convert section index
@@ -315,8 +319,7 @@ public class CraftChunk implements Chunk {
}
diff --git a/patches/server/0730-Add-more-Campfire-API.patch b/patches/server/0729-Add-more-Campfire-API.patch
index 5ba5d97bdf..5ba5d97bdf 100644
--- a/patches/server/0730-Add-more-Campfire-API.patch
+++ b/patches/server/0729-Add-more-Campfire-API.patch
diff --git a/patches/server/0731-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0730-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index 5c74ea64c9..5c74ea64c9 100644
--- a/patches/server/0731-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/0730-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0732-Fix-tripwire-state-inconsistency.patch b/patches/server/0731-Fix-tripwire-state-inconsistency.patch
index eba71d4136..eba71d4136 100644
--- a/patches/server/0732-Fix-tripwire-state-inconsistency.patch
+++ b/patches/server/0731-Fix-tripwire-state-inconsistency.patch
diff --git a/patches/server/0733-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0732-Forward-CraftEntity-in-teleport-command.patch
index 9d024acb9a..9d024acb9a 100644
--- a/patches/server/0733-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0732-Forward-CraftEntity-in-teleport-command.patch
diff --git a/patches/server/0734-Improve-scoreboard-entries.patch b/patches/server/0733-Improve-scoreboard-entries.patch
index 125efaf657..125efaf657 100644
--- a/patches/server/0734-Improve-scoreboard-entries.patch
+++ b/patches/server/0733-Improve-scoreboard-entries.patch
diff --git a/patches/server/0735-Entity-powdered-snow-API.patch b/patches/server/0734-Entity-powdered-snow-API.patch
index 8ea727a6aa..8ea727a6aa 100644
--- a/patches/server/0735-Entity-powdered-snow-API.patch
+++ b/patches/server/0734-Entity-powdered-snow-API.patch
diff --git a/patches/server/0736-Add-API-for-item-entity-health.patch b/patches/server/0735-Add-API-for-item-entity-health.patch
index 5dddc23e86..2cd4aeff4a 100644
--- a/patches/server/0736-Add-API-for-item-entity-health.patch
+++ b/patches/server/0735-Add-API-for-item-entity-health.patch
@@ -7,26 +7,26 @@ Subject: [PATCH] Add API for item entity health
public net.minecraft.world.entity.item.ItemEntity health
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-index ff6868ab31cec208045353c842f20ca31191bc0a..d160db37a3b7ef44b6de8fef209eeccef46c3a95 100644
+index 43f6422fedae4304801c7be21990725eca11fc62..0a075ad3bbe13abc20c1f344cb706278b27bb202 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-@@ -101,6 +101,21 @@ public class CraftItem extends CraftEntity implements Item {
+@@ -98,6 +98,21 @@ public class CraftItem extends CraftEntity implements Item {
public void setWillAge(boolean willAge) {
- item.age = willAge ? 0 : NO_AGE_TIME;
+ this.getHandle().age = willAge ? 0 : NO_AGE_TIME;
}
+
+ @Override
+ public int getHealth() {
-+ return item.health;
++ return this.getHandle().health;
+ }
+
+ @Override
+ public void setHealth(int health) {
+ if (health <= 0) {
-+ item.getItem().onDestroyed(item);
-+ item.discard();
++ this.getHandle().getItem().onDestroyed(this.getHandle());
++ this.getHandle().discard();
+ } else {
-+ item.health = health;
++ this.getHandle().health = health;
+ }
+ }
// Paper End
diff --git a/patches/server/0737-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0736-Fix-entity-type-tags-suggestions-in-selectors.patch
index 213b301fc1..213b301fc1 100644
--- a/patches/server/0737-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/0736-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/0738-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0737-Configurable-max-block-light-for-monster-spawning.patch
index 59eb60edd7..59eb60edd7 100644
--- a/patches/server/0738-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0737-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0739-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0738-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index 8c2c2fb117..8c2c2fb117 100644
--- a/patches/server/0739-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0738-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0740-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0739-Load-effect-amplifiers-greater-than-127-correctly.patch
index b0884e52bd..b0884e52bd 100644
--- a/patches/server/0740-Load-effect-amplifiers-greater-than-127-correctly.patch
+++ b/patches/server/0739-Load-effect-amplifiers-greater-than-127-correctly.patch
diff --git a/patches/server/0741-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0740-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index 9f3ee548ee..9f3ee548ee 100644
--- a/patches/server/0741-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0740-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0742-Fix-bees-aging-inside-hives.patch b/patches/server/0741-Fix-bees-aging-inside-hives.patch
index 2be01a557c..2be01a557c 100644
--- a/patches/server/0742-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0741-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0743-Bucketable-API.patch b/patches/server/0742-Bucketable-API.patch
index 4345ec75a6..4345ec75a6 100644
--- a/patches/server/0743-Bucketable-API.patch
+++ b/patches/server/0742-Bucketable-API.patch
diff --git a/patches/server/0744-Validate-usernames.patch b/patches/server/0743-Validate-usernames.patch
index 89ea54ab5e..89ea54ab5e 100644
--- a/patches/server/0744-Validate-usernames.patch
+++ b/patches/server/0743-Validate-usernames.patch
diff --git a/patches/server/0745-Make-water-animal-spawn-height-configurable.patch b/patches/server/0744-Make-water-animal-spawn-height-configurable.patch
index 9e90672eb5..9e90672eb5 100644
--- a/patches/server/0745-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0744-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0746-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 737d3aa5ca..3ba6efd94a 100644
--- a/patches/server/0746-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -31,10 +31,10 @@ index c103ac154104a1e50ed687a2154a1e0e579b786a..73738d920a7a5776165eb3586ddf0676
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 a96a8878c7b1f1e39d07187e8bee8321305acdef..9eb41e93dc9d15efc7950eca113ae1a99812ddbb 100644
+index 4de85b0f3b77d838c91e79b1126e39d41c1f6132..cabdea2666286956696bc3681dab32b02ab6c0da 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -202,6 +202,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -203,6 +203,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public int getPlayerCount() {
return world.players().size();
}
diff --git a/patches/server/0747-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0746-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 156eacada9..156eacada9 100644
--- a/patches/server/0747-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0746-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0748-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/server/0747-Add-new-overload-to-PersistentDataContainer-has.patch
index 2050e579c5..2050e579c5 100644
--- a/patches/server/0748-Add-new-overload-to-PersistentDataContainer-has.patch
+++ b/patches/server/0747-Add-new-overload-to-PersistentDataContainer-has.patch
diff --git a/patches/server/0749-Multiple-Entries-with-Scoreboards.patch b/patches/server/0748-Multiple-Entries-with-Scoreboards.patch
index f5b866130a..f5b866130a 100644
--- a/patches/server/0749-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0748-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0750-Reset-placed-block-on-exception.patch b/patches/server/0749-Reset-placed-block-on-exception.patch
index 308089d693..308089d693 100644
--- a/patches/server/0750-Reset-placed-block-on-exception.patch
+++ b/patches/server/0749-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0751-Add-configurable-height-for-slime-spawn.patch b/patches/server/0750-Add-configurable-height-for-slime-spawn.patch
index a9aa51d551..a9aa51d551 100644
--- a/patches/server/0751-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0750-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0752-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0751-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
index cd0f2e16aa..cd0f2e16aa 100644
--- a/patches/server/0752-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
+++ b/patches/server/0751-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch
diff --git a/patches/server/0753-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0752-Fix-xp-reward-for-baby-zombies.patch
index dec1fe13a1..dec1fe13a1 100644
--- a/patches/server/0753-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0752-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0754-Kick-on-main-for-illegal-chat.patch b/patches/server/0753-Kick-on-main-for-illegal-chat.patch
index d4075b2273..d4075b2273 100644
--- a/patches/server/0754-Kick-on-main-for-illegal-chat.patch
+++ b/patches/server/0753-Kick-on-main-for-illegal-chat.patch
diff --git a/patches/server/0755-Multi-Block-Change-API-Implementation.patch b/patches/server/0754-Multi-Block-Change-API-Implementation.patch
index a5b0a3f791..750f177fda 100644
--- a/patches/server/0755-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0754-Multi-Block-Change-API-Implementation.patch
@@ -24,7 +24,7 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..e3f355c85eb7cc8c1683e3009502c10a
public void write(FriendlyByteBuf buf) {
buf.writeLong(this.sectionPos.asLong());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 18f37eff3c60c52580d49c3398e5ef01245b4412..16f3381e9cc42c7747199e7c178bd071b798f0e4 100644
+index 0cc3a2949b72cfd3eaced42947c365539087e576..86f9950c6188f407b547cb19330444c5e29f5838 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -891,6 +891,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0756-Fix-NotePlayEvent.patch b/patches/server/0755-Fix-NotePlayEvent.patch
index 5104743fbe..5104743fbe 100644
--- a/patches/server/0756-Fix-NotePlayEvent.patch
+++ b/patches/server/0755-Fix-NotePlayEvent.patch
diff --git a/patches/server/0757-Freeze-Tick-Lock-API.patch b/patches/server/0756-Freeze-Tick-Lock-API.patch
index 0e59a02137..0e59a02137 100644
--- a/patches/server/0757-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0756-Freeze-Tick-Lock-API.patch
diff --git a/patches/server/0758-Dolphin-API.patch b/patches/server/0757-Dolphin-API.patch
index e971f87322..e971f87322 100644
--- a/patches/server/0758-Dolphin-API.patch
+++ b/patches/server/0757-Dolphin-API.patch
diff --git a/patches/server/0759-More-PotionEffectType-API.patch b/patches/server/0758-More-PotionEffectType-API.patch
index 43acfd7f8e..43acfd7f8e 100644
--- a/patches/server/0759-More-PotionEffectType-API.patch
+++ b/patches/server/0758-More-PotionEffectType-API.patch
diff --git a/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0759-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 84ed67d62f..84ed67d62f 100644
--- a/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0759-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0761-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch
index 52d5e8d920..52d5e8d920 100644
--- a/patches/server/0761-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch
diff --git a/patches/server/0762-Add-missing-structure-set-seed-configs.patch b/patches/server/0761-Add-missing-structure-set-seed-configs.patch
index f54b5cc96b..f54b5cc96b 100644
--- a/patches/server/0762-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0761-Add-missing-structure-set-seed-configs.patch
diff --git a/patches/server/0763-Implement-regenerateChunk.patch b/patches/server/0762-Implement-regenerateChunk.patch
index c2fe3ca190..711322ca1f 100644
--- a/patches/server/0763-Implement-regenerateChunk.patch
+++ b/patches/server/0762-Implement-regenerateChunk.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Implement regenerateChunk
Co-authored-by: Jason Penilla <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9eb41e93dc9d15efc7950eca113ae1a99812ddbb..261eb8e2a5b161ca566dda46e9c54593e17d6125 100644
+index cabdea2666286956696bc3681dab32b02ab6c0da..056ced9d7b79b96ed33fe5656609863d9cb76b35 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -141,6 +141,7 @@ import org.jetbrains.annotations.NotNull;
+@@ -142,6 +142,7 @@ import org.jetbrains.annotations.NotNull;
public class CraftWorld extends CraftRegionAccessor implements World {
public static final int CUSTOM_DIMENSION_OFFSET = 10;
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
@@ -17,7 +17,7 @@ index 9eb41e93dc9d15efc7950eca113ae1a99812ddbb..261eb8e2a5b161ca566dda46e9c54593
private final ServerLevel world;
private WorldBorder worldBorder;
-@@ -425,27 +426,61 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -426,27 +427,61 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean regenerateChunk(int x, int z) {
org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot
diff --git a/patches/server/0764-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0763-Fix-cancelled-powdered-snow-bucket-placement.patch
index 6c443ed789..6c443ed789 100644
--- a/patches/server/0764-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0763-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0765-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index 81e125c23b..81e125c23b 100644
--- a/patches/server/0765-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
diff --git a/patches/server/0766-Add-GameEvent-tags.patch b/patches/server/0765-Add-GameEvent-tags.patch
index a749cd2f78..a749cd2f78 100644
--- a/patches/server/0766-Add-GameEvent-tags.patch
+++ b/patches/server/0765-Add-GameEvent-tags.patch
diff --git a/patches/server/0767-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0766-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index df4db48d20..df4db48d20 100644
--- a/patches/server/0767-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0766-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0768-Furnace-RecipesUsed-API.patch b/patches/server/0767-Furnace-RecipesUsed-API.patch
index 075cd97b56..075cd97b56 100644
--- a/patches/server/0768-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0767-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0769-Configurable-sculk-sensor-listener-range.patch b/patches/server/0768-Configurable-sculk-sensor-listener-range.patch
index 6d55376b1e..6d55376b1e 100644
--- a/patches/server/0769-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0768-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0770-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0769-Add-missing-block-data-mins-and-maxes.patch
index 2096473939..2096473939 100644
--- a/patches/server/0770-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/server/0769-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/server/0771-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0770-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index e30c102eaa..e30c102eaa 100644
--- a/patches/server/0771-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0770-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0772-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch
index 10434a48f9..10434a48f9 100644
--- a/patches/server/0772-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch
diff --git a/patches/server/0773-Fix-Entity-Position-Desync.patch b/patches/server/0772-Fix-Entity-Position-Desync.patch
index 1a885e69f8..1a885e69f8 100644
--- a/patches/server/0773-Fix-Entity-Position-Desync.patch
+++ b/patches/server/0772-Fix-Entity-Position-Desync.patch
diff --git a/patches/server/0774-Custom-Potion-Mixes.patch b/patches/server/0773-Custom-Potion-Mixes.patch
index 18da5f19d5..cf6d47729d 100644
--- a/patches/server/0774-Custom-Potion-Mixes.patch
+++ b/patches/server/0773-Custom-Potion-Mixes.patch
@@ -220,10 +220,10 @@ index 28fac26aa8e4da52f3e5d8e5e0d2e2731bcf74e1..13d25d118eb4d3ef35a4cdfb9bbde9ed
if (bukkit == null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
-index 8fdc9a3bb2f1b6bdc6c2c96f8ade7e9cd88ea4e0..a0b0c64b819b8f713eeea78210e276664e30e66e 100644
+index 09ac71b6b41c757832792d9ea8ac9288f8a7404f..2909a2736a0c9d863c7ab01e0ec259f7952080cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
+++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionBrewer.java
-@@ -49,4 +49,21 @@ public class CraftPotionBrewer implements PotionBrewer {
+@@ -28,4 +28,21 @@ public class CraftPotionBrewer implements PotionBrewer {
public PotionEffect createEffect(PotionEffectType potion, int duration, int amplifier) {
return new PotionEffect(potion, potion.isInstant() ? 1 : (int) (duration * potion.getDurationModifier()), amplifier);
}
diff --git a/patches/server/0775-Force-close-world-loading-screen.patch b/patches/server/0774-Force-close-world-loading-screen.patch
index 6c99039e87..6c99039e87 100644
--- a/patches/server/0775-Force-close-world-loading-screen.patch
+++ b/patches/server/0774-Force-close-world-loading-screen.patch
diff --git a/patches/server/0776-Fix-falling-block-spawn-methods.patch b/patches/server/0775-Fix-falling-block-spawn-methods.patch
index 12fe1ece6b..57b9b19440 100644
--- a/patches/server/0776-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0775-Fix-falling-block-spawn-methods.patch
@@ -24,10 +24,10 @@ index c0186224fd64d70770a0e16752d17c0870121d8f..30a893f7f63961b752e043b81dda20d9
if (Snowball.class.isAssignableFrom(clazz)) {
entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 261eb8e2a5b161ca566dda46e9c54593e17d6125..a4c6dc704dc5c72261dc069f1cfdb6f4db9542be 100644
+index 056ced9d7b79b96ed33fe5656609863d9cb76b35..3238c3f152ed09eab935a62e044c48ca21d1cf1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1396,7 +1396,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1397,7 +1397,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);
@@ -41,7 +41,7 @@ index 261eb8e2a5b161ca566dda46e9c54593e17d6125..a4c6dc704dc5c72261dc069f1cfdb6f4
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1405,7 +1410,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1406,7 +1411,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/0777-Expose-furnace-minecart-push-values.patch b/patches/server/0776-Expose-furnace-minecart-push-values.patch
index 572d7c5f66..572d7c5f66 100644
--- a/patches/server/0777-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0776-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0778-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0777-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index 8ecf50b326..9a608358db 100644
--- a/patches/server/0778-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0777-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
@@ -15,7 +15,7 @@ piercing arrows to avoid duplicate damage being applied.
protected net.minecraft.world.entity.projectile.Projectile hitCancelled
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index 02574c777047b8e1375aa91e0cd75c7325837643..b5f5e251661fc17c7614d3e23a9a5192b4a5184a 100644
+index df7e044a585579534b3cad260abd74c945911dff..cabcd68032649aa5ec5f1ac495a08a5af76f0f86 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -290,6 +290,19 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/0779-More-Projectile-API.patch b/patches/server/0778-More-Projectile-API.patch
index afbc251aa0..afbc251aa0 100644
--- a/patches/server/0779-More-Projectile-API.patch
+++ b/patches/server/0778-More-Projectile-API.patch
diff --git a/patches/server/0780-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0779-Fix-swamp-hut-cat-generation-deadlock.patch
index b2499e69cc..b2499e69cc 100644
--- a/patches/server/0780-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0779-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0781-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0780-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index af0968bf69..af0968bf69 100644
--- a/patches/server/0781-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0780-Don-t-allow-vehicle-movement-from-players-while-tele.patch
diff --git a/patches/server/0782-Implement-getComputedBiome-API.patch b/patches/server/0781-Implement-getComputedBiome-API.patch
index 9644f0562d..9644f0562d 100644
--- a/patches/server/0782-Implement-getComputedBiome-API.patch
+++ b/patches/server/0781-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0783-Make-some-itemstacks-nonnull.patch b/patches/server/0782-Make-some-itemstacks-nonnull.patch
index 153d145fd3..153d145fd3 100644
--- a/patches/server/0783-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0782-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0784-Implement-enchantWithLevels-API.patch b/patches/server/0783-Implement-enchantWithLevels-API.patch
index ab96d4c51c..ab96d4c51c 100644
--- a/patches/server/0784-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0783-Implement-enchantWithLevels-API.patch
diff --git a/patches/server/0785-Fix-saving-in-unloadWorld.patch b/patches/server/0784-Fix-saving-in-unloadWorld.patch
index 39fff596cf..39fff596cf 100644
--- a/patches/server/0785-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0784-Fix-saving-in-unloadWorld.patch
diff --git a/patches/server/0786-Buffer-OOB-setBlock-calls.patch b/patches/server/0785-Buffer-OOB-setBlock-calls.patch
index d17173fb30..d17173fb30 100644
--- a/patches/server/0786-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0785-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0787-Add-TameableDeathMessageEvent.patch b/patches/server/0786-Add-TameableDeathMessageEvent.patch
index b08801fd3d..b08801fd3d 100644
--- a/patches/server/0787-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0786-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0788-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index 5d821619a6..5d821619a6 100644
--- a/patches/server/0788-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch
diff --git a/patches/server/0789-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0788-fix-player-loottables-running-when-mob-loot-gamerule.patch
index f4969cc5bd..f4969cc5bd 100644
--- a/patches/server/0789-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0788-fix-player-loottables-running-when-mob-loot-gamerule.patch
diff --git a/patches/server/0790-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0789-Ensure-entity-passenger-world-matches-ridden-entity.patch
index 585cb7a9ed..585cb7a9ed 100644
--- a/patches/server/0790-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0789-Ensure-entity-passenger-world-matches-ridden-entity.patch
diff --git a/patches/server/0791-Guard-against-invalid-entity-positions.patch b/patches/server/0790-Guard-against-invalid-entity-positions.patch
index 52c77c6640..52c77c6640 100644
--- a/patches/server/0791-Guard-against-invalid-entity-positions.patch
+++ b/patches/server/0790-Guard-against-invalid-entity-positions.patch
diff --git a/patches/server/0792-cache-resource-keys.patch b/patches/server/0791-cache-resource-keys.patch
index d444813b7a..d444813b7a 100644
--- a/patches/server/0792-cache-resource-keys.patch
+++ b/patches/server/0791-cache-resource-keys.patch
diff --git a/patches/server/0793-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0792-Allow-to-change-the-podium-for-the-EnderDragon.patch
index 4871e529ae..4871e529ae 100644
--- a/patches/server/0793-Allow-to-change-the-podium-for-the-EnderDragon.patch
+++ b/patches/server/0792-Allow-to-change-the-podium-for-the-EnderDragon.patch
diff --git a/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0793-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index e9c2bc86cd..e9c2bc86cd 100644
--- a/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0793-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0795-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0794-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
index c7c36d1add..c7c36d1add 100644
--- a/patches/server/0795-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
+++ b/patches/server/0794-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch
diff --git a/patches/server/0796-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0795-Prevent-tile-entity-copies-loading-chunks.patch
index 5619c86549..5619c86549 100644
--- a/patches/server/0796-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0795-Prevent-tile-entity-copies-loading-chunks.patch
diff --git a/patches/server/0797-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0796-Use-username-instead-of-display-name-in-PlayerList-g.patch
index e78af9af5b..e78af9af5b 100644
--- a/patches/server/0797-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0796-Use-username-instead-of-display-name-in-PlayerList-g.patch
diff --git a/patches/server/0798-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch b/patches/server/0797-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
index 7f78aa076d..7f78aa076d 100644
--- a/patches/server/0798-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
+++ b/patches/server/0797-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch
diff --git a/patches/server/0799-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch
index a80fb4d3b4..fa7195f297 100644
--- a/patches/server/0799-Pass-ServerLevel-for-gamerule-callbacks.patch
+++ b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch
@@ -167,10 +167,10 @@ index 2e240ad721928a9a68370114ba61c21884ef1472..1a72fc5368731be617f9cab72e9e756d
this.onChanged(server);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a4c6dc704dc5c72261dc069f1cfdb6f4db9542be..514349eabb6939e54f4f98a6a4ad0d8831af9b2a 100644
+index 3238c3f152ed09eab935a62e044c48ca21d1cf1c..9f46cbc5c9ff75cb67fad6a4f8a62ba3da841c91 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1949,7 +1949,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1950,7 +1950,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper end
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule));
handle.deserialize(event.getValue()); // Paper
@@ -179,7 +179,7 @@ index a4c6dc704dc5c72261dc069f1cfdb6f4db9542be..514349eabb6939e54f4f98a6a4ad0d88
return true;
}
-@@ -1990,7 +1990,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1991,7 +1991,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper end
GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName()));
handle.deserialize(event.getValue()); // Paper
diff --git a/patches/server/0800-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0799-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 676f145bb4..676f145bb4 100644
--- a/patches/server/0800-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/server/0799-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/server/0801-WorldCreator-keepSpawnLoaded.patch b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch
index f83645a792..f83645a792 100644
--- a/patches/server/0801-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/server/0802-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0801-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index d7281d9015..d7281d9015 100644
--- a/patches/server/0802-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0801-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0803-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0802-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index 0a52efe49e..0a52efe49e 100644
--- a/patches/server/0803-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0802-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0804-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0803-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 76380e425b..76380e425b 100644
--- a/patches/server/0804-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0803-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0805-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0804-Fire-CauldronLevelChange-on-initial-fill.patch
index bcc871d7bc..bcc871d7bc 100644
--- a/patches/server/0805-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0804-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0806-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0805-fix-powder-snow-cauldrons-not-turning-to-water.patch
index fec28b7e17..fec28b7e17 100644
--- a/patches/server/0806-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0805-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0807-Add-PlayerStopUsingItemEvent.patch b/patches/server/0806-Add-PlayerStopUsingItemEvent.patch
index 8e828af6bd..8e828af6bd 100644
--- a/patches/server/0807-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0806-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/server/0809-Don-t-tick-markers.patch b/patches/server/0807-Don-t-tick-markers.patch
index bb63d01361..bb63d01361 100644
--- a/patches/server/0809-Don-t-tick-markers.patch
+++ b/patches/server/0807-Don-t-tick-markers.patch
diff --git a/patches/server/0810-Do-not-accept-invalid-client-settings.patch b/patches/server/0809-Do-not-accept-invalid-client-settings.patch
index 443d50fb31..443d50fb31 100644
--- a/patches/server/0810-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0809-Do-not-accept-invalid-client-settings.patch
diff --git a/patches/server/0811-Add-support-for-Proxy-Protocol.patch b/patches/server/0810-Add-support-for-Proxy-Protocol.patch
index a40838dee3..55d8e2f7b5 100644
--- a/patches/server/0811-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0810-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 c545e94e4d045bc698b45e6b602ff481419fad52..a79461457ea19339f47572c70705d655ebc55276 100644
+index bd906c491a63ec79d5b2d0901e30dde655c0fc8a..cf538869bcf4e89825a96870e24b828880389c5c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -30,6 +30,7 @@ dependencies {
diff --git a/patches/server/0812-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 0c622e6685..0c622e6685 100644
--- a/patches/server/0812-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0813-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0812-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index 59fabed7e4..59fabed7e4 100644
--- a/patches/server/0813-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0812-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0814-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0813-Sanitize-Sent-BlockEntity-NBT.patch
index b3404362f9..b3404362f9 100644
--- a/patches/server/0814-Sanitize-Sent-BlockEntity-NBT.patch
+++ b/patches/server/0813-Sanitize-Sent-BlockEntity-NBT.patch
diff --git a/patches/server/0815-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0814-Disable-component-selector-resolving-in-books-by-def.patch
index 72862c20c5..72862c20c5 100644
--- a/patches/server/0815-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0814-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0816-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0815-Prevent-entity-loading-causing-async-lookups.patch
index 66bceb6dba..66bceb6dba 100644
--- a/patches/server/0816-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0815-Prevent-entity-loading-causing-async-lookups.patch
diff --git a/patches/server/0817-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch
index 8dac496b99..8dac496b99 100644
--- a/patches/server/0817-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch
diff --git a/patches/server/0818-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0817-Add-Alternate-Current-redstone-implementation.patch
index 2615719296..2615719296 100644
--- a/patches/server/0818-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/0817-Add-Alternate-Current-redstone-implementation.patch
diff --git a/patches/server/0819-Dont-resent-entity-on-art-update.patch b/patches/server/0818-Dont-resent-entity-on-art-update.patch
index 4ce24fc14e..4ce24fc14e 100644
--- a/patches/server/0819-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0818-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0820-Add-WardenAngerChangeEvent.patch b/patches/server/0819-Add-WardenAngerChangeEvent.patch
index eb11b51339..eb11b51339 100644
--- a/patches/server/0820-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0819-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0821-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0820-Add-option-for-strict-advancement-dimension-checks.patch
index 7a01fc369e..7a01fc369e 100644
--- a/patches/server/0821-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0820-Add-option-for-strict-advancement-dimension-checks.patch
diff --git a/patches/server/0822-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0821-Add-missing-important-BlockStateListPopulator-method.patch
index d3763517ff..d3763517ff 100644
--- a/patches/server/0822-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0821-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0823-Nameable-Banner-API.patch b/patches/server/0822-Nameable-Banner-API.patch
index 351d3597e0..351d3597e0 100644
--- a/patches/server/0823-Nameable-Banner-API.patch
+++ b/patches/server/0822-Nameable-Banner-API.patch
diff --git a/patches/server/0824-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch
index df5e4f235b..df5e4f235b 100644
--- a/patches/server/0824-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch
diff --git a/patches/server/0825-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch
index a286185139..a286185139 100644
--- a/patches/server/0825-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch
diff --git a/patches/server/0826-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0825-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index 6397403478..6397403478 100644
--- a/patches/server/0826-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0825-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0827-Add-Player-getFishHook.patch b/patches/server/0826-Add-Player-getFishHook.patch
index aa6a534aac..aa6a534aac 100644
--- a/patches/server/0827-Add-Player-getFishHook.patch
+++ b/patches/server/0826-Add-Player-getFishHook.patch
diff --git a/patches/server/0828-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0827-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 3956916b04..3956916b04 100644
--- a/patches/server/0828-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0827-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0829-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0828-Add-various-missing-EntityDropItemEvent-calls.patch
index c0e8d8fd0c..c0e8d8fd0c 100644
--- a/patches/server/0829-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0828-Add-various-missing-EntityDropItemEvent-calls.patch
diff --git a/patches/server/0830-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/server/0829-Add-some-minimal-debug-information-to-chat-packet-er.patch
index f79a1a6a1e..f79a1a6a1e 100644
--- a/patches/server/0830-Add-some-minimal-debug-information-to-chat-packet-er.patch
+++ b/patches/server/0829-Add-some-minimal-debug-information-to-chat-packet-er.patch
diff --git a/patches/server/0831-Fix-Bee-flower-NPE.patch b/patches/server/0830-Fix-Bee-flower-NPE.patch
index bbc40a996b..bbc40a996b 100644
--- a/patches/server/0831-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0830-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0832-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0831-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index 6b2b48140b..6b2b48140b 100644
--- a/patches/server/0832-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0831-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
diff --git a/patches/server/0833-More-Teleport-API.patch b/patches/server/0832-More-Teleport-API.patch
index 56e6375cd1..56e6375cd1 100644
--- a/patches/server/0833-More-Teleport-API.patch
+++ b/patches/server/0832-More-Teleport-API.patch
diff --git a/patches/server/0834-Add-EntityPortalReadyEvent.patch b/patches/server/0833-Add-EntityPortalReadyEvent.patch
index fe77c37130..fe77c37130 100644
--- a/patches/server/0834-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0833-Add-EntityPortalReadyEvent.patch
diff --git a/patches/server/0835-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch
index 380c4d5c5d..380c4d5c5d 100644
--- a/patches/server/0835-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0836-Send-block-entities-after-destroy-prediction.patch b/patches/server/0835-Send-block-entities-after-destroy-prediction.patch
index 509dc02f75..509dc02f75 100644
--- a/patches/server/0836-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0835-Send-block-entities-after-destroy-prediction.patch
diff --git a/patches/server/0837-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch
index 193d0a06e3..d0166c905d 100644
--- a/patches/server/0837-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -18,10 +18,10 @@ index ba5ad3372b3f3f2110841100729ea3b4c06ecc75..07a5bbdcada2d2cdb1c3d245379217fe
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 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a268b10823a 100644
+index c5b6957aca67739a2d265ca985a0cc5b35c9c1e6..a54b8615b9652760eaa72b30dfa5460e77d4440a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -309,9 +309,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -310,9 +310,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean setSpawnLocation(int x, int y, int z) {
return this.setSpawnLocation(x, y, z, 0.0F);
}
@@ -46,7 +46,7 @@ index 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
// 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) {
-@@ -426,6 +441,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -427,6 +442,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean regenerateChunk(int x, int z) {
org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot
@@ -54,7 +54,7 @@ index 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
// Paper start - implement regenerateChunk method
final ServerLevel serverLevel = this.world;
final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource();
-@@ -521,6 +537,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -522,6 +538,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 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
// Paper start - Optimize this method
ChunkPos chunkPos = new ChunkPos(x, z);
ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper
-@@ -584,6 +601,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -585,6 +602,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -652,6 +670,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -653,6 +671,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -964,6 +983,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -965,6 +984,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@@ -86,7 +86,7 @@ index 514349eabb6939e54f4f98a6a4ad0d8831af9b2a..a4926ad61958301c16a6156abe418a26
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2375,6 +2395,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2384,6 +2404,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Spigot end
// Paper start
public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
diff --git a/patches/server/0838-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch
index 09e0db6d59..a4b0fa47b7 100644
--- a/patches/server/0838-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0837-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 842471eb7dd0d68368e551220922b05b26e476e2..ff03991672c2ca9d23e370d406a9a138659cf050 100644
+index 0fc4a90383a5b332cad58ec55e30dc363aed16ca..55d95fe1bb0fe5064bf5855a4e7aaee8a0b4abd7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -652,6 +652,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0839-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0838-Add-and-fix-missing-BlockFadeEvents.patch
index dd7008cfb5..dd7008cfb5 100644
--- a/patches/server/0839-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0838-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0840-Collision-API.patch b/patches/server/0839-Collision-API.patch
index 4c9bd750bb..4c9bd750bb 100644
--- a/patches/server/0840-Collision-API.patch
+++ b/patches/server/0839-Collision-API.patch
diff --git a/patches/server/0841-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0840-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index bffcadeb49..bffcadeb49 100644
--- a/patches/server/0841-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0840-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0842-Block-Ticking-API.patch b/patches/server/0841-Block-Ticking-API.patch
index ea73ea61f0..ea73ea61f0 100644
--- a/patches/server/0842-Block-Ticking-API.patch
+++ b/patches/server/0841-Block-Ticking-API.patch
diff --git a/patches/server/0843-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch
index 2795895eb5..2795895eb5 100644
--- a/patches/server/0843-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch
diff --git a/patches/server/0844-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch b/patches/server/0843-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch
index 02c71ad921..02c71ad921 100644
--- a/patches/server/0844-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch
+++ b/patches/server/0843-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch
diff --git a/patches/server/0845-Add-NamespacedKey-biome-methods.patch b/patches/server/0844-Add-NamespacedKey-biome-methods.patch
index 2cce9ca951..6c282cba3f 100644
--- a/patches/server/0845-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0844-Add-NamespacedKey-biome-methods.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 186959e6e7aef0dada59320d3f180c99a93bc90c..437b331dc1f77d8fda895a42550bfb1035c8c3c1 100644
+index 170fd09370ebf8c14116933fd505c8096904a281..ef317919818f9387dc394dd703fc028eaf37ec63 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -591,6 +591,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -604,6 +604,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
Preconditions.checkArgument(material.isBlock(), material + " is not a block");
return getBlock(material).hasCollision;
}
diff --git a/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0845-Fix-plugin-loggers-on-server-shutdown.patch
index 1255d4ddb9..1255d4ddb9 100644
--- a/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0845-Fix-plugin-loggers-on-server-shutdown.patch
diff --git a/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0846-Stop-large-look-changes-from-crashing-the-server.patch
index 7d002304ae..7d002304ae 100644
--- a/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0846-Stop-large-look-changes-from-crashing-the-server.patch
diff --git a/patches/server/0848-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0847-Fire-EntityChangeBlockEvent-in-more-places.patch
index 4f0d9f51f2..4f0d9f51f2 100644
--- a/patches/server/0848-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0847-Fire-EntityChangeBlockEvent-in-more-places.patch
diff --git a/patches/server/0849-Missing-eating-regain-reason.patch b/patches/server/0848-Missing-eating-regain-reason.patch
index e04644ebf1..e04644ebf1 100644
--- a/patches/server/0849-Missing-eating-regain-reason.patch
+++ b/patches/server/0848-Missing-eating-regain-reason.patch
diff --git a/patches/server/0850-Missing-effect-cause.patch b/patches/server/0849-Missing-effect-cause.patch
index cdde105841..cdde105841 100644
--- a/patches/server/0850-Missing-effect-cause.patch
+++ b/patches/server/0849-Missing-effect-cause.patch
diff --git a/patches/server/0851-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0850-Added-byte-array-serialization-deserialization-for-P.patch
index b3ca268703..b3ca268703 100644
--- a/patches/server/0851-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0850-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0852-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 81fbb79345..81fbb79345 100644
--- a/patches/server/0852-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff --git a/patches/server/0853-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0852-Call-BlockPhysicsEvent-more-often.patch
index ea04c3e249..ea04c3e249 100644
--- a/patches/server/0853-Call-BlockPhysicsEvent-more-often.patch
+++ b/patches/server/0852-Call-BlockPhysicsEvent-more-often.patch
diff --git a/patches/server/0854-Configurable-chat-thread-limit.patch b/patches/server/0853-Configurable-chat-thread-limit.patch
index 5e312d3a14..5e312d3a14 100644
--- a/patches/server/0854-Configurable-chat-thread-limit.patch
+++ b/patches/server/0853-Configurable-chat-thread-limit.patch
diff --git a/patches/server/0855-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index dcc6c03d54..dcc6c03d54 100644
--- a/patches/server/0855-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0856-fix-Jigsaw-block-kicking-user.patch b/patches/server/0855-fix-Jigsaw-block-kicking-user.patch
index 6206d8d028..6206d8d028 100644
--- a/patches/server/0856-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0855-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0857-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0856-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 39be29edef..39be29edef 100644
--- a/patches/server/0857-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0856-use-BlockFormEvent-for-mud-converting-into-clay.patch
diff --git a/patches/server/0858-Add-getDrops-to-BlockState.patch b/patches/server/0857-Add-getDrops-to-BlockState.patch
index 75ef1dadb3..75ef1dadb3 100644
--- a/patches/server/0858-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0857-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0859-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0858-Fix-a-bunch-of-vanilla-bugs.patch
index 3119ba20b8..3119ba20b8 100644
--- a/patches/server/0859-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0858-Fix-a-bunch-of-vanilla-bugs.patch
diff --git a/patches/server/0860-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0859-Remove-unnecessary-onTrackingStart-during-navigation.patch
index 2b050eec64..2b050eec64 100644
--- a/patches/server/0860-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0859-Remove-unnecessary-onTrackingStart-during-navigation.patch
diff --git a/patches/server/0861-Fix-custom-piglin-loved-items.patch b/patches/server/0860-Fix-custom-piglin-loved-items.patch
index 41c934194f..41c934194f 100644
--- a/patches/server/0861-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0860-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0862-EntityPickupItemEvent-fixes.patch b/patches/server/0861-EntityPickupItemEvent-fixes.patch
index d052f8e0a1..d052f8e0a1 100644
--- a/patches/server/0862-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0861-EntityPickupItemEvent-fixes.patch
diff --git a/patches/server/0863-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch
index 21d5cb0b3c..21d5cb0b3c 100644
--- a/patches/server/0863-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch
diff --git a/patches/server/0864-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0863-Add-PlayerInventorySlotChangeEvent.patch
index 32c1b2217b..32c1b2217b 100644
--- a/patches/server/0864-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0863-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/server/0865-Elder-Guardian-appearance-API.patch b/patches/server/0864-Elder-Guardian-appearance-API.patch
index 6163706d91..5aded70060 100644
--- a/patches/server/0865-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0864-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 ff03991672c2ca9d23e370d406a9a138659cf050..68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a 100644
+index 55d95fe1bb0fe5064bf5855a4e7aaee8a0b4abd7..ecd5a7578a8419a2eed0036cb1a52d6266cf11f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3170,6 +3170,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0866-Allow-changing-bed-s-occupied-property.patch b/patches/server/0865-Allow-changing-bed-s-occupied-property.patch
index 4d0128b6d3..4d0128b6d3 100644
--- a/patches/server/0866-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/server/0865-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/server/0867-Add-entity-knockback-API.patch b/patches/server/0866-Add-entity-knockback-API.patch
index a7530e45fb..a7530e45fb 100644
--- a/patches/server/0867-Add-entity-knockback-API.patch
+++ b/patches/server/0866-Add-entity-knockback-API.patch
diff --git a/patches/server/0868-Detect-headless-JREs.patch b/patches/server/0867-Detect-headless-JREs.patch
index 21cb522e88..21cb522e88 100644
--- a/patches/server/0868-Detect-headless-JREs.patch
+++ b/patches/server/0867-Detect-headless-JREs.patch
diff --git a/patches/server/0869-fixed-entity-vehicle-collision-event-not-called.patch b/patches/server/0868-fixed-entity-vehicle-collision-event-not-called.patch
index ebd0cc3b2c..ebd0cc3b2c 100644
--- a/patches/server/0869-fixed-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0868-fixed-entity-vehicle-collision-event-not-called.patch
diff --git a/patches/server/0870-optimized-dirt-and-snow-spreading.patch b/patches/server/0869-optimized-dirt-and-snow-spreading.patch
index 08a3761309..08a3761309 100644
--- a/patches/server/0870-optimized-dirt-and-snow-spreading.patch
+++ b/patches/server/0869-optimized-dirt-and-snow-spreading.patch
diff --git a/patches/server/0871-Added-EntityToggleSitEvent.patch b/patches/server/0870-Added-EntityToggleSitEvent.patch
index f1617cb3ca..f1617cb3ca 100644
--- a/patches/server/0871-Added-EntityToggleSitEvent.patch
+++ b/patches/server/0870-Added-EntityToggleSitEvent.patch
diff --git a/patches/server/0872-Add-fire-tick-delay-option.patch b/patches/server/0871-Add-fire-tick-delay-option.patch
index e9a876ed2b..e9a876ed2b 100644
--- a/patches/server/0872-Add-fire-tick-delay-option.patch
+++ b/patches/server/0871-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0873-Add-Moving-Piston-API.patch b/patches/server/0872-Add-Moving-Piston-API.patch
index b0b64257f1..b0b64257f1 100644
--- a/patches/server/0873-Add-Moving-Piston-API.patch
+++ b/patches/server/0872-Add-Moving-Piston-API.patch
diff --git a/patches/server/0874-Ignore-impossible-spawn-tick.patch b/patches/server/0873-Ignore-impossible-spawn-tick.patch
index 46cd469266..46cd469266 100644
--- a/patches/server/0874-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0873-Ignore-impossible-spawn-tick.patch
diff --git a/patches/server/0875-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0874-Track-projectile-source-for-fireworks-from-dispenser.patch
index fe9f8e5826..fe9f8e5826 100644
--- a/patches/server/0875-Track-projectile-source-for-fireworks-from-dispenser.patch
+++ b/patches/server/0874-Track-projectile-source-for-fireworks-from-dispenser.patch
diff --git a/patches/server/0876-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0875-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
index a840f9a576..a840f9a576 100644
--- a/patches/server/0876-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
+++ b/patches/server/0875-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
diff --git a/patches/server/0877-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0876-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index 60fdb149f3..60fdb149f3 100644
--- a/patches/server/0877-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0876-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
diff --git a/patches/server/0878-Prevent-compass-from-loading-chunks.patch b/patches/server/0877-Prevent-compass-from-loading-chunks.patch
index fd21636990..fd21636990 100644
--- a/patches/server/0878-Prevent-compass-from-loading-chunks.patch
+++ b/patches/server/0877-Prevent-compass-from-loading-chunks.patch
diff --git a/patches/server/0879-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0878-Add-PrePlayerAttackEntityEvent.patch
index d2c7b4c788..d2c7b4c788 100644
--- a/patches/server/0879-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0878-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/server/0880-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0879-ensure-reset-EnderDragon-boss-event-name.patch
index 6107fe92f8..6107fe92f8 100644
--- a/patches/server/0880-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0879-ensure-reset-EnderDragon-boss-event-name.patch
diff --git a/patches/server/0881-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0880-fix-MC-252817-green-map-markers-do-not-disappear.patch
index 9780023a35..9780023a35 100644
--- a/patches/server/0881-fix-MC-252817-green-map-markers-do-not-disappear.patch
+++ b/patches/server/0880-fix-MC-252817-green-map-markers-do-not-disappear.patch
diff --git a/patches/server/0882-Add-Player-Warden-Warning-API.patch b/patches/server/0881-Add-Player-Warden-Warning-API.patch
index 37030b6551..49ba448d8d 100644
--- a/patches/server/0882-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0881-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 68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a..527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f 100644
+index ecd5a7578a8419a2eed0036cb1a52d6266cf11f1..4096145769065693c6d67f092ccedccb78ef4578 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3175,6 +3175,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0883-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch
index 9c5c52b756..9c5c52b756 100644
--- a/patches/server/0883-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0884-Add-paper-dumplisteners-command.patch b/patches/server/0883-Add-paper-dumplisteners-command.patch
index 9669276c0a..9669276c0a 100644
--- a/patches/server/0884-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0883-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0885-check-global-player-list-where-appropriate.patch b/patches/server/0884-check-global-player-list-where-appropriate.patch
index 0beeacee58..0beeacee58 100644
--- a/patches/server/0885-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0884-check-global-player-list-where-appropriate.patch
diff --git a/patches/server/0886-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch
index a2b4a2f003..a2b4a2f003 100644
--- a/patches/server/0886-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0887-ItemStack-damage-API.patch b/patches/server/0886-ItemStack-damage-API.patch
index c46fbd71d9..c46fbd71d9 100644
--- a/patches/server/0887-ItemStack-damage-API.patch
+++ b/patches/server/0886-ItemStack-damage-API.patch
diff --git a/patches/server/0888-Friction-API.patch b/patches/server/0887-Friction-API.patch
index 4eebb745dc..0a3891482d 100644
--- a/patches/server/0888-Friction-API.patch
+++ b/patches/server/0887-Friction-API.patch
@@ -109,28 +109,28 @@ index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c6
this.setItem(ItemStack.of(nbttagcompound1));
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-index d160db37a3b7ef44b6de8fef209eeccef46c3a95..5e83fabb20bc2b0668cbf48530053ca1bb9092f3 100644
+index 0a075ad3bbe13abc20c1f344cb706278b27bb202..9c0f83ff8113696309265fb9e8f6006296de86a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-@@ -102,6 +102,18 @@ public class CraftItem extends CraftEntity implements Item {
- item.age = willAge ? 0 : NO_AGE_TIME;
+@@ -99,6 +99,18 @@ public class CraftItem extends CraftEntity implements Item {
+ this.getHandle().age = willAge ? 0 : NO_AGE_TIME;
}
+ @org.jetbrains.annotations.NotNull
+ @Override
+ public net.kyori.adventure.util.TriState getFrictionState() {
-+ return this.item.frictionState;
++ return this.getHandle().frictionState;
+ }
+
+ @Override
+ public void setFrictionState(@org.jetbrains.annotations.NotNull net.kyori.adventure.util.TriState state) {
+ java.util.Objects.requireNonNull(state, "state may not be null");
-+ this.item.frictionState = state;
++ this.getHandle().frictionState = state;
+ }
+
@Override
public int getHealth() {
- return item.health;
+ return this.getHandle().health;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 4971f918a014ba418f95a0d438aa3531eeef6908..b4b56bebf5308f4dcc51c1a2815f9689a6918b13 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
diff --git a/patches/server/0889-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0888-Ability-to-control-player-s-insomnia-and-phantoms.patch
index a019ee3c47..a019ee3c47 100644
--- a/patches/server/0889-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0888-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0890-Fix-player-kick-on-shutdown.patch b/patches/server/0889-Fix-player-kick-on-shutdown.patch
index f5de61909f..f5de61909f 100644
--- a/patches/server/0890-Fix-player-kick-on-shutdown.patch
+++ b/patches/server/0889-Fix-player-kick-on-shutdown.patch
diff --git a/patches/server/0891-Sync-offhand-slot-in-menus.patch b/patches/server/0890-Sync-offhand-slot-in-menus.patch
index 7d2345f4eb..7d2345f4eb 100644
--- a/patches/server/0891-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0890-Sync-offhand-slot-in-menus.patch
diff --git a/patches/server/0892-Player-Entity-Tracking-Events.patch b/patches/server/0891-Player-Entity-Tracking-Events.patch
index 521a6d3a6e..521a6d3a6e 100644
--- a/patches/server/0892-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0891-Player-Entity-Tracking-Events.patch
diff --git a/patches/server/0893-Limit-pet-look-distance.patch b/patches/server/0892-Limit-pet-look-distance.patch
index 6b827724a3..6b827724a3 100644
--- a/patches/server/0893-Limit-pet-look-distance.patch
+++ b/patches/server/0892-Limit-pet-look-distance.patch
diff --git a/patches/server/0894-Properly-resend-entities.patch b/patches/server/0893-Properly-resend-entities.patch
index b24467fe53..b24467fe53 100644
--- a/patches/server/0894-Properly-resend-entities.patch
+++ b/patches/server/0893-Properly-resend-entities.patch
diff --git a/patches/server/0895-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0894-Fixes-and-additions-to-the-SpawnReason-API.patch
index 2e8a508b26..2e8a508b26 100644
--- a/patches/server/0895-Fixes-and-additions-to-the-SpawnReason-API.patch
+++ b/patches/server/0894-Fixes-and-additions-to-the-SpawnReason-API.patch
diff --git a/patches/server/0896-fix-Instruments.patch b/patches/server/0895-fix-Instruments.patch
index 1810db2e54..81ec752460 100644
--- a/patches/server/0896-fix-Instruments.patch
+++ b/patches/server/0895-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 527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f..99d4c05c20089fb9520813de8a3b2de92b7d3829 100644
+index 4096145769065693c6d67f092ccedccb78ef4578..292054f546669fe607715e2d39e8ed558fc6fc0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -726,29 +726,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0897-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0896-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index 6c0d7471d6..6c0d7471d6 100644
--- a/patches/server/0897-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0896-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0898-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0897-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index f318df5bb3..f318df5bb3 100644
--- a/patches/server/0898-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/0897-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/0899-Add-BlockLockCheckEvent.patch b/patches/server/0898-Add-BlockLockCheckEvent.patch
index b57d228198..b57d228198 100644
--- a/patches/server/0899-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0898-Add-BlockLockCheckEvent.patch
diff --git a/patches/server/0900-Add-Sneaking-API-for-Entities.patch b/patches/server/0899-Add-Sneaking-API-for-Entities.patch
index 2ab0b02578..05d02cc28f 100644
--- a/patches/server/0900-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0899-Add-Sneaking-API-for-Entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Sneaking API for Entities
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 8733255559e63d8709d2502e58f16decdf1714ae..35ce9507933487935da8ae8eff4e94925b1abf76 100644
+index 6759dad436d9e82f9c959e2c183e6e95c37abdcb..d97bc672a8e6fb7c2a0ed668cc15b54bf4254217 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1218,6 +1218,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0901-Improve-logging-and-errors.patch b/patches/server/0900-Improve-logging-and-errors.patch
index c5aba4a44f..c5aba4a44f 100644
--- a/patches/server/0901-Improve-logging-and-errors.patch
+++ b/patches/server/0900-Improve-logging-and-errors.patch
diff --git a/patches/server/0902-Improve-PortalEvents.patch b/patches/server/0901-Improve-PortalEvents.patch
index 7e18628f60..7e18628f60 100644
--- a/patches/server/0902-Improve-PortalEvents.patch
+++ b/patches/server/0901-Improve-PortalEvents.patch
diff --git a/patches/server/0903-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0902-Add-config-option-for-spider-worldborder-climbing.patch
index e15fbaed91..e15fbaed91 100644
--- a/patches/server/0903-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0902-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0904-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0903-Add-missing-SpigotConfig-logCommands-check.patch
index 128115cbc3..128115cbc3 100644
--- a/patches/server/0904-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0903-Add-missing-SpigotConfig-logCommands-check.patch
diff --git a/patches/server/0905-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0904-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 50b24fc2c0..50b24fc2c0 100644
--- a/patches/server/0905-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0904-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0906-Flying-Fall-Damage.patch b/patches/server/0905-Flying-Fall-Damage.patch
index c891e1e6f9..062be73949 100644
--- a/patches/server/0906-Flying-Fall-Damage.patch
+++ b/patches/server/0905-Flying-Fall-Damage.patch
@@ -26,7 +26,7 @@ index 6bf59f8e7f23ffabd2c6f739fe0daf9da6246e1d..d58b4c0dbe651b5068212e5f14dce316
} 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 99d4c05c20089fb9520813de8a3b2de92b7d3829..17c24a282524d73372a95c06a3a37e44a7f1314b 100644
+index 292054f546669fe607715e2d39e8ed558fc6fc0c..b62ccc0aed92b825805e540c67fbf15399e1500d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2392,6 +2392,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0907-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
index 765fd43e22..765fd43e22 100644
--- a/patches/server/0907-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
+++ b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch
diff --git a/patches/server/0908-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0907-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index d7b5ed8806..d7b5ed8806 100644
--- a/patches/server/0908-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0907-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
diff --git a/patches/server/0909-config-for-disabling-entity-tag-tags.patch b/patches/server/0908-config-for-disabling-entity-tag-tags.patch
index acdda06756..acdda06756 100644
--- a/patches/server/0909-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0908-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0910-Use-single-player-info-update-packet-on-join.patch b/patches/server/0909-Use-single-player-info-update-packet-on-join.patch
index a42843df0e..a42843df0e 100644
--- a/patches/server/0910-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0909-Use-single-player-info-update-packet-on-join.patch
diff --git a/patches/server/0911-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0910-Correctly-shrink-items-during-EntityResurrectEvent.patch
index 67fce4114e..67fce4114e 100644
--- a/patches/server/0911-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0910-Correctly-shrink-items-during-EntityResurrectEvent.patch
diff --git a/patches/server/0912-Win-Screen-API.patch b/patches/server/0911-Win-Screen-API.patch
index 9e1aea3edc..5eb460ebe5 100644
--- a/patches/server/0912-Win-Screen-API.patch
+++ b/patches/server/0911-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 17c24a282524d73372a95c06a3a37e44a7f1314b..e91b45268d96dfa79cd6472824b203e5250df0a5 100644
+index b62ccc0aed92b825805e540c67fbf15399e1500d..f7be775567a9aba1933bc3cf5d4e887ab589d778 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1215,6 +1215,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0913-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0912-Remove-CraftItemStack-setAmount-null-assignment.patch
index b85d1dc31d..b85d1dc31d 100644
--- a/patches/server/0913-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0912-Remove-CraftItemStack-setAmount-null-assignment.patch
diff --git a/patches/server/0914-Fix-force-opening-enchantment-tables.patch b/patches/server/0913-Fix-force-opening-enchantment-tables.patch
index 3ebf5a30b4..3ebf5a30b4 100644
--- a/patches/server/0914-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0913-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0915-Add-Entity-Body-Yaw-API.patch b/patches/server/0914-Add-Entity-Body-Yaw-API.patch
index 365ecd7f9d..365ecd7f9d 100644
--- a/patches/server/0915-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0914-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/server/0916-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0915-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index efaf1a6e90..efaf1a6e90 100644
--- a/patches/server/0916-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0915-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0917-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0916-Update-the-flag-when-a-captured-block-state-is-outda.patch
index 599ae035d5..599ae035d5 100644
--- a/patches/server/0917-Update-the-flag-when-a-captured-block-state-is-outda.patch
+++ b/patches/server/0916-Update-the-flag-when-a-captured-block-state-is-outda.patch
diff --git a/patches/server/0918-Add-EntityFertilizeEggEvent.patch b/patches/server/0917-Add-EntityFertilizeEggEvent.patch
index 3970cb4f32..3970cb4f32 100644
--- a/patches/server/0918-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0917-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/server/0919-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0918-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index 75eeab264e..75eeab264e 100644
--- a/patches/server/0919-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0918-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0920-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0919-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 1291727de8..1291727de8 100644
--- a/patches/server/0920-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0919-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0921-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0920-Correctly-handle-ArmorStand-invisibility.patch
index fec2b2ac08..fec2b2ac08 100644
--- a/patches/server/0921-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0920-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0922-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0921-Fix-advancement-triggers-for-entity-damage.patch
index 7476630bfb..7476630bfb 100644
--- a/patches/server/0922-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0921-Fix-advancement-triggers-for-entity-damage.patch
diff --git a/patches/server/0923-Fix-text-display-error-on-spawn.patch b/patches/server/0922-Fix-text-display-error-on-spawn.patch
index 43191b58fb..43191b58fb 100644
--- a/patches/server/0923-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0922-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0924-Fix-certain-inventories-returning-null-Locations.patch b/patches/server/0923-Fix-certain-inventories-returning-null-Locations.patch
index c5b7ef9a42..c5b7ef9a42 100644
--- a/patches/server/0924-Fix-certain-inventories-returning-null-Locations.patch
+++ b/patches/server/0923-Fix-certain-inventories-returning-null-Locations.patch
diff --git a/patches/server/0925-Add-Shearable-API.patch b/patches/server/0924-Add-Shearable-API.patch
index dbb764b5e7..dbb764b5e7 100644
--- a/patches/server/0925-Add-Shearable-API.patch
+++ b/patches/server/0924-Add-Shearable-API.patch
diff --git a/patches/server/0926-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0925-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 4c90082c28..4c90082c28 100644
--- a/patches/server/0926-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0925-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0927-Optimize-Hoppers.patch b/patches/server/0926-Optimize-Hoppers.patch
index f74f8f0f52..f74f8f0f52 100644
--- a/patches/server/0927-Optimize-Hoppers.patch
+++ b/patches/server/0926-Optimize-Hoppers.patch
diff --git a/patches/server/0928-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0927-Fix-beehives-generating-from-using-bonemeal.patch
index 5983c5fc9a..5983c5fc9a 100644
--- a/patches/server/0928-Fix-beehives-generating-from-using-bonemeal.patch
+++ b/patches/server/0927-Fix-beehives-generating-from-using-bonemeal.patch
diff --git a/patches/server/0929-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0928-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index 6bd28ec0d8..6bd28ec0d8 100644
--- a/patches/server/0929-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0928-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0930-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0929-Treat-sequence-violations-like-they-should-be.patch
index 73867d90b5..73867d90b5 100644
--- a/patches/server/0930-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0929-Treat-sequence-violations-like-they-should-be.patch
diff --git a/patches/server/0931-remove-duplicate-animate-packet-for-records.patch b/patches/server/0930-remove-duplicate-animate-packet-for-records.patch
index 0958982027..0958982027 100644
--- a/patches/server/0931-remove-duplicate-animate-packet-for-records.patch
+++ b/patches/server/0930-remove-duplicate-animate-packet-for-records.patch
diff --git a/patches/server/0932-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0931-Prevent-causing-expired-keys-from-impacting-new-join.patch
index a13ddb0b4f..a13ddb0b4f 100644
--- a/patches/server/0932-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0931-Prevent-causing-expired-keys-from-impacting-new-join.patch
diff --git a/patches/server/0933-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0932-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index 960d48879a..960d48879a 100644
--- a/patches/server/0933-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0932-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
diff --git a/patches/server/0934-Use-array-for-gamerule-storage.patch b/patches/server/0933-Use-array-for-gamerule-storage.patch
index 5c50da11c5..5c50da11c5 100644
--- a/patches/server/0934-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0933-Use-array-for-gamerule-storage.patch
diff --git a/patches/server/0935-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0934-Fix-a-couple-of-upstream-bed-issues.patch
index f4a4393fa2..f4a4393fa2 100644
--- a/patches/server/0935-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0934-Fix-a-couple-of-upstream-bed-issues.patch
diff --git a/patches/server/0936-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0935-Fix-demo-flag-not-enabling-demo-mode.patch
index 1c9d5aefe4..1c9d5aefe4 100644
--- a/patches/server/0936-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0935-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0937-Add-Mob-Experience-reward-API.patch b/patches/server/0936-Add-Mob-Experience-reward-API.patch
index 47d2f879f2..47d2f879f2 100644
--- a/patches/server/0937-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0936-Add-Mob-Experience-reward-API.patch
diff --git a/patches/server/0938-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0937-Break-redstone-on-top-of-trap-doors-early.patch
index 461e4c40ca..461e4c40ca 100644
--- a/patches/server/0938-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0937-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0938-Fix-DamageCause-for-Falling-Blocks.patch
index 7c982f3fd2..7c982f3fd2 100644
--- a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch
+++ b/patches/server/0938-Fix-DamageCause-for-Falling-Blocks.patch
diff --git a/patches/server/0940-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0939-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index 809f5d1710..809f5d1710 100644
--- a/patches/server/0940-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0939-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0941-More-accurate-isInOpenWater-impl.patch b/patches/server/0940-More-accurate-isInOpenWater-impl.patch
index c782627938..c782627938 100644
--- a/patches/server/0941-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0940-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0942-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0941-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
index 2127f28b00..2127f28b00 100644
--- a/patches/server/0942-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
+++ b/patches/server/0941-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch
diff --git a/patches/server/0943-Optimise-recalcBlockCounts-for-empty-sections.patch b/patches/server/0942-Optimise-recalcBlockCounts-for-empty-sections.patch
index 0e23a9a123..0e23a9a123 100644
--- a/patches/server/0943-Optimise-recalcBlockCounts-for-empty-sections.patch
+++ b/patches/server/0942-Optimise-recalcBlockCounts-for-empty-sections.patch
diff --git a/patches/server/0944-Expand-PlayerItemMendEvent.patch b/patches/server/0943-Expand-PlayerItemMendEvent.patch
index b337f6a3f5..bc63466e54 100644
--- a/patches/server/0944-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0943-Expand-PlayerItemMendEvent.patch
@@ -33,7 +33,7 @@ index 8d8fe55a05eea237a8af99ed15ab16d6167daa77..eca634792d2a7cc649675e3394e84dba
return k > 0 ? this.repairPlayerItems(player, k) : 0;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e91b45268d96dfa79cd6472824b203e5250df0a5..f036f8bbb5861edec3a05d4c96fc495dd055d529 100644
+index f7be775567a9aba1933bc3cf5d4e887ab589d778..77ea396950ed23ab5bf953b451b12d5b1eb4c5ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1737,11 +1737,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0945-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0944-Refresh-ProjectileSource-for-projectiles.patch
index 1cd93ccf7b..1cd93ccf7b 100644
--- a/patches/server/0945-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0944-Refresh-ProjectileSource-for-projectiles.patch
diff --git a/patches/server/0946-Add-transient-modifier-API.patch b/patches/server/0945-Add-transient-modifier-API.patch
index e3b704e242..e3b704e242 100644
--- a/patches/server/0946-Add-transient-modifier-API.patch
+++ b/patches/server/0945-Add-transient-modifier-API.patch
diff --git a/patches/server/0947-Fix-block-place-logic.patch b/patches/server/0946-Fix-block-place-logic.patch
index d08e5291bc..d08e5291bc 100644
--- a/patches/server/0947-Fix-block-place-logic.patch
+++ b/patches/server/0946-Fix-block-place-logic.patch
diff --git a/patches/server/0948-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0947-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index da9489efd3..da9489efd3 100644
--- a/patches/server/0948-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0947-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
diff --git a/patches/server/0949-Ignore-inline-definitions-of-trim-material-pattern.patch b/patches/server/0948-Ignore-inline-definitions-of-trim-material-pattern.patch
index 9b113e0bfe..9b113e0bfe 100644
--- a/patches/server/0949-Ignore-inline-definitions-of-trim-material-pattern.patch
+++ b/patches/server/0948-Ignore-inline-definitions-of-trim-material-pattern.patch
diff --git a/patches/server/0950-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0949-Call-BlockGrowEvent-for-missing-blocks.patch
index 69fc87cf3f..69fc87cf3f 100644
--- a/patches/server/0950-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0949-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0950-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index 2c692b14f6..2c692b14f6 100644
--- a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0950-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
diff --git a/patches/server/0952-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0951-fix-MapLike-spam-for-missing-key-selector.patch
index 2fee78531f..2fee78531f 100644
--- a/patches/server/0952-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0951-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0953-Fix-sniffer-removeExploredLocation.patch b/patches/server/0952-Fix-sniffer-removeExploredLocation.patch
index ca06cc2a5e..ca06cc2a5e 100644
--- a/patches/server/0953-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0952-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0953-Add-method-to-remove-all-active-potion-effects.patch
index c21ed94db8..c21ed94db8 100644
--- a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0953-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/server/0955-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch b/patches/server/0954-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
index f4cceaa358..f4cceaa358 100644
--- a/patches/server/0955-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
+++ b/patches/server/0954-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch
diff --git a/patches/server/0956-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0955-Fix-incorrect-crafting-result-amount-for-fireworks.patch
index cfcf15909a..cfcf15909a 100644
--- a/patches/server/0956-Fix-incorrect-crafting-result-amount-for-fireworks.patch
+++ b/patches/server/0955-Fix-incorrect-crafting-result-amount-for-fireworks.patch
diff --git a/patches/server/0957-Properly-Cancel-Usable-Items.patch b/patches/server/0956-Properly-Cancel-Usable-Items.patch
index 9d388e491f..9d388e491f 100644
--- a/patches/server/0957-Properly-Cancel-Usable-Items.patch
+++ b/patches/server/0956-Properly-Cancel-Usable-Items.patch
diff --git a/patches/server/0958-Add-event-for-player-editing-sign.patch b/patches/server/0957-Add-event-for-player-editing-sign.patch
index 32a1b7ae72..32a1b7ae72 100644
--- a/patches/server/0958-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0957-Add-event-for-player-editing-sign.patch
diff --git a/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0958-Only-tick-item-frames-if-players-can-see-it.patch
index b3de8c9a7c..b3de8c9a7c 100644
--- a/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0958-Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/server/0960-Improve-command-function-perm-level-checks.patch b/patches/server/0959-Improve-command-function-perm-level-checks.patch
index 5d912059ff..5d912059ff 100644
--- a/patches/server/0960-Improve-command-function-perm-level-checks.patch
+++ b/patches/server/0959-Improve-command-function-perm-level-checks.patch
diff --git a/patches/server/0961-Add-option-to-disable-block-updates.patch b/patches/server/0960-Add-option-to-disable-block-updates.patch
index ae431df4ef..ae431df4ef 100644
--- a/patches/server/0961-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0960-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0962-Call-missing-BlockDispenseEvent.patch b/patches/server/0961-Call-missing-BlockDispenseEvent.patch
index c8dd040c48..c8dd040c48 100644
--- a/patches/server/0962-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0961-Call-missing-BlockDispenseEvent.patch
diff --git a/patches/server/0963-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0962-Don-t-load-chunks-for-supporting-block-checks.patch
index 95854f4605..95854f4605 100644
--- a/patches/server/0963-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0962-Don-t-load-chunks-for-supporting-block-checks.patch
diff --git a/patches/server/0964-Optimize-player-lookups-for-beacons.patch b/patches/server/0963-Optimize-player-lookups-for-beacons.patch
index 5245e38833..5245e38833 100644
--- a/patches/server/0964-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0963-Optimize-player-lookups-for-beacons.patch
diff --git a/patches/server/0965-Add-Sign-getInteractableSideFor.patch b/patches/server/0964-Add-Sign-getInteractableSideFor.patch
index 2d3d9a47fb..2d3d9a47fb 100644
--- a/patches/server/0965-Add-Sign-getInteractableSideFor.patch
+++ b/patches/server/0964-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/server/0966-Array-backed-synched-entity-data.patch b/patches/server/0965-Array-backed-synched-entity-data.patch
index 515a256250..515a256250 100644
--- a/patches/server/0966-Array-backed-synched-entity-data.patch
+++ b/patches/server/0965-Array-backed-synched-entity-data.patch
diff --git a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0966-fix-item-meta-for-tadpole-buckets.patch
index 08907c84fd..08907c84fd 100644
--- a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0966-fix-item-meta-for-tadpole-buckets.patch
diff --git a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch b/patches/server/0967-Suppress-Item-Meta-Validation-Checks.patch
index 7ce8ff602c..375888a371 100644
--- a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch
+++ b/patches/server/0967-Suppress-Item-Meta-Validation-Checks.patch
@@ -47,7 +47,7 @@ index c92981aedebe934cefa1c96a0328fb91fe17acbc..80138632e5216c71fe7060a59dbb2915
CraftMetaArmor(Map<String, Object> map) {
super(map);
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 228f923907fd304893f66cd389208ce5064b8563..d7fd0ef9251c9d63009f93b2edf42669bd645c02 100644
+index f79ea76c0127b7b57ab0511afbed626a3b42fd05..3cea851c3f5389a5dd92601dfbef2975b2a5948b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -489,7 +489,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0969-Fix-BanList-API.patch b/patches/server/0968-Fix-BanList-API.patch
index ae76a83578..ce35d7f74b 100644
--- a/patches/server/0969-Fix-BanList-API.patch
+++ b/patches/server/0968-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 f036f8bbb5861edec3a05d4c96fc495dd055d529..d997deef986fd50a23c1fbb10774e4974e0a1cc0 100644
+index 77ea396950ed23ab5bf953b451b12d5b1eb4c5ec..0ab1bbb44bb483a73dbb4763d785d74a5c6ced3a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1635,23 +1635,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0970-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0969-Determine-lava-and-water-fluid-explosion-resistance-.patch
index 05fb1ac2ac..05fb1ac2ac 100644
--- a/patches/server/0970-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0969-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0970-Fix-possible-NPE-on-painting-creation.patch
index 8485ab1255..8485ab1255 100644
--- a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0970-Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/server/0972-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0971-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index 1408560f1a..1408560f1a 100644
--- a/patches/server/0972-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0971-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0972-ExperienceOrb-should-call-EntitySpawnEvent.patch
index 24e77389a5..24e77389a5 100644
--- a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0972-ExperienceOrb-should-call-EntitySpawnEvent.patch
diff --git a/patches/server/0974-Don-t-tick-signs.patch b/patches/server/0973-Don-t-tick-signs.patch
index 759f4ef4d2..759f4ef4d2 100644
--- a/patches/server/0974-Don-t-tick-signs.patch
+++ b/patches/server/0973-Don-t-tick-signs.patch
diff --git a/patches/server/0975-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0974-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 45166cba2a..45166cba2a 100644
--- a/patches/server/0975-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0974-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0976-Add-whitelist-events.patch b/patches/server/0975-Add-whitelist-events.patch
index 42eff5bfe1..42eff5bfe1 100644
--- a/patches/server/0976-Add-whitelist-events.patch
+++ b/patches/server/0975-Add-whitelist-events.patch
diff --git a/patches/server/0977-Implement-PlayerFailMoveEvent.patch b/patches/server/0976-Implement-PlayerFailMoveEvent.patch
index 994712cea1..994712cea1 100644
--- a/patches/server/0977-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0976-Implement-PlayerFailMoveEvent.patch
diff --git a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch b/patches/server/0977-Folia-scheduler-and-owned-region-API.patch
index b0c5c0f815..85701fb82a 100644
--- a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0977-Folia-scheduler-and-owned-region-API.patch
@@ -1305,7 +1305,7 @@ index b159ada5e593ee4e8e0059eb5cb554c723231e88..edbdfb66c629a5dc01db01d1164c22b4
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 5cf469a1bba2b09dcd28cf6bc506e8b7a8e2162f..b1f6915206acf6ba85b719737861babc552b5183 100644
+index 314168d162f1242eca67706fd3fa225f1ed30cc4..d481534da33d98bf44f2b800bc8e6f6d26ab5fc9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -207,6 +207,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/0979-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0978-Only-erase-allay-memory-on-non-item-targets.patch
index 4afac36fc3..4afac36fc3 100644
--- a/patches/server/0979-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0978-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0980-API-for-updating-recipes-on-clients.patch b/patches/server/0979-API-for-updating-recipes-on-clients.patch
index 955dacadd6..955dacadd6 100644
--- a/patches/server/0980-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0979-API-for-updating-recipes-on-clients.patch
diff --git a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0980-Fix-rotation-when-spawning-display-entities.patch
index d0ab343b2d..d0ab343b2d 100644
--- a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0980-Fix-rotation-when-spawning-display-entities.patch
diff --git a/patches/server/0982-Only-capture-actual-tree-growth.patch b/patches/server/0981-Only-capture-actual-tree-growth.patch
index 8686b1f9de..8686b1f9de 100644
--- a/patches/server/0982-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0981-Only-capture-actual-tree-growth.patch
diff --git a/patches/server/0983-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0982-Use-correct-source-for-mushroom-block-spread-event.patch
index 6eb9ff2e4c..6eb9ff2e4c 100644
--- a/patches/server/0983-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0982-Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0983-Respect-randomizeData-on-more-entities-when-spawning.patch
index dd08dc14b0..dd08dc14b0 100644
--- a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0983-Respect-randomizeData-on-more-entities-when-spawning.patch
diff --git a/patches/server/0985-Use-correct-seed-on-api-world-load.patch b/patches/server/0984-Use-correct-seed-on-api-world-load.patch
index 83354b23f6..83354b23f6 100644
--- a/patches/server/0985-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0984-Use-correct-seed-on-api-world-load.patch
diff --git a/patches/server/0986-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0985-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index 56ce0b4a41..56ce0b4a41 100644
--- a/patches/server/0986-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0985-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0987-Cache-map-ids-on-item-frames.patch b/patches/server/0986-Cache-map-ids-on-item-frames.patch
index 9b22a5bbd5..9b22a5bbd5 100644
--- a/patches/server/0987-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0986-Cache-map-ids-on-item-frames.patch
diff --git a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch b/patches/server/0987-Fix-custom-statistic-criteria-creation.patch
index 361523edd9..d027126175 100644
--- a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0987-Fix-custom-statistic-criteria-creation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 437b331dc1f77d8fda895a42550bfb1035c8c3c1..96f6e0554baf5915dd1f5b93f3bcfe7a13393c29 100644
+index ef317919818f9387dc394dd703fc028eaf37ec63..4d66a9f24d718de4c6862b20ccb7240332523db4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -604,6 +604,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -617,6 +617,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeBase = cra.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey)));
cra.setBiome(x, y, z, biomeBase);
}
diff --git a/patches/server/0989-Bandaid-fix-for-Effect.patch b/patches/server/0988-Bandaid-fix-for-Effect.patch
index 4d7c952a5b..ab9a86f3fb 100644
--- a/patches/server/0989-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0988-Bandaid-fix-for-Effect.patch
@@ -45,10 +45,10 @@ index 5a5a8945c786e16ff0df62494ddd1ac85c42b53f..63f9735d356dafd579cee4423d3037eb
case COMPOSTER_FILL_ATTEMPT:
datavalue = ((Boolean) data) ? 1 : 0;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a4926ad61958301c16a6156abe418a268b10823a..0e670de77a7f9926e295e1dd63d909bed1a959ca 100644
+index 3b2ad8aca2bec9a1ff828e3d25a726948fc6c3fa..27ea9f2616dca02f9ecdd7cb5cc815e0aa2d5eb4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1373,7 +1373,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1374,7 +1374,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);
@@ -58,7 +58,7 @@ index a4926ad61958301c16a6156abe418a268b10823a..0e670de77a7f9926e295e1dd63d909be
// Special case: the axis is optional for ELECTRIC_SPARK
Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d997deef986fd50a23c1fbb10774e4974e0a1cc0..7c73dd0717924531523e126bc79282aee4a3103c 100644
+index 0ab1bbb44bb483a73dbb4763d785d74a5c6ced3a..0ce408720c8d689cd3ff75af1407a5fbc43bae12 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -862,7 +862,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0990-SculkCatalyst-bloom-API.patch b/patches/server/0989-SculkCatalyst-bloom-API.patch
index 8b4fa56999..8b4fa56999 100644
--- a/patches/server/0990-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0989-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0990-API-for-an-entity-s-scoreboard-name.patch
index aa6761baa2..aa6761baa2 100644
--- a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0990-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/server/0992-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0991-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index 57566912fd..584e55ee4a 100644
--- a/patches/server/0992-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/0991-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
@@ -61,7 +61,7 @@ index dbedc73039f53ddf042999524eec62f032a20d5d..aaaf3a60696389b4e27a45de69743311
spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true);
} else {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
-index 1021872e3ee489bc38e64bdea8bbe53284c87183..d2729c381632bc32ca915bf60614847db07e488b 100644
+index 06b455632ce3fc495cd41a61ce5a8a9f06461b1d..cacf251db5d60583fe05f571d0fe7844c44900a1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -253,6 +253,7 @@ public class ServerPlayer extends Player {
diff --git a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0992-Deprecate-and-replace-methods-with-old-StructureType.patch
index 8a3281356b..8a3281356b 100644
--- a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0992-Deprecate-and-replace-methods-with-old-StructureType.patch
diff --git a/patches/server/0994-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0993-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index d69eb30401..d69eb30401 100644
--- a/patches/server/0994-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0993-Don-t-tab-complete-namespaced-commands-if-send-names.patch
diff --git a/patches/server/0995-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0994-Properly-handle-BlockBreakEvent-isDropItems.patch
index be4fc3d3c2..be4fc3d3c2 100644
--- a/patches/server/0995-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0994-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0996-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0995-Fire-entity-death-event-for-ender-dragon.patch
index be007b3577..be007b3577 100644
--- a/patches/server/0996-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0995-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0997-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0996-Configurable-entity-tracking-range-by-Y-coordinate.patch
index 4b8d87f7b0..4b8d87f7b0 100644
--- a/patches/server/0997-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0996-Configurable-entity-tracking-range-by-Y-coordinate.patch
diff --git a/patches/server/0998-Add-Listing-API-for-Player.patch b/patches/server/0997-Add-Listing-API-for-Player.patch
index 4a4062188c..e92aebc127 100644
--- a/patches/server/0998-Add-Listing-API-for-Player.patch
+++ b/patches/server/0997-Add-Listing-API-for-Player.patch
@@ -113,7 +113,7 @@ index c2d50d5b070e2e916cd9cb370d2d8ce074049e56..48d1444fbad1c57738807d0128b94160
// Paper end
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 7c73dd0717924531523e126bc79282aee4a3103c..4f6c3bbb9850f307c382ee961e544f0035b2d29e 100644
+index 0ce408720c8d689cd3ff75af1407a5fbc43bae12..c961d30098b614b2c90e460dc142d5e950b3d6d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -184,6 +184,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0999-Configurable-Region-Compression-Format.patch b/patches/server/0998-Configurable-Region-Compression-Format.patch
index 08de696dde..08de696dde 100644
--- a/patches/server/0999-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0998-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/server/0999-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index d57e36ca47..d57e36ca47 100644
--- a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/server/0999-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/server/1001-Fix-NPE-on-Boat-getStatus.patch b/patches/server/1000-Fix-NPE-on-Boat-getStatus.patch
index 38c2bdfa09..38c2bdfa09 100644
--- a/patches/server/1001-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/1000-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/1002-Expand-Pose-API.patch b/patches/server/1001-Expand-Pose-API.patch
index 6dc593e987..6cfa9f29a9 100644
--- a/patches/server/1002-Expand-Pose-API.patch
+++ b/patches/server/1001-Expand-Pose-API.patch
@@ -25,7 +25,7 @@ index 426023af3cbed9c17048e669c87a1c66bda4ad1b..f20ae9153b7098980ce6c0e75fcbbb4d
if (pose == this.getPose()) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index c83d0461ef14ef0df8428387d0d8eac5ad010054..315d8260e196709ed9084272aa640f11e327c0a8 100644
+index 9ae86d1eab7d831d6b7d637c40fb6408950f7e71..f7ebddd35ff5a60a81034fd7de035ebba83e9517 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1243,6 +1243,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/patches/server/1003-More-DragonBattle-API.patch b/patches/server/1002-More-DragonBattle-API.patch
index 70af2d2d8b..70af2d2d8b 100644
--- a/patches/server/1003-More-DragonBattle-API.patch
+++ b/patches/server/1002-More-DragonBattle-API.patch
diff --git a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch b/patches/server/1003-Deep-clone-unhandled-nbt-tags.patch
index 2f7f081782..20034089ec 100644
--- a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch
+++ b/patches/server/1003-Deep-clone-unhandled-nbt-tags.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone unhandled nbt tags
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index d7fd0ef9251c9d63009f93b2edf42669bd645c02..aeca803cc0434d9de9434987d6e43b70353e305b 100644
+index 3cea851c3f5389a5dd92601dfbef2975b2a5948b..714bcfffa40d0e876d0cc80acdd6018d41f7d543 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/1005-Add-PlayerPickItemEvent.patch b/patches/server/1004-Add-PlayerPickItemEvent.patch
index d7cd5f972f..d7cd5f972f 100644
--- a/patches/server/1005-Add-PlayerPickItemEvent.patch
+++ b/patches/server/1004-Add-PlayerPickItemEvent.patch
diff --git a/patches/server/1006-Improve-performance-of-mass-crafts.patch b/patches/server/1005-Improve-performance-of-mass-crafts.patch
index 183698b5c5..183698b5c5 100644
--- a/patches/server/1006-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1005-Improve-performance-of-mass-crafts.patch
diff --git a/patches/server/1007-Allow-trident-custom-damage.patch b/patches/server/1006-Allow-trident-custom-damage.patch
index 2d78669983..dcbcba2af5 100644
--- a/patches/server/1007-Allow-trident-custom-damage.patch
+++ b/patches/server/1006-Allow-trident-custom-damage.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow trident custom damage
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
-index b5f5e251661fc17c7614d3e23a9a5192b4a5184a..8affdd74769aed9aa92a76ba539cd9d27208827c 100644
+index cabcd68032649aa5ec5f1ac495a08a5af76f0f86..6c176933967f6ee98da3026f16a10efe4c3842fe 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -65,7 +65,7 @@ public abstract class AbstractArrow extends Projectile {
diff --git a/patches/server/1008-Expose-hand-during-BlockCanBuildEvent.patch b/patches/server/1007-Expose-hand-during-BlockCanBuildEvent.patch
index d14e34ae64..d14e34ae64 100644
--- a/patches/server/1008-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/server/1007-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/server/1009-Optimize-nearest-structure-border-iteration.patch b/patches/server/1008-Optimize-nearest-structure-border-iteration.patch
index 07d0358cbb..07d0358cbb 100644
--- a/patches/server/1009-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/1008-Optimize-nearest-structure-border-iteration.patch
diff --git a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch b/patches/server/1009-Implement-OfflinePlayer-isConnected.patch
index 94c72e3a58..94f7e36a61 100644
--- a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/1009-Implement-OfflinePlayer-isConnected.patch
@@ -23,7 +23,7 @@ index fda82c7c3b7e28b6d3ed4b28c956a069a975c22c..03fc90a470c0f63d44161843cac88bea
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 4f6c3bbb9850f307c382ee961e544f0035b2d29e..e188bb3ba5d2ec28421947c0b66b25eecb569bfe 100644
+index c961d30098b614b2c90e460dc142d5e950b3d6d4..604ed1f6742a6b028b9db2809f7bd4b9a3b38f4d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -274,6 +274,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/1011-Fix-inventory-desync.patch b/patches/server/1010-Fix-inventory-desync.patch
index d85eb950fd..d85eb950fd 100644
--- a/patches/server/1011-Fix-inventory-desync.patch
+++ b/patches/server/1010-Fix-inventory-desync.patch
diff --git a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/1011-Add-titleOverride-to-InventoryOpenEvent.patch
index e7dddadee3..e7dddadee3 100644
--- a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/1011-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/server/1013-Configure-sniffer-egg-hatch-time.patch b/patches/server/1012-Configure-sniffer-egg-hatch-time.patch
index 6c035ed11f..6c035ed11f 100644
--- a/patches/server/1013-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/1012-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/1014-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/1013-Do-crystal-portal-proximity-check-before-entity-look.patch
index 0244f274f5..0244f274f5 100644
--- a/patches/server/1014-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/1013-Do-crystal-portal-proximity-check-before-entity-look.patch
diff --git a/patches/server/1015-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/1014-Skip-POI-finding-if-stuck-in-vehicle.patch
index e45ced771d..e45ced771d 100644
--- a/patches/server/1015-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/1014-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/1016-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/1015-Add-slot-sanity-checks-in-container-clicks.patch
index 21d4908c2c..21d4908c2c 100644
--- a/patches/server/1016-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/1015-Add-slot-sanity-checks-in-container-clicks.patch
diff --git a/patches/server/1017-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/1016-Call-BlockRedstoneEvents-for-lecterns.patch
index dcb22051b6..dcb22051b6 100644
--- a/patches/server/1017-Call-BlockRedstoneEvents-for-lecterns.patch
+++ b/patches/server/1016-Call-BlockRedstoneEvents-for-lecterns.patch
diff --git a/patches/server/1018-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/1017-Allow-proper-checking-of-empty-item-stacks.patch
index f8402dbd00..f8402dbd00 100644
--- a/patches/server/1018-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/1017-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/server/1019-Fix-silent-equipment-change-for-mobs.patch b/patches/server/1018-Fix-silent-equipment-change-for-mobs.patch
index ffcc2b8e38..ffcc2b8e38 100644
--- a/patches/server/1019-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/1018-Fix-silent-equipment-change-for-mobs.patch
diff --git a/patches/server/1020-Fix-spigot-s-Forced-Stats.patch b/patches/server/1019-Fix-spigot-s-Forced-Stats.patch
index 8e012f221e..8e012f221e 100644
--- a/patches/server/1020-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/1019-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/1021-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/1020-Add-missing-InventoryHolders-to-inventories.patch
index 204c301017..204c301017 100644
--- a/patches/server/1021-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/1020-Add-missing-InventoryHolders-to-inventories.patch
diff --git a/patches/server/1022-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/1021-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index 738c4d4886..738c4d4886 100644
--- a/patches/server/1022-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/1021-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
diff --git a/patches/server/1023-Actually-optimise-explosions.patch b/patches/server/1022-Actually-optimise-explosions.patch
index a835a68c02..a835a68c02 100644
--- a/patches/server/1023-Actually-optimise-explosions.patch
+++ b/patches/server/1022-Actually-optimise-explosions.patch
diff --git a/patches/server/1024-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/1023-Add-missing-logs-for-log-ips-config-option.patch
index 604b80916e..604b80916e 100644
--- a/patches/server/1024-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/1023-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/1025-Remove-Spigot-Bug-Fix-for-MC-109346.patch b/patches/server/1024-Remove-Spigot-Bug-Fix-for-MC-109346.patch
index d3ecc69301..d3ecc69301 100644
--- a/patches/server/1025-Remove-Spigot-Bug-Fix-for-MC-109346.patch
+++ b/patches/server/1024-Remove-Spigot-Bug-Fix-for-MC-109346.patch
diff --git a/patches/server/1026-Fix-SuspiciousStewMeta.patch b/patches/server/1025-Fix-SuspiciousStewMeta.patch
index 1bad5d7d04..1bad5d7d04 100644
--- a/patches/server/1026-Fix-SuspiciousStewMeta.patch
+++ b/patches/server/1025-Fix-SuspiciousStewMeta.patch
diff --git a/patches/server/1027-Optimise-chunk-tick-iteration.patch b/patches/server/1026-Optimise-chunk-tick-iteration.patch
index 8a2ed1ca15..8a2ed1ca15 100644
--- a/patches/server/1027-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/1026-Optimise-chunk-tick-iteration.patch
diff --git a/patches/server/1028-Lag-compensation-ticks.patch b/patches/server/1027-Lag-compensation-ticks.patch
index 8d7ca3c6c0..8d7ca3c6c0 100644
--- a/patches/server/1028-Lag-compensation-ticks.patch
+++ b/patches/server/1027-Lag-compensation-ticks.patch
diff --git a/patches/server/1029-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/1028-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index 34c0a06240..34c0a06240 100644
--- a/patches/server/1029-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/1028-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/1030-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/1029-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/1030-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/1029-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/1031-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/1030-Fix-team-sidebar-objectives-not-being-cleared.patch
index f4bcaa50c7..f4bcaa50c7 100644
--- a/patches/server/1031-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/1030-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/1032-Optimise-nearby-player-retrieval.patch b/patches/server/1031-Optimise-nearby-player-retrieval.patch
index 40050b99af..5486dc0f16 100644
--- a/patches/server/1032-Optimise-nearby-player-retrieval.patch
+++ b/patches/server/1031-Optimise-nearby-player-retrieval.patch
@@ -8,7 +8,7 @@ we can instead use the nearby player tracking system to reduce
the number of tests per search.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
-index 47e8a6b28960883da868061ed649152ea792c184..f502b01b564bd33c449cbe621966ef4076a38cca 100644
+index 00b3d8cdf22ef6e1b6b93dc6ba228a9d8c918e6b..2f2ca1c6d0b329521c4545015a878418870216f0 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -575,6 +575,115 @@ public class ServerLevel extends Level implements WorldGenLevel {
diff --git a/patches/server/1033-Remove-streams-for-villager-AI.patch b/patches/server/1032-Remove-streams-for-villager-AI.patch
index a2538da4d0..a2538da4d0 100644
--- a/patches/server/1033-Remove-streams-for-villager-AI.patch
+++ b/patches/server/1032-Remove-streams-for-villager-AI.patch
diff --git a/patches/server/1034-Fix-missing-map-initialize-event-call.patch b/patches/server/1033-Fix-missing-map-initialize-event-call.patch
index e9765c3029..e9765c3029 100644
--- a/patches/server/1034-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/1033-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/1035-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/1034-Update-entity-data-when-attaching-firework-to-entity.patch
index de60d2ea6f..de60d2ea6f 100644
--- a/patches/server/1035-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/1034-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/1036-Use-correct-variable-for-initializing-CraftLootTable.patch b/patches/server/1035-Use-correct-variable-for-initializing-CraftLootTable.patch
index bffc71910b..bffc71910b 100644
--- a/patches/server/1036-Use-correct-variable-for-initializing-CraftLootTable.patch
+++ b/patches/server/1035-Use-correct-variable-for-initializing-CraftLootTable.patch
diff --git a/patches/server/1037-Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/1036-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
index cd09cdff35..cd09cdff35 100644
--- a/patches/server/1037-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
+++ b/patches/server/1036-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
diff --git a/patches/server/1038-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/1037-Fix-UnsafeValues-loadAdvancement.patch
index 985e11cac5..4149d87617 100644
--- a/patches/server/1038-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/1037-Fix-UnsafeValues-loadAdvancement.patch
@@ -5,10 +5,10 @@ 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 96f6e0554baf5915dd1f5b93f3bcfe7a13393c29..806fb1064a1769d1251f2a2b04372275754d2aeb 100644
+index 4d66a9f24d718de4c6862b20ccb7240332523db4..6b31f88803041c75023a2c99bdc1efd902f0205c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -314,7 +314,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -319,7 +319,17 @@ public final class CraftMagicNumbers implements UnsafeValues {
JsonObject jsonobject = GsonHelper.convertToJsonObject(jsonelement, "advancement");
net.minecraft.advancements.Advancement nms = net.minecraft.advancements.Advancement.fromJson(jsonobject, new DeserializationContext(minecraftkey, MinecraftServer.getServer().getLootData()));
if (nms != null) {
diff --git a/patches/server/1039-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/1038-Don-t-check-if-we-can-see-non-visible-entities.patch
index c387d4170e..c387d4170e 100644
--- a/patches/server/1039-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/1038-Don-t-check-if-we-can-see-non-visible-entities.patch
diff --git a/patches/server/1040-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/1039-Fix-NPE-in-SculkBloomEvent-world-access.patch
index b586dbf7f6..b586dbf7f6 100644
--- a/patches/server/1040-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/1039-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/1041-Temp-fix-for-serialisable-blockdata.patch b/patches/server/1041-Temp-fix-for-serialisable-blockdata.patch
deleted file mode 100644
index e1a091cb03..0000000000
--- a/patches/server/1041-Temp-fix-for-serialisable-blockdata.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Shane Freeder <[email protected]>
-Date: Sun, 22 Oct 2023 19:56:02 +0100
-Subject: [PATCH] Temp fix for serialisable blockdata
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index aeca803cc0434d9de9434987d6e43b70353e305b..714bcfffa40d0e876d0cc80acdd6018d41f7d543 100644
---- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -544,7 +544,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
- this.setCustomModelData(customModelData);
- }
-
-- Map blockData = SerializableMeta.getObject(Map.class, map, BLOCK_DATA.BUKKIT, true);
-+ Object blockData = SerializableMeta.getObject(Object.class, map, BLOCK_DATA.BUKKIT, true);
- if (blockData != null) {
- this.blockData = (CompoundTag) CraftNBTTagConfigSerializer.deserialize(blockData);
- }
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 09b1c123ebe4fe06ced3a6277a100aa8d4f55fc
+Subproject 897a0a238bc989f9ca89613f0ee413254bd1106
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 1bf30a4e9019c8a6444e1460135c6c33d72f45a
+Subproject 71b0135cc7986690f2e0950dbcf679271e89424
diff --git a/work/Spigot b/work/Spigot
-Subproject 224dad51c7c6dbae96729d15807094bff1283ac
+Subproject e0e223fe5197272feb12eba337cfbbc567316a8