aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches
diff options
context:
space:
mode:
authorShane Freeder <[email protected]>2024-05-09 14:51:33 +0100
committerShane Freeder <[email protected]>2024-05-09 14:51:33 +0100
commit3693bbdc6b65e68db10375d3eeab70f06708b729 (patch)
tree4a71a5e6e5f50b3e2937053a5d4b4196ef67665b /patches
parentf2512b12385961f8ca1f69efebe5ed0e00c0caa8 (diff)
downloadPaper-3693bbdc6b65e68db10375d3eeab70f06708b729.tar.gz
Paper-3693bbdc6b65e68db10375d3eeab70f06708b729.zip
Use internals for getting block/entity countstimings/use-internals
For a long time I've been meaning to move some of this logic internally as this would allow us to avoid hitting systems like block state snapshots which can create issues as many of the spigot implementations of this stuff are increasingly broken, leading to unexpected crashes during ticking, even if the API cannot properly interact with these such states/items, it's generally more preferable to not crash the server in the course, and just let those interactions fail more gracefully.
Diffstat (limited to 'patches')
-rw-r--r--patches/api/0011-Timings-v2.patch84
-rw-r--r--patches/api/0015-Version-Command-2.0.patch6
-rw-r--r--patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch (renamed from patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch)0
-rw-r--r--patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch19
-rw-r--r--patches/api/0136-Slime-Pathfinder-Events.patch (renamed from patches/api/0137-Slime-Pathfinder-Events.patch)0
-rw-r--r--patches/api/0137-Add-PhantomPreSpawnEvent.patch (renamed from patches/api/0138-Add-PhantomPreSpawnEvent.patch)0
-rw-r--r--patches/api/0138-Add-More-Creeper-API.patch (renamed from patches/api/0139-Add-More-Creeper-API.patch)0
-rw-r--r--patches/api/0139-Inventory-removeItemAnySlot.patch (renamed from patches/api/0140-Inventory-removeItemAnySlot.patch)0
-rw-r--r--patches/api/0140-isChunkGenerated-API.patch (renamed from patches/api/0141-isChunkGenerated-API.patch)0
-rw-r--r--patches/api/0141-Add-source-block-constructor-and-getChangedBlockData.patch (renamed from patches/api/0142-Add-source-block-constructor-and-getChangedBlockData.patch)0
-rw-r--r--patches/api/0142-Async-Chunks-API.patch (renamed from patches/api/0143-Async-Chunks-API.patch)0
-rw-r--r--patches/api/0143-Add-ray-tracing-methods-to-LivingEntity.patch (renamed from patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch)0
-rw-r--r--patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch (renamed from patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch)0
-rw-r--r--patches/api/0145-Improve-death-events.patch (renamed from patches/api/0146-Improve-death-events.patch)0
-rw-r--r--patches/api/0146-Add-Git-information-to-version-command-on-startup.patch (renamed from patches/api/0147-Add-Git-information-to-version-command-on-startup.patch)0
-rw-r--r--patches/api/0147-Mob-Pathfinding-API.patch (renamed from patches/api/0148-Mob-Pathfinding-API.patch)0
-rw-r--r--patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch (renamed from patches/api/0149-Performance-Concurrency-Improvements-to-Permissions.patch)0
-rw-r--r--patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch (renamed from patches/api/0150-Add-ItemStackRecipeChoice-Draft-API.patch)0
-rw-r--r--patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch (renamed from patches/api/0151-Implement-furnace-cook-speed-multiplier-API.patch)0
-rw-r--r--patches/api/0151-Material-API-additions.patch (renamed from patches/api/0152-Material-API-additions.patch)0
-rw-r--r--patches/api/0152-Add-Material-Tags.patch (renamed from patches/api/0153-Add-Material-Tags.patch)0
-rw-r--r--patches/api/0153-PreSpawnerSpawnEvent.patch (renamed from patches/api/0154-PreSpawnerSpawnEvent.patch)0
-rw-r--r--patches/api/0154-Add-LivingEntity-getTargetEntity.patch (renamed from patches/api/0155-Add-LivingEntity-getTargetEntity.patch)0
-rw-r--r--patches/api/0155-Add-sun-related-API.patch (renamed from patches/api/0156-Add-sun-related-API.patch)0
-rw-r--r--patches/api/0156-Turtle-API.patch (renamed from patches/api/0157-Turtle-API.patch)0
-rw-r--r--patches/api/0157-Add-spectator-target-events.patch (renamed from patches/api/0158-Add-spectator-target-events.patch)0
-rw-r--r--patches/api/0158-Add-more-Witch-API.patch (renamed from patches/api/0159-Add-more-Witch-API.patch)0
-rw-r--r--patches/api/0159-Make-the-default-permission-message-configurable.patch (renamed from patches/api/0160-Make-the-default-permission-message-configurable.patch)0
-rw-r--r--patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch (renamed from patches/api/0161-Support-cancellation-supression-of-EntityDismount-Ve.patch)0
-rw-r--r--patches/api/0161-Add-more-Zombie-API.patch (renamed from patches/api/0162-Add-more-Zombie-API.patch)0
-rw-r--r--patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch (renamed from patches/api/0163-Change-the-reserved-channel-check-to-be-sensible.patch)0
-rw-r--r--patches/api/0163-Add-PlayerConnectionCloseEvent.patch (renamed from patches/api/0164-Add-PlayerConnectionCloseEvent.patch)0
-rw-r--r--patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch (renamed from patches/api/0165-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch)0
-rw-r--r--patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch (renamed from patches/api/0166-Add-ItemStack-Recipe-API-helper-methods.patch)0
-rw-r--r--patches/api/0166-BlockDestroyEvent.patch (renamed from patches/api/0167-BlockDestroyEvent.patch)0
-rw-r--r--patches/api/0167-Add-WhitelistToggleEvent.patch (renamed from patches/api/0168-Add-WhitelistToggleEvent.patch)0
-rw-r--r--patches/api/0168-Add-GS4-Query-event.patch (renamed from patches/api/0169-Add-GS4-Query-event.patch)0
-rw-r--r--patches/api/0169-Add-PlayerPostRespawnEvent.patch (renamed from patches/api/0170-Add-PlayerPostRespawnEvent.patch)0
-rw-r--r--patches/api/0170-Entity-getEntitySpawnReason.patch (renamed from patches/api/0171-Entity-getEntitySpawnReason.patch)0
-rw-r--r--patches/api/0171-Fix-Spigot-annotation-mistakes.patch (renamed from patches/api/0172-Fix-Spigot-annotation-mistakes.patch)0
-rw-r--r--patches/api/0172-Server-Tick-Events.patch (renamed from patches/api/0173-Server-Tick-Events.patch)0
-rw-r--r--patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch (renamed from patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch)0
-rw-r--r--patches/api/0174-Add-Heightmap-API.patch (renamed from patches/api/0175-Add-Heightmap-API.patch)0
-rw-r--r--patches/api/0175-Mob-Spawner-API-Enhancements.patch (renamed from patches/api/0176-Mob-Spawner-API-Enhancements.patch)0
-rw-r--r--patches/api/0176-Add-BlockSoundGroup-interface.patch (renamed from patches/api/0177-Add-BlockSoundGroup-interface.patch)0
-rw-r--r--patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch (renamed from patches/api/0178-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch)0
-rw-r--r--patches/api/0178-Set-true-custom-payload-channel-size-limit.patch (renamed from patches/api/0179-Set-true-custom-payload-channel-size-limit.patch)0
-rw-r--r--patches/api/0179-Expose-the-internal-current-tick.patch (renamed from patches/api/0180-Expose-the-internal-current-tick.patch)0
-rw-r--r--patches/api/0180-Improve-Block-breakNaturally-API.patch (renamed from patches/api/0181-Improve-Block-breakNaturally-API.patch)0
-rw-r--r--patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch (renamed from patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch)0
-rw-r--r--patches/api/0182-Add-ThrownEggHatchEvent.patch (renamed from patches/api/0183-Add-ThrownEggHatchEvent.patch)0
-rw-r--r--patches/api/0183-Entity-Jump-API.patch (renamed from patches/api/0184-Entity-Jump-API.patch)0
-rw-r--r--patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch (renamed from patches/api/0185-add-hand-to-BlockMultiPlaceEvent.patch)0
-rw-r--r--patches/api/0185-Add-tick-times-API.patch (renamed from patches/api/0186-Add-tick-times-API.patch)0
-rw-r--r--patches/api/0186-Expose-MinecraftServer-isRunning.patch (renamed from patches/api/0187-Expose-MinecraftServer-isRunning.patch)0
-rw-r--r--patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch (renamed from patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch)4
-rw-r--r--patches/api/0188-Add-Player-Client-Options-API.patch (renamed from patches/api/0189-Add-Player-Client-Options-API.patch)0
-rw-r--r--patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch (renamed from patches/api/0190-Add-PlayerAttackEntityCooldownResetEvent.patch)0
-rw-r--r--patches/api/0190-Add-item-slot-convenience-methods.patch (renamed from patches/api/0191-Add-item-slot-convenience-methods.patch)0
-rw-r--r--patches/api/0191-Villager-Restocks-API.patch (renamed from patches/api/0192-Villager-Restocks-API.patch)0
-rw-r--r--patches/api/0192-Expose-game-version.patch (renamed from patches/api/0193-Expose-game-version.patch)0
-rw-r--r--patches/api/0193-Add-Mob-Goal-API.patch (renamed from patches/api/0194-Add-Mob-Goal-API.patch)0
-rw-r--r--patches/api/0194-Add-villager-reputation-API.patch (renamed from patches/api/0195-Add-villager-reputation-API.patch)0
-rw-r--r--patches/api/0195-Spawn-Reason-API.patch (renamed from patches/api/0196-Spawn-Reason-API.patch)0
-rw-r--r--patches/api/0196-Potential-bed-API.patch (renamed from patches/api/0197-Potential-bed-API.patch)0
-rw-r--r--patches/api/0197-Inventory-getHolder-method-without-block-snapshot.patch (renamed from patches/api/0198-Inventory-getHolder-method-without-block-snapshot.patch)0
-rw-r--r--patches/api/0198-Add-and-implement-PlayerRecipeBookClickEvent.patch (renamed from patches/api/0199-Add-and-implement-PlayerRecipeBookClickEvent.patch)0
-rw-r--r--patches/api/0199-Support-components-in-ItemMeta.patch (renamed from patches/api/0200-Support-components-in-ItemMeta.patch)0
-rw-r--r--patches/api/0200-added-2-new-TargetReasons-for-1.16-mob-behavior.patch (renamed from patches/api/0201-added-2-new-TargetReasons-for-1.16-mob-behavior.patch)0
-rw-r--r--patches/api/0201-Add-entity-liquid-API.patch (renamed from patches/api/0202-Add-entity-liquid-API.patch)0
-rw-r--r--patches/api/0202-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch (renamed from patches/api/0203-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch)0
-rw-r--r--patches/api/0203-Add-BellRingEvent.patch (renamed from patches/api/0204-Add-BellRingEvent.patch)0
-rw-r--r--patches/api/0204-Brand-support.patch (renamed from patches/api/0205-Brand-support.patch)0
-rw-r--r--patches/api/0205-Add-moon-phase-API.patch (renamed from patches/api/0206-Add-moon-phase-API.patch)0
-rw-r--r--patches/api/0206-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/api/0207-Add-playPickupItemAnimation-to-LivingEntity.patch)0
-rw-r--r--patches/api/0207-Add-more-Evoker-API.patch (renamed from patches/api/0208-Add-more-Evoker-API.patch)0
-rw-r--r--patches/api/0208-Add-methods-to-get-translation-keys.patch (renamed from patches/api/0209-Add-methods-to-get-translation-keys.patch)0
-rw-r--r--patches/api/0209-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/api/0210-Create-HoverEvent-from-ItemStack-Entity.patch)0
-rw-r--r--patches/api/0210-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/api/0211-Add-additional-open-container-api-to-HumanEntity.patch)0
-rw-r--r--patches/api/0211-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch)4
-rw-r--r--patches/api/0212-Entity-isTicking.patch (renamed from patches/api/0213-Entity-isTicking.patch)0
-rw-r--r--patches/api/0213-Villager-resetOffers.patch (renamed from patches/api/0214-Villager-resetOffers.patch)0
-rw-r--r--patches/api/0214-Player-elytra-boost-API.patch (renamed from patches/api/0215-Player-elytra-boost-API.patch)0
-rw-r--r--patches/api/0215-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/api/0216-Add-getOfflinePlayerIfCached-String.patch)0
-rw-r--r--patches/api/0216-Add-ignore-discounts-API.patch (renamed from patches/api/0217-Add-ignore-discounts-API.patch)0
-rw-r--r--patches/api/0217-Item-no-age-no-player-pickup.patch (renamed from patches/api/0218-Item-no-age-no-player-pickup.patch)0
-rw-r--r--patches/api/0218-Beacon-API-custom-effect-ranges.patch (renamed from patches/api/0219-Beacon-API-custom-effect-ranges.patch)0
-rw-r--r--patches/api/0219-Add-API-for-quit-reason.patch (renamed from patches/api/0220-Add-API-for-quit-reason.patch)0
-rw-r--r--patches/api/0220-Add-Destroy-Speed-API.patch (renamed from patches/api/0221-Add-Destroy-Speed-API.patch)0
-rw-r--r--patches/api/0221-Add-LivingEntity-clearActiveItem.patch (renamed from patches/api/0222-Add-LivingEntity-clearActiveItem.patch)0
-rw-r--r--patches/api/0222-Add-PlayerItemCooldownEvent.patch (renamed from patches/api/0223-Add-PlayerItemCooldownEvent.patch)0
-rw-r--r--patches/api/0223-More-lightning-API.patch (renamed from patches/api/0224-More-lightning-API.patch)0
-rw-r--r--patches/api/0224-Add-PlayerShearBlockEvent.patch (renamed from patches/api/0225-Add-PlayerShearBlockEvent.patch)0
-rw-r--r--patches/api/0225-Player-Chunk-Load-Unload-Events.patch (renamed from patches/api/0226-Player-Chunk-Load-Unload-Events.patch)0
-rw-r--r--patches/api/0226-Expose-LivingEntity-hurt-direction.patch (renamed from patches/api/0227-Expose-LivingEntity-hurt-direction.patch)0
-rw-r--r--patches/api/0227-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/api/0228-Add-OBSTRUCTED-reason-to-BedEnterResult.patch)0
-rw-r--r--patches/api/0228-Added-PlayerTradeEvent.patch (renamed from patches/api/0229-Added-PlayerTradeEvent.patch)0
-rw-r--r--patches/api/0229-Add-TargetHitEvent-API.patch (renamed from patches/api/0230-Add-TargetHitEvent-API.patch)0
-rw-r--r--patches/api/0230-Additional-Block-Material-API-s.patch (renamed from patches/api/0231-Additional-Block-Material-API-s.patch)0
-rw-r--r--patches/api/0231-Add-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/api/0232-Add-API-to-get-Material-from-Boats-and-Minecarts.patch)0
-rw-r--r--patches/api/0232-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/api/0233-Add-PlayerFlowerPotManipulateEvent.patch)0
-rw-r--r--patches/api/0233-Zombie-API-breaking-doors.patch (renamed from patches/api/0234-Zombie-API-breaking-doors.patch)0
-rw-r--r--patches/api/0234-Add-EntityLoadCrossbowEvent.patch (renamed from patches/api/0235-Add-EntityLoadCrossbowEvent.patch)0
-rw-r--r--patches/api/0235-Added-WorldGameRuleChangeEvent.patch (renamed from patches/api/0236-Added-WorldGameRuleChangeEvent.patch)0
-rw-r--r--patches/api/0236-Added-ServerResourcesReloadedEvent.patch (renamed from patches/api/0237-Added-ServerResourcesReloadedEvent.patch)0
-rw-r--r--patches/api/0237-Add-BlockFailedDispenseEvent.patch (renamed from patches/api/0238-Add-BlockFailedDispenseEvent.patch)0
-rw-r--r--patches/api/0238-Added-PlayerLecternPageChangeEvent.patch (renamed from patches/api/0239-Added-PlayerLecternPageChangeEvent.patch)0
-rw-r--r--patches/api/0239-Added-PlayerLoomPatternSelectEvent.patch (renamed from patches/api/0240-Added-PlayerLoomPatternSelectEvent.patch)0
-rw-r--r--patches/api/0240-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch (renamed from patches/api/0241-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch)0
-rw-r--r--patches/api/0241-Add-sendOpLevel-API.patch (renamed from patches/api/0242-Add-sendOpLevel-API.patch)0
-rw-r--r--patches/api/0242-Add-RegistryAccess-for-managing-registries.patch (renamed from patches/api/0243-Add-RegistryAccess-for-managing-registries.patch)0
-rw-r--r--patches/api/0243-Add-StructuresLocateEvent.patch (renamed from patches/api/0244-Add-StructuresLocateEvent.patch)0
-rw-r--r--patches/api/0244-Add-BlockPreDispenseEvent.patch (renamed from patches/api/0245-Add-BlockPreDispenseEvent.patch)0
-rw-r--r--patches/api/0245-Added-PlayerChangeBeaconEffectEvent.patch (renamed from patches/api/0246-Added-PlayerChangeBeaconEffectEvent.patch)0
-rw-r--r--patches/api/0246-Added-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/api/0247-Added-PlayerStonecutterRecipeSelectEvent.patch)0
-rw-r--r--patches/api/0247-Add-dropLeash-variable-to-EntityUnleashEvent.patch (renamed from patches/api/0248-Add-dropLeash-variable-to-EntityUnleashEvent.patch)0
-rw-r--r--patches/api/0248-add-DragonEggFormEvent.patch (renamed from patches/api/0249-add-DragonEggFormEvent.patch)0
-rw-r--r--patches/api/0249-EntityMoveEvent.patch (renamed from patches/api/0250-EntityMoveEvent.patch)0
-rw-r--r--patches/api/0250-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/api/0251-Allow-adding-items-to-BlockDropItemEvent.patch)0
-rw-r--r--patches/api/0251-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/api/0252-Add-getMainThreadExecutor-to-BukkitScheduler.patch)0
-rw-r--r--patches/api/0252-living-entity-allow-attribute-registration.patch (renamed from patches/api/0253-living-entity-allow-attribute-registration.patch)0
-rw-r--r--patches/api/0253-Add-missing-effects.patch (renamed from patches/api/0254-Add-missing-effects.patch)0
-rw-r--r--patches/api/0254-Expose-Tracked-Players.patch (renamed from patches/api/0255-Expose-Tracked-Players.patch)0
-rw-r--r--patches/api/0255-Cache-the-result-of-Material-isBlock.patch (renamed from patches/api/0256-Cache-the-result-of-Material-isBlock.patch)0
-rw-r--r--patches/api/0256-Add-worldborder-events.patch (renamed from patches/api/0257-Add-worldborder-events.patch)0
-rw-r--r--patches/api/0257-added-PlayerNameEntityEvent.patch (renamed from patches/api/0258-added-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/api/0258-Add-recipe-to-cook-events.patch (renamed from patches/api/0259-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/api/0259-Add-Block-isValidTool.patch (renamed from patches/api/0260-Add-Block-isValidTool.patch)0
-rw-r--r--patches/api/0260-Expand-world-key-API.patch (renamed from patches/api/0261-Expand-world-key-API.patch)8
-rw-r--r--patches/api/0261-Improve-Item-Rarity-API.patch (renamed from patches/api/0262-Improve-Item-Rarity-API.patch)0
-rw-r--r--patches/api/0262-Expose-protocol-version.patch (renamed from patches/api/0263-Expose-protocol-version.patch)4
-rw-r--r--patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/api/0266-Added-PlayerDeepSleepEvent.patch (renamed from patches/api/0267-Added-PlayerDeepSleepEvent.patch)0
-rw-r--r--patches/api/0267-More-World-API.patch (renamed from patches/api/0268-More-World-API.patch)0
-rw-r--r--patches/api/0268-Added-PlayerBedFailEnterEvent.patch (renamed from patches/api/0269-Added-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/api/0269-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/api/0270-Introduce-beacon-activation-deactivation-events.patch)0
-rw-r--r--patches/api/0270-PlayerMoveEvent-Improvements.patch (renamed from patches/api/0271-PlayerMoveEvent-Improvements.patch)0
-rw-r--r--patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch (renamed from patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch)0
-rw-r--r--patches/api/0272-Add-more-WanderingTrader-API.patch (renamed from patches/api/0273-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/api/0273-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/api/0274-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/api/0275-Inventory-close.patch (renamed from patches/api/0276-Inventory-close.patch)0
-rw-r--r--patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/api/0277-Add-basic-Datapack-API.patch (renamed from patches/api/0278-Add-basic-Datapack-API.patch)4
-rw-r--r--patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch)0
-rw-r--r--patches/api/0279-ItemStack-repair-check-API.patch (renamed from patches/api/0280-ItemStack-repair-check-API.patch)4
-rw-r--r--patches/api/0280-More-Enchantment-API.patch (renamed from patches/api/0281-More-Enchantment-API.patch)0
-rw-r--r--patches/api/0281-Add-Mob-lookAt-API.patch (renamed from patches/api/0282-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/api/0282-ItemStack-editMeta.patch (renamed from patches/api/0283-ItemStack-editMeta.patch)0
-rw-r--r--patches/api/0283-Add-EntityInsideBlockEvent.patch (renamed from patches/api/0284-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/api/0284-Attributes-API-for-item-defaults.patch (renamed from patches/api/0285-Attributes-API-for-item-defaults.patch)0
-rw-r--r--patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch)0
-rw-r--r--patches/api/0286-More-Lidded-Block-API.patch (renamed from patches/api/0287-More-Lidded-Block-API.patch)0
-rw-r--r--patches/api/0287-Add-PlayerKickEvent-causes.patch (renamed from patches/api/0288-Add-PlayerKickEvent-causes.patch)0
-rw-r--r--patches/api/0288-Add-PufferFishStateChangeEvent.patch (renamed from patches/api/0289-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/api/0289-Add-BellRevealRaiderEvent.patch (renamed from patches/api/0290-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/api/0290-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/api/0291-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/api/0291-Add-more-line-of-sight-methods.patch (renamed from patches/api/0292-Add-more-line-of-sight-methods.patch)0
-rw-r--r--patches/api/0292-Add-WaterBottleSplashEvent.patch (renamed from patches/api/0293-Add-WaterBottleSplashEvent.patch)0
-rw-r--r--patches/api/0293-Add-more-LimitedRegion-API.patch (renamed from patches/api/0294-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/api/0294-Missing-Entity-API.patch (renamed from patches/api/0295-Missing-Entity-API.patch)0
-rw-r--r--patches/api/0295-Adds-PlayerArmSwingEvent.patch (renamed from patches/api/0296-Adds-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch (renamed from patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch)0
-rw-r--r--patches/api/0297-fix-empty-array-elements-in-command-arguments.patch (renamed from patches/api/0298-fix-empty-array-elements-in-command-arguments.patch)0
-rw-r--r--patches/api/0298-Stinger-API.patch (renamed from patches/api/0299-Stinger-API.patch)0
-rw-r--r--patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/api/0300-Add-PlayerSetSpawnEvent.patch (renamed from patches/api/0301-Add-PlayerSetSpawnEvent.patch)0
-rw-r--r--patches/api/0301-Added-EntityDamageItemEvent.patch (renamed from patches/api/0302-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/api/0302-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/api/0303-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/api/0304-Add-BlockBreakBlockEvent.patch (renamed from patches/api/0305-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch (renamed from patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch)0
-rw-r--r--patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch (renamed from patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch)0
-rw-r--r--patches/api/0307-More-CommandBlock-API.patch (renamed from patches/api/0308-More-CommandBlock-API.patch)0
-rw-r--r--patches/api/0308-Add-missing-team-sidebar-display-slots.patch (renamed from patches/api/0309-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/api/0309-add-back-EntityPortalExitEvent.patch (renamed from patches/api/0310-add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch)0
-rw-r--r--patches/api/0311-Get-entity-default-attributes.patch (renamed from patches/api/0312-Get-entity-default-attributes.patch)4
-rw-r--r--patches/api/0312-Left-handed-API.patch (renamed from patches/api/0313-Left-handed-API.patch)0
-rw-r--r--patches/api/0313-Add-critical-damage-API.patch (renamed from patches/api/0314-Add-critical-damage-API.patch)0
-rw-r--r--patches/api/0314-Add-more-advancement-API.patch (renamed from patches/api/0315-Add-more-advancement-API.patch)0
-rw-r--r--patches/api/0315-Fix-issues-with-mob-conversion.patch (renamed from patches/api/0316-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/api/0316-Add-isCollidable-methods-to-various-places.patch (renamed from patches/api/0317-Add-isCollidable-methods-to-various-places.patch)4
-rw-r--r--patches/api/0317-Goat-ram-API.patch (renamed from patches/api/0318-Goat-ram-API.patch)0
-rw-r--r--patches/api/0318-Add-API-for-resetting-a-single-score.patch (renamed from patches/api/0319-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/api/0319-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch)4
-rw-r--r--patches/api/0320-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/api/0321-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch)4
-rw-r--r--patches/api/0322-Add-more-Campfire-API.patch (renamed from patches/api/0323-Add-more-Campfire-API.patch)0
-rw-r--r--patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch (renamed from patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch)0
-rw-r--r--patches/api/0324-Improve-scoreboard-entries.patch (renamed from patches/api/0325-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/api/0325-Entity-powdered-snow-API.patch (renamed from patches/api/0326-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/api/0326-Add-API-for-item-entity-health.patch (renamed from patches/api/0327-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/api/0328-Bucketable-API.patch (renamed from patches/api/0329-Bucketable-API.patch)0
-rw-r--r--patches/api/0329-System-prop-for-default-config-comment-parsing.patch (renamed from patches/api/0330-System-prop-for-default-config-comment-parsing.patch)0
-rw-r--r--patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)0
-rw-r--r--patches/api/0331-Multiple-Entries-with-Scoreboards.patch (renamed from patches/api/0332-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/api/0332-Warn-on-strange-EventHandler-return-types.patch (renamed from patches/api/0333-Warn-on-strange-EventHandler-return-types.patch)0
-rw-r--r--patches/api/0333-Multi-Block-Change-API.patch (renamed from patches/api/0334-Multi-Block-Change-API.patch)0
-rw-r--r--patches/api/0334-Fix-NotePlayEvent.patch (renamed from patches/api/0335-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/api/0335-Freeze-Tick-Lock-API.patch (renamed from patches/api/0336-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/api/0336-Dolphin-API.patch (renamed from patches/api/0337-Dolphin-API.patch)0
-rw-r--r--patches/api/0337-More-PotionEffectType-API.patch (renamed from patches/api/0338-More-PotionEffectType-API.patch)0
-rw-r--r--patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch)4
-rw-r--r--patches/api/0339-Implement-regenerateChunk.patch (renamed from patches/api/0340-Implement-regenerateChunk.patch)0
-rw-r--r--patches/api/0340-Add-GameEvent-tags.patch (renamed from patches/api/0341-Add-GameEvent-tags.patch)0
-rw-r--r--patches/api/0341-Furnace-RecipesUsed-API.patch (renamed from patches/api/0342-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/api/0342-Configurable-sculk-sensor-listener-range.patch (renamed from patches/api/0343-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/api/0343-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/api/0344-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/api/0344-Custom-Potion-Mixes.patch (renamed from patches/api/0345-Custom-Potion-Mixes.patch)4
-rw-r--r--patches/api/0345-Expose-furnace-minecart-push-values.patch (renamed from patches/api/0346-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/api/0346-More-Projectile-API.patch (renamed from patches/api/0347-More-Projectile-API.patch)0
-rw-r--r--patches/api/0347-Add-getComputedBiome-API.patch (renamed from patches/api/0348-Add-getComputedBiome-API.patch)0
-rw-r--r--patches/api/0348-Add-enchantWithLevels-API.patch (renamed from patches/api/0349-Add-enchantWithLevels-API.patch)0
-rw-r--r--patches/api/0349-Add-TameableDeathMessageEvent.patch (renamed from patches/api/0350-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch (renamed from patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch)0
-rw-r--r--patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch (renamed from patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch)0
-rw-r--r--patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/api/0353-WorldCreator-keepSpawnLoaded.patch (renamed from patches/api/0354-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/api/0355-Add-PlayerStopUsingItemEvent.patch (renamed from patches/api/0356-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/api/0356-Expand-FallingBlock-API.patch (renamed from patches/api/0357-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch (renamed from patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch)4
-rw-r--r--patches/api/0358-Add-WardenAngerChangeEvent.patch (renamed from patches/api/0359-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/api/0359-Nameable-Banner-API.patch (renamed from patches/api/0360-Nameable-Banner-API.patch)0
-rw-r--r--patches/api/0360-Add-Player-getFishHook.patch (renamed from patches/api/0361-Add-Player-getFishHook.patch)0
-rw-r--r--patches/api/0361-More-Teleport-API.patch (renamed from patches/api/0362-More-Teleport-API.patch)0
-rw-r--r--patches/api/0362-Add-EntityPortalReadyEvent.patch (renamed from patches/api/0363-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch)0
-rw-r--r--patches/api/0364-Collision-API.patch (renamed from patches/api/0365-Collision-API.patch)0
-rw-r--r--patches/api/0365-Block-Ticking-API.patch (renamed from patches/api/0366-Block-Ticking-API.patch)0
-rw-r--r--patches/api/0366-Add-NamespacedKey-biome-methods.patch (renamed from patches/api/0367-Add-NamespacedKey-biome-methods.patch)4
-rw-r--r--patches/api/0367-Also-load-resources-from-LibraryLoader.patch (renamed from patches/api/0368-Also-load-resources-from-LibraryLoader.patch)0
-rw-r--r--patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)0
-rw-r--r--patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch (renamed from patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch)0
-rw-r--r--patches/api/0371-Add-getDrops-to-BlockState.patch (renamed from patches/api/0372-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/api/0373-Elder-Guardian-appearance-API.patch (renamed from patches/api/0374-Elder-Guardian-appearance-API.patch)0
-rw-r--r--patches/api/0374-Allow-changing-bed-s-occupied-property.patch (renamed from patches/api/0375-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/api/0375-Add-EquipmentSlot-convenience-methods.patch (renamed from patches/api/0376-Add-EquipmentSlot-convenience-methods.patch)2
-rw-r--r--patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch (renamed from patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch)0
-rw-r--r--patches/api/0377-Add-entity-knockback-API.patch (renamed from patches/api/0378-Add-entity-knockback-API.patch)0
-rw-r--r--patches/api/0378-Added-EntityToggleSitEvent.patch (renamed from patches/api/0379-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/api/0379-Add-Moving-Piston-API.patch (renamed from patches/api/0380-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/api/0380-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/api/0381-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/api/0381-Add-Player-Warden-Warning-API.patch (renamed from patches/api/0382-Add-Player-Warden-Warning-API.patch)0
-rw-r--r--patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/api/0383-Add-paper-dumplisteners-command.patch (renamed from patches/api/0384-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/api/0384-ItemStack-damage-API.patch (renamed from patches/api/0385-ItemStack-damage-API.patch)0
-rw-r--r--patches/api/0385-Add-Tick-TemporalUnit.patch (renamed from patches/api/0386-Add-Tick-TemporalUnit.patch)0
-rw-r--r--patches/api/0386-Friction-API.patch (renamed from patches/api/0387-Friction-API.patch)0
-rw-r--r--patches/api/0387-Player-Entity-Tracking-Events.patch (renamed from patches/api/0388-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/api/0388-Add-missing-Fluid-type.patch (renamed from patches/api/0389-Add-missing-Fluid-type.patch)0
-rw-r--r--patches/api/0389-fix-Instruments.patch (renamed from patches/api/0390-fix-Instruments.patch)0
-rw-r--r--patches/api/0390-Add-BlockLockCheckEvent.patch (renamed from patches/api/0391-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/api/0391-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0392-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/api/0392-Improve-PortalEvents.patch (renamed from patches/api/0393-Improve-PortalEvents.patch)0
-rw-r--r--patches/api/0393-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch (renamed from patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch)0
-rw-r--r--patches/api/0394-Flying-Fall-Damage-API.patch (renamed from patches/api/0395-Flying-Fall-Damage-API.patch)0
-rw-r--r--patches/api/0395-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch)0
-rw-r--r--patches/api/0396-Win-Screen-API.patch (renamed from patches/api/0397-Win-Screen-API.patch)0
-rw-r--r--patches/api/0397-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0398-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/api/0398-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch)0
-rw-r--r--patches/api/0399-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0400-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/api/0400-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/api/0401-Add-Shearable-API.patch (renamed from patches/api/0402-Add-Shearable-API.patch)0
-rw-r--r--patches/api/0402-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/api/0403-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0404-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/api/0404-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0405-Expand-PlayerItemMendEvent.patch)0
-rw-r--r--patches/api/0405-Add-transient-modifier-API.patch (renamed from patches/api/0406-Add-transient-modifier-API.patch)0
-rw-r--r--patches/api/0406-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/api/0407-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/api/0408-Folia-scheduler-and-owned-region-API.patch (renamed from patches/api/0409-Folia-scheduler-and-owned-region-API.patch)4
-rw-r--r--patches/api/0409-Add-event-for-player-editing-sign.patch (renamed from patches/api/0410-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/api/0410-Add-Sign-getInteractableSideFor.patch (renamed from patches/api/0411-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/api/0411-Fix-BanList-API.patch (renamed from patches/api/0412-Fix-BanList-API.patch)0
-rw-r--r--patches/api/0412-Add-whitelist-events.patch (renamed from patches/api/0413-Add-whitelist-events.patch)0
-rw-r--r--patches/api/0413-API-for-updating-recipes-on-clients.patch (renamed from patches/api/0414-API-for-updating-recipes-on-clients.patch)4
-rw-r--r--patches/api/0414-Add-PlayerFailMoveEvent.patch (renamed from patches/api/0415-Add-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/api/0415-Fix-custom-statistic-criteria-creation.patch (renamed from patches/api/0416-Fix-custom-statistic-criteria-creation.patch)4
-rw-r--r--patches/api/0416-SculkCatalyst-bloom-API.patch (renamed from patches/api/0417-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/api/0417-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/api/0418-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/api/0418-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch)4
-rw-r--r--patches/api/0419-Add-Listing-API-for-Player.patch (renamed from patches/api/0420-Add-Listing-API-for-Player.patch)0
-rw-r--r--patches/api/0420-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/api/0421-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/api/0422-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/api/0422-Expand-Pose-API.patch (renamed from patches/api/0423-Expand-Pose-API.patch)0
-rw-r--r--patches/api/0423-MerchantRecipe-add-copy-constructor.patch (renamed from patches/api/0424-MerchantRecipe-add-copy-constructor.patch)0
-rw-r--r--patches/api/0424-More-DragonBattle-API.patch (renamed from patches/api/0425-More-DragonBattle-API.patch)0
-rw-r--r--patches/api/0425-Add-PlayerPickItemEvent.patch (renamed from patches/api/0426-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/api/0426-Allow-trident-custom-damage.patch (renamed from patches/api/0427-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/api/0427-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/api/0428-Limit-setBurnTime-to-valid-short-values.patch (renamed from patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch)0
-rw-r--r--patches/api/0429-Add-OfflinePlayer-isConnected.patch (renamed from patches/api/0430-Add-OfflinePlayer-isConnected.patch)0
-rw-r--r--patches/api/0430-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/api/0431-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/api/0432-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch (renamed from patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch)0
-rw-r--r--patches/api/0433-Add-player-idle-duration-API.patch (renamed from patches/api/0434-Add-player-idle-duration-API.patch)0
-rw-r--r--patches/api/0434-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/api/0435-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch)0
-rw-r--r--patches/api/0436-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/api/0437-Add-UUID-attribute-modifier-API.patch (renamed from patches/api/0438-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/api/0438-Expand-LingeringPotion-API.patch (renamed from patches/api/0439-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/api/0439-Remove-unnecessary-durability-check-in-ItemStack-isS.patch (renamed from patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch)0
-rw-r--r--patches/api/0440-Add-Structure-check-API.patch (renamed from patches/api/0441-Add-Structure-check-API.patch)0
-rw-r--r--patches/api/0441-add-missing-Experimental-annotations.patch (renamed from patches/api/0442-add-missing-Experimental-annotations.patch)2
-rw-r--r--patches/api/0442-Add-more-scoreboard-API.patch (renamed from patches/api/0443-Add-more-scoreboard-API.patch)0
-rw-r--r--patches/api/0443-Improve-Registry.patch (renamed from patches/api/0444-Improve-Registry.patch)2
-rw-r--r--patches/api/0444-Add-experience-points-API.patch (renamed from patches/api/0445-Add-experience-points-API.patch)0
-rw-r--r--patches/api/0445-Add-missing-InventoryType.patch (renamed from patches/api/0446-Add-missing-InventoryType.patch)0
-rw-r--r--patches/api/0446-Add-drops-to-shear-events.patch (renamed from patches/api/0447-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/api/0447-Add-HiddenPotionEffect-API.patch (renamed from patches/api/0448-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/api/0448-Add-PlayerShieldDisableEvent.patch (renamed from patches/api/0449-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/api/0449-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch (renamed from patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch)0
-rw-r--r--patches/api/0450-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/api/0451-Add-BlockStateMeta-clearBlockState.patch)2
-rw-r--r--patches/api/0451-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/api/0452-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/api/0452-Add-ShulkerDuplicateEvent.patch (renamed from patches/api/0453-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/api/0453-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch)4
-rw-r--r--patches/api/0454-Add-Lifecycle-Event-system.patch (renamed from patches/api/0455-Add-Lifecycle-Event-system.patch)4
-rw-r--r--patches/api/0455-ItemStack-Tooltip-API.patch (renamed from patches/api/0456-ItemStack-Tooltip-API.patch)4
-rw-r--r--patches/api/0456-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/api/0457-Add-FluidState-API.patch (renamed from patches/api/0458-Add-FluidState-API.patch)0
-rw-r--r--patches/api/0458-add-number-format-api.patch (renamed from patches/api/0459-add-number-format-api.patch)0
-rw-r--r--patches/api/0459-improve-BanList-types.patch (renamed from patches/api/0460-improve-BanList-types.patch)4
-rw-r--r--patches/api/0460-Suspicious-Effect-Entry-API.patch (renamed from patches/api/0461-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/api/0461-Fix-DamageSource-API.patch (renamed from patches/api/0462-Fix-DamageSource-API.patch)0
-rw-r--r--patches/api/0462-Expanded-Hopper-API.patch (renamed from patches/api/0463-Expanded-Hopper-API.patch)0
-rw-r--r--patches/api/0463-Clone-mutables-to-prevent-unexpected-issues.patch (renamed from patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch)0
-rw-r--r--patches/api/0464-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch)0
-rw-r--r--patches/api/0465-Deprecate-ItemStack-setType.patch (renamed from patches/api/0466-Deprecate-ItemStack-setType.patch)0
-rw-r--r--patches/api/0466-Item-Mutation-Fixes.patch (renamed from patches/api/0467-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/api/0467-API-for-checking-sent-chunks.patch (renamed from patches/api/0468-API-for-checking-sent-chunks.patch)0
-rw-r--r--patches/api/0468-Add-CartographyItemEvent.patch (renamed from patches/api/0469-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/api/0469-More-Raid-API.patch (renamed from patches/api/0470-More-Raid-API.patch)0
-rw-r--r--patches/api/0470-Fix-SpawnerEntry-Equipment-API.patch (renamed from patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch)0
-rw-r--r--patches/api/0471-Fix-ItemFlags.patch (renamed from patches/api/0472-Fix-ItemFlags.patch)0
-rw-r--r--patches/api/0472-Allow-modifying-library-loader-jars-bytecode.patch (renamed from patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch)0
-rw-r--r--patches/api/0473-Add-hook-to-remap-library-jars.patch (renamed from patches/api/0474-Add-hook-to-remap-library-jars.patch)0
-rw-r--r--patches/api/0474-Add-GameMode-isInvulnerable.patch (renamed from patches/api/0475-Add-GameMode-isInvulnerable.patch)0
-rw-r--r--patches/api/0475-Expose-hasColor-to-leather-armor.patch (renamed from patches/api/0476-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/api/0476-Add-missing-wind-charge-damage-type.patch (renamed from patches/api/0477-Add-missing-wind-charge-damage-type.patch)0
-rw-r--r--patches/api/0477-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch)0
-rw-r--r--patches/api/0478-More-Chest-Block-API.patch (renamed from patches/api/0479-More-Chest-Block-API.patch)0
-rw-r--r--patches/server/0023-Timings-v2.patch125
-rw-r--r--patches/server/0035-Implement-Paper-VersionChecker.patch10
-rw-r--r--patches/server/0335-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/server/0424-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/server/0515-Expand-world-key-API.patch6
-rw-r--r--patches/server/0520-Expose-protocol-version.patch4
-rw-r--r--patches/server/0547-ItemStack-repair-check-API.patch4
-rw-r--r--patches/server/0602-Get-entity-default-attributes.patch4
-rw-r--r--patches/server/0608-Add-isCollidable-methods-to-various-places.patch4
-rw-r--r--patches/server/0611-Add-Raw-Byte-Entity-Serialization.patch4
-rw-r--r--patches/server/0753-Add-NamespacedKey-biome-methods.patch4
-rw-r--r--patches/server/0880-Fix-custom-statistic-criteria-creation.patch4
-rw-r--r--patches/server/0952-Add-api-for-spawn-egg-texture-colors.patch4
-rw-r--r--patches/server/0953-Add-Lifecycle-Event-system.patch6
-rw-r--r--patches/server/0954-ItemStack-Tooltip-API.patch4
-rw-r--r--patches/server/0976-Rewrite-dataconverter-system.patch8
363 files changed, 218 insertions, 190 deletions
diff --git a/patches/api/0011-Timings-v2.patch b/patches/api/0011-Timings-v2.patch
index 5b729d09d2..f5da4a8880 100644
--- a/patches/api/0011-Timings-v2.patch
+++ b/patches/api/0011-Timings-v2.patch
@@ -717,10 +717,10 @@ index 0000000000000000000000000000000000000000..199789d56d22fcb1b77ebd56805cc28a
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
new file mode 100644
-index 0000000000000000000000000000000000000000..eb9d58f8852e732a1284beeaf542989301d21b1c
+index 0000000000000000000000000000000000000000..7df5ca61fee4e19b08fceafdc44226328789e898
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
-@@ -0,0 +1,355 @@
+@@ -0,0 +1,284 @@
+/*
+ * This file is licensed under the MIT License (MIT).
+ *
@@ -746,15 +746,10 @@ index 0000000000000000000000000000000000000000..eb9d58f8852e732a1284beeaf5429893
+ */
+package co.aikar.timings;
+
-+import co.aikar.timings.TimingHistory.RegionData.RegionId;
+import com.google.common.base.Function;
+import com.google.common.collect.Sets;
+import org.bukkit.Bukkit;
-+import org.bukkit.Chunk;
+import org.bukkit.Material;
-+import org.bukkit.World;
-+import org.bukkit.block.BlockState;
-+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Player;
+import co.aikar.util.LoadingMap;
@@ -825,74 +820,8 @@ index 0000000000000000000000000000000000000000..eb9d58f8852e732a1284beeaf5429893
+
+ // Information about all loaded chunks/entities
+ //noinspection unchecked
-+ this.worlds = toObjectMapper(Bukkit.getWorlds(), new Function<World, JSONPair>() {
-+ @NotNull
-+ @Override
-+ public JSONPair apply(World world) {
-+ Map<RegionId, RegionData> regions = LoadingMap.newHashMap(RegionData.LOADER);
-+
-+ for (Chunk chunk : world.getLoadedChunks()) {
-+ RegionData data = regions.get(new RegionId(chunk.getX(), chunk.getZ()));
-+
-+ for (Entity entity : chunk.getEntities()) {
-+ if (entity == null) {
-+ Bukkit.getLogger().warning("Null entity detected in chunk at position x: " + chunk.getX() + ", z: " + chunk.getZ());
-+ continue;
-+ }
-+
-+ data.entityCounts.get(entity.getType()).increment();
-+ }
-+
-+ for (BlockState tileEntity : chunk.getTileEntities()) {
-+ if (tileEntity == null) {
-+ Bukkit.getLogger().warning("Null tileentity detected in chunk at position x: " + chunk.getX() + ", z: " + chunk.getZ());
-+ continue;
-+ }
+
-+ data.tileEntityCounts.get(tileEntity.getBlock().getType()).increment();
-+ }
-+ }
-+ return pair(
-+ worldMap.get(world.getName()),
-+ toArrayMapper(regions.values(),new Function<RegionData, Object>() {
-+ @NotNull
-+ @Override
-+ public Object apply(RegionData input) {
-+ return toArray(
-+ input.regionId.x,
-+ input.regionId.z,
-+ toObjectMapper(input.entityCounts.entrySet(),
-+ new Function<Map.Entry<EntityType, Counter>, JSONPair>() {
-+ @NotNull
-+ @Override
-+ public JSONPair apply(Map.Entry<EntityType, Counter> entry) {
-+ entityTypeSet.add(entry.getKey());
-+ return pair(
-+ String.valueOf(entry.getKey().ordinal()),
-+ entry.getValue().count()
-+ );
-+ }
-+ }
-+ ),
-+ toObjectMapper(input.tileEntityCounts.entrySet(),
-+ new Function<Map.Entry<Material, Counter>, JSONPair>() {
-+ @NotNull
-+ @Override
-+ public JSONPair apply(Map.Entry<Material, Counter> entry) {
-+ tileEntityTypeSet.add(entry.getKey());
-+ return pair(
-+ String.valueOf(entry.getKey().ordinal()),
-+ entry.getValue().count()
-+ );
-+ }
-+ }
-+ )
-+ );
-+ }
-+ })
-+ );
-+ }
-+ });
++ this.worlds = toObjectMapper(Bukkit.getWorlds(), Bukkit.getUnsafe().getWorldTimingExtractor(this) );
+ }
+ static class RegionData {
+ final RegionId regionId;
@@ -1066,7 +995,7 @@ index 0000000000000000000000000000000000000000..eb9d58f8852e732a1284beeaf5429893
+ }
+
+
-+ private static class Counter {
++ static class Counter {
+ private int count = 0;
+ public int increment() {
+ return ++count;
@@ -2897,7 +2826,7 @@ index 3bf7db7eac81e3cc6f5c6700637d10d1b4b7a47b..77f8b0889cd7039bf041fc052fba33b6
* 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 6e46302c272b468375f2de3f7f992f55f13805b8..01e796e487cc16710f51b457466a37ba70e1e665 100644
+index 6e46302c272b468375f2de3f7f992f55f13805b8..b116bc3f7abd3f093145071407c45e43b1748bf3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -40,6 +40,7 @@ public interface UnsafeValues {
@@ -2908,7 +2837,7 @@ index 6e46302c272b468375f2de3f7f992f55f13805b8..01e796e487cc16710f51b457466a37ba
Material toLegacy(Material material);
Material fromLegacy(Material material);
-@@ -138,4 +139,12 @@ public interface UnsafeValues {
+@@ -138,4 +139,13 @@ public interface UnsafeValues {
return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion());
}
// Paper end
@@ -2919,6 +2848,7 @@ index 6e46302c272b468375f2de3f7f992f55f13805b8..01e796e487cc16710f51b457466a37ba
+ * @return name
+ */
+ String getTimingsServerName();
++ com.google.common.base.Function<World, co.aikar.util.JSONUtil.JSONPair> getWorldTimingExtractor(final co.aikar.timings.TimingHistory timingHistory); // Paper - Timings hack
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java
diff --git a/patches/api/0015-Version-Command-2.0.patch b/patches/api/0015-Version-Command-2.0.patch
index 32edafcf60..8e7ae211d1 100644
--- a/patches/api/0015-Version-Command-2.0.patch
+++ b/patches/api/0015-Version-Command-2.0.patch
@@ -56,13 +56,13 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 01e796e487cc16710f51b457466a37ba70e1e665..d69e5fa40702c283c370a2f712b51dc2ea3a1fa0 100644
+index b116bc3f7abd3f093145071407c45e43b1748bf3..4ac6f5488eb988486ee40473b9b0db84b5fe35c4 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -146,5 +146,12 @@ public interface UnsafeValues {
- * @return name
+@@ -147,5 +147,12 @@ public interface UnsafeValues {
*/
String getTimingsServerName();
+ com.google.common.base.Function<World, co.aikar.util.JSONUtil.JSONPair> getWorldTimingExtractor(final co.aikar.timings.TimingHistory timingHistory); // Paper - Timings hack
+
+ /**
+ * Called once by the version command on first use, then cached.
diff --git a/patches/api/0136-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 c2205057df..c2205057df 100644
--- a/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch
diff --git a/patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch b/patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch
deleted file mode 100644
index 83897ac115..0000000000
--- a/patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Wed, 15 Aug 2018 01:19:37 -0400
-Subject: [PATCH] Don't use snapshots for Timings Tile Entity reports
-
-
-diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
-index eb9d58f8852e732a1284beeaf542989301d21b1c..02e88db63be2d5e31da6b65157ba7b971b1f10f3 100644
---- a/src/main/java/co/aikar/timings/TimingHistory.java
-+++ b/src/main/java/co/aikar/timings/TimingHistory.java
-@@ -120,7 +120,7 @@ public class TimingHistory {
- data.entityCounts.get(entity.getType()).increment();
- }
-
-- for (BlockState tileEntity : chunk.getTileEntities()) {
-+ for (BlockState tileEntity : chunk.getTileEntities(false)) {
- if (tileEntity == null) {
- Bukkit.getLogger().warning("Null tileentity detected in chunk at position x: " + chunk.getX() + ", z: " + chunk.getZ());
- continue;
diff --git a/patches/api/0137-Slime-Pathfinder-Events.patch b/patches/api/0136-Slime-Pathfinder-Events.patch
index a569c5bdda..a569c5bdda 100644
--- a/patches/api/0137-Slime-Pathfinder-Events.patch
+++ b/patches/api/0136-Slime-Pathfinder-Events.patch
diff --git a/patches/api/0138-Add-PhantomPreSpawnEvent.patch b/patches/api/0137-Add-PhantomPreSpawnEvent.patch
index 943f1561db..943f1561db 100644
--- a/patches/api/0138-Add-PhantomPreSpawnEvent.patch
+++ b/patches/api/0137-Add-PhantomPreSpawnEvent.patch
diff --git a/patches/api/0139-Add-More-Creeper-API.patch b/patches/api/0138-Add-More-Creeper-API.patch
index 2ea104b552..2ea104b552 100644
--- a/patches/api/0139-Add-More-Creeper-API.patch
+++ b/patches/api/0138-Add-More-Creeper-API.patch
diff --git a/patches/api/0140-Inventory-removeItemAnySlot.patch b/patches/api/0139-Inventory-removeItemAnySlot.patch
index 25b79cf6bd..25b79cf6bd 100644
--- a/patches/api/0140-Inventory-removeItemAnySlot.patch
+++ b/patches/api/0139-Inventory-removeItemAnySlot.patch
diff --git a/patches/api/0141-isChunkGenerated-API.patch b/patches/api/0140-isChunkGenerated-API.patch
index aba6214696..aba6214696 100644
--- a/patches/api/0141-isChunkGenerated-API.patch
+++ b/patches/api/0140-isChunkGenerated-API.patch
diff --git a/patches/api/0142-Add-source-block-constructor-and-getChangedBlockData.patch b/patches/api/0141-Add-source-block-constructor-and-getChangedBlockData.patch
index f12e6ac1f5..f12e6ac1f5 100644
--- a/patches/api/0142-Add-source-block-constructor-and-getChangedBlockData.patch
+++ b/patches/api/0141-Add-source-block-constructor-and-getChangedBlockData.patch
diff --git a/patches/api/0143-Async-Chunks-API.patch b/patches/api/0142-Async-Chunks-API.patch
index 68867e8a37..68867e8a37 100644
--- a/patches/api/0143-Async-Chunks-API.patch
+++ b/patches/api/0142-Async-Chunks-API.patch
diff --git a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/api/0143-Add-ray-tracing-methods-to-LivingEntity.patch
index 5a9655eafe..5a9655eafe 100644
--- a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/api/0143-Add-ray-tracing-methods-to-LivingEntity.patch
diff --git a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch
index 0727dbdfbb..0727dbdfbb 100644
--- a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch
diff --git a/patches/api/0146-Improve-death-events.patch b/patches/api/0145-Improve-death-events.patch
index 90a6bdde24..90a6bdde24 100644
--- a/patches/api/0146-Improve-death-events.patch
+++ b/patches/api/0145-Improve-death-events.patch
diff --git a/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch b/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch
index 6c3f8d857b..6c3f8d857b 100644
--- a/patches/api/0147-Add-Git-information-to-version-command-on-startup.patch
+++ b/patches/api/0146-Add-Git-information-to-version-command-on-startup.patch
diff --git a/patches/api/0148-Mob-Pathfinding-API.patch b/patches/api/0147-Mob-Pathfinding-API.patch
index 83fb575817..83fb575817 100644
--- a/patches/api/0148-Mob-Pathfinding-API.patch
+++ b/patches/api/0147-Mob-Pathfinding-API.patch
diff --git a/patches/api/0149-Performance-Concurrency-Improvements-to-Permissions.patch b/patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch
index 6befcec378..6befcec378 100644
--- a/patches/api/0149-Performance-Concurrency-Improvements-to-Permissions.patch
+++ b/patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch
diff --git a/patches/api/0150-Add-ItemStackRecipeChoice-Draft-API.patch b/patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch
index 4cfddc6f59..4cfddc6f59 100644
--- a/patches/api/0150-Add-ItemStackRecipeChoice-Draft-API.patch
+++ b/patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch
diff --git a/patches/api/0151-Implement-furnace-cook-speed-multiplier-API.patch b/patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch
index 6e836a844d..6e836a844d 100644
--- a/patches/api/0151-Implement-furnace-cook-speed-multiplier-API.patch
+++ b/patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch
diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0151-Material-API-additions.patch
index 9405b650d1..9405b650d1 100644
--- a/patches/api/0152-Material-API-additions.patch
+++ b/patches/api/0151-Material-API-additions.patch
diff --git a/patches/api/0153-Add-Material-Tags.patch b/patches/api/0152-Add-Material-Tags.patch
index 9c8781e5b6..9c8781e5b6 100644
--- a/patches/api/0153-Add-Material-Tags.patch
+++ b/patches/api/0152-Add-Material-Tags.patch
diff --git a/patches/api/0154-PreSpawnerSpawnEvent.patch b/patches/api/0153-PreSpawnerSpawnEvent.patch
index 4b6bbe6f7a..4b6bbe6f7a 100644
--- a/patches/api/0154-PreSpawnerSpawnEvent.patch
+++ b/patches/api/0153-PreSpawnerSpawnEvent.patch
diff --git a/patches/api/0155-Add-LivingEntity-getTargetEntity.patch b/patches/api/0154-Add-LivingEntity-getTargetEntity.patch
index 171a95979a..171a95979a 100644
--- a/patches/api/0155-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/api/0154-Add-LivingEntity-getTargetEntity.patch
diff --git a/patches/api/0156-Add-sun-related-API.patch b/patches/api/0155-Add-sun-related-API.patch
index 7132b29be0..7132b29be0 100644
--- a/patches/api/0156-Add-sun-related-API.patch
+++ b/patches/api/0155-Add-sun-related-API.patch
diff --git a/patches/api/0157-Turtle-API.patch b/patches/api/0156-Turtle-API.patch
index 3ec867d360..3ec867d360 100644
--- a/patches/api/0157-Turtle-API.patch
+++ b/patches/api/0156-Turtle-API.patch
diff --git a/patches/api/0158-Add-spectator-target-events.patch b/patches/api/0157-Add-spectator-target-events.patch
index 90f65b5fc8..90f65b5fc8 100644
--- a/patches/api/0158-Add-spectator-target-events.patch
+++ b/patches/api/0157-Add-spectator-target-events.patch
diff --git a/patches/api/0159-Add-more-Witch-API.patch b/patches/api/0158-Add-more-Witch-API.patch
index 0da75bb9b7..0da75bb9b7 100644
--- a/patches/api/0159-Add-more-Witch-API.patch
+++ b/patches/api/0158-Add-more-Witch-API.patch
diff --git a/patches/api/0160-Make-the-default-permission-message-configurable.patch b/patches/api/0159-Make-the-default-permission-message-configurable.patch
index 8dac5d0ae4..8dac5d0ae4 100644
--- a/patches/api/0160-Make-the-default-permission-message-configurable.patch
+++ b/patches/api/0159-Make-the-default-permission-message-configurable.patch
diff --git a/patches/api/0161-Support-cancellation-supression-of-EntityDismount-Ve.patch b/patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch
index 420a97487d..420a97487d 100644
--- a/patches/api/0161-Support-cancellation-supression-of-EntityDismount-Ve.patch
+++ b/patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch
diff --git a/patches/api/0162-Add-more-Zombie-API.patch b/patches/api/0161-Add-more-Zombie-API.patch
index 38efc859d8..38efc859d8 100644
--- a/patches/api/0162-Add-more-Zombie-API.patch
+++ b/patches/api/0161-Add-more-Zombie-API.patch
diff --git a/patches/api/0163-Change-the-reserved-channel-check-to-be-sensible.patch b/patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch
index 8975ff3c43..8975ff3c43 100644
--- a/patches/api/0163-Change-the-reserved-channel-check-to-be-sensible.patch
+++ b/patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch
diff --git a/patches/api/0164-Add-PlayerConnectionCloseEvent.patch b/patches/api/0163-Add-PlayerConnectionCloseEvent.patch
index 6264223dd9..6264223dd9 100644
--- a/patches/api/0164-Add-PlayerConnectionCloseEvent.patch
+++ b/patches/api/0163-Add-PlayerConnectionCloseEvent.patch
diff --git a/patches/api/0165-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index dd625f4153..dd625f4153 100644
--- a/patches/api/0165-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
diff --git a/patches/api/0166-Add-ItemStack-Recipe-API-helper-methods.patch b/patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch
index 61a45e967f..61a45e967f 100644
--- a/patches/api/0166-Add-ItemStack-Recipe-API-helper-methods.patch
+++ b/patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch
diff --git a/patches/api/0167-BlockDestroyEvent.patch b/patches/api/0166-BlockDestroyEvent.patch
index d6ac7bfb8d..d6ac7bfb8d 100644
--- a/patches/api/0167-BlockDestroyEvent.patch
+++ b/patches/api/0166-BlockDestroyEvent.patch
diff --git a/patches/api/0168-Add-WhitelistToggleEvent.patch b/patches/api/0167-Add-WhitelistToggleEvent.patch
index 1e26aba2a3..1e26aba2a3 100644
--- a/patches/api/0168-Add-WhitelistToggleEvent.patch
+++ b/patches/api/0167-Add-WhitelistToggleEvent.patch
diff --git a/patches/api/0169-Add-GS4-Query-event.patch b/patches/api/0168-Add-GS4-Query-event.patch
index a153279317..a153279317 100644
--- a/patches/api/0169-Add-GS4-Query-event.patch
+++ b/patches/api/0168-Add-GS4-Query-event.patch
diff --git a/patches/api/0170-Add-PlayerPostRespawnEvent.patch b/patches/api/0169-Add-PlayerPostRespawnEvent.patch
index c261fc7375..c261fc7375 100644
--- a/patches/api/0170-Add-PlayerPostRespawnEvent.patch
+++ b/patches/api/0169-Add-PlayerPostRespawnEvent.patch
diff --git a/patches/api/0171-Entity-getEntitySpawnReason.patch b/patches/api/0170-Entity-getEntitySpawnReason.patch
index ef25308f6c..ef25308f6c 100644
--- a/patches/api/0171-Entity-getEntitySpawnReason.patch
+++ b/patches/api/0170-Entity-getEntitySpawnReason.patch
diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
index 6dc3d96c0b..6dc3d96c0b 100644
--- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
diff --git a/patches/api/0173-Server-Tick-Events.patch b/patches/api/0172-Server-Tick-Events.patch
index cc46a9f29a..cc46a9f29a 100644
--- a/patches/api/0173-Server-Tick-Events.patch
+++ b/patches/api/0172-Server-Tick-Events.patch
diff --git a/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch b/patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch
index cf8c6281f8..cf8c6281f8 100644
--- a/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch
+++ b/patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch
diff --git a/patches/api/0175-Add-Heightmap-API.patch b/patches/api/0174-Add-Heightmap-API.patch
index 9c0ab69035..9c0ab69035 100644
--- a/patches/api/0175-Add-Heightmap-API.patch
+++ b/patches/api/0174-Add-Heightmap-API.patch
diff --git a/patches/api/0176-Mob-Spawner-API-Enhancements.patch b/patches/api/0175-Mob-Spawner-API-Enhancements.patch
index 4607e8b4bf..4607e8b4bf 100644
--- a/patches/api/0176-Mob-Spawner-API-Enhancements.patch
+++ b/patches/api/0175-Mob-Spawner-API-Enhancements.patch
diff --git a/patches/api/0177-Add-BlockSoundGroup-interface.patch b/patches/api/0176-Add-BlockSoundGroup-interface.patch
index 91f609d1e3..91f609d1e3 100644
--- a/patches/api/0177-Add-BlockSoundGroup-interface.patch
+++ b/patches/api/0176-Add-BlockSoundGroup-interface.patch
diff --git a/patches/api/0178-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch b/patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
index b5148c5574..b5148c5574 100644
--- a/patches/api/0178-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
+++ b/patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
diff --git a/patches/api/0179-Set-true-custom-payload-channel-size-limit.patch b/patches/api/0178-Set-true-custom-payload-channel-size-limit.patch
index c524e2aaa0..c524e2aaa0 100644
--- a/patches/api/0179-Set-true-custom-payload-channel-size-limit.patch
+++ b/patches/api/0178-Set-true-custom-payload-channel-size-limit.patch
diff --git a/patches/api/0180-Expose-the-internal-current-tick.patch b/patches/api/0179-Expose-the-internal-current-tick.patch
index 7cd95c46f8..7cd95c46f8 100644
--- a/patches/api/0180-Expose-the-internal-current-tick.patch
+++ b/patches/api/0179-Expose-the-internal-current-tick.patch
diff --git a/patches/api/0181-Improve-Block-breakNaturally-API.patch b/patches/api/0180-Improve-Block-breakNaturally-API.patch
index 54820995ca..54820995ca 100644
--- a/patches/api/0181-Improve-Block-breakNaturally-API.patch
+++ b/patches/api/0180-Improve-Block-breakNaturally-API.patch
diff --git a/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch b/patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch
index fafa02c732..fafa02c732 100644
--- a/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch
+++ b/patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch
diff --git a/patches/api/0183-Add-ThrownEggHatchEvent.patch b/patches/api/0182-Add-ThrownEggHatchEvent.patch
index 8636b6d6df..8636b6d6df 100644
--- a/patches/api/0183-Add-ThrownEggHatchEvent.patch
+++ b/patches/api/0182-Add-ThrownEggHatchEvent.patch
diff --git a/patches/api/0184-Entity-Jump-API.patch b/patches/api/0183-Entity-Jump-API.patch
index fb5b69da63..fb5b69da63 100644
--- a/patches/api/0184-Entity-Jump-API.patch
+++ b/patches/api/0183-Entity-Jump-API.patch
diff --git a/patches/api/0185-add-hand-to-BlockMultiPlaceEvent.patch b/patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch
index f15b482d62..f15b482d62 100644
--- a/patches/api/0185-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch
diff --git a/patches/api/0186-Add-tick-times-API.patch b/patches/api/0185-Add-tick-times-API.patch
index 40cbc279eb..40cbc279eb 100644
--- a/patches/api/0186-Add-tick-times-API.patch
+++ b/patches/api/0185-Add-tick-times-API.patch
diff --git a/patches/api/0187-Expose-MinecraftServer-isRunning.patch b/patches/api/0186-Expose-MinecraftServer-isRunning.patch
index 0f50363b31..0f50363b31 100644
--- a/patches/api/0187-Expose-MinecraftServer-isRunning.patch
+++ b/patches/api/0186-Expose-MinecraftServer-isRunning.patch
diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch
index dc654da7f0..68a57597a7 100644
--- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0187-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 d69e5fa40702c283c370a2f712b51dc2ea3a1fa0..30d869a7c4bba79b4c05de7860b31c14f47b341a 100644
+index 4ac6f5488eb988486ee40473b9b0db84b5fe35c4..77a06e58f86f908916e68e80ce365ae25884e5a2 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -153,5 +153,9 @@ public interface UnsafeValues {
+@@ -154,5 +154,9 @@ public interface UnsafeValues {
default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
}
diff --git a/patches/api/0189-Add-Player-Client-Options-API.patch b/patches/api/0188-Add-Player-Client-Options-API.patch
index e4057fe25a..e4057fe25a 100644
--- a/patches/api/0189-Add-Player-Client-Options-API.patch
+++ b/patches/api/0188-Add-Player-Client-Options-API.patch
diff --git a/patches/api/0190-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch
index c3cfd0642b..c3cfd0642b 100644
--- a/patches/api/0190-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch
diff --git a/patches/api/0191-Add-item-slot-convenience-methods.patch b/patches/api/0190-Add-item-slot-convenience-methods.patch
index 20638212e8..20638212e8 100644
--- a/patches/api/0191-Add-item-slot-convenience-methods.patch
+++ b/patches/api/0190-Add-item-slot-convenience-methods.patch
diff --git a/patches/api/0192-Villager-Restocks-API.patch b/patches/api/0191-Villager-Restocks-API.patch
index 5b3898429d..5b3898429d 100644
--- a/patches/api/0192-Villager-Restocks-API.patch
+++ b/patches/api/0191-Villager-Restocks-API.patch
diff --git a/patches/api/0193-Expose-game-version.patch b/patches/api/0192-Expose-game-version.patch
index 785d8563d2..785d8563d2 100644
--- a/patches/api/0193-Expose-game-version.patch
+++ b/patches/api/0192-Expose-game-version.patch
diff --git a/patches/api/0194-Add-Mob-Goal-API.patch b/patches/api/0193-Add-Mob-Goal-API.patch
index 102b780fac..102b780fac 100644
--- a/patches/api/0194-Add-Mob-Goal-API.patch
+++ b/patches/api/0193-Add-Mob-Goal-API.patch
diff --git a/patches/api/0195-Add-villager-reputation-API.patch b/patches/api/0194-Add-villager-reputation-API.patch
index 4a2093aab9..4a2093aab9 100644
--- a/patches/api/0195-Add-villager-reputation-API.patch
+++ b/patches/api/0194-Add-villager-reputation-API.patch
diff --git a/patches/api/0196-Spawn-Reason-API.patch b/patches/api/0195-Spawn-Reason-API.patch
index 97edb6ab3f..97edb6ab3f 100644
--- a/patches/api/0196-Spawn-Reason-API.patch
+++ b/patches/api/0195-Spawn-Reason-API.patch
diff --git a/patches/api/0197-Potential-bed-API.patch b/patches/api/0196-Potential-bed-API.patch
index a842554f35..a842554f35 100644
--- a/patches/api/0197-Potential-bed-API.patch
+++ b/patches/api/0196-Potential-bed-API.patch
diff --git a/patches/api/0198-Inventory-getHolder-method-without-block-snapshot.patch b/patches/api/0197-Inventory-getHolder-method-without-block-snapshot.patch
index d834d6cdb3..d834d6cdb3 100644
--- a/patches/api/0198-Inventory-getHolder-method-without-block-snapshot.patch
+++ b/patches/api/0197-Inventory-getHolder-method-without-block-snapshot.patch
diff --git a/patches/api/0199-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/api/0198-Add-and-implement-PlayerRecipeBookClickEvent.patch
index 4fe75c486c..4fe75c486c 100644
--- a/patches/api/0199-Add-and-implement-PlayerRecipeBookClickEvent.patch
+++ b/patches/api/0198-Add-and-implement-PlayerRecipeBookClickEvent.patch
diff --git a/patches/api/0200-Support-components-in-ItemMeta.patch b/patches/api/0199-Support-components-in-ItemMeta.patch
index 8a3122ea24..8a3122ea24 100644
--- a/patches/api/0200-Support-components-in-ItemMeta.patch
+++ b/patches/api/0199-Support-components-in-ItemMeta.patch
diff --git a/patches/api/0201-added-2-new-TargetReasons-for-1.16-mob-behavior.patch b/patches/api/0200-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
index 6c725bc833..6c725bc833 100644
--- a/patches/api/0201-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
+++ b/patches/api/0200-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
diff --git a/patches/api/0202-Add-entity-liquid-API.patch b/patches/api/0201-Add-entity-liquid-API.patch
index a1ac30dc85..a1ac30dc85 100644
--- a/patches/api/0202-Add-entity-liquid-API.patch
+++ b/patches/api/0201-Add-entity-liquid-API.patch
diff --git a/patches/api/0203-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch b/patches/api/0202-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
index 3906e443da..3906e443da 100644
--- a/patches/api/0203-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
+++ b/patches/api/0202-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
diff --git a/patches/api/0204-Add-BellRingEvent.patch b/patches/api/0203-Add-BellRingEvent.patch
index 2d5cb2a8b3..2d5cb2a8b3 100644
--- a/patches/api/0204-Add-BellRingEvent.patch
+++ b/patches/api/0203-Add-BellRingEvent.patch
diff --git a/patches/api/0205-Brand-support.patch b/patches/api/0204-Brand-support.patch
index 31a2278550..31a2278550 100644
--- a/patches/api/0205-Brand-support.patch
+++ b/patches/api/0204-Brand-support.patch
diff --git a/patches/api/0206-Add-moon-phase-API.patch b/patches/api/0205-Add-moon-phase-API.patch
index d949b274a6..d949b274a6 100644
--- a/patches/api/0206-Add-moon-phase-API.patch
+++ b/patches/api/0205-Add-moon-phase-API.patch
diff --git a/patches/api/0207-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0206-Add-playPickupItemAnimation-to-LivingEntity.patch
index 8530c705f9..8530c705f9 100644
--- a/patches/api/0207-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/api/0206-Add-playPickupItemAnimation-to-LivingEntity.patch
diff --git a/patches/api/0208-Add-more-Evoker-API.patch b/patches/api/0207-Add-more-Evoker-API.patch
index 0d6f0f7328..0d6f0f7328 100644
--- a/patches/api/0208-Add-more-Evoker-API.patch
+++ b/patches/api/0207-Add-more-Evoker-API.patch
diff --git a/patches/api/0209-Add-methods-to-get-translation-keys.patch b/patches/api/0208-Add-methods-to-get-translation-keys.patch
index 282a4c0520..282a4c0520 100644
--- a/patches/api/0209-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0208-Add-methods-to-get-translation-keys.patch
diff --git a/patches/api/0210-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0209-Create-HoverEvent-from-ItemStack-Entity.patch
index ff14019e55..ff14019e55 100644
--- a/patches/api/0210-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/api/0209-Create-HoverEvent-from-ItemStack-Entity.patch
diff --git a/patches/api/0211-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0210-Add-additional-open-container-api-to-HumanEntity.patch
index 43e6937d05..43e6937d05 100644
--- a/patches/api/0211-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/patches/api/0210-Add-additional-open-container-api-to-HumanEntity.patch
diff --git a/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0211-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 75dff33979..2bd8553c32 100644
--- a/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/api/0211-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 30d869a7c4bba79b4c05de7860b31c14f47b341a..241cb853476ea35dad73d0234b2d030e9af23476 100644
+index 77a06e58f86f908916e68e80ce365ae25884e5a2..5e817e3372edc381bc1d3b993686cbeaa5daac34 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -157,5 +157,12 @@ public interface UnsafeValues {
+@@ -158,5 +158,12 @@ public interface UnsafeValues {
byte[] serializeItem(ItemStack item);
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0213-Entity-isTicking.patch b/patches/api/0212-Entity-isTicking.patch
index 37d0f8dce3..37d0f8dce3 100644
--- a/patches/api/0213-Entity-isTicking.patch
+++ b/patches/api/0212-Entity-isTicking.patch
diff --git a/patches/api/0214-Villager-resetOffers.patch b/patches/api/0213-Villager-resetOffers.patch
index 60fedfba0f..60fedfba0f 100644
--- a/patches/api/0214-Villager-resetOffers.patch
+++ b/patches/api/0213-Villager-resetOffers.patch
diff --git a/patches/api/0215-Player-elytra-boost-API.patch b/patches/api/0214-Player-elytra-boost-API.patch
index 29d5923494..29d5923494 100644
--- a/patches/api/0215-Player-elytra-boost-API.patch
+++ b/patches/api/0214-Player-elytra-boost-API.patch
diff --git a/patches/api/0216-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0215-Add-getOfflinePlayerIfCached-String.patch
index 402eff8c38..402eff8c38 100644
--- a/patches/api/0216-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/api/0215-Add-getOfflinePlayerIfCached-String.patch
diff --git a/patches/api/0217-Add-ignore-discounts-API.patch b/patches/api/0216-Add-ignore-discounts-API.patch
index 89655ddef8..89655ddef8 100644
--- a/patches/api/0217-Add-ignore-discounts-API.patch
+++ b/patches/api/0216-Add-ignore-discounts-API.patch
diff --git a/patches/api/0218-Item-no-age-no-player-pickup.patch b/patches/api/0217-Item-no-age-no-player-pickup.patch
index d3be2301af..d3be2301af 100644
--- a/patches/api/0218-Item-no-age-no-player-pickup.patch
+++ b/patches/api/0217-Item-no-age-no-player-pickup.patch
diff --git a/patches/api/0219-Beacon-API-custom-effect-ranges.patch b/patches/api/0218-Beacon-API-custom-effect-ranges.patch
index effd7b3ae9..effd7b3ae9 100644
--- a/patches/api/0219-Beacon-API-custom-effect-ranges.patch
+++ b/patches/api/0218-Beacon-API-custom-effect-ranges.patch
diff --git a/patches/api/0220-Add-API-for-quit-reason.patch b/patches/api/0219-Add-API-for-quit-reason.patch
index 0350afaf92..0350afaf92 100644
--- a/patches/api/0220-Add-API-for-quit-reason.patch
+++ b/patches/api/0219-Add-API-for-quit-reason.patch
diff --git a/patches/api/0221-Add-Destroy-Speed-API.patch b/patches/api/0220-Add-Destroy-Speed-API.patch
index cdf304d00b..cdf304d00b 100644
--- a/patches/api/0221-Add-Destroy-Speed-API.patch
+++ b/patches/api/0220-Add-Destroy-Speed-API.patch
diff --git a/patches/api/0222-Add-LivingEntity-clearActiveItem.patch b/patches/api/0221-Add-LivingEntity-clearActiveItem.patch
index 03307beabf..03307beabf 100644
--- a/patches/api/0222-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/api/0221-Add-LivingEntity-clearActiveItem.patch
diff --git a/patches/api/0223-Add-PlayerItemCooldownEvent.patch b/patches/api/0222-Add-PlayerItemCooldownEvent.patch
index ae5118c7da..ae5118c7da 100644
--- a/patches/api/0223-Add-PlayerItemCooldownEvent.patch
+++ b/patches/api/0222-Add-PlayerItemCooldownEvent.patch
diff --git a/patches/api/0224-More-lightning-API.patch b/patches/api/0223-More-lightning-API.patch
index c4924dcdf2..c4924dcdf2 100644
--- a/patches/api/0224-More-lightning-API.patch
+++ b/patches/api/0223-More-lightning-API.patch
diff --git a/patches/api/0225-Add-PlayerShearBlockEvent.patch b/patches/api/0224-Add-PlayerShearBlockEvent.patch
index 1506924937..1506924937 100644
--- a/patches/api/0225-Add-PlayerShearBlockEvent.patch
+++ b/patches/api/0224-Add-PlayerShearBlockEvent.patch
diff --git a/patches/api/0226-Player-Chunk-Load-Unload-Events.patch b/patches/api/0225-Player-Chunk-Load-Unload-Events.patch
index c1779bb840..c1779bb840 100644
--- a/patches/api/0226-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/api/0225-Player-Chunk-Load-Unload-Events.patch
diff --git a/patches/api/0227-Expose-LivingEntity-hurt-direction.patch b/patches/api/0226-Expose-LivingEntity-hurt-direction.patch
index 2957bd50ae..2957bd50ae 100644
--- a/patches/api/0227-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/api/0226-Expose-LivingEntity-hurt-direction.patch
diff --git a/patches/api/0228-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/api/0227-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index 00552e9137..00552e9137 100644
--- a/patches/api/0228-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/api/0227-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
diff --git a/patches/api/0229-Added-PlayerTradeEvent.patch b/patches/api/0228-Added-PlayerTradeEvent.patch
index 11ad019021..11ad019021 100644
--- a/patches/api/0229-Added-PlayerTradeEvent.patch
+++ b/patches/api/0228-Added-PlayerTradeEvent.patch
diff --git a/patches/api/0230-Add-TargetHitEvent-API.patch b/patches/api/0229-Add-TargetHitEvent-API.patch
index 6c68224363..6c68224363 100644
--- a/patches/api/0230-Add-TargetHitEvent-API.patch
+++ b/patches/api/0229-Add-TargetHitEvent-API.patch
diff --git a/patches/api/0231-Additional-Block-Material-API-s.patch b/patches/api/0230-Additional-Block-Material-API-s.patch
index ab3e6f9ac6..ab3e6f9ac6 100644
--- a/patches/api/0231-Additional-Block-Material-API-s.patch
+++ b/patches/api/0230-Additional-Block-Material-API-s.patch
diff --git a/patches/api/0232-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0231-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
index d297dd5c24..d297dd5c24 100644
--- a/patches/api/0232-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/api/0231-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
diff --git a/patches/api/0233-Add-PlayerFlowerPotManipulateEvent.patch b/patches/api/0232-Add-PlayerFlowerPotManipulateEvent.patch
index cb08fd1404..cb08fd1404 100644
--- a/patches/api/0233-Add-PlayerFlowerPotManipulateEvent.patch
+++ b/patches/api/0232-Add-PlayerFlowerPotManipulateEvent.patch
diff --git a/patches/api/0234-Zombie-API-breaking-doors.patch b/patches/api/0233-Zombie-API-breaking-doors.patch
index 24118c13ee..24118c13ee 100644
--- a/patches/api/0234-Zombie-API-breaking-doors.patch
+++ b/patches/api/0233-Zombie-API-breaking-doors.patch
diff --git a/patches/api/0235-Add-EntityLoadCrossbowEvent.patch b/patches/api/0234-Add-EntityLoadCrossbowEvent.patch
index 2a60c84538..2a60c84538 100644
--- a/patches/api/0235-Add-EntityLoadCrossbowEvent.patch
+++ b/patches/api/0234-Add-EntityLoadCrossbowEvent.patch
diff --git a/patches/api/0236-Added-WorldGameRuleChangeEvent.patch b/patches/api/0235-Added-WorldGameRuleChangeEvent.patch
index 348efda0ca..348efda0ca 100644
--- a/patches/api/0236-Added-WorldGameRuleChangeEvent.patch
+++ b/patches/api/0235-Added-WorldGameRuleChangeEvent.patch
diff --git a/patches/api/0237-Added-ServerResourcesReloadedEvent.patch b/patches/api/0236-Added-ServerResourcesReloadedEvent.patch
index 150b70e6cc..150b70e6cc 100644
--- a/patches/api/0237-Added-ServerResourcesReloadedEvent.patch
+++ b/patches/api/0236-Added-ServerResourcesReloadedEvent.patch
diff --git a/patches/api/0238-Add-BlockFailedDispenseEvent.patch b/patches/api/0237-Add-BlockFailedDispenseEvent.patch
index 4f480e7417..4f480e7417 100644
--- a/patches/api/0238-Add-BlockFailedDispenseEvent.patch
+++ b/patches/api/0237-Add-BlockFailedDispenseEvent.patch
diff --git a/patches/api/0239-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0238-Added-PlayerLecternPageChangeEvent.patch
index 3c9f223aa5..3c9f223aa5 100644
--- a/patches/api/0239-Added-PlayerLecternPageChangeEvent.patch
+++ b/patches/api/0238-Added-PlayerLecternPageChangeEvent.patch
diff --git a/patches/api/0240-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0239-Added-PlayerLoomPatternSelectEvent.patch
index 766e838ec8..766e838ec8 100644
--- a/patches/api/0240-Added-PlayerLoomPatternSelectEvent.patch
+++ b/patches/api/0239-Added-PlayerLoomPatternSelectEvent.patch
diff --git a/patches/api/0241-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0240-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
index c25fbd796f..c25fbd796f 100644
--- a/patches/api/0241-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
+++ b/patches/api/0240-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
diff --git a/patches/api/0242-Add-sendOpLevel-API.patch b/patches/api/0241-Add-sendOpLevel-API.patch
index c6d0eae4c3..c6d0eae4c3 100644
--- a/patches/api/0242-Add-sendOpLevel-API.patch
+++ b/patches/api/0241-Add-sendOpLevel-API.patch
diff --git a/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0242-Add-RegistryAccess-for-managing-registries.patch
index 17ce5cc911..17ce5cc911 100644
--- a/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch
+++ b/patches/api/0242-Add-RegistryAccess-for-managing-registries.patch
diff --git a/patches/api/0244-Add-StructuresLocateEvent.patch b/patches/api/0243-Add-StructuresLocateEvent.patch
index 10ef586cce..10ef586cce 100644
--- a/patches/api/0244-Add-StructuresLocateEvent.patch
+++ b/patches/api/0243-Add-StructuresLocateEvent.patch
diff --git a/patches/api/0245-Add-BlockPreDispenseEvent.patch b/patches/api/0244-Add-BlockPreDispenseEvent.patch
index 6a8e491828..6a8e491828 100644
--- a/patches/api/0245-Add-BlockPreDispenseEvent.patch
+++ b/patches/api/0244-Add-BlockPreDispenseEvent.patch
diff --git a/patches/api/0246-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0245-Added-PlayerChangeBeaconEffectEvent.patch
index 4d84c9e1b1..4d84c9e1b1 100644
--- a/patches/api/0246-Added-PlayerChangeBeaconEffectEvent.patch
+++ b/patches/api/0245-Added-PlayerChangeBeaconEffectEvent.patch
diff --git a/patches/api/0247-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0246-Added-PlayerStonecutterRecipeSelectEvent.patch
index 46377a6798..46377a6798 100644
--- a/patches/api/0247-Added-PlayerStonecutterRecipeSelectEvent.patch
+++ b/patches/api/0246-Added-PlayerStonecutterRecipeSelectEvent.patch
diff --git a/patches/api/0248-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/api/0247-Add-dropLeash-variable-to-EntityUnleashEvent.patch
index f85f2a4f26..f85f2a4f26 100644
--- a/patches/api/0248-Add-dropLeash-variable-to-EntityUnleashEvent.patch
+++ b/patches/api/0247-Add-dropLeash-variable-to-EntityUnleashEvent.patch
diff --git a/patches/api/0249-add-DragonEggFormEvent.patch b/patches/api/0248-add-DragonEggFormEvent.patch
index 3b40a9f99d..3b40a9f99d 100644
--- a/patches/api/0249-add-DragonEggFormEvent.patch
+++ b/patches/api/0248-add-DragonEggFormEvent.patch
diff --git a/patches/api/0250-EntityMoveEvent.patch b/patches/api/0249-EntityMoveEvent.patch
index d9e828eb8c..d9e828eb8c 100644
--- a/patches/api/0250-EntityMoveEvent.patch
+++ b/patches/api/0249-EntityMoveEvent.patch
diff --git a/patches/api/0251-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/api/0250-Allow-adding-items-to-BlockDropItemEvent.patch
index c6b7565fe4..c6b7565fe4 100644
--- a/patches/api/0251-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/api/0250-Allow-adding-items-to-BlockDropItemEvent.patch
diff --git a/patches/api/0252-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0251-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index 7cc686da5a..7cc686da5a 100644
--- a/patches/api/0252-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/api/0251-Add-getMainThreadExecutor-to-BukkitScheduler.patch
diff --git a/patches/api/0253-living-entity-allow-attribute-registration.patch b/patches/api/0252-living-entity-allow-attribute-registration.patch
index e7ded6dabb..e7ded6dabb 100644
--- a/patches/api/0253-living-entity-allow-attribute-registration.patch
+++ b/patches/api/0252-living-entity-allow-attribute-registration.patch
diff --git a/patches/api/0254-Add-missing-effects.patch b/patches/api/0253-Add-missing-effects.patch
index 52e92823ef..52e92823ef 100644
--- a/patches/api/0254-Add-missing-effects.patch
+++ b/patches/api/0253-Add-missing-effects.patch
diff --git a/patches/api/0255-Expose-Tracked-Players.patch b/patches/api/0254-Expose-Tracked-Players.patch
index 368fb84d94..368fb84d94 100644
--- a/patches/api/0255-Expose-Tracked-Players.patch
+++ b/patches/api/0254-Expose-Tracked-Players.patch
diff --git a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch b/patches/api/0255-Cache-the-result-of-Material-isBlock.patch
index b2322c2c4a..b2322c2c4a 100644
--- a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch
+++ b/patches/api/0255-Cache-the-result-of-Material-isBlock.patch
diff --git a/patches/api/0257-Add-worldborder-events.patch b/patches/api/0256-Add-worldborder-events.patch
index 9f3ae70435..9f3ae70435 100644
--- a/patches/api/0257-Add-worldborder-events.patch
+++ b/patches/api/0256-Add-worldborder-events.patch
diff --git a/patches/api/0258-added-PlayerNameEntityEvent.patch b/patches/api/0257-added-PlayerNameEntityEvent.patch
index 69bd20d13e..69bd20d13e 100644
--- a/patches/api/0258-added-PlayerNameEntityEvent.patch
+++ b/patches/api/0257-added-PlayerNameEntityEvent.patch
diff --git a/patches/api/0259-Add-recipe-to-cook-events.patch b/patches/api/0258-Add-recipe-to-cook-events.patch
index 8c8712541e..8c8712541e 100644
--- a/patches/api/0259-Add-recipe-to-cook-events.patch
+++ b/patches/api/0258-Add-recipe-to-cook-events.patch
diff --git a/patches/api/0260-Add-Block-isValidTool.patch b/patches/api/0259-Add-Block-isValidTool.patch
index 835cf73b7a..835cf73b7a 100644
--- a/patches/api/0260-Add-Block-isValidTool.patch
+++ b/patches/api/0259-Add-Block-isValidTool.patch
diff --git a/patches/api/0261-Expand-world-key-API.patch b/patches/api/0260-Expand-world-key-API.patch
index 0beb2158ec..f419d2cbd1 100644
--- a/patches/api/0261-Expand-world-key-API.patch
+++ b/patches/api/0260-Expand-world-key-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand world key API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 732ed3724e784ad659cb4411dbd73b42a8330a2c..d078ea797cf4c6ab291aec3ad7fbd4740017286c 100644
+index 7be6710d28dea19bd0f9054c1c2e32dacd355c45..8fd1de659777595d9d8198e7ee638ad5500a6317 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -864,6 +864,18 @@ public final class Bukkit {
@@ -56,7 +56,7 @@ index 27eff0826d5b5b48697fefd9571886e7bbce74b1..d8b1fa79dc24138dc71e32c14bda71c1
// Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 395f7910f535bfd33a5676b011ab62a53e30e140..e6598c36cfc98282f30a57105986a295f1c94676 100644
+index 5644af8154373923791e3ed5f8b01c3f5d357b9c..efd612c1df363bd9c8f1ae0ea70c884af532efc3 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -722,6 +722,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -78,10 +78,10 @@ index 395f7910f535bfd33a5676b011ab62a53e30e140..e6598c36cfc98282f30a57105986a295
* 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 241cb853476ea35dad73d0234b2d030e9af23476..5de86f8cd3cc7f7e8ebc4a22d3921273378704f2 100644
+index 5e817e3372edc381bc1d3b993686cbeaa5daac34..0bd07a92614e39385859d74a016184d78b8f58e3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -164,5 +164,10 @@ public interface UnsafeValues {
+@@ -165,5 +165,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/0262-Improve-Item-Rarity-API.patch b/patches/api/0261-Improve-Item-Rarity-API.patch
index 6080352888..6080352888 100644
--- a/patches/api/0262-Improve-Item-Rarity-API.patch
+++ b/patches/api/0261-Improve-Item-Rarity-API.patch
diff --git a/patches/api/0263-Expose-protocol-version.patch b/patches/api/0262-Expose-protocol-version.patch
index 0450fa0966..3c5153dc6b 100644
--- a/patches/api/0263-Expose-protocol-version.patch
+++ b/patches/api/0262-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 5de86f8cd3cc7f7e8ebc4a22d3921273378704f2..a874faec93468c83fc475b60629fc36f933bd11c 100644
+index 0bd07a92614e39385859d74a016184d78b8f58e3..5f2d521a54d03a2270a1812146f954dc16c9d728 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -169,5 +169,12 @@ public interface UnsafeValues {
+@@ -170,5 +170,12 @@ public interface UnsafeValues {
* Just don't use it.
*/
@org.jetbrains.annotations.NotNull String getMainLevelName();
diff --git a/patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch
index 45207a6064..45207a6064 100644
--- a/patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch
index 07036efb43..07036efb43 100644
--- a/patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch
index d75f180c94..d75f180c94 100644
--- a/patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/api/0267-Added-PlayerDeepSleepEvent.patch b/patches/api/0266-Added-PlayerDeepSleepEvent.patch
index b333894788..b333894788 100644
--- a/patches/api/0267-Added-PlayerDeepSleepEvent.patch
+++ b/patches/api/0266-Added-PlayerDeepSleepEvent.patch
diff --git a/patches/api/0268-More-World-API.patch b/patches/api/0267-More-World-API.patch
index 7340819de5..7340819de5 100644
--- a/patches/api/0268-More-World-API.patch
+++ b/patches/api/0267-More-World-API.patch
diff --git a/patches/api/0269-Added-PlayerBedFailEnterEvent.patch b/patches/api/0268-Added-PlayerBedFailEnterEvent.patch
index 6f9decf5fc..6f9decf5fc 100644
--- a/patches/api/0269-Added-PlayerBedFailEnterEvent.patch
+++ b/patches/api/0268-Added-PlayerBedFailEnterEvent.patch
diff --git a/patches/api/0270-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0269-Introduce-beacon-activation-deactivation-events.patch
index 4e173b3d6c..4e173b3d6c 100644
--- a/patches/api/0270-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/api/0269-Introduce-beacon-activation-deactivation-events.patch
diff --git a/patches/api/0271-PlayerMoveEvent-Improvements.patch b/patches/api/0270-PlayerMoveEvent-Improvements.patch
index 33cf16e54b..33cf16e54b 100644
--- a/patches/api/0271-PlayerMoveEvent-Improvements.patch
+++ b/patches/api/0270-PlayerMoveEvent-Improvements.patch
diff --git a/patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch
index c596be8b98..c596be8b98 100644
--- a/patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch
+++ b/patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch
diff --git a/patches/api/0273-Add-more-WanderingTrader-API.patch b/patches/api/0272-Add-more-WanderingTrader-API.patch
index 99045d4949..99045d4949 100644
--- a/patches/api/0273-Add-more-WanderingTrader-API.patch
+++ b/patches/api/0272-Add-more-WanderingTrader-API.patch
diff --git a/patches/api/0274-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0273-Add-EntityBlockStorage-clearEntities.patch
index 7032ba6155..7032ba6155 100644
--- a/patches/api/0274-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/api/0273-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 16af3a7728..16af3a7728 100644
--- a/patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/api/0276-Inventory-close.patch b/patches/api/0275-Inventory-close.patch
index 87dfa1a083..87dfa1a083 100644
--- a/patches/api/0276-Inventory-close.patch
+++ b/patches/api/0275-Inventory-close.patch
diff --git a/patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index 3103f1ce2c..3103f1ce2c 100644
--- a/patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/api/0278-Add-basic-Datapack-API.patch b/patches/api/0277-Add-basic-Datapack-API.patch
index eef13380f6..951643df7d 100644
--- a/patches/api/0278-Add-basic-Datapack-API.patch
+++ b/patches/api/0277-Add-basic-Datapack-API.patch
@@ -70,7 +70,7 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7
+
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 652932fa3ae5360802335803b4108b65019b6922..237bdd97203dbc80c010ae57735bc45e36c78fc5 100644
+index 8fd1de659777595d9d8198e7ee638ad5500a6317..e62d46629305a268906cd2cd5d5977d063c2f484 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -330,9 +330,11 @@ public final class Bukkit {
@@ -101,7 +101,7 @@ index 652932fa3ae5360802335803b4108b65019b6922..237bdd97203dbc80c010ae57735bc45e
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d28b3ad2e9979127051e8062122572bc3d2cb0b5..d3631288ec03c5ca04221c20ecee745f7e9fa71a 100644
+index efd612c1df363bd9c8f1ae0ea70c884af532efc3..7b6342a3d6ae0716876c958ef6029d5a6dc233bb 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -266,9 +266,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch
index b2e65ae490..b2e65ae490 100644
--- a/patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch
diff --git a/patches/api/0280-ItemStack-repair-check-API.patch b/patches/api/0279-ItemStack-repair-check-API.patch
index eff25d7f58..5949d4de6b 100644
--- a/patches/api/0280-ItemStack-repair-check-API.patch
+++ b/patches/api/0279-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 a874faec93468c83fc475b60629fc36f933bd11c..4130481843c9e0b847bd656622b0c1107ac1297b 100644
+index 5f2d521a54d03a2270a1812146f954dc16c9d728..0a8a9e6fbead467737530ce6c84560dcbb803282 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -176,5 +176,15 @@ public interface UnsafeValues {
+@@ -177,5 +177,15 @@ public interface UnsafeValues {
* @return the server's protocol version
*/
int getProtocolVersion();
diff --git a/patches/api/0281-More-Enchantment-API.patch b/patches/api/0280-More-Enchantment-API.patch
index a58f9ad820..a58f9ad820 100644
--- a/patches/api/0281-More-Enchantment-API.patch
+++ b/patches/api/0280-More-Enchantment-API.patch
diff --git a/patches/api/0282-Add-Mob-lookAt-API.patch b/patches/api/0281-Add-Mob-lookAt-API.patch
index 0dd5126905..0dd5126905 100644
--- a/patches/api/0282-Add-Mob-lookAt-API.patch
+++ b/patches/api/0281-Add-Mob-lookAt-API.patch
diff --git a/patches/api/0283-ItemStack-editMeta.patch b/patches/api/0282-ItemStack-editMeta.patch
index d2c36b432c..d2c36b432c 100644
--- a/patches/api/0283-ItemStack-editMeta.patch
+++ b/patches/api/0282-ItemStack-editMeta.patch
diff --git a/patches/api/0284-Add-EntityInsideBlockEvent.patch b/patches/api/0283-Add-EntityInsideBlockEvent.patch
index 2805c40dcc..2805c40dcc 100644
--- a/patches/api/0284-Add-EntityInsideBlockEvent.patch
+++ b/patches/api/0283-Add-EntityInsideBlockEvent.patch
diff --git a/patches/api/0285-Attributes-API-for-item-defaults.patch b/patches/api/0284-Attributes-API-for-item-defaults.patch
index db30aff62c..db30aff62c 100644
--- a/patches/api/0285-Attributes-API-for-item-defaults.patch
+++ b/patches/api/0284-Attributes-API-for-item-defaults.patch
diff --git a/patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch
index 8e5d45d87b..8e5d45d87b 100644
--- a/patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch
diff --git a/patches/api/0287-More-Lidded-Block-API.patch b/patches/api/0286-More-Lidded-Block-API.patch
index a89f206f9a..a89f206f9a 100644
--- a/patches/api/0287-More-Lidded-Block-API.patch
+++ b/patches/api/0286-More-Lidded-Block-API.patch
diff --git a/patches/api/0288-Add-PlayerKickEvent-causes.patch b/patches/api/0287-Add-PlayerKickEvent-causes.patch
index 5bded2058c..5bded2058c 100644
--- a/patches/api/0288-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0287-Add-PlayerKickEvent-causes.patch
diff --git a/patches/api/0289-Add-PufferFishStateChangeEvent.patch b/patches/api/0288-Add-PufferFishStateChangeEvent.patch
index 7a719777e3..7a719777e3 100644
--- a/patches/api/0289-Add-PufferFishStateChangeEvent.patch
+++ b/patches/api/0288-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/api/0290-Add-BellRevealRaiderEvent.patch b/patches/api/0289-Add-BellRevealRaiderEvent.patch
index c45f89fd4b..c45f89fd4b 100644
--- a/patches/api/0290-Add-BellRevealRaiderEvent.patch
+++ b/patches/api/0289-Add-BellRevealRaiderEvent.patch
diff --git a/patches/api/0291-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0290-Add-ElderGuardianAppearanceEvent.patch
index 23897b7390..23897b7390 100644
--- a/patches/api/0291-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/api/0290-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/api/0292-Add-more-line-of-sight-methods.patch b/patches/api/0291-Add-more-line-of-sight-methods.patch
index dc87546ce9..dc87546ce9 100644
--- a/patches/api/0292-Add-more-line-of-sight-methods.patch
+++ b/patches/api/0291-Add-more-line-of-sight-methods.patch
diff --git a/patches/api/0293-Add-WaterBottleSplashEvent.patch b/patches/api/0292-Add-WaterBottleSplashEvent.patch
index f5525245fa..f5525245fa 100644
--- a/patches/api/0293-Add-WaterBottleSplashEvent.patch
+++ b/patches/api/0292-Add-WaterBottleSplashEvent.patch
diff --git a/patches/api/0294-Add-more-LimitedRegion-API.patch b/patches/api/0293-Add-more-LimitedRegion-API.patch
index 292f95c890..292f95c890 100644
--- a/patches/api/0294-Add-more-LimitedRegion-API.patch
+++ b/patches/api/0293-Add-more-LimitedRegion-API.patch
diff --git a/patches/api/0295-Missing-Entity-API.patch b/patches/api/0294-Missing-Entity-API.patch
index 582dafaea4..582dafaea4 100644
--- a/patches/api/0295-Missing-Entity-API.patch
+++ b/patches/api/0294-Missing-Entity-API.patch
diff --git a/patches/api/0296-Adds-PlayerArmSwingEvent.patch b/patches/api/0295-Adds-PlayerArmSwingEvent.patch
index 48e43517eb..48e43517eb 100644
--- a/patches/api/0296-Adds-PlayerArmSwingEvent.patch
+++ b/patches/api/0295-Adds-PlayerArmSwingEvent.patch
diff --git a/patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch
index 8882c35337..8882c35337 100644
--- a/patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch
+++ b/patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch
diff --git a/patches/api/0298-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
index 4b66990211..4b66990211 100644
--- a/patches/api/0298-fix-empty-array-elements-in-command-arguments.patch
+++ b/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
diff --git a/patches/api/0299-Stinger-API.patch b/patches/api/0298-Stinger-API.patch
index e209e5da29..e209e5da29 100644
--- a/patches/api/0299-Stinger-API.patch
+++ b/patches/api/0298-Stinger-API.patch
diff --git a/patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index aefa20a2d9..aefa20a2d9 100644
--- a/patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/api/0301-Add-PlayerSetSpawnEvent.patch b/patches/api/0300-Add-PlayerSetSpawnEvent.patch
index 42bce4d456..42bce4d456 100644
--- a/patches/api/0301-Add-PlayerSetSpawnEvent.patch
+++ b/patches/api/0300-Add-PlayerSetSpawnEvent.patch
diff --git a/patches/api/0302-Added-EntityDamageItemEvent.patch b/patches/api/0301-Added-EntityDamageItemEvent.patch
index 60513a1cbd..60513a1cbd 100644
--- a/patches/api/0302-Added-EntityDamageItemEvent.patch
+++ b/patches/api/0301-Added-EntityDamageItemEvent.patch
diff --git a/patches/api/0303-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0302-Make-EntityUnleashEvent-cancellable.patch
index e99584c277..e99584c277 100644
--- a/patches/api/0303-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/api/0302-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch
index d8e53593ae..d8e53593ae 100644
--- a/patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/api/0305-Add-BlockBreakBlockEvent.patch b/patches/api/0304-Add-BlockBreakBlockEvent.patch
index dd02c33432..dd02c33432 100644
--- a/patches/api/0305-Add-BlockBreakBlockEvent.patch
+++ b/patches/api/0304-Add-BlockBreakBlockEvent.patch
diff --git a/patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch
index 9dac2fe612..9dac2fe612 100644
--- a/patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch
+++ b/patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch
diff --git a/patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch
index fa4ad55705..fa4ad55705 100644
--- a/patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch
diff --git a/patches/api/0308-More-CommandBlock-API.patch b/patches/api/0307-More-CommandBlock-API.patch
index c8c52c7587..c8c52c7587 100644
--- a/patches/api/0308-More-CommandBlock-API.patch
+++ b/patches/api/0307-More-CommandBlock-API.patch
diff --git a/patches/api/0309-Add-missing-team-sidebar-display-slots.patch b/patches/api/0308-Add-missing-team-sidebar-display-slots.patch
index cdecbd1764..cdecbd1764 100644
--- a/patches/api/0309-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/api/0308-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/api/0310-add-back-EntityPortalExitEvent.patch b/patches/api/0309-add-back-EntityPortalExitEvent.patch
index 5a153e2345..5a153e2345 100644
--- a/patches/api/0310-add-back-EntityPortalExitEvent.patch
+++ b/patches/api/0309-add-back-EntityPortalExitEvent.patch
diff --git a/patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch
index ffa6fc8f05..ffa6fc8f05 100644
--- a/patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch
diff --git a/patches/api/0312-Get-entity-default-attributes.patch b/patches/api/0311-Get-entity-default-attributes.patch
index f0dd49bec9..4a094264ca 100644
--- a/patches/api/0312-Get-entity-default-attributes.patch
+++ b/patches/api/0311-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 4130481843c9e0b847bd656622b0c1107ac1297b..a846f3c6e8dceb90e42db903b8be2c248f2f9d5c 100644
+index 0a8a9e6fbead467737530ce6c84560dcbb803282..5028340475d3742ea407dfb70e0d2b2a3492dda3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -186,5 +186,22 @@ public interface UnsafeValues {
+@@ -187,5 +187,22 @@ public interface UnsafeValues {
* @return true if valid repair, false if not
*/
public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial);
diff --git a/patches/api/0313-Left-handed-API.patch b/patches/api/0312-Left-handed-API.patch
index cae17a697b..cae17a697b 100644
--- a/patches/api/0313-Left-handed-API.patch
+++ b/patches/api/0312-Left-handed-API.patch
diff --git a/patches/api/0314-Add-critical-damage-API.patch b/patches/api/0313-Add-critical-damage-API.patch
index f04ac65ac5..f04ac65ac5 100644
--- a/patches/api/0314-Add-critical-damage-API.patch
+++ b/patches/api/0313-Add-critical-damage-API.patch
diff --git a/patches/api/0315-Add-more-advancement-API.patch b/patches/api/0314-Add-more-advancement-API.patch
index 179dbdc225..179dbdc225 100644
--- a/patches/api/0315-Add-more-advancement-API.patch
+++ b/patches/api/0314-Add-more-advancement-API.patch
diff --git a/patches/api/0316-Fix-issues-with-mob-conversion.patch b/patches/api/0315-Fix-issues-with-mob-conversion.patch
index f451d967b6..f451d967b6 100644
--- a/patches/api/0316-Fix-issues-with-mob-conversion.patch
+++ b/patches/api/0315-Fix-issues-with-mob-conversion.patch
diff --git a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch b/patches/api/0316-Add-isCollidable-methods-to-various-places.patch
index 0c56af5c5d..ac9d9e1907 100644
--- a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/api/0316-Add-isCollidable-methods-to-various-places.patch
@@ -26,10 +26,10 @@ index 3cb658023d738617a310099fa3759af253a9f4c2..1ca448c9e3a3178663a033617d9414ec
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index a846f3c6e8dceb90e42db903b8be2c248f2f9d5c..e1f9d80f0a6481824443339015049f96f3bf86f2 100644
+index 5028340475d3742ea407dfb70e0d2b2a3492dda3..c15456fd9801607f848867efdd782ffc4056305b 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -203,5 +203,14 @@ public interface UnsafeValues {
+@@ -204,5 +204,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/0318-Goat-ram-API.patch b/patches/api/0317-Goat-ram-API.patch
index 06d426a786..06d426a786 100644
--- a/patches/api/0318-Goat-ram-API.patch
+++ b/patches/api/0317-Goat-ram-API.patch
diff --git a/patches/api/0319-Add-API-for-resetting-a-single-score.patch b/patches/api/0318-Add-API-for-resetting-a-single-score.patch
index 14142e8f6c..14142e8f6c 100644
--- a/patches/api/0319-Add-API-for-resetting-a-single-score.patch
+++ b/patches/api/0318-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0319-Add-Raw-Byte-Entity-Serialization.patch
index b0a70d977f..6c6c9a2f09 100644
--- a/patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/api/0319-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 e1f9d80f0a6481824443339015049f96f3bf86f2..9245f50b2bac30e956ef6ddc11c551b9b68463ee 100644
+index c15456fd9801607f848867efdd782ffc4056305b..8d63016729fceec3392c81372778764f092c5b22 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -158,6 +158,14 @@ public interface UnsafeValues {
+@@ -159,6 +159,14 @@ public interface UnsafeValues {
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0321-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0320-Add-PlayerItemFrameChangeEvent.patch
index b5d6cf7bd1..b5d6cf7bd1 100644
--- a/patches/api/0321-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/api/0320-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
index 664279d84f..bf74f046a9 100644
--- a/patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index c3d3c7d05a03658157d49c6ff1ea1d7d085a6fd4..fa7a63ea108971790c28c4f32d280ee6f2a86c0b 100644
+index e62d46629305a268906cd2cd5d5977d063c2f484..8f88dc00c73810560070195fcf6e0f955e4ebdde 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2105,6 +2105,24 @@ public final class Bukkit {
@@ -34,7 +34,7 @@ index c3d3c7d05a03658157d49c6ff1ea1d7d085a6fd4..fa7a63ea108971790c28c4f32d280ee6
* Creates a boss bar instance to display to players. The progress
* defaults to 1.0
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 61ee087ec4a75ee8b10e204b4cdd1bab5f066819..90b1368303562e1b4af2e658e60ac564bd49ad5f 100644
+index 7b6342a3d6ae0716876c958ef6029d5a6dc233bb..93626d79971125abd115ad7577fdee1d9fdd1f1f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1779,6 +1779,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0323-Add-more-Campfire-API.patch b/patches/api/0322-Add-more-Campfire-API.patch
index 80cdc0bb39..80cdc0bb39 100644
--- a/patches/api/0323-Add-more-Campfire-API.patch
+++ b/patches/api/0322-Add-more-Campfire-API.patch
diff --git a/patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch b/patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
index 5f5a4f4140..5f5a4f4140 100644
--- a/patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
+++ b/patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
diff --git a/patches/api/0325-Improve-scoreboard-entries.patch b/patches/api/0324-Improve-scoreboard-entries.patch
index d6e077bd86..d6e077bd86 100644
--- a/patches/api/0325-Improve-scoreboard-entries.patch
+++ b/patches/api/0324-Improve-scoreboard-entries.patch
diff --git a/patches/api/0326-Entity-powdered-snow-API.patch b/patches/api/0325-Entity-powdered-snow-API.patch
index b00af3e946..b00af3e946 100644
--- a/patches/api/0326-Entity-powdered-snow-API.patch
+++ b/patches/api/0325-Entity-powdered-snow-API.patch
diff --git a/patches/api/0327-Add-API-for-item-entity-health.patch b/patches/api/0326-Add-API-for-item-entity-health.patch
index 572034e557..572034e557 100644
--- a/patches/api/0327-Add-API-for-item-entity-health.patch
+++ b/patches/api/0326-Add-API-for-item-entity-health.patch
diff --git a/patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index f094cdc255..f094cdc255 100644
--- a/patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/api/0329-Bucketable-API.patch b/patches/api/0328-Bucketable-API.patch
index 26dbdc9f5d..26dbdc9f5d 100644
--- a/patches/api/0329-Bucketable-API.patch
+++ b/patches/api/0328-Bucketable-API.patch
diff --git a/patches/api/0330-System-prop-for-default-config-comment-parsing.patch b/patches/api/0329-System-prop-for-default-config-comment-parsing.patch
index 632f71e519..632f71e519 100644
--- a/patches/api/0330-System-prop-for-default-config-comment-parsing.patch
+++ b/patches/api/0329-System-prop-for-default-config-comment-parsing.patch
diff --git a/patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 9b189fc918..9b189fc918 100644
--- a/patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
diff --git a/patches/api/0332-Multiple-Entries-with-Scoreboards.patch b/patches/api/0331-Multiple-Entries-with-Scoreboards.patch
index 920c2f117e..920c2f117e 100644
--- a/patches/api/0332-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/api/0331-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/api/0333-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0332-Warn-on-strange-EventHandler-return-types.patch
index c7807b823b..c7807b823b 100644
--- a/patches/api/0333-Warn-on-strange-EventHandler-return-types.patch
+++ b/patches/api/0332-Warn-on-strange-EventHandler-return-types.patch
diff --git a/patches/api/0334-Multi-Block-Change-API.patch b/patches/api/0333-Multi-Block-Change-API.patch
index 46d8adeb56..46d8adeb56 100644
--- a/patches/api/0334-Multi-Block-Change-API.patch
+++ b/patches/api/0333-Multi-Block-Change-API.patch
diff --git a/patches/api/0335-Fix-NotePlayEvent.patch b/patches/api/0334-Fix-NotePlayEvent.patch
index d3f827bfd8..d3f827bfd8 100644
--- a/patches/api/0335-Fix-NotePlayEvent.patch
+++ b/patches/api/0334-Fix-NotePlayEvent.patch
diff --git a/patches/api/0336-Freeze-Tick-Lock-API.patch b/patches/api/0335-Freeze-Tick-Lock-API.patch
index baaf0b2462..baaf0b2462 100644
--- a/patches/api/0336-Freeze-Tick-Lock-API.patch
+++ b/patches/api/0335-Freeze-Tick-Lock-API.patch
diff --git a/patches/api/0337-Dolphin-API.patch b/patches/api/0336-Dolphin-API.patch
index 73beed437b..73beed437b 100644
--- a/patches/api/0337-Dolphin-API.patch
+++ b/patches/api/0336-Dolphin-API.patch
diff --git a/patches/api/0338-More-PotionEffectType-API.patch b/patches/api/0337-More-PotionEffectType-API.patch
index cad46c8765..cad46c8765 100644
--- a/patches/api/0338-More-PotionEffectType-API.patch
+++ b/patches/api/0337-More-PotionEffectType-API.patch
diff --git a/patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch
index 13d096a366..0a8e2307da 100644
--- a/patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for creating command sender which forwards feedback
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index fa7a63ea108971790c28c4f32d280ee6f2a86c0b..fb6a3b71cf3c304c5d0177747bc098e134b22d58 100644
+index 8f88dc00c73810560070195fcf6e0f955e4ebdde..1e96494c8080458f260ba94c4975ab18c4b4eefd 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1583,6 +1583,20 @@ public final class Bukkit {
@@ -30,7 +30,7 @@ index fa7a63ea108971790c28c4f32d280ee6f2a86c0b..fb6a3b71cf3c304c5d0177747bc098e1
* Gets the folder that contains all of the various {@link World}s.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 90b1368303562e1b4af2e658e60ac564bd49ad5f..43b049b68a8af548cd05c67dafc23dabd07bab27 100644
+index 93626d79971125abd115ad7577fdee1d9fdd1f1f..4b987d01c4f912ab567f1d3b3a91288b263f208a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1334,6 +1334,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0340-Implement-regenerateChunk.patch b/patches/api/0339-Implement-regenerateChunk.patch
index 8f63e4dd7a..8f63e4dd7a 100644
--- a/patches/api/0340-Implement-regenerateChunk.patch
+++ b/patches/api/0339-Implement-regenerateChunk.patch
diff --git a/patches/api/0341-Add-GameEvent-tags.patch b/patches/api/0340-Add-GameEvent-tags.patch
index 73554bb169..73554bb169 100644
--- a/patches/api/0341-Add-GameEvent-tags.patch
+++ b/patches/api/0340-Add-GameEvent-tags.patch
diff --git a/patches/api/0342-Furnace-RecipesUsed-API.patch b/patches/api/0341-Furnace-RecipesUsed-API.patch
index 7fed82db21..7fed82db21 100644
--- a/patches/api/0342-Furnace-RecipesUsed-API.patch
+++ b/patches/api/0341-Furnace-RecipesUsed-API.patch
diff --git a/patches/api/0343-Configurable-sculk-sensor-listener-range.patch b/patches/api/0342-Configurable-sculk-sensor-listener-range.patch
index b1ad0cdb5b..b1ad0cdb5b 100644
--- a/patches/api/0343-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/api/0342-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/api/0344-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0343-Add-missing-block-data-mins-and-maxes.patch
index 63a647706a..63a647706a 100644
--- a/patches/api/0344-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/api/0343-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/api/0345-Custom-Potion-Mixes.patch b/patches/api/0344-Custom-Potion-Mixes.patch
index 7987206bf8..07d8b8735c 100644
--- a/patches/api/0345-Custom-Potion-Mixes.patch
+++ b/patches/api/0344-Custom-Potion-Mixes.patch
@@ -155,7 +155,7 @@ index 0000000000000000000000000000000000000000..3ede1e8f7bf0436fdc5bf395c0f9eaf1
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 1bbf2306fd6fdb3ead79fc770434541c2e054875..88223f062665c2c738e73a725d292b868e5372af 100644
+index 1e96494c8080458f260ba94c4975ab18c4b4eefd..d56baf72235173121a694e8bb5331f2c515d3aa8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2630,6 +2630,15 @@ public final class Bukkit {
@@ -175,7 +175,7 @@ index 1bbf2306fd6fdb3ead79fc770434541c2e054875..88223f062665c2c738e73a725d292b86
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 5b13d84b39a006f84c74008d3141b1a2ac954b7d..0c2906de839fe8211ed431df2e5e94740f04b94a 100644
+index 4b987d01c4f912ab567f1d3b3a91288b263f208a..bad717c09db4bfa8c5fe65878bb053e14ca22356 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2290,5 +2290,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0346-Expose-furnace-minecart-push-values.patch b/patches/api/0345-Expose-furnace-minecart-push-values.patch
index 3d8c2336e7..3d8c2336e7 100644
--- a/patches/api/0346-Expose-furnace-minecart-push-values.patch
+++ b/patches/api/0345-Expose-furnace-minecart-push-values.patch
diff --git a/patches/api/0347-More-Projectile-API.patch b/patches/api/0346-More-Projectile-API.patch
index ba63dbcd3b..ba63dbcd3b 100644
--- a/patches/api/0347-More-Projectile-API.patch
+++ b/patches/api/0346-More-Projectile-API.patch
diff --git a/patches/api/0348-Add-getComputedBiome-API.patch b/patches/api/0347-Add-getComputedBiome-API.patch
index 6d24c2c66a..6d24c2c66a 100644
--- a/patches/api/0348-Add-getComputedBiome-API.patch
+++ b/patches/api/0347-Add-getComputedBiome-API.patch
diff --git a/patches/api/0349-Add-enchantWithLevels-API.patch b/patches/api/0348-Add-enchantWithLevels-API.patch
index 02d301e15a..02d301e15a 100644
--- a/patches/api/0349-Add-enchantWithLevels-API.patch
+++ b/patches/api/0348-Add-enchantWithLevels-API.patch
diff --git a/patches/api/0350-Add-TameableDeathMessageEvent.patch b/patches/api/0349-Add-TameableDeathMessageEvent.patch
index aec53f13ba..aec53f13ba 100644
--- a/patches/api/0350-Add-TameableDeathMessageEvent.patch
+++ b/patches/api/0349-Add-TameableDeathMessageEvent.patch
diff --git a/patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch
index 08ffa1fdde..08ffa1fdde 100644
--- a/patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch
+++ b/patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch
diff --git a/patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch b/patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
index 21b3f85c0b..21b3f85c0b 100644
--- a/patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
+++ b/patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
diff --git a/patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 5775b6f33c..5775b6f33c 100644
--- a/patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/api/0354-WorldCreator-keepSpawnLoaded.patch b/patches/api/0353-WorldCreator-keepSpawnLoaded.patch
index 287c313c58..287c313c58 100644
--- a/patches/api/0354-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/api/0353-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index e7a4ad2089..e7a4ad2089 100644
--- a/patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/api/0356-Add-PlayerStopUsingItemEvent.patch b/patches/api/0355-Add-PlayerStopUsingItemEvent.patch
index c8de1f6ed0..c8de1f6ed0 100644
--- a/patches/api/0356-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/api/0355-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/api/0357-Expand-FallingBlock-API.patch b/patches/api/0356-Expand-FallingBlock-API.patch
index d98776cf63..d98776cf63 100644
--- a/patches/api/0357-Expand-FallingBlock-API.patch
+++ b/patches/api/0356-Expand-FallingBlock-API.patch
diff --git a/patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch
index eb982e565a..c174049007 100644
--- a/patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index eb6d59bad1e4f0b394290d683f5dfed6ba6dd75b..a2e5e917a7a0f6763f2ac13583dc28d9ea35ca64 100644
+index d56baf72235173121a694e8bb5331f2c515d3aa8..a1d9663730d5a63685d337f5eba40532b47ffbfc 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -808,12 +808,26 @@ public final class Bukkit {
@@ -56,7 +56,7 @@ index eb6d59bad1e4f0b394290d683f5dfed6ba6dd75b..a2e5e917a7a0f6763f2ac13583dc28d9
* @param world the world to unload
* @param save whether to save the chunks before unloading
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 6da6c20b684eba64b85d67db2482b4a968749070..708ea9556510b2e9de2f7f1c381572e3bde540d1 100644
+index bad717c09db4bfa8c5fe65878bb053e14ca22356..d9acfac02a151e084789fb607f49ad511fe4e9de 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -675,34 +675,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0359-Add-WardenAngerChangeEvent.patch b/patches/api/0358-Add-WardenAngerChangeEvent.patch
index 4291ccd615..4291ccd615 100644
--- a/patches/api/0359-Add-WardenAngerChangeEvent.patch
+++ b/patches/api/0358-Add-WardenAngerChangeEvent.patch
diff --git a/patches/api/0360-Nameable-Banner-API.patch b/patches/api/0359-Nameable-Banner-API.patch
index eba196daaf..eba196daaf 100644
--- a/patches/api/0360-Nameable-Banner-API.patch
+++ b/patches/api/0359-Nameable-Banner-API.patch
diff --git a/patches/api/0361-Add-Player-getFishHook.patch b/patches/api/0360-Add-Player-getFishHook.patch
index feae3b2e47..feae3b2e47 100644
--- a/patches/api/0361-Add-Player-getFishHook.patch
+++ b/patches/api/0360-Add-Player-getFishHook.patch
diff --git a/patches/api/0362-More-Teleport-API.patch b/patches/api/0361-More-Teleport-API.patch
index eb36f5ee5d..eb36f5ee5d 100644
--- a/patches/api/0362-More-Teleport-API.patch
+++ b/patches/api/0361-More-Teleport-API.patch
diff --git a/patches/api/0363-Add-EntityPortalReadyEvent.patch b/patches/api/0362-Add-EntityPortalReadyEvent.patch
index b9321a8e0d..b9321a8e0d 100644
--- a/patches/api/0363-Add-EntityPortalReadyEvent.patch
+++ b/patches/api/0362-Add-EntityPortalReadyEvent.patch
diff --git a/patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch
index e22c1feefa..e22c1feefa 100644
--- a/patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch
diff --git a/patches/api/0365-Collision-API.patch b/patches/api/0364-Collision-API.patch
index f59dc05fbb..f59dc05fbb 100644
--- a/patches/api/0365-Collision-API.patch
+++ b/patches/api/0364-Collision-API.patch
diff --git a/patches/api/0366-Block-Ticking-API.patch b/patches/api/0365-Block-Ticking-API.patch
index 02fed74c9e..02fed74c9e 100644
--- a/patches/api/0366-Block-Ticking-API.patch
+++ b/patches/api/0365-Block-Ticking-API.patch
diff --git a/patches/api/0367-Add-NamespacedKey-biome-methods.patch b/patches/api/0366-Add-NamespacedKey-biome-methods.patch
index 9b5cd7d737..33cb3ec8a0 100644
--- a/patches/api/0367-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0366-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 9245f50b2bac30e956ef6ddc11c551b9b68463ee..5d862c9221d1ce6d577295a5181f951c2f71a631 100644
+index 8d63016729fceec3392c81372778764f092c5b22..c16e03d0676b46b3b74e706309d34e66b5e7a4b3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -220,5 +220,32 @@ public interface UnsafeValues {
+@@ -221,5 +221,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/0368-Also-load-resources-from-LibraryLoader.patch b/patches/api/0367-Also-load-resources-from-LibraryLoader.patch
index c2a41c2e53..c2a41c2e53 100644
--- a/patches/api/0368-Also-load-resources-from-LibraryLoader.patch
+++ b/patches/api/0367-Also-load-resources-from-LibraryLoader.patch
diff --git a/patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch
index 9b71f12681..9b71f12681 100644
--- a/patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 291761dadb..291761dadb 100644
--- a/patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff --git a/patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
index 9b5ef25cf4..9b5ef25cf4 100644
--- a/patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
+++ b/patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
diff --git a/patches/api/0372-Add-getDrops-to-BlockState.patch b/patches/api/0371-Add-getDrops-to-BlockState.patch
index f9e8152229..f9e8152229 100644
--- a/patches/api/0372-Add-getDrops-to-BlockState.patch
+++ b/patches/api/0371-Add-getDrops-to-BlockState.patch
diff --git a/patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch
index d76df6d87d..d76df6d87d 100644
--- a/patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/api/0374-Elder-Guardian-appearance-API.patch b/patches/api/0373-Elder-Guardian-appearance-API.patch
index 3490b6d5db..3490b6d5db 100644
--- a/patches/api/0374-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0373-Elder-Guardian-appearance-API.patch
diff --git a/patches/api/0375-Allow-changing-bed-s-occupied-property.patch b/patches/api/0374-Allow-changing-bed-s-occupied-property.patch
index 8dfafd6d33..8dfafd6d33 100644
--- a/patches/api/0375-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/api/0374-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0375-Add-EquipmentSlot-convenience-methods.patch
index 14a97a21b4..f7e2301f31 100644
--- a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch
+++ b/patches/api/0375-Add-EquipmentSlot-convenience-methods.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add EquipmentSlot convenience methods
diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlot.java b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
-index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..a10d56b797e58b56bd4cef6de40691f7eac9b5b1 100644
+index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..c1c69ba4c361740f0ad422a7840a7f0f055c186a 100644
--- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java
+++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
@@ -33,4 +33,42 @@ public enum EquipmentSlot {
diff --git a/patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
index fc814196e7..fc814196e7 100644
--- a/patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
+++ b/patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
diff --git a/patches/api/0378-Add-entity-knockback-API.patch b/patches/api/0377-Add-entity-knockback-API.patch
index b8c91440f6..b8c91440f6 100644
--- a/patches/api/0378-Add-entity-knockback-API.patch
+++ b/patches/api/0377-Add-entity-knockback-API.patch
diff --git a/patches/api/0379-Added-EntityToggleSitEvent.patch b/patches/api/0378-Added-EntityToggleSitEvent.patch
index d5a8c46dc8..d5a8c46dc8 100644
--- a/patches/api/0379-Added-EntityToggleSitEvent.patch
+++ b/patches/api/0378-Added-EntityToggleSitEvent.patch
diff --git a/patches/api/0380-Add-Moving-Piston-API.patch b/patches/api/0379-Add-Moving-Piston-API.patch
index 8f889f1e3d..8f889f1e3d 100644
--- a/patches/api/0380-Add-Moving-Piston-API.patch
+++ b/patches/api/0379-Add-Moving-Piston-API.patch
diff --git a/patches/api/0381-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0380-Add-PrePlayerAttackEntityEvent.patch
index ac0ebedde7..ac0ebedde7 100644
--- a/patches/api/0381-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/api/0380-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/api/0382-Add-Player-Warden-Warning-API.patch b/patches/api/0381-Add-Player-Warden-Warning-API.patch
index 42426a3ae4..42426a3ae4 100644
--- a/patches/api/0382-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0381-Add-Player-Warden-Warning-API.patch
diff --git a/patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch
index f13fdb5601..f13fdb5601 100644
--- a/patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/api/0384-Add-paper-dumplisteners-command.patch b/patches/api/0383-Add-paper-dumplisteners-command.patch
index a5d858851f..a5d858851f 100644
--- a/patches/api/0384-Add-paper-dumplisteners-command.patch
+++ b/patches/api/0383-Add-paper-dumplisteners-command.patch
diff --git a/patches/api/0385-ItemStack-damage-API.patch b/patches/api/0384-ItemStack-damage-API.patch
index ba61a1c399..ba61a1c399 100644
--- a/patches/api/0385-ItemStack-damage-API.patch
+++ b/patches/api/0384-ItemStack-damage-API.patch
diff --git a/patches/api/0386-Add-Tick-TemporalUnit.patch b/patches/api/0385-Add-Tick-TemporalUnit.patch
index 562eb00082..562eb00082 100644
--- a/patches/api/0386-Add-Tick-TemporalUnit.patch
+++ b/patches/api/0385-Add-Tick-TemporalUnit.patch
diff --git a/patches/api/0387-Friction-API.patch b/patches/api/0386-Friction-API.patch
index 4aab88652e..4aab88652e 100644
--- a/patches/api/0387-Friction-API.patch
+++ b/patches/api/0386-Friction-API.patch
diff --git a/patches/api/0388-Player-Entity-Tracking-Events.patch b/patches/api/0387-Player-Entity-Tracking-Events.patch
index 3dfa72c922..3dfa72c922 100644
--- a/patches/api/0388-Player-Entity-Tracking-Events.patch
+++ b/patches/api/0387-Player-Entity-Tracking-Events.patch
diff --git a/patches/api/0389-Add-missing-Fluid-type.patch b/patches/api/0388-Add-missing-Fluid-type.patch
index c260bf8497..c260bf8497 100644
--- a/patches/api/0389-Add-missing-Fluid-type.patch
+++ b/patches/api/0388-Add-missing-Fluid-type.patch
diff --git a/patches/api/0390-fix-Instruments.patch b/patches/api/0389-fix-Instruments.patch
index 468dc80a34..468dc80a34 100644
--- a/patches/api/0390-fix-Instruments.patch
+++ b/patches/api/0389-fix-Instruments.patch
diff --git a/patches/api/0391-Add-BlockLockCheckEvent.patch b/patches/api/0390-Add-BlockLockCheckEvent.patch
index c5d560192c..c5d560192c 100644
--- a/patches/api/0391-Add-BlockLockCheckEvent.patch
+++ b/patches/api/0390-Add-BlockLockCheckEvent.patch
diff --git a/patches/api/0392-Add-Sneaking-API-for-Entities.patch b/patches/api/0391-Add-Sneaking-API-for-Entities.patch
index 3f8d4c724f..3f8d4c724f 100644
--- a/patches/api/0392-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0391-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/api/0393-Improve-PortalEvents.patch b/patches/api/0392-Improve-PortalEvents.patch
index f7f53b19fc..f7f53b19fc 100644
--- a/patches/api/0393-Improve-PortalEvents.patch
+++ b/patches/api/0392-Improve-PortalEvents.patch
diff --git a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch b/patches/api/0393-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch
index 88530a6a65..88530a6a65 100644
--- a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch
+++ b/patches/api/0393-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch
diff --git a/patches/api/0395-Flying-Fall-Damage-API.patch b/patches/api/0394-Flying-Fall-Damage-API.patch
index b38eb93f1c..b38eb93f1c 100644
--- a/patches/api/0395-Flying-Fall-Damage-API.patch
+++ b/patches/api/0394-Flying-Fall-Damage-API.patch
diff --git a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0395-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
index b8287d2850..b8287d2850 100644
--- a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
+++ b/patches/api/0395-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
diff --git a/patches/api/0397-Win-Screen-API.patch b/patches/api/0396-Win-Screen-API.patch
index 05fbb589d3..05fbb589d3 100644
--- a/patches/api/0397-Win-Screen-API.patch
+++ b/patches/api/0396-Win-Screen-API.patch
diff --git a/patches/api/0398-Add-Entity-Body-Yaw-API.patch b/patches/api/0397-Add-Entity-Body-Yaw-API.patch
index d1d983e166..d1d983e166 100644
--- a/patches/api/0398-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0397-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0398-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
index c375206bf7..c375206bf7 100644
--- a/patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
+++ b/patches/api/0398-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
diff --git a/patches/api/0400-Add-EntityFertilizeEggEvent.patch b/patches/api/0399-Add-EntityFertilizeEggEvent.patch
index 4ae6ff9f0f..4ae6ff9f0f 100644
--- a/patches/api/0400-Add-EntityFertilizeEggEvent.patch
+++ b/patches/api/0399-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0400-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 9dee250212..9dee250212 100644
--- a/patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/api/0400-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/api/0402-Add-Shearable-API.patch b/patches/api/0401-Add-Shearable-API.patch
index 19ef9a4a36..19ef9a4a36 100644
--- a/patches/api/0402-Add-Shearable-API.patch
+++ b/patches/api/0401-Add-Shearable-API.patch
diff --git a/patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0402-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 27abcd1f93..27abcd1f93 100644
--- a/patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/api/0402-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/api/0404-Add-Mob-Experience-reward-API.patch b/patches/api/0403-Add-Mob-Experience-reward-API.patch
index 2e3a09921e..2e3a09921e 100644
--- a/patches/api/0404-Add-Mob-Experience-reward-API.patch
+++ b/patches/api/0403-Add-Mob-Experience-reward-API.patch
diff --git a/patches/api/0405-Expand-PlayerItemMendEvent.patch b/patches/api/0404-Expand-PlayerItemMendEvent.patch
index 223922e05e..223922e05e 100644
--- a/patches/api/0405-Expand-PlayerItemMendEvent.patch
+++ b/patches/api/0404-Expand-PlayerItemMendEvent.patch
diff --git a/patches/api/0406-Add-transient-modifier-API.patch b/patches/api/0405-Add-transient-modifier-API.patch
index a32e4c86a9..a32e4c86a9 100644
--- a/patches/api/0406-Add-transient-modifier-API.patch
+++ b/patches/api/0405-Add-transient-modifier-API.patch
diff --git a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0406-Properly-remove-the-experimental-smithing-inventory-.patch
index 3f9c7d07ec..3f9c7d07ec 100644
--- a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/api/0406-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0407-Add-method-to-remove-all-active-potion-effects.patch
index 65345ce8c8..65345ce8c8 100644
--- a/patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/api/0407-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/api/0409-Folia-scheduler-and-owned-region-API.patch b/patches/api/0408-Folia-scheduler-and-owned-region-API.patch
index 0cb828dfbf..ef56eaab1c 100644
--- a/patches/api/0409-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0408-Folia-scheduler-and-owned-region-API.patch
@@ -499,7 +499,7 @@ index 0000000000000000000000000000000000000000..a6b50c9d8af589cc4747e14d343d2045
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 00b855a22b5b838db46126ff5bd6797ffff97da2..6545c5879706f4e527e4f742cc553c6e852cd6f8 100644
+index a1d9663730d5a63685d337f5eba40532b47ffbfc..91476b9e5238caf49492cb23b549c9df6a45ed3e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2661,6 +2661,141 @@ public final class Bukkit {
@@ -645,7 +645,7 @@ index 00b855a22b5b838db46126ff5bd6797ffff97da2..6545c5879706f4e527e4f742cc553c6e
public static Server.Spigot spigot() {
return server.spigot();
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index b3b82405440c236f035e49d0edf6fda12e2db4bb..fb31f2a668b2d6a1115123e34adea67ed4dbfd22 100644
+index d9acfac02a151e084789fb607f49ad511fe4e9de..e0f42b67f41bbba6807fd4ca3a6a546ccdc4b68f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2319,4 +2319,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0410-Add-event-for-player-editing-sign.patch b/patches/api/0409-Add-event-for-player-editing-sign.patch
index b534aebde9..b534aebde9 100644
--- a/patches/api/0410-Add-event-for-player-editing-sign.patch
+++ b/patches/api/0409-Add-event-for-player-editing-sign.patch
diff --git a/patches/api/0411-Add-Sign-getInteractableSideFor.patch b/patches/api/0410-Add-Sign-getInteractableSideFor.patch
index 1e085323ca..1e085323ca 100644
--- a/patches/api/0411-Add-Sign-getInteractableSideFor.patch
+++ b/patches/api/0410-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/api/0412-Fix-BanList-API.patch b/patches/api/0411-Fix-BanList-API.patch
index 911f301327..911f301327 100644
--- a/patches/api/0412-Fix-BanList-API.patch
+++ b/patches/api/0411-Fix-BanList-API.patch
diff --git a/patches/api/0413-Add-whitelist-events.patch b/patches/api/0412-Add-whitelist-events.patch
index 75458e78df..75458e78df 100644
--- a/patches/api/0413-Add-whitelist-events.patch
+++ b/patches/api/0412-Add-whitelist-events.patch
diff --git a/patches/api/0414-API-for-updating-recipes-on-clients.patch b/patches/api/0413-API-for-updating-recipes-on-clients.patch
index 60f206a340..99f5d3023a 100644
--- a/patches/api/0414-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0413-API-for-updating-recipes-on-clients.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index e4f3f621c4c6d2653770c149db71587fc04e0991..b5455d03761ced30c94719deeee6788d7c6a8fb7 100644
+index 91476b9e5238caf49492cb23b549c9df6a45ed3e..d6be967c2fd480547bf9eb3938ca147382f835da 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -992,6 +992,26 @@ public final class Bukkit {
@@ -82,7 +82,7 @@ index e4f3f621c4c6d2653770c149db71587fc04e0991..b5455d03761ced30c94719deeee6788d
* Gets a list of command aliases defined in the server properties.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 63cbc38217865be8f79890a0d8d6143461d344f3..c0ebbca69775775af22cf2c31b1516e5bf18df4a 100644
+index e0f42b67f41bbba6807fd4ca3a6a546ccdc4b68f..b8866e8c79f347c87a86713060d81a082ff3f8e3 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -838,6 +838,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0415-Add-PlayerFailMoveEvent.patch b/patches/api/0414-Add-PlayerFailMoveEvent.patch
index c0687e2ae0..c0687e2ae0 100644
--- a/patches/api/0415-Add-PlayerFailMoveEvent.patch
+++ b/patches/api/0414-Add-PlayerFailMoveEvent.patch
diff --git a/patches/api/0416-Fix-custom-statistic-criteria-creation.patch b/patches/api/0415-Fix-custom-statistic-criteria-creation.patch
index f8da658f51..9b19d71a00 100644
--- a/patches/api/0416-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0415-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 5d862c9221d1ce6d577295a5181f951c2f71a631..e19434a0f5065987be087b6bd531c88be33d2917 100644
+index c16e03d0676b46b3b74e706309d34e66b5e7a4b3..ce6832ef635c0e4388313f86e250ea8c47ff4294 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -247,5 +247,7 @@ public interface UnsafeValues {
+@@ -248,5 +248,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/api/0417-SculkCatalyst-bloom-API.patch b/patches/api/0416-SculkCatalyst-bloom-API.patch
index 49d8c8c2bd..49d8c8c2bd 100644
--- a/patches/api/0417-SculkCatalyst-bloom-API.patch
+++ b/patches/api/0416-SculkCatalyst-bloom-API.patch
diff --git a/patches/api/0418-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0417-API-for-an-entity-s-scoreboard-name.patch
index 9820a1a54f..9820a1a54f 100644
--- a/patches/api/0418-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/api/0417-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0418-Deprecate-and-replace-methods-with-old-StructureType.patch
index 77b0ffe0a4..56f67c813a 100644
--- a/patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0418-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index b5455d03761ced30c94719deeee6788d7c6a8fb7..c9fbbf0287cd663080fc09ac83b439780cbfae85 100644
+index d6be967c2fd480547bf9eb3938ca147382f835da..81203ad1460f3b64413a8426fb58a051b7d78f03 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -937,9 +937,6 @@ public final class Bukkit {
@@ -84,7 +84,7 @@ index b5455d03761ced30c94719deeee6788d7c6a8fb7..c9fbbf0287cd663080fc09ac83b43978
/**
* Reloads the server, refreshing settings and plugin information.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c0ebbca69775775af22cf2c31b1516e5bf18df4a..c8395c8707e696f1e6fc8b0fd03f07203e01c157 100644
+index b8866e8c79f347c87a86713060d81a082ff3f8e3..cab1959a1917e008337c23b73b9170cd455ba4f9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -802,16 +802,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0420-Add-Listing-API-for-Player.patch b/patches/api/0419-Add-Listing-API-for-Player.patch
index 94d5892bd0..94d5892bd0 100644
--- a/patches/api/0420-Add-Listing-API-for-Player.patch
+++ b/patches/api/0419-Add-Listing-API-for-Player.patch
diff --git a/patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0420-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index 34d1940866..34d1940866 100644
--- a/patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/api/0420-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/api/0422-Fix-NPE-on-Boat-getStatus.patch b/patches/api/0421-Fix-NPE-on-Boat-getStatus.patch
index 1cf6096a92..1cf6096a92 100644
--- a/patches/api/0422-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/api/0421-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/api/0423-Expand-Pose-API.patch b/patches/api/0422-Expand-Pose-API.patch
index b6d907acb4..b6d907acb4 100644
--- a/patches/api/0423-Expand-Pose-API.patch
+++ b/patches/api/0422-Expand-Pose-API.patch
diff --git a/patches/api/0424-MerchantRecipe-add-copy-constructor.patch b/patches/api/0423-MerchantRecipe-add-copy-constructor.patch
index 1c5ba2803c..1c5ba2803c 100644
--- a/patches/api/0424-MerchantRecipe-add-copy-constructor.patch
+++ b/patches/api/0423-MerchantRecipe-add-copy-constructor.patch
diff --git a/patches/api/0425-More-DragonBattle-API.patch b/patches/api/0424-More-DragonBattle-API.patch
index e25208ec19..e25208ec19 100644
--- a/patches/api/0425-More-DragonBattle-API.patch
+++ b/patches/api/0424-More-DragonBattle-API.patch
diff --git a/patches/api/0426-Add-PlayerPickItemEvent.patch b/patches/api/0425-Add-PlayerPickItemEvent.patch
index 6dd0be80a8..6dd0be80a8 100644
--- a/patches/api/0426-Add-PlayerPickItemEvent.patch
+++ b/patches/api/0425-Add-PlayerPickItemEvent.patch
diff --git a/patches/api/0427-Allow-trident-custom-damage.patch b/patches/api/0426-Allow-trident-custom-damage.patch
index 870b735548..870b735548 100644
--- a/patches/api/0427-Allow-trident-custom-damage.patch
+++ b/patches/api/0426-Allow-trident-custom-damage.patch
diff --git a/patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0427-Expose-hand-during-BlockCanBuildEvent.patch
index 97d99a40d2..97d99a40d2 100644
--- a/patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/api/0427-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch b/patches/api/0428-Limit-setBurnTime-to-valid-short-values.patch
index 2faac56fd8..2faac56fd8 100644
--- a/patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch
+++ b/patches/api/0428-Limit-setBurnTime-to-valid-short-values.patch
diff --git a/patches/api/0430-Add-OfflinePlayer-isConnected.patch b/patches/api/0429-Add-OfflinePlayer-isConnected.patch
index fad59b6a54..fad59b6a54 100644
--- a/patches/api/0430-Add-OfflinePlayer-isConnected.patch
+++ b/patches/api/0429-Add-OfflinePlayer-isConnected.patch
diff --git a/patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/api/0430-Add-titleOverride-to-InventoryOpenEvent.patch
index 68e755f010..68e755f010 100644
--- a/patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/api/0430-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0431-Allow-proper-checking-of-empty-item-stacks.patch
index 4b2d49be32..4b2d49be32 100644
--- a/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/api/0431-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch b/patches/api/0432-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
index e72f86be5d..e72f86be5d 100644
--- a/patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
+++ b/patches/api/0432-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
diff --git a/patches/api/0434-Add-player-idle-duration-API.patch b/patches/api/0433-Add-player-idle-duration-API.patch
index 41b55311ed..41b55311ed 100644
--- a/patches/api/0434-Add-player-idle-duration-API.patch
+++ b/patches/api/0433-Add-player-idle-duration-API.patch
diff --git a/patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/api/0434-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 0481690ad4..0481690ad4 100644
--- a/patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/api/0434-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0435-Add-predicate-for-blocks-when-raytracing.patch
index c212167a42..c212167a42 100644
--- a/patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0435-Add-predicate-for-blocks-when-raytracing.patch
diff --git a/patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/api/0436-Add-hand-to-fish-event-for-all-player-interactions.patch
index b431332b9a..b431332b9a 100644
--- a/patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/api/0436-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/api/0438-Add-UUID-attribute-modifier-API.patch b/patches/api/0437-Add-UUID-attribute-modifier-API.patch
index 251ae6e425..251ae6e425 100644
--- a/patches/api/0438-Add-UUID-attribute-modifier-API.patch
+++ b/patches/api/0437-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/api/0439-Expand-LingeringPotion-API.patch b/patches/api/0438-Expand-LingeringPotion-API.patch
index 40b5a5f547..40b5a5f547 100644
--- a/patches/api/0439-Expand-LingeringPotion-API.patch
+++ b/patches/api/0438-Expand-LingeringPotion-API.patch
diff --git a/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0439-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
index 4974a88a57..4974a88a57 100644
--- a/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
+++ b/patches/api/0439-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
diff --git a/patches/api/0441-Add-Structure-check-API.patch b/patches/api/0440-Add-Structure-check-API.patch
index 4c0756c86e..4c0756c86e 100644
--- a/patches/api/0441-Add-Structure-check-API.patch
+++ b/patches/api/0440-Add-Structure-check-API.patch
diff --git a/patches/api/0442-add-missing-Experimental-annotations.patch b/patches/api/0441-add-missing-Experimental-annotations.patch
index 0f29e5ede8..4a204eb8b0 100644
--- a/patches/api/0442-add-missing-Experimental-annotations.patch
+++ b/patches/api/0441-add-missing-Experimental-annotations.patch
@@ -447,7 +447,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
/**
* BlockData: {@link Levelled}
diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java
-index b0ccd263cabe911d43cc13261011b64cacaeb7bb..82d75010cc86bbbbb9c094c2bac5e570c98582c9 100644
+index c5e3a8143a166d426d87fa3d0f0b3d4f3d4bff1a..50cc7a920bab32264d77f30d3af986b02229c749 100644
--- a/src/main/java/org/bukkit/Particle.java
+++ b/src/main/java/org/bukkit/Particle.java
@@ -130,33 +130,46 @@ public enum Particle implements Keyed {
diff --git a/patches/api/0443-Add-more-scoreboard-API.patch b/patches/api/0442-Add-more-scoreboard-API.patch
index 201af36b0c..201af36b0c 100644
--- a/patches/api/0443-Add-more-scoreboard-API.patch
+++ b/patches/api/0442-Add-more-scoreboard-API.patch
diff --git a/patches/api/0444-Improve-Registry.patch b/patches/api/0443-Improve-Registry.patch
index 61744f44e9..9e484fcf71 100644
--- a/patches/api/0444-Improve-Registry.patch
+++ b/patches/api/0443-Improve-Registry.patch
@@ -31,7 +31,7 @@ index 62d2b3f950860dee0898d77b0a29635c3f9a7e23..704dba92f9246ef398ed8d162ebee3cf
@Override
public @NotNull String translationKey() {
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 9a8be5c730802e5750de1fc31e65f254f5894e63..0f7f23738c57ebe37846714159bb49e5b61e9f3d 100644
+index 90ab3bef4c5b6b6e215e9c759c886ed6d0f3302b..d2eaf28999d437bf23ba5c7408124ad69d71fc79 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
@@ -335,6 +335,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
diff --git a/patches/api/0445-Add-experience-points-API.patch b/patches/api/0444-Add-experience-points-API.patch
index a0add5e837..a0add5e837 100644
--- a/patches/api/0445-Add-experience-points-API.patch
+++ b/patches/api/0444-Add-experience-points-API.patch
diff --git a/patches/api/0446-Add-missing-InventoryType.patch b/patches/api/0445-Add-missing-InventoryType.patch
index 9c578e05a4..9c578e05a4 100644
--- a/patches/api/0446-Add-missing-InventoryType.patch
+++ b/patches/api/0445-Add-missing-InventoryType.patch
diff --git a/patches/api/0447-Add-drops-to-shear-events.patch b/patches/api/0446-Add-drops-to-shear-events.patch
index c87460e48d..c87460e48d 100644
--- a/patches/api/0447-Add-drops-to-shear-events.patch
+++ b/patches/api/0446-Add-drops-to-shear-events.patch
diff --git a/patches/api/0448-Add-HiddenPotionEffect-API.patch b/patches/api/0447-Add-HiddenPotionEffect-API.patch
index 30a7bc6c0e..30a7bc6c0e 100644
--- a/patches/api/0448-Add-HiddenPotionEffect-API.patch
+++ b/patches/api/0447-Add-HiddenPotionEffect-API.patch
diff --git a/patches/api/0449-Add-PlayerShieldDisableEvent.patch b/patches/api/0448-Add-PlayerShieldDisableEvent.patch
index 29c7daa0e3..29c7daa0e3 100644
--- a/patches/api/0449-Add-PlayerShieldDisableEvent.patch
+++ b/patches/api/0448-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0449-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
index 93ba48c77c..93ba48c77c 100644
--- a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
+++ b/patches/api/0449-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
diff --git a/patches/api/0451-Add-BlockStateMeta-clearBlockState.patch b/patches/api/0450-Add-BlockStateMeta-clearBlockState.patch
index 1a81132aa8..7e8c47a8e2 100644
--- a/patches/api/0451-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/api/0450-Add-BlockStateMeta-clearBlockState.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockStateMeta#clearBlockState
diff --git a/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
-index e7d905b1146b2bdd2da5bdeb6bf3541fb181d59e..9f08ce5e89ecb4e335f7459a4e600e638e71f963 100644
+index c7d3041221742f6655155f19ef2addcaf2401015..dedb33e3d7f99e12fddba438af0874e6973d9372 100644
--- a/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
@@ -14,6 +14,13 @@ public interface BlockStateMeta extends ItemMeta {
diff --git a/patches/api/0452-Expose-LootTable-of-DecoratedPot.patch b/patches/api/0451-Expose-LootTable-of-DecoratedPot.patch
index 42a8de4123..42a8de4123 100644
--- a/patches/api/0452-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/api/0451-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/api/0453-Add-ShulkerDuplicateEvent.patch b/patches/api/0452-Add-ShulkerDuplicateEvent.patch
index a0a81094ce..a0a81094ce 100644
--- a/patches/api/0453-Add-ShulkerDuplicateEvent.patch
+++ b/patches/api/0452-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0453-Add-api-for-spawn-egg-texture-colors.patch
index 6e3d91aff4..acb4bdb6b5 100644
--- a/patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/api/0453-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index e19434a0f5065987be087b6bd531c88be33d2917..80947c6862a906dec9c039b5dff993461d4d831b 100644
+index ce6832ef635c0e4388313f86e250ea8c47ff4294..1e06458edc7e8d2ebec8c4d83f5877aadf729aa1 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -250,4 +250,17 @@ public interface UnsafeValues {
+@@ -251,4 +251,17 @@ public interface UnsafeValues {
String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic);
// Paper end
diff --git a/patches/api/0455-Add-Lifecycle-Event-system.patch b/patches/api/0454-Add-Lifecycle-Event-system.patch
index 4b36ba4885..be1104b0d4 100644
--- a/patches/api/0455-Add-Lifecycle-Event-system.patch
+++ b/patches/api/0454-Add-Lifecycle-Event-system.patch
@@ -528,10 +528,10 @@ index 0000000000000000000000000000000000000000..304f978e40e1759bb19704cc5cec3995
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 80947c6862a906dec9c039b5dff993461d4d831b..7e6bdf3333537491b3421d196779a4eb502f7314 100644
+index 1e06458edc7e8d2ebec8c4d83f5877aadf729aa1..563798fda1236e2df39d8908f386c91b3f190d58 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -263,4 +263,12 @@ public interface UnsafeValues {
+@@ -264,4 +264,12 @@ public interface UnsafeValues {
*/
@Nullable org.bukkit.Color getSpawnEggLayerColor(org.bukkit.entity.EntityType entityType, int layer);
// Paper end - spawn egg color visibility
diff --git a/patches/api/0456-ItemStack-Tooltip-API.patch b/patches/api/0455-ItemStack-Tooltip-API.patch
index aa6b6ddd15..f3bddbb6d0 100644
--- a/patches/api/0456-ItemStack-Tooltip-API.patch
+++ b/patches/api/0455-ItemStack-Tooltip-API.patch
@@ -108,10 +108,10 @@ index 0000000000000000000000000000000000000000..1d9bed6691f581529c53b577b26f1d0f
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 7e6bdf3333537491b3421d196779a4eb502f7314..a3ba9249e636d1fb8dad98fab413436009fe04df 100644
+index 563798fda1236e2df39d8908f386c91b3f190d58..521b9e1e5614597ae0220934a96bd6c51bda050b 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -271,4 +271,6 @@ public interface UnsafeValues {
+@@ -272,4 +272,6 @@ public interface UnsafeValues {
@org.jetbrains.annotations.ApiStatus.Internal
io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager<org.bukkit.plugin.Plugin> createPluginLifecycleEventManager(final org.bukkit.plugin.java.JavaPlugin plugin, final java.util.function.BooleanSupplier registrationCheck);
// Paper end - lifecycle event API
diff --git a/patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0456-Add-getChunkSnapshot-includeLightData-parameter.patch
index 0437924b94..0437924b94 100644
--- a/patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/api/0456-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/api/0458-Add-FluidState-API.patch b/patches/api/0457-Add-FluidState-API.patch
index 3235c393f5..3235c393f5 100644
--- a/patches/api/0458-Add-FluidState-API.patch
+++ b/patches/api/0457-Add-FluidState-API.patch
diff --git a/patches/api/0459-add-number-format-api.patch b/patches/api/0458-add-number-format-api.patch
index 6d32302ad0..6d32302ad0 100644
--- a/patches/api/0459-add-number-format-api.patch
+++ b/patches/api/0458-add-number-format-api.patch
diff --git a/patches/api/0460-improve-BanList-types.patch b/patches/api/0459-improve-BanList-types.patch
index 2236f8bf3e..7b97e414a1 100644
--- a/patches/api/0460-improve-BanList-types.patch
+++ b/patches/api/0459-improve-BanList-types.patch
@@ -68,7 +68,7 @@ index a77c0411a68a9bad33ddfb335b7a996a843e478c..0e0baadde9e34d28db56dc68e66aaf66
/**
* Banned player names
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index c9fbbf0287cd663080fc09ac83b439780cbfae85..687bd8f54c9bfb5f5ab1f7ad9d232daf2433cc76 100644
+index 81203ad1460f3b64413a8426fb58a051b7d78f03..5d1b55fdbcbe63f6b42b694d05211a3cc691a09d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1651,11 +1651,27 @@ public final class Bukkit {
@@ -100,7 +100,7 @@ index c9fbbf0287cd663080fc09ac83b439780cbfae85..687bd8f54c9bfb5f5ab1f7ad9d232daf
/**
* Gets a set containing all player operators.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c8395c8707e696f1e6fc8b0fd03f07203e01c157..27084402cf0e46dcd171074629b7c4156e48aa44 100644
+index cab1959a1917e008337c23b73b9170cd455ba4f9..30cbe3bdc7142769019765b03cc4fe1f9ba1ddb4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1410,10 +1410,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0461-Suspicious-Effect-Entry-API.patch b/patches/api/0460-Suspicious-Effect-Entry-API.patch
index 7c9548be79..7c9548be79 100644
--- a/patches/api/0461-Suspicious-Effect-Entry-API.patch
+++ b/patches/api/0460-Suspicious-Effect-Entry-API.patch
diff --git a/patches/api/0462-Fix-DamageSource-API.patch b/patches/api/0461-Fix-DamageSource-API.patch
index efe4403e2c..efe4403e2c 100644
--- a/patches/api/0462-Fix-DamageSource-API.patch
+++ b/patches/api/0461-Fix-DamageSource-API.patch
diff --git a/patches/api/0463-Expanded-Hopper-API.patch b/patches/api/0462-Expanded-Hopper-API.patch
index 51cb6dfee2..51cb6dfee2 100644
--- a/patches/api/0463-Expanded-Hopper-API.patch
+++ b/patches/api/0462-Expanded-Hopper-API.patch
diff --git a/patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch b/patches/api/0463-Clone-mutables-to-prevent-unexpected-issues.patch
index e84ea7d3aa..e84ea7d3aa 100644
--- a/patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch
+++ b/patches/api/0463-Clone-mutables-to-prevent-unexpected-issues.patch
diff --git a/patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch b/patches/api/0464-Add-BlockBreakProgressUpdateEvent.patch
index a2b5a83baf..a2b5a83baf 100644
--- a/patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/api/0464-Add-BlockBreakProgressUpdateEvent.patch
diff --git a/patches/api/0466-Deprecate-ItemStack-setType.patch b/patches/api/0465-Deprecate-ItemStack-setType.patch
index 9f21ce5142..9f21ce5142 100644
--- a/patches/api/0466-Deprecate-ItemStack-setType.patch
+++ b/patches/api/0465-Deprecate-ItemStack-setType.patch
diff --git a/patches/api/0467-Item-Mutation-Fixes.patch b/patches/api/0466-Item-Mutation-Fixes.patch
index c1c3508b78..c1c3508b78 100644
--- a/patches/api/0467-Item-Mutation-Fixes.patch
+++ b/patches/api/0466-Item-Mutation-Fixes.patch
diff --git a/patches/api/0468-API-for-checking-sent-chunks.patch b/patches/api/0467-API-for-checking-sent-chunks.patch
index 8d97e181b0..8d97e181b0 100644
--- a/patches/api/0468-API-for-checking-sent-chunks.patch
+++ b/patches/api/0467-API-for-checking-sent-chunks.patch
diff --git a/patches/api/0469-Add-CartographyItemEvent.patch b/patches/api/0468-Add-CartographyItemEvent.patch
index 1f19663c9f..1f19663c9f 100644
--- a/patches/api/0469-Add-CartographyItemEvent.patch
+++ b/patches/api/0468-Add-CartographyItemEvent.patch
diff --git a/patches/api/0470-More-Raid-API.patch b/patches/api/0469-More-Raid-API.patch
index 921bc9c6fb..921bc9c6fb 100644
--- a/patches/api/0470-More-Raid-API.patch
+++ b/patches/api/0469-More-Raid-API.patch
diff --git a/patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch b/patches/api/0470-Fix-SpawnerEntry-Equipment-API.patch
index 0a16b34cd5..0a16b34cd5 100644
--- a/patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch
+++ b/patches/api/0470-Fix-SpawnerEntry-Equipment-API.patch
diff --git a/patches/api/0472-Fix-ItemFlags.patch b/patches/api/0471-Fix-ItemFlags.patch
index 007e003bc3..007e003bc3 100644
--- a/patches/api/0472-Fix-ItemFlags.patch
+++ b/patches/api/0471-Fix-ItemFlags.patch
diff --git a/patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch b/patches/api/0472-Allow-modifying-library-loader-jars-bytecode.patch
index 0c0311e790..0c0311e790 100644
--- a/patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch
+++ b/patches/api/0472-Allow-modifying-library-loader-jars-bytecode.patch
diff --git a/patches/api/0474-Add-hook-to-remap-library-jars.patch b/patches/api/0473-Add-hook-to-remap-library-jars.patch
index fe1609629e..fe1609629e 100644
--- a/patches/api/0474-Add-hook-to-remap-library-jars.patch
+++ b/patches/api/0473-Add-hook-to-remap-library-jars.patch
diff --git a/patches/api/0475-Add-GameMode-isInvulnerable.patch b/patches/api/0474-Add-GameMode-isInvulnerable.patch
index b4b81c5f52..b4b81c5f52 100644
--- a/patches/api/0475-Add-GameMode-isInvulnerable.patch
+++ b/patches/api/0474-Add-GameMode-isInvulnerable.patch
diff --git a/patches/api/0476-Expose-hasColor-to-leather-armor.patch b/patches/api/0475-Expose-hasColor-to-leather-armor.patch
index df21a83f91..df21a83f91 100644
--- a/patches/api/0476-Expose-hasColor-to-leather-armor.patch
+++ b/patches/api/0475-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/api/0477-Add-missing-wind-charge-damage-type.patch b/patches/api/0476-Add-missing-wind-charge-damage-type.patch
index 8a77bddf2a..8a77bddf2a 100644
--- a/patches/api/0477-Add-missing-wind-charge-damage-type.patch
+++ b/patches/api/0476-Add-missing-wind-charge-damage-type.patch
diff --git a/patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0477-Added-API-to-get-player-ha-proxy-address.patch
index 66f3365768..66f3365768 100644
--- a/patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/api/0477-Added-API-to-get-player-ha-proxy-address.patch
diff --git a/patches/api/0479-More-Chest-Block-API.patch b/patches/api/0478-More-Chest-Block-API.patch
index 1fc3614c74..1fc3614c74 100644
--- a/patches/api/0479-More-Chest-Block-API.patch
+++ b/patches/api/0478-More-Chest-Block-API.patch
diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch
index 4e498beadf..2c4e8421cc 100644
--- a/patches/server/0023-Timings-v2.patch
+++ b/patches/server/0023-Timings-v2.patch
@@ -573,6 +573,119 @@ index 0000000000000000000000000000000000000000..49028463ba47e760281545c2f7597e3d
+ }
+ }
+}
+diff --git a/src/main/java/co/aikar/timings/TimingsWorldHistoryExtractor.java b/src/main/java/co/aikar/timings/TimingsWorldHistoryExtractor.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..e6870a32eadc6dcfd6b52ffe14e7dd9d0591ef1d
+--- /dev/null
++++ b/src/main/java/co/aikar/timings/TimingsWorldHistoryExtractor.java
+@@ -0,0 +1,107 @@
++package co.aikar.timings;
++
++import co.aikar.util.JSONUtil;
++import co.aikar.util.LoadingMap;
++import com.google.common.base.Function;
++import io.papermc.paper.chunk.system.ChunkSystem;
++import net.minecraft.server.level.ChunkHolder;
++import net.minecraft.server.level.ServerLevel;
++import net.minecraft.world.level.chunk.LevelChunk;
++import org.bukkit.Bukkit;
++import org.bukkit.Material;
++import org.bukkit.World;
++import org.bukkit.craftbukkit.CraftWorld;
++import org.bukkit.craftbukkit.block.CraftBlockType;
++import org.bukkit.entity.Entity;
++import org.bukkit.entity.EntityType;
++import org.jetbrains.annotations.NotNull;
++import java.util.List;
++import java.util.Map;
++
++import static co.aikar.timings.TimingHistory.worldMap;
++import static co.aikar.util.JSONUtil.pair;
++import static co.aikar.util.JSONUtil.toArray;
++import static co.aikar.util.JSONUtil.toArrayMapper;
++import static co.aikar.util.JSONUtil.toObjectMapper;
++
++/**
++ * Internal class for extracting information about the world
++ * without having to rely on generally slower/broken spigot API
++ */
++@SuppressWarnings("removal")
++public class TimingsWorldHistoryExtractor implements Function<World, JSONUtil.JSONPair> {
++
++ private final TimingHistory timingHistory;
++
++ public TimingsWorldHistoryExtractor(TimingHistory timingHistory) {
++ this.timingHistory = timingHistory;
++ }
++
++ @NotNull
++ @Override
++ public JSONUtil.JSONPair apply(World world) {
++ final ServerLevel level = ((CraftWorld) world).getHandle();
++ final Map<TimingHistory.RegionData.RegionId, TimingHistory.RegionData> regions = LoadingMap.newHashMap(TimingHistory.RegionData.LOADER);
++
++ final List<ChunkHolder> visibleChunkHolders = ChunkSystem.getVisibleChunkHolders(level);
++ for (ChunkHolder chunkHolder : visibleChunkHolders) {
++ final LevelChunk fullChunkNow = chunkHolder.getFullChunkNow();
++ if (fullChunkNow == null) continue;
++
++ TimingHistory.RegionData data = regions.get(new TimingHistory.RegionData.RegionId(chunkHolder.pos.x, chunkHolder.pos.z));
++
++ for (final Entity entity : level.getChunkEntities(chunkHolder.pos.x, chunkHolder.pos.z)) {
++ if (entity == null) {
++ Bukkit.getLogger().warning("Null entity detected in chunk at position x: " + chunkHolder.pos.x + ", z: " + chunkHolder.pos.z);
++ continue;
++ }
++ data.entityCounts.get(entity.getType()).increment();
++ }
++
++ fullChunkNow.getBlockEntities().forEach(((blockPos, blockEntity) -> {
++ final Material material = CraftBlockType.minecraftToBukkit(blockEntity.getBlockState().getBlock());
++ data.tileEntityCounts.get(material).increment();
++ }));
++
++ }
++ return pair(
++ worldMap.get(world.getName()),
++ toArrayMapper(regions.values(), new Function<TimingHistory.RegionData, Object>() {
++ @NotNull
++ @Override
++ public Object apply(TimingHistory.RegionData input) {
++ return toArray(
++ input.regionId.x,
++ input.regionId.z,
++ toObjectMapper(input.entityCounts.entrySet(),
++ new Function<Map.Entry<EntityType, TimingHistory.Counter>, JSONUtil.JSONPair>() {
++ @NotNull
++ @Override
++ public JSONUtil.JSONPair apply(Map.Entry<EntityType, TimingHistory.Counter> entry) {
++ timingHistory.entityTypeSet.add(entry.getKey());
++ return pair(
++ String.valueOf(entry.getKey().ordinal()),
++ entry.getValue().count()
++ );
++ }
++ }
++ ),
++ toObjectMapper(input.tileEntityCounts.entrySet(),
++ new Function<Map.Entry<Material, TimingHistory.Counter>, JSONUtil.JSONPair>() {
++ @NotNull
++ @Override
++ public JSONUtil.JSONPair apply(Map.Entry<Material, TimingHistory.Counter> entry) {
++ timingHistory.tileEntityTypeSet.add(entry.getKey());
++ return pair(
++ String.valueOf(entry.getKey().ordinal()),
++ entry.getValue().count()
++ );
++ }
++ }
++ )
++ );
++ }
++ })
++ );
++ }
++}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f0d9b953802dee821cfde82d22b0567cce8ee91
@@ -1527,7 +1640,7 @@ index 991ebf07bc0608df0a12f1f26e581cc93255ae01..946001c57c326f2d2f0677bca954e855
private String descriptionId;
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
-index 099f85ec8b427392947e815e0b85d7ec49369bc3..fb495fcbf42be3825bfb785a9887148c54f5b00b 100644
+index f0b4b9828ec237e93d5a6bdf5cbea8b469ebff02..7fa49fcf5469276e25c40af4cd27943f665d8721 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -34,10 +34,12 @@ import org.bukkit.inventory.InventoryHolder;
@@ -2005,7 +2118,7 @@ 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 beffeedee0afdb885558c832f8801cd713d741a3..beae45fb45eb0629ba36f8daabaf7d9cb9716b71 100644
+index beffeedee0afdb885558c832f8801cd713d741a3..ec8d64ff77367d28c1b9e2b8745e76588ed9e375 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -212,6 +212,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -2021,7 +2134,7 @@ index beffeedee0afdb885558c832f8801cd713d741a3..beae45fb45eb0629ba36f8daabaf7d9c
public static byte toLegacyData(BlockState data) {
return CraftLegacy.toLegacyData(data);
-@@ -462,6 +468,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -462,6 +468,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
public DamageSource.Builder createDamageSourceBuilder(DamageType damageType) {
return new CraftDamageSourceBuilder(damageType);
}
@@ -2030,6 +2143,12 @@ index beffeedee0afdb885558c832f8801cd713d741a3..beae45fb45eb0629ba36f8daabaf7d9c
+ public String getTimingsServerName() {
+ return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName;
+ }
++
++ @Override
++ public com.google.common.base.Function<org.bukkit.World, co.aikar.util.JSONUtil.JSONPair> getWorldTimingExtractor(final co.aikar.timings.TimingHistory timingHistory) {
++ return new co.aikar.timings.TimingsWorldHistoryExtractor(timingHistory);
++ }
++
+ // Paper end
/**
diff --git a/patches/server/0035-Implement-Paper-VersionChecker.patch b/patches/server/0035-Implement-Paper-VersionChecker.patch
index 120f00fa55..4042ba7507 100644
--- a/patches/server/0035-Implement-Paper-VersionChecker.patch
+++ b/patches/server/0035-Implement-Paper-VersionChecker.patch
@@ -140,15 +140,13 @@ 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 beae45fb45eb0629ba36f8daabaf7d9cb9716b71..d568c3c85c44efc0fd0a43e7758fcd6899a60000 100644
+index ec8d64ff77367d28c1b9e2b8745e76588ed9e375..1d6998272b8df9144e545bdb73a1bdf4427e59c8 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -473,6 +473,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
- public String getTimingsServerName() {
- return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName;
+@@ -479,6 +479,9 @@ public final class CraftMagicNumbers implements UnsafeValues {
+ return new co.aikar.timings.TimingsWorldHistoryExtractor(timingHistory);
}
-+
-+ @Override
+
+ public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
+ return new com.destroystokyo.paper.PaperVersionFetcher();
+ }
diff --git a/patches/server/0335-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0335-Add-Raw-Byte-ItemStack-Serialization.patch
index f1d09d375b..eeb32f04d0 100644
--- a/patches/server/0335-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/server/0335-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 d568c3c85c44efc0fd0a43e7758fcd6899a60000..54e5d76e5ec40912a5c09123d879cd5bef8da4b1 100644
+index 1d6998272b8df9144e545bdb73a1bdf4427e59c8..2740638fbc9bc5bfa7b6bd511d0361cde561ed6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -478,6 +478,53 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -482,6 +482,53 @@ public final class CraftMagicNumbers implements UnsafeValues {
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.PaperVersionFetcher();
}
diff --git a/patches/server/0424-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0424-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index bb48638f5f..7f2ac875d1 100644
--- a/patches/server/0424-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0424-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -21,10 +21,10 @@ index c8e4e37b706bd8cb9698ac2d13d0d8668e2d1d14..909575a02bf5f7040eb9c8edb034e7b6
+ // Paper end - Expose entity id counter
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 54e5d76e5ec40912a5c09123d879cd5bef8da4b1..9b199fffb86cb04b9ad0013316a911ccf59d4051 100644
+index 2740638fbc9bc5bfa7b6bd511d0361cde561ed6f..a81c2cc04ccc7b814ef5e0401d7aa2be4000eaa6 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -525,6 +525,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -529,6 +529,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/0515-Expand-world-key-API.patch b/patches/server/0515-Expand-world-key-API.patch
index 10d9e10a3c..81e8612485 100644
--- a/patches/server/0515-Expand-world-key-API.patch
+++ b/patches/server/0515-Expand-world-key-API.patch
@@ -20,7 +20,7 @@ index 9801f78f1d44fd5a72fbdb319681b683e8fb85c4..1e720b96f0367652db6924b8654deaa9
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 1460060f2ff42ebaa7b2418b375ce661c73bd17f..b9180b7552796331d09c3aef1e863a253180721d 100644
+index 2c89ba2b518618640064ebea22d3d9595407bad7..6efdfa77a98a98a2d8f9c68a8c9010c0115cb715 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1149,9 +1149,15 @@ public final class CraftServer implements Server {
@@ -67,10 +67,10 @@ index 1460060f2ff42ebaa7b2418b375ce661c73bd17f..b9180b7552796331d09c3aef1e863a25
// 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 a5e9000034444fb36864020453acb0b183272922..a847717c0da236ee9743773eed3f2a3f1a8b10a6 100644
+index 72cd74e656a297bb1522f7b763b4454fe36ab97e..744aff70ade2656db08c6d825a867a3c9a6f1492 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -536,6 +536,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -540,6 +540,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int nextEntityId() {
return net.minecraft.world.entity.Entity.nextEntityId();
}
diff --git a/patches/server/0520-Expose-protocol-version.patch b/patches/server/0520-Expose-protocol-version.patch
index d61ca6ccaf..5aad62a622 100644
--- a/patches/server/0520-Expose-protocol-version.patch
+++ b/patches/server/0520-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 a847717c0da236ee9743773eed3f2a3f1a8b10a6..dd28ead9b0d7cea53e7cf952ec1e2ca594efe0bb 100644
+index 744aff70ade2656db08c6d825a867a3c9a6f1492..d9a9322c25a59d7fdae11781c8dc5408bc4dd222 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -541,6 +541,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -545,6 +545,11 @@ 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/0547-ItemStack-repair-check-API.patch b/patches/server/0547-ItemStack-repair-check-API.patch
index 0fe2b8aae3..62e8980d66 100644
--- a/patches/server/0547-ItemStack-repair-check-API.patch
+++ b/patches/server/0547-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 dd28ead9b0d7cea53e7cf952ec1e2ca594efe0bb..18d46779f56f97aae264325a5202568d8a06a747 100644
+index d9a9322c25a59d7fdae11781c8dc5408bc4dd222..bbc86c9a939fd50308b2e416087144253447be7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -546,6 +546,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -550,6 +550,14 @@ public final class CraftMagicNumbers implements UnsafeValues {
public int getProtocolVersion() {
return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion();
}
diff --git a/patches/server/0602-Get-entity-default-attributes.patch b/patches/server/0602-Get-entity-default-attributes.patch
index cce23d94f7..00078ada40 100644
--- a/patches/server/0602-Get-entity-default-attributes.patch
+++ b/patches/server/0602-Get-entity-default-attributes.patch
@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..ec9ebd2d539333293c51b7edfa18f18b
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index abc5f221e90fb39fe2fa192bcbd0a3bb75444d64..29661c484414e98c036045459dedf675aa661d85 100644
+index 7098e874f7ff35b0ef057d4a5f996c9a177d3c22..7e503f54619d587c6ace31fdf7debe4cb59d62ab 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -559,6 +559,18 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -563,6 +563,18 @@ 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-isCollidable-methods-to-various-places.patch b/patches/server/0608-Add-isCollidable-methods-to-various-places.patch
index 400b9e4171..55d3755e44 100644
--- a/patches/server/0608-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/server/0608-Add-isCollidable-methods-to-various-places.patch
@@ -39,10 +39,10 @@ index 1002123cd0c6f57cecc4e80f5f21cc6ff5886d37..e96023b71845526383288917e8d7c575
+ // 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 29661c484414e98c036045459dedf675aa661d85..03ac06c4bd89e6da2272c3ff109a1b2d3454efd2 100644
+index 7e503f54619d587c6ace31fdf7debe4cb59d62ab..07c65e1f3bfbbbf0c736257f25866db0af08458c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -571,6 +571,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/0611-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0611-Add-Raw-Byte-Entity-Serialization.patch
index c003880b86..93df39395c 100644
--- a/patches/server/0611-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0611-Add-Raw-Byte-Entity-Serialization.patch
@@ -50,10 +50,10 @@ index 9edcdc71b28cf08e42fbe44723ba540e8d4f7808..a61638bc8200f6aa25d9c3254aea6c0c
@Override
public boolean isInvisible() { // Paper - moved up from LivingEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 03ac06c4bd89e6da2272c3ff109a1b2d3454efd2..64327d5dd0e1ec3f5ad411ee692923a340d6174f 100644
+index 07c65e1f3bfbbbf0c736257f25866db0af08458c..a1016d0d3c5896ea6b44547fc572ba0eb5d7d466 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -509,7 +509,33 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -513,7 +513,33 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow());
}
diff --git a/patches/server/0753-Add-NamespacedKey-biome-methods.patch b/patches/server/0753-Add-NamespacedKey-biome-methods.patch
index cd1f237abf..0f9fb8883a 100644
--- a/patches/server/0753-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0753-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 64327d5dd0e1ec3f5ad411ee692923a340d6174f..76802c72fa2da7e8e16a7d611ac860d6d9ec7cff 100644
+index a1016d0d3c5896ea6b44547fc572ba0eb5d7d466..a645a53a6b20a27e72a2026a0d1acc8c3df39a87 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -603,6 +603,19 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -607,6 +607,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/0880-Fix-custom-statistic-criteria-creation.patch b/patches/server/0880-Fix-custom-statistic-criteria-creation.patch
index b409b07e4c..f76aaba962 100644
--- a/patches/server/0880-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0880-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 76802c72fa2da7e8e16a7d611ac860d6d9ec7cff..4a978ebf1b5796833d83939a9502934d18ebb549 100644
+index a645a53a6b20a27e72a2026a0d1acc8c3df39a87..a6ef99fb8b3a80df43d460c7b0bf01951ca22c45 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -616,6 +616,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -620,6 +620,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/0952-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0952-Add-api-for-spawn-egg-texture-colors.patch
index cff7fe211e..8a85791917 100644
--- a/patches/server/0952-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/0952-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index a7a1c9962a57fc9ed99f1523b2f5230a55b2afd1..cf29c541b74ab37592997c31adb7b240d92b2bea 100644
+index 7f880871142b5c768a0893be2f01af9ec781572d..ac362a8a231d1d954b73e1651e0d8a938db631e1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -644,6 +644,15 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -648,6 +648,15 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end
diff --git a/patches/server/0953-Add-Lifecycle-Event-system.patch b/patches/server/0953-Add-Lifecycle-Event-system.patch
index e725e14bc4..61cd59591e 100644
--- a/patches/server/0953-Add-Lifecycle-Event-system.patch
+++ b/patches/server/0953-Add-Lifecycle-Event-system.patch
@@ -707,7 +707,7 @@ index 2e96308696e131f3f013469a395e5ddda2c5d529..65a66e484c1c39c5f41d97db52f31c67
} catch (Throwable e) {
LOGGER.error("Failed to run bootstrapper for %s. This plugin will not be loaded.".formatted(provider.getSource()), e);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b1cfc6f5a2511e9bb145442dfb765951a1ee0fca..b9ad8446d702f729673d75dd6978b9db820f380b 100644
+index 1990cc252a8386b299f125991597bdbaacabb591..61f89519c3e061b8286bf6f086d50e0084785054 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1017,6 +1017,11 @@ public final class CraftServer implements Server {
@@ -739,10 +739,10 @@ index d96399e9bf1a58db5a4a22e58abb99e7660e0694..66bdac50130f523f9dc4379b103b7a46
+ // Paper end - lifecycle events
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index cf29c541b74ab37592997c31adb7b240d92b2bea..12289984948b0cc34df39767945222616844aebb 100644
+index ac362a8a231d1d954b73e1651e0d8a938db631e1..259e0730c6541ce717c242aed6db2bf1f1b08b8c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -653,6 +653,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -657,6 +657,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
}
// Paper end - spawn egg color visibility
diff --git a/patches/server/0954-ItemStack-Tooltip-API.patch b/patches/server/0954-ItemStack-Tooltip-API.patch
index 7a2e3afd0a..ebbd955de8 100644
--- a/patches/server/0954-ItemStack-Tooltip-API.patch
+++ b/patches/server/0954-ItemStack-Tooltip-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack Tooltip API
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 12289984948b0cc34df39767945222616844aebb..4d66c0d64af800c92e84a40e90cda9c6a49d3f04 100644
+index 259e0730c6541ce717c242aed6db2bf1f1b08b8c..4baf089a622ecf56cb9d2116f7974b0fabaaac38 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -643,6 +643,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -647,6 +647,20 @@ public final class CraftMagicNumbers implements UnsafeValues {
return org.bukkit.craftbukkit.CraftStatistic.getNMSStatistic(statistic).getName();
}
// Paper end
diff --git a/patches/server/0976-Rewrite-dataconverter-system.patch b/patches/server/0976-Rewrite-dataconverter-system.patch
index 0abf2badef..c04db63ac1 100644
--- a/patches/server/0976-Rewrite-dataconverter-system.patch
+++ b/patches/server/0976-Rewrite-dataconverter-system.patch
@@ -22437,7 +22437,7 @@ index 0000000000000000000000000000000000000000..f50b81d931a1908d405bb72e0679983a
+}
diff --git a/src/main/java/ca/spottedleaf/dataconverter/minecraft/versions/V3818.java b/src/main/java/ca/spottedleaf/dataconverter/minecraft/versions/V3818.java
new file mode 100644
-index 0000000000000000000000000000000000000000..29d256c2f5d5e338dc7abeb82c0f1ae99ee1edf7
+index 0000000000000000000000000000000000000000..40f9b8f2a3d0b01dc97472f34c441321a0e33079
--- /dev/null
+++ b/src/main/java/ca/spottedleaf/dataconverter/minecraft/versions/V3818.java
@@ -0,0 +1,339 @@
@@ -28906,10 +28906,10 @@ index 1d287dd7379e56f7fd4b425880b850cd843f5789..8ab7ca373a885fbe658013c9c6a2e38d
return nbttagcompound;
});
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 4d66c0d64af800c92e84a40e90cda9c6a49d3f04..a1c9989df460d7ae3666fffe7968750832a30b85 100644
+index 4baf089a622ecf56cb9d2116f7974b0fabaaac38..d3dc93242336e9a68f9241b051fa32815d826185 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-@@ -525,7 +525,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -529,7 +529,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.nbt.CompoundTag compound = deserializeNbtFromBytes(data);
final int dataVersion = compound.getInt("DataVersion");
@@ -28918,7 +28918,7 @@ index 4d66c0d64af800c92e84a40e90cda9c6a49d3f04..a1c9989df460d7ae3666fffe79687508
return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow());
}
-@@ -546,7 +546,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
+@@ -550,7 +550,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.nbt.CompoundTag compound = deserializeNbtFromBytes(data);
int dataVersion = compound.getInt("DataVersion");