aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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");