aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api')
-rw-r--r--patches/api/0006-Adventure.patch17
-rw-r--r--patches/api/0017-Add-PlayerLocaleChangeEvent.patch72
-rw-r--r--patches/api/0017-Add-view-distance-API.patch (renamed from patches/api/0018-Add-view-distance-API.patch)0
-rw-r--r--patches/api/0018-Add-BeaconEffectEvent.patch (renamed from patches/api/0019-Add-BeaconEffectEvent.patch)0
-rw-r--r--patches/api/0019-Expose-server-CommandMap.patch (renamed from patches/api/0021-Expose-server-CommandMap.patch)0
-rw-r--r--patches/api/0020-Add-PlayerInitialSpawnEvent.patch32
-rw-r--r--patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch (renamed from patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch)0
-rw-r--r--patches/api/0021-Add-exception-reporting-event.patch (renamed from patches/api/0023-Add-exception-reporting-event.patch)0
-rw-r--r--patches/api/0022-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch (renamed from patches/api/0024-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch)0
-rw-r--r--patches/api/0023-Fix-ServerListPingEvent-flagging-as-Async.patch (renamed from patches/api/0025-Fix-ServerListPingEvent-flagging-as-Async.patch)0
-rw-r--r--patches/api/0024-Player-Tab-List-and-Title-APIs.patch (renamed from patches/api/0026-Player-Tab-List-and-Title-APIs.patch)0
-rw-r--r--patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch (renamed from patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch)0
-rw-r--r--patches/api/0026-Complete-resource-pack-API.patch (renamed from patches/api/0028-Complete-resource-pack-API.patch)0
-rw-r--r--patches/api/0027-Add-a-call-helper-to-Event.patch (renamed from patches/api/0029-Add-a-call-helper-to-Event.patch)0
-rw-r--r--patches/api/0028-Add-sender-name-to-commands.yml-replacement.patch (renamed from patches/api/0030-Add-sender-name-to-commands.yml-replacement.patch)0
-rw-r--r--patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch (renamed from patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch)0
-rw-r--r--patches/api/0030-Custom-replacement-for-eaten-items.patch (renamed from patches/api/0032-Custom-replacement-for-eaten-items.patch)0
-rw-r--r--patches/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch (renamed from patches/api/0033-Entity-AddTo-RemoveFrom-World-Events.patch)0
-rw-r--r--patches/api/0032-EntityPathfindEvent.patch (renamed from patches/api/0034-EntityPathfindEvent.patch)0
-rw-r--r--patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch (renamed from patches/api/0035-Reduce-thread-synchronization-in-MetadataStoreBase.patch)0
-rw-r--r--patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch (renamed from patches/api/0036-Add-MetadataStoreBase.removeAll-Plugin.patch)0
-rw-r--r--patches/api/0035-Add-PlayerUseUnknownEntityEvent.patch (renamed from patches/api/0037-Add-PlayerUseUnknownEntityEvent.patch)0
-rw-r--r--patches/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (renamed from patches/api/0038-Add-handshake-event-to-allow-plugins-to-handle-clien.patch)0
-rw-r--r--patches/api/0037-Arrow-pickup-rule-API.patch (renamed from patches/api/0039-Arrow-pickup-rule-API.patch)0
-rw-r--r--patches/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch (renamed from patches/api/0040-EntityRegainHealthEvent-isFastRegen-API.patch)0
-rw-r--r--patches/api/0039-LootTable-API.patch (renamed from patches/api/0041-LootTable-API.patch)0
-rw-r--r--patches/api/0040-Add-EntityZapEvent.patch (renamed from patches/api/0042-Add-EntityZapEvent.patch)0
-rw-r--r--patches/api/0041-Misc-Utils.patch (renamed from patches/api/0043-Misc-Utils.patch)0
-rw-r--r--patches/api/0042-Allow-Reloading-of-Command-Aliases.patch (renamed from patches/api/0044-Allow-Reloading-of-Command-Aliases.patch)0
-rw-r--r--patches/api/0043-Add-source-to-PlayerExpChangeEvent.patch (renamed from patches/api/0045-Add-source-to-PlayerExpChangeEvent.patch)0
-rw-r--r--patches/api/0044-Add-ProjectileCollideEvent.patch (renamed from patches/api/0046-Add-ProjectileCollideEvent.patch)0
-rw-r--r--patches/api/0045-Add-String-based-Action-Bar-API.patch (renamed from patches/api/0047-Add-String-based-Action-Bar-API.patch)0
-rw-r--r--patches/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch (renamed from patches/api/0048-Add-API-methods-to-control-if-armour-stands-can-move.patch)0
-rw-r--r--patches/api/0047-IllegalPacketEvent.patch (renamed from patches/api/0049-IllegalPacketEvent.patch)0
-rw-r--r--patches/api/0048-Fireworks-API-s.patch (renamed from patches/api/0050-Fireworks-API-s.patch)0
-rw-r--r--patches/api/0049-PlayerTeleportEndGatewayEvent.patch (renamed from patches/api/0051-PlayerTeleportEndGatewayEvent.patch)0
-rw-r--r--patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch (renamed from patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch)0
-rw-r--r--patches/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (renamed from patches/api/0053-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch)0
-rw-r--r--patches/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch (renamed from patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch)0
-rw-r--r--patches/api/0053-Fix-upstream-javadocs.patch (renamed from patches/api/0056-Fix-upstream-javadocs.patch)0
-rw-r--r--patches/api/0054-Expose-WorldBorder-isInBounds-Location-check.patch29
-rw-r--r--patches/api/0054-Item-canEntityPickup.patch (renamed from patches/api/0057-Item-canEntityPickup.patch)0
-rw-r--r--patches/api/0055-PlayerAttemptPickupItemEvent.patch (renamed from patches/api/0058-PlayerAttemptPickupItemEvent.patch)0
-rw-r--r--patches/api/0056-Add-UnknownCommandEvent.patch (renamed from patches/api/0059-Add-UnknownCommandEvent.patch)0
-rw-r--r--patches/api/0057-Basic-PlayerProfile-API.patch (renamed from patches/api/0060-Basic-PlayerProfile-API.patch)0
-rw-r--r--patches/api/0058-PlayerPickupItemEvent-setFlyAtPlayer.patch (renamed from patches/api/0061-PlayerPickupItemEvent-setFlyAtPlayer.patch)0
-rw-r--r--patches/api/0059-Shoulder-Entities-Release-API.patch (renamed from patches/api/0062-Shoulder-Entities-Release-API.patch)0
-rw-r--r--patches/api/0060-Entity-fromMobSpawner.patch (renamed from patches/api/0063-Entity-fromMobSpawner.patch)0
-rw-r--r--patches/api/0061-Profile-Lookup-Events.patch (renamed from patches/api/0064-Profile-Lookup-Events.patch)0
-rw-r--r--patches/api/0062-Improve-the-Saddle-API-for-Horses.patch (renamed from patches/api/0065-Improve-the-Saddle-API-for-Horses.patch)0
-rw-r--r--patches/api/0063-Add-getI18NDisplayName-API.patch (renamed from patches/api/0066-Add-getI18NDisplayName-API.patch)0
-rw-r--r--patches/api/0064-ensureServerConversions-API.patch (renamed from patches/api/0067-ensureServerConversions-API.patch)0
-rw-r--r--patches/api/0065-LivingEntity-setKiller.patch (renamed from patches/api/0068-LivingEntity-setKiller.patch)0
-rw-r--r--patches/api/0066-ProfileWhitelistVerifyEvent.patch (renamed from patches/api/0069-ProfileWhitelistVerifyEvent.patch)0
-rw-r--r--patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch (renamed from patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch)0
-rw-r--r--patches/api/0068-Handle-plugin-prefixes-in-implementation-logging-con.patch (renamed from patches/api/0071-Handle-plugin-prefixes-in-implementation-logging-con.patch)0
-rw-r--r--patches/api/0069-Add-PlayerJumpEvent.patch (renamed from patches/api/0072-Add-PlayerJumpEvent.patch)0
-rw-r--r--patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch (renamed from patches/api/0073-Add-workaround-for-plugins-modifying-the-parent-of-t.patch)0
-rw-r--r--patches/api/0071-Add-PlayerArmorChangeEvent.patch (renamed from patches/api/0074-Add-PlayerArmorChangeEvent.patch)0
-rw-r--r--patches/api/0072-API-to-get-a-BlockState-without-a-snapshot.patch (renamed from patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch)0
-rw-r--r--patches/api/0073-AsyncTabCompleteEvent.patch (renamed from patches/api/0076-AsyncTabCompleteEvent.patch)0
-rw-r--r--patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch (renamed from patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch)0
-rw-r--r--patches/api/0075-Display-warning-on-deprecated-recipe-API.patch (renamed from patches/api/0078-Display-warning-on-deprecated-recipe-API.patch)0
-rw-r--r--patches/api/0076-PlayerPickupExperienceEvent.patch (renamed from patches/api/0079-PlayerPickupExperienceEvent.patch)0
-rw-r--r--patches/api/0077-ExperienceOrb-merging-stacking-API.patch (renamed from patches/api/0080-ExperienceOrb-merging-stacking-API.patch)0
-rw-r--r--patches/api/0078-Ability-to-apply-mending-to-XP-API.patch (renamed from patches/api/0081-Ability-to-apply-mending-to-XP-API.patch)0
-rw-r--r--patches/api/0079-PreCreatureSpawnEvent.patch (renamed from patches/api/0082-PreCreatureSpawnEvent.patch)0
-rw-r--r--patches/api/0080-PlayerNaturallySpawnCreaturesEvent.patch (renamed from patches/api/0083-PlayerNaturallySpawnCreaturesEvent.patch)0
-rw-r--r--patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch (renamed from patches/api/0084-Add-setPlayerProfile-API-for-Skulls.patch)0
-rw-r--r--patches/api/0082-Add-PlayerAdvancementCriterionGrantEvent.patch (renamed from patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch)0
-rw-r--r--patches/api/0083-Fill-Profile-Property-Events.patch (renamed from patches/api/0086-Fill-Profile-Property-Events.patch)0
-rw-r--r--patches/api/0084-Add-ArmorStand-Item-Meta.patch (renamed from patches/api/0087-Add-ArmorStand-Item-Meta.patch)0
-rw-r--r--patches/api/0085-Optimize-Hoppers.patch (renamed from patches/api/0088-Optimize-Hoppers.patch)0
-rw-r--r--patches/api/0086-Tameable-getOwnerUniqueId-API.patch (renamed from patches/api/0089-Tameable-getOwnerUniqueId-API.patch)0
-rw-r--r--patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch (renamed from patches/api/0090-Add-more-fields-to-AsyncPreLoginEvent.patch)0
-rw-r--r--patches/api/0088-Add-extended-PaperServerListPingEvent.patch (renamed from patches/api/0091-Add-extended-PaperServerListPingEvent.patch)0
-rw-r--r--patches/api/0089-Player.setPlayerProfile-API.patch (renamed from patches/api/0092-Player.setPlayerProfile-API.patch)0
-rw-r--r--patches/api/0090-getPlayerUniqueId-API.patch (renamed from patches/api/0093-getPlayerUniqueId-API.patch)0
-rw-r--r--patches/api/0091-Add-legacy-ping-support-to-PaperServerListPingEvent.patch (renamed from patches/api/0094-Add-legacy-ping-support-to-PaperServerListPingEvent.patch)0
-rw-r--r--patches/api/0092-Add-openSign-method-to-HumanEntity.patch (renamed from patches/api/0095-Add-openSign-method-to-HumanEntity.patch)0
-rw-r--r--patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch (renamed from patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch)0
-rw-r--r--patches/api/0094-EndermanEscapeEvent.patch (renamed from patches/api/0097-EndermanEscapeEvent.patch)0
-rw-r--r--patches/api/0095-Enderman.teleportRandomly.patch (renamed from patches/api/0098-Enderman.teleportRandomly.patch)0
-rw-r--r--patches/api/0096-Additional-world.getNearbyEntities-API-s.patch (renamed from patches/api/0099-Additional-world.getNearbyEntities-API-s.patch)0
-rw-r--r--patches/api/0097-Location.isChunkLoaded-API.patch (renamed from patches/api/0100-Location.isChunkLoaded-API.patch)0
-rw-r--r--patches/api/0098-Expand-World.spawnParticle-API-and-add-Builder.patch (renamed from patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch)0
-rw-r--r--patches/api/0099-EndermanAttackPlayerEvent.patch (renamed from patches/api/0102-EndermanAttackPlayerEvent.patch)0
-rw-r--r--patches/api/0100-WitchConsumePotionEvent.patch (renamed from patches/api/0103-WitchConsumePotionEvent.patch)0
-rw-r--r--patches/api/0101-WitchThrowPotionEvent.patch (renamed from patches/api/0104-WitchThrowPotionEvent.patch)0
-rw-r--r--patches/api/0102-Location.toBlockLocation-toCenterLocation.patch (renamed from patches/api/0105-Location.toBlockLocation-toCenterLocation.patch)0
-rw-r--r--patches/api/0103-PotionEffect-clone-methods.patch (renamed from patches/api/0106-PotionEffect-clone-methods.patch)0
-rw-r--r--patches/api/0104-WitchReadyPotionEvent.patch (renamed from patches/api/0107-WitchReadyPotionEvent.patch)0
-rw-r--r--patches/api/0105-ItemStack-getMaxItemUseDuration.patch (renamed from patches/api/0108-ItemStack-getMaxItemUseDuration.patch)0
-rw-r--r--patches/api/0106-Add-EntityTeleportEndGatewayEvent.patch (renamed from patches/api/0109-Add-EntityTeleportEndGatewayEvent.patch)0
-rw-r--r--patches/api/0107-Make-shield-blocking-delay-configurable.patch (renamed from patches/api/0110-Make-shield-blocking-delay-configurable.patch)0
-rw-r--r--patches/api/0108-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch (renamed from patches/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch)0
-rw-r--r--patches/api/0109-Add-getNearbyXXX-methods-to-Location.patch (renamed from patches/api/0112-Add-getNearbyXXX-methods-to-Location.patch)0
-rw-r--r--patches/api/0110-PlayerReadyArrowEvent.patch (renamed from patches/api/0113-PlayerReadyArrowEvent.patch)0
-rw-r--r--patches/api/0111-Add-entity-knockback-events.patch (renamed from patches/api/0114-Add-entity-knockback-events.patch)0
-rw-r--r--patches/api/0112-Expand-Explosions-API.patch (renamed from patches/api/0115-Expand-Explosions-API.patch)0
-rw-r--r--patches/api/0113-ItemStack-API-additions-for-quantity-flags-lore.patch (renamed from patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch)0
-rw-r--r--patches/api/0114-LivingEntity-Active-Item-API.patch (renamed from patches/api/0117-LivingEntity-Active-Item-API.patch)0
-rw-r--r--patches/api/0115-RangedEntity-API.patch (renamed from patches/api/0118-RangedEntity-API.patch)0
-rw-r--r--patches/api/0116-Add-World.getEntity-UUID-API.patch (renamed from patches/api/0119-Add-World.getEntity-UUID-API.patch)0
-rw-r--r--patches/api/0117-InventoryCloseEvent-Reason-API.patch (renamed from patches/api/0120-InventoryCloseEvent-Reason-API.patch)0
-rw-r--r--patches/api/0118-Allow-setting-the-vex-s-summoner.patch (renamed from patches/api/0121-Allow-setting-the-vex-s-summoner.patch)0
-rw-r--r--patches/api/0119-Entity-getChunk-API.patch (renamed from patches/api/0122-Entity-getChunk-API.patch)0
-rw-r--r--patches/api/0120-EnderDragon-Events.patch (renamed from patches/api/0123-EnderDragon-Events.patch)0
-rw-r--r--patches/api/0121-PlayerElytraBoostEvent.patch (renamed from patches/api/0124-PlayerElytraBoostEvent.patch)0
-rw-r--r--patches/api/0122-PlayerLaunchProjectileEvent.patch (renamed from patches/api/0125-PlayerLaunchProjectileEvent.patch)0
-rw-r--r--patches/api/0123-Allow-disabling-armour-stand-ticking.patch (renamed from patches/api/0127-Allow-disabling-armour-stand-ticking.patch)0
-rw-r--r--patches/api/0124-SkeletonHorse-Additions.patch (renamed from patches/api/0128-SkeletonHorse-Additions.patch)0
-rw-r--r--patches/api/0125-Expand-Location-Manipulation-API.patch (renamed from patches/api/0129-Expand-Location-Manipulation-API.patch)0
-rw-r--r--patches/api/0126-EntityTransformedEvent.patch107
-rw-r--r--patches/api/0126-Expand-ArmorStand-API.patch (renamed from patches/api/0130-Expand-ArmorStand-API.patch)0
-rw-r--r--patches/api/0127-AnvilDamageEvent.patch (renamed from patches/api/0131-AnvilDamageEvent.patch)0
-rw-r--r--patches/api/0128-Add-TNTPrimeEvent.patch (renamed from patches/api/0132-Add-TNTPrimeEvent.patch)0
-rw-r--r--patches/api/0129-Provide-Chunk-Coordinates-as-a-Long-API.patch (renamed from patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch)0
-rw-r--r--patches/api/0130-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch (renamed from patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch)0
-rw-r--r--patches/api/0131-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch (renamed from patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch)0
-rw-r--r--patches/api/0132-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/0133-Slime-Pathfinder-Events.patch (renamed from patches/api/0137-Slime-Pathfinder-Events.patch)0
-rw-r--r--patches/api/0134-Add-PhantomPreSpawnEvent.patch (renamed from patches/api/0138-Add-PhantomPreSpawnEvent.patch)0
-rw-r--r--patches/api/0135-Add-More-Creeper-API.patch (renamed from patches/api/0139-Add-More-Creeper-API.patch)0
-rw-r--r--patches/api/0136-Inventory-removeItemAnySlot.patch (renamed from patches/api/0140-Inventory-removeItemAnySlot.patch)0
-rw-r--r--patches/api/0137-isChunkGenerated-API.patch (renamed from patches/api/0141-isChunkGenerated-API.patch)0
-rw-r--r--patches/api/0138-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/0139-Async-Chunks-API.patch (renamed from patches/api/0143-Async-Chunks-API.patch)0
-rw-r--r--patches/api/0140-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/0141-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/0142-Improve-death-events.patch (renamed from patches/api/0146-Improve-death-events.patch)0
-rw-r--r--patches/api/0143-Mob-Pathfinding-API.patch (renamed from patches/api/0147-Mob-Pathfinding-API.patch)0
-rw-r--r--patches/api/0144-Performance-Concurrency-Improvements-to-Permissions.patch (renamed from patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch)0
-rw-r--r--patches/api/0145-Implement-furnace-cook-speed-multiplier-API.patch (renamed from patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch)0
-rw-r--r--patches/api/0146-Material-API-additions.patch (renamed from patches/api/0151-Material-API-additions.patch)0
-rw-r--r--patches/api/0147-Add-Material-Tags.patch (renamed from patches/api/0152-Add-Material-Tags.patch)0
-rw-r--r--patches/api/0148-PreSpawnerSpawnEvent.patch (renamed from patches/api/0153-PreSpawnerSpawnEvent.patch)0
-rw-r--r--patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch67
-rw-r--r--patches/api/0149-Add-LivingEntity-getTargetEntity.patch (renamed from patches/api/0154-Add-LivingEntity-getTargetEntity.patch)0
-rw-r--r--patches/api/0150-Add-sun-related-API.patch (renamed from patches/api/0155-Add-sun-related-API.patch)0
-rw-r--r--patches/api/0151-Turtle-API.patch (renamed from patches/api/0156-Turtle-API.patch)0
-rw-r--r--patches/api/0152-Add-spectator-target-events.patch (renamed from patches/api/0157-Add-spectator-target-events.patch)0
-rw-r--r--patches/api/0153-Add-more-Witch-API.patch (renamed from patches/api/0158-Add-more-Witch-API.patch)0
-rw-r--r--patches/api/0154-Make-the-default-permission-message-configurable.patch (renamed from patches/api/0159-Make-the-default-permission-message-configurable.patch)0
-rw-r--r--patches/api/0155-Support-cancellation-supression-of-EntityDismount-Ve.patch (renamed from patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch)0
-rw-r--r--patches/api/0156-Add-more-Zombie-API.patch (renamed from patches/api/0161-Add-more-Zombie-API.patch)0
-rw-r--r--patches/api/0157-Change-the-reserved-channel-check-to-be-sensible.patch (renamed from patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch)0
-rw-r--r--patches/api/0158-Add-PlayerConnectionCloseEvent.patch (renamed from patches/api/0163-Add-PlayerConnectionCloseEvent.patch)0
-rw-r--r--patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch (renamed from patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch)0
-rw-r--r--patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch (renamed from patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch)0
-rw-r--r--patches/api/0161-BlockDestroyEvent.patch (renamed from patches/api/0166-BlockDestroyEvent.patch)0
-rw-r--r--patches/api/0162-Add-WhitelistToggleEvent.patch (renamed from patches/api/0167-Add-WhitelistToggleEvent.patch)0
-rw-r--r--patches/api/0163-Add-GS4-Query-event.patch (renamed from patches/api/0168-Add-GS4-Query-event.patch)0
-rw-r--r--patches/api/0164-Add-PlayerPostRespawnEvent.patch (renamed from patches/api/0169-Add-PlayerPostRespawnEvent.patch)0
-rw-r--r--patches/api/0165-Entity-getEntitySpawnReason.patch (renamed from patches/api/0170-Entity-getEntitySpawnReason.patch)0
-rw-r--r--patches/api/0166-Fix-Spigot-annotation-mistakes.patch (renamed from patches/api/0171-Fix-Spigot-annotation-mistakes.patch)0
-rw-r--r--patches/api/0167-Server-Tick-Events.patch (renamed from patches/api/0172-Server-Tick-Events.patch)0
-rw-r--r--patches/api/0168-PlayerDeathEvent-getItemsToKeep.patch (renamed from patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch)0
-rw-r--r--patches/api/0169-Add-Heightmap-API.patch42
-rw-r--r--patches/api/0170-Mob-Spawner-API-Enhancements.patch (renamed from patches/api/0175-Mob-Spawner-API-Enhancements.patch)0
-rw-r--r--patches/api/0171-Add-BlockSoundGroup-interface.patch (renamed from patches/api/0176-Add-BlockSoundGroup-interface.patch)0
-rw-r--r--patches/api/0172-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch (renamed from patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch)0
-rw-r--r--patches/api/0173-Set-true-custom-payload-channel-size-limit.patch (renamed from patches/api/0178-Set-true-custom-payload-channel-size-limit.patch)0
-rw-r--r--patches/api/0174-Add-Heightmap-API.patch195
-rw-r--r--patches/api/0174-Expose-the-internal-current-tick.patch (renamed from patches/api/0179-Expose-the-internal-current-tick.patch)0
-rw-r--r--patches/api/0175-Improve-Block-breakNaturally-API.patch (renamed from patches/api/0180-Improve-Block-breakNaturally-API.patch)0
-rw-r--r--patches/api/0176-PlayerDeathEvent-shouldDropExperience.patch (renamed from patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch)0
-rw-r--r--patches/api/0177-Add-ThrownEggHatchEvent.patch (renamed from patches/api/0182-Add-ThrownEggHatchEvent.patch)0
-rw-r--r--patches/api/0178-Entity-Jump-API.patch (renamed from patches/api/0183-Entity-Jump-API.patch)0
-rw-r--r--patches/api/0179-add-hand-to-BlockMultiPlaceEvent.patch (renamed from patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch)0
-rw-r--r--patches/api/0180-Add-tick-times-API.patch (renamed from patches/api/0185-Add-tick-times-API.patch)0
-rw-r--r--patches/api/0181-Expose-MinecraftServer-isRunning.patch (renamed from patches/api/0186-Expose-MinecraftServer-isRunning.patch)0
-rw-r--r--patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch (renamed from patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch)0
-rw-r--r--patches/api/0183-Add-Player-Client-Options-API.patch (renamed from patches/api/0188-Add-Player-Client-Options-API.patch)0
-rw-r--r--patches/api/0184-Add-PlayerAttackEntityCooldownResetEvent.patch (renamed from patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch)0
-rw-r--r--patches/api/0185-Add-item-slot-convenience-methods.patch (renamed from patches/api/0190-Add-item-slot-convenience-methods.patch)0
-rw-r--r--patches/api/0186-Villager-Restocks-API.patch (renamed from patches/api/0191-Villager-Restocks-API.patch)0
-rw-r--r--patches/api/0187-Add-Mob-Goal-API.patch (renamed from patches/api/0192-Add-Mob-Goal-API.patch)0
-rw-r--r--patches/api/0188-Add-villager-reputation-API.patch (renamed from patches/api/0193-Add-villager-reputation-API.patch)0
-rw-r--r--patches/api/0189-Spawn-Reason-API.patch (renamed from patches/api/0194-Spawn-Reason-API.patch)0
-rw-r--r--patches/api/0190-Potential-bed-API.patch (renamed from patches/api/0195-Potential-bed-API.patch)0
-rw-r--r--patches/api/0191-Inventory-getHolder-method-without-block-snapshot.patch (renamed from patches/api/0196-Inventory-getHolder-method-without-block-snapshot.patch)0
-rw-r--r--patches/api/0192-Add-and-implement-PlayerRecipeBookClickEvent.patch (renamed from patches/api/0197-Add-and-implement-PlayerRecipeBookClickEvent.patch)0
-rw-r--r--patches/api/0193-Support-components-in-ItemMeta.patch (renamed from patches/api/0198-Support-components-in-ItemMeta.patch)0
-rw-r--r--patches/api/0194-added-2-new-TargetReasons-for-1.16-mob-behavior.patch (renamed from patches/api/0199-added-2-new-TargetReasons-for-1.16-mob-behavior.patch)0
-rw-r--r--patches/api/0195-Add-entity-liquid-API.patch (renamed from patches/api/0200-Add-entity-liquid-API.patch)0
-rw-r--r--patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch (renamed from patches/api/0201-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch)0
-rw-r--r--patches/api/0197-Add-BellRingEvent.patch (renamed from patches/api/0202-Add-BellRingEvent.patch)0
-rw-r--r--patches/api/0198-Brand-support.patch (renamed from patches/api/0203-Brand-support.patch)0
-rw-r--r--patches/api/0199-Add-moon-phase-API.patch (renamed from patches/api/0204-Add-moon-phase-API.patch)0
-rw-r--r--patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/api/0205-Add-playPickupItemAnimation-to-LivingEntity.patch)0
-rw-r--r--patches/api/0201-Add-more-Evoker-API.patch (renamed from patches/api/0206-Add-more-Evoker-API.patch)0
-rw-r--r--patches/api/0202-Add-methods-to-get-translation-keys.patch (renamed from patches/api/0207-Add-methods-to-get-translation-keys.patch)0
-rw-r--r--patches/api/0203-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/api/0208-Create-HoverEvent-from-ItemStack-Entity.patch)0
-rw-r--r--patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/api/0209-Add-additional-open-container-api-to-HumanEntity.patch)0
-rw-r--r--patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/api/0210-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch)0
-rw-r--r--patches/api/0206-Entity-isTicking.patch (renamed from patches/api/0211-Entity-isTicking.patch)0
-rw-r--r--patches/api/0207-Villager-resetOffers.patch (renamed from patches/api/0212-Villager-resetOffers.patch)0
-rw-r--r--patches/api/0208-Player-elytra-boost-API.patch (renamed from patches/api/0213-Player-elytra-boost-API.patch)0
-rw-r--r--patches/api/0209-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/api/0214-Add-getOfflinePlayerIfCached-String.patch)0
-rw-r--r--patches/api/0210-Add-ignore-discounts-API.patch (renamed from patches/api/0215-Add-ignore-discounts-API.patch)0
-rw-r--r--patches/api/0211-Item-no-age-no-player-pickup.patch (renamed from patches/api/0216-Item-no-age-no-player-pickup.patch)0
-rw-r--r--patches/api/0212-Beacon-API-custom-effect-ranges.patch (renamed from patches/api/0217-Beacon-API-custom-effect-ranges.patch)0
-rw-r--r--patches/api/0213-Add-API-for-quit-reason.patch (renamed from patches/api/0218-Add-API-for-quit-reason.patch)0
-rw-r--r--patches/api/0214-Add-Destroy-Speed-API.patch (renamed from patches/api/0219-Add-Destroy-Speed-API.patch)0
-rw-r--r--patches/api/0215-Add-LivingEntity-clearActiveItem.patch (renamed from patches/api/0220-Add-LivingEntity-clearActiveItem.patch)0
-rw-r--r--patches/api/0216-Add-PlayerItemCooldownEvent.patch (renamed from patches/api/0221-Add-PlayerItemCooldownEvent.patch)0
-rw-r--r--patches/api/0217-More-lightning-API.patch (renamed from patches/api/0222-More-lightning-API.patch)0
-rw-r--r--patches/api/0218-Add-PlayerShearBlockEvent.patch (renamed from patches/api/0223-Add-PlayerShearBlockEvent.patch)0
-rw-r--r--patches/api/0219-Player-Chunk-Load-Unload-Events.patch (renamed from patches/api/0224-Player-Chunk-Load-Unload-Events.patch)0
-rw-r--r--patches/api/0220-Expose-LivingEntity-hurt-direction.patch (renamed from patches/api/0225-Expose-LivingEntity-hurt-direction.patch)0
-rw-r--r--patches/api/0221-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/api/0226-Add-OBSTRUCTED-reason-to-BedEnterResult.patch)0
-rw-r--r--patches/api/0222-Added-PlayerTradeEvent.patch (renamed from patches/api/0227-Added-PlayerTradeEvent.patch)0
-rw-r--r--patches/api/0223-Add-TargetHitEvent-API.patch (renamed from patches/api/0228-Add-TargetHitEvent-API.patch)0
-rw-r--r--patches/api/0224-Additional-Block-Material-API-s.patch (renamed from patches/api/0229-Additional-Block-Material-API-s.patch)0
-rw-r--r--patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/api/0230-Add-API-to-get-Material-from-Boats-and-Minecarts.patch)0
-rw-r--r--patches/api/0226-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/api/0231-Add-PlayerFlowerPotManipulateEvent.patch)0
-rw-r--r--patches/api/0227-Zombie-API-breaking-doors.patch (renamed from patches/api/0232-Zombie-API-breaking-doors.patch)0
-rw-r--r--patches/api/0228-Add-EntityLoadCrossbowEvent.patch (renamed from patches/api/0233-Add-EntityLoadCrossbowEvent.patch)0
-rw-r--r--patches/api/0229-Added-WorldGameRuleChangeEvent.patch (renamed from patches/api/0234-Added-WorldGameRuleChangeEvent.patch)0
-rw-r--r--patches/api/0230-Added-ServerResourcesReloadedEvent.patch (renamed from patches/api/0235-Added-ServerResourcesReloadedEvent.patch)0
-rw-r--r--patches/api/0231-Add-BlockFailedDispenseEvent.patch (renamed from patches/api/0236-Add-BlockFailedDispenseEvent.patch)0
-rw-r--r--patches/api/0232-Added-PlayerLecternPageChangeEvent.patch (renamed from patches/api/0237-Added-PlayerLecternPageChangeEvent.patch)0
-rw-r--r--patches/api/0233-Added-PlayerLoomPatternSelectEvent.patch (renamed from patches/api/0238-Added-PlayerLoomPatternSelectEvent.patch)0
-rw-r--r--patches/api/0234-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch (renamed from patches/api/0239-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch)0
-rw-r--r--patches/api/0235-Add-sendOpLevel-API.patch (renamed from patches/api/0240-Add-sendOpLevel-API.patch)0
-rw-r--r--patches/api/0236-Add-RegistryAccess-for-managing-registries.patch (renamed from patches/api/0241-Add-RegistryAccess-for-managing-registries.patch)0
-rw-r--r--patches/api/0237-Add-StructuresLocateEvent.patch189
-rw-r--r--patches/api/0238-Add-BlockPreDispenseEvent.patch (renamed from patches/api/0243-Add-BlockPreDispenseEvent.patch)0
-rw-r--r--patches/api/0239-Added-PlayerChangeBeaconEffectEvent.patch (renamed from patches/api/0244-Added-PlayerChangeBeaconEffectEvent.patch)0
-rw-r--r--patches/api/0240-Added-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/api/0245-Added-PlayerStonecutterRecipeSelectEvent.patch)0
-rw-r--r--patches/api/0241-Add-dropLeash-variable-to-EntityUnleashEvent.patch (renamed from patches/api/0246-Add-dropLeash-variable-to-EntityUnleashEvent.patch)0
-rw-r--r--patches/api/0242-Add-StructuresLocateEvent.patch534
-rw-r--r--patches/api/0242-add-DragonEggFormEvent.patch (renamed from patches/api/0247-add-DragonEggFormEvent.patch)0
-rw-r--r--patches/api/0243-EntityMoveEvent.patch (renamed from patches/api/0248-EntityMoveEvent.patch)0
-rw-r--r--patches/api/0244-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/api/0249-Allow-adding-items-to-BlockDropItemEvent.patch)0
-rw-r--r--patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/api/0250-Add-getMainThreadExecutor-to-BukkitScheduler.patch)0
-rw-r--r--patches/api/0246-living-entity-allow-attribute-registration.patch (renamed from patches/api/0251-living-entity-allow-attribute-registration.patch)0
-rw-r--r--patches/api/0247-Add-missing-effects.patch (renamed from patches/api/0252-Add-missing-effects.patch)97
-rw-r--r--patches/api/0248-Expose-Tracked-Players.patch (renamed from patches/api/0253-Expose-Tracked-Players.patch)0
-rw-r--r--patches/api/0249-Add-worldborder-events.patch (renamed from patches/api/0254-Add-worldborder-events.patch)0
-rw-r--r--patches/api/0250-added-PlayerNameEntityEvent.patch (renamed from patches/api/0255-added-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/api/0251-Add-recipe-to-cook-events.patch (renamed from patches/api/0256-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/api/0252-Add-Block-isValidTool.patch (renamed from patches/api/0257-Add-Block-isValidTool.patch)0
-rw-r--r--patches/api/0253-Expand-world-key-API.patch (renamed from patches/api/0258-Expand-world-key-API.patch)0
-rw-r--r--patches/api/0254-Improve-Item-Rarity-API.patch (renamed from patches/api/0259-Improve-Item-Rarity-API.patch)0
-rw-r--r--patches/api/0255-Expose-protocol-version.patch (renamed from patches/api/0260-Expose-protocol-version.patch)0
-rw-r--r--patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/api/0261-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/api/0257-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/api/0262-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/api/0258-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/api/0263-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/api/0259-Added-PlayerDeepSleepEvent.patch (renamed from patches/api/0264-Added-PlayerDeepSleepEvent.patch)0
-rw-r--r--patches/api/0260-More-World-API.patch (renamed from patches/api/0265-More-World-API.patch)54
-rw-r--r--patches/api/0261-Added-PlayerBedFailEnterEvent.patch (renamed from patches/api/0266-Added-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/api/0262-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/api/0267-Introduce-beacon-activation-deactivation-events.patch)0
-rw-r--r--patches/api/0263-PlayerMoveEvent-Improvements.patch (renamed from patches/api/0268-PlayerMoveEvent-Improvements.patch)0
-rw-r--r--patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch (renamed from patches/api/0269-add-RespawnFlags-to-PlayerRespawnEvent.patch)0
-rw-r--r--patches/api/0265-Add-more-WanderingTrader-API.patch (renamed from patches/api/0270-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/api/0266-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/api/0271-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/api/0267-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/api/0272-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/api/0268-Inventory-close.patch (renamed from patches/api/0273-Inventory-close.patch)0
-rw-r--r--patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/api/0274-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/api/0270-Add-basic-Datapack-API.patch (renamed from patches/api/0275-Add-basic-Datapack-API.patch)0
-rw-r--r--patches/api/0271-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/api/0276-additions-to-PlayerGameModeChangeEvent.patch)0
-rw-r--r--patches/api/0272-ItemStack-repair-check-API.patch (renamed from patches/api/0277-ItemStack-repair-check-API.patch)0
-rw-r--r--patches/api/0273-More-Enchantment-API.patch (renamed from patches/api/0278-More-Enchantment-API.patch)0
-rw-r--r--patches/api/0274-Add-Mob-lookAt-API.patch (renamed from patches/api/0279-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/api/0275-ItemStack-editMeta.patch (renamed from patches/api/0280-ItemStack-editMeta.patch)0
-rw-r--r--patches/api/0276-Add-EntityInsideBlockEvent.patch (renamed from patches/api/0281-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/api/0277-Improve-item-default-attribute-API.patch (renamed from patches/api/0282-Improve-item-default-attribute-API.patch)0
-rw-r--r--patches/api/0278-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/api/0283-Add-cause-to-Weather-ThunderChangeEvents.patch)0
-rw-r--r--patches/api/0279-More-Lidded-Block-API.patch (renamed from patches/api/0284-More-Lidded-Block-API.patch)0
-rw-r--r--patches/api/0280-Add-PlayerKickEvent-causes.patch (renamed from patches/api/0285-Add-PlayerKickEvent-causes.patch)0
-rw-r--r--patches/api/0281-Add-PufferFishStateChangeEvent.patch (renamed from patches/api/0286-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/api/0282-Add-BellRevealRaiderEvent.patch (renamed from patches/api/0287-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/api/0283-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/api/0288-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/api/0284-Add-more-line-of-sight-methods.patch (renamed from patches/api/0289-Add-more-line-of-sight-methods.patch)0
-rw-r--r--patches/api/0285-Add-WaterBottleSplashEvent.patch (renamed from patches/api/0290-Add-WaterBottleSplashEvent.patch)0
-rw-r--r--patches/api/0286-Add-more-LimitedRegion-API.patch (renamed from patches/api/0291-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/api/0287-Missing-Entity-API.patch (renamed from patches/api/0292-Missing-Entity-API.patch)0
-rw-r--r--patches/api/0288-Adds-PlayerArmSwingEvent.patch (renamed from patches/api/0293-Adds-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/api/0289-Add-PlayerSignCommandPreprocessEvent.patch (renamed from patches/api/0294-Add-PlayerSignCommandPreprocessEvent.patch)0
-rw-r--r--patches/api/0290-fix-empty-array-elements-in-command-arguments.patch (renamed from patches/api/0295-fix-empty-array-elements-in-command-arguments.patch)0
-rw-r--r--patches/api/0291-Stinger-API.patch (renamed from patches/api/0296-Stinger-API.patch)0
-rw-r--r--patches/api/0292-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/api/0297-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/api/0293-Add-PlayerSetSpawnEvent.patch (renamed from patches/api/0298-Add-PlayerSetSpawnEvent.patch)0
-rw-r--r--patches/api/0294-Added-EntityDamageItemEvent.patch (renamed from patches/api/0299-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/api/0295-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/api/0300-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/api/0296-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/api/0301-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/api/0297-Add-BlockBreakBlockEvent.patch (renamed from patches/api/0302-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/api/0298-Add-helpers-for-left-right-click-to-Action.patch (renamed from patches/api/0303-Add-helpers-for-left-right-click-to-Action.patch)0
-rw-r--r--patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch (renamed from patches/api/0304-Option-to-prevent-data-components-copy-in-smithing-r.patch)0
-rw-r--r--patches/api/0300-More-CommandBlock-API.patch (renamed from patches/api/0305-More-CommandBlock-API.patch)0
-rw-r--r--patches/api/0301-Add-missing-team-sidebar-display-slots.patch (renamed from patches/api/0306-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/api/0302-add-back-EntityPortalExitEvent.patch (renamed from patches/api/0307-add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/api/0303-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/api/0308-Add-methods-to-find-targets-for-lightning-strikes.patch)4
-rw-r--r--patches/api/0304-Get-entity-default-attributes.patch (renamed from patches/api/0309-Get-entity-default-attributes.patch)0
-rw-r--r--patches/api/0305-Left-handed-API.patch (renamed from patches/api/0310-Left-handed-API.patch)0
-rw-r--r--patches/api/0306-Add-critical-damage-API.patch (renamed from patches/api/0311-Add-critical-damage-API.patch)0
-rw-r--r--patches/api/0307-Add-more-advancement-API.patch (renamed from patches/api/0312-Add-more-advancement-API.patch)0
-rw-r--r--patches/api/0308-Fix-issues-with-mob-conversion.patch (renamed from patches/api/0313-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/api/0309-Add-hasCollision-methods-to-various-places.patch (renamed from patches/api/0314-Add-hasCollision-methods-to-various-places.patch)0
-rw-r--r--patches/api/0310-Goat-ram-API.patch (renamed from patches/api/0315-Goat-ram-API.patch)0
-rw-r--r--patches/api/0311-Add-API-for-resetting-a-single-score.patch (renamed from patches/api/0316-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/api/0317-Add-Raw-Byte-Entity-Serialization.patch)0
-rw-r--r--patches/api/0313-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/api/0318-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/api/0314-Add-more-Campfire-API.patch (renamed from patches/api/0319-Add-more-Campfire-API.patch)0
-rw-r--r--patches/api/0315-Extend-VehicleCollisionEvent-move-HandlerList-up.patch (renamed from patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch)0
-rw-r--r--patches/api/0316-Improve-scoreboard-entries.patch (renamed from patches/api/0321-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/api/0317-Entity-powdered-snow-API.patch (renamed from patches/api/0322-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/api/0318-Add-API-for-item-entity-health.patch (renamed from patches/api/0323-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/api/0319-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/api/0320-Bucketable-API.patch (renamed from patches/api/0325-Bucketable-API.patch)0
-rw-r--r--patches/api/0321-System-prop-for-default-config-comment-parsing.patch (renamed from patches/api/0326-System-prop-for-default-config-comment-parsing.patch)0
-rw-r--r--patches/api/0322-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)0
-rw-r--r--patches/api/0323-Multiple-Entries-with-Scoreboards.patch (renamed from patches/api/0328-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/api/0324-Warn-on-strange-EventHandler-return-types.patch (renamed from patches/api/0329-Warn-on-strange-EventHandler-return-types.patch)0
-rw-r--r--patches/api/0325-Multi-Block-Change-API.patch (renamed from patches/api/0330-Multi-Block-Change-API.patch)0
-rw-r--r--patches/api/0326-Fix-NotePlayEvent.patch (renamed from patches/api/0331-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/api/0327-Freeze-Tick-Lock-API.patch (renamed from patches/api/0332-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/api/0328-Dolphin-API.patch (renamed from patches/api/0333-Dolphin-API.patch)0
-rw-r--r--patches/api/0329-More-PotionEffectType-API.patch (renamed from patches/api/0334-More-PotionEffectType-API.patch)12
-rw-r--r--patches/api/0330-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/api/0335-API-for-creating-command-sender-which-forwards-feedb.patch)0
-rw-r--r--patches/api/0331-Implement-regenerateChunk.patch (renamed from patches/api/0336-Implement-regenerateChunk.patch)4
-rw-r--r--patches/api/0332-Add-GameEvent-tags.patch (renamed from patches/api/0337-Add-GameEvent-tags.patch)0
-rw-r--r--patches/api/0333-Furnace-RecipesUsed-API.patch (renamed from patches/api/0338-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/api/0334-Configurable-sculk-sensor-listener-range.patch (renamed from patches/api/0339-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/api/0335-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/api/0340-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/api/0336-Custom-Potion-Mixes.patch (renamed from patches/api/0341-Custom-Potion-Mixes.patch)0
-rw-r--r--patches/api/0337-Expose-furnace-minecart-push-values.patch (renamed from patches/api/0342-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/api/0338-More-Projectile-API.patch (renamed from patches/api/0343-More-Projectile-API.patch)0
-rw-r--r--patches/api/0339-Add-getComputedBiome-API.patch (renamed from patches/api/0344-Add-getComputedBiome-API.patch)0
-rw-r--r--patches/api/0340-Add-enchantWithLevels-API.patch (renamed from patches/api/0345-Add-enchantWithLevels-API.patch)0
-rw-r--r--patches/api/0341-Add-TameableDeathMessageEvent.patch (renamed from patches/api/0346-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/api/0342-Allow-to-change-the-podium-of-the-EnderDragon.patch (renamed from patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch)0
-rw-r--r--patches/api/0343-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch (renamed from patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch)0
-rw-r--r--patches/api/0344-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/api/0345-WorldCreator-keepSpawnLoaded.patch (renamed from patches/api/0350-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/api/0347-Add-PlayerStopUsingItemEvent.patch (renamed from patches/api/0352-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/api/0348-Expand-FallingBlock-API.patch (renamed from patches/api/0353-Expand-FallingBlock-API.patch)8
-rw-r--r--patches/api/0349-Add-method-isTickingWorlds-to-Bukkit.patch (renamed from patches/api/0354-Add-method-isTickingWorlds-to-Bukkit.patch)0
-rw-r--r--patches/api/0350-Add-WardenAngerChangeEvent.patch (renamed from patches/api/0355-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/api/0351-Nameable-Banner-API.patch (renamed from patches/api/0356-Nameable-Banner-API.patch)0
-rw-r--r--patches/api/0352-Add-Player-getFishHook.patch (renamed from patches/api/0357-Add-Player-getFishHook.patch)0
-rw-r--r--patches/api/0353-More-Teleport-API.patch (renamed from patches/api/0358-More-Teleport-API.patch)0
-rw-r--r--patches/api/0354-Add-EntityPortalReadyEvent.patch (renamed from patches/api/0359-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch)0
-rw-r--r--patches/api/0356-Collision-API.patch (renamed from patches/api/0361-Collision-API.patch)0
-rw-r--r--patches/api/0357-Block-Ticking-API.patch (renamed from patches/api/0362-Block-Ticking-API.patch)0
-rw-r--r--patches/api/0358-Add-NamespacedKey-biome-methods.patch (renamed from patches/api/0363-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/api/0359-Also-load-resources-from-LibraryLoader.patch (renamed from patches/api/0364-Also-load-resources-from-LibraryLoader.patch)0
-rw-r--r--patches/api/0360-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/api/0361-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)0
-rw-r--r--patches/api/0362-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch (renamed from patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch)0
-rw-r--r--patches/api/0363-Add-getDrops-to-BlockState.patch (renamed from patches/api/0368-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/api/0364-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/api/0365-Elder-Guardian-appearance-API.patch (renamed from patches/api/0370-Elder-Guardian-appearance-API.patch)0
-rw-r--r--patches/api/0366-Allow-changing-bed-s-occupied-property.patch (renamed from patches/api/0371-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/api/0367-Add-EquipmentSlot-convenience-methods.patch (renamed from patches/api/0372-Add-EquipmentSlot-convenience-methods.patch)0
-rw-r--r--patches/api/0368-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch (renamed from patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch)0
-rw-r--r--patches/api/0369-Add-entity-knockback-API.patch (renamed from patches/api/0374-Add-entity-knockback-API.patch)0
-rw-r--r--patches/api/0370-Added-EntityToggleSitEvent.patch (renamed from patches/api/0375-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/api/0371-Add-Moving-Piston-API.patch (renamed from patches/api/0376-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/api/0372-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/api/0377-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/api/0373-Add-Player-Warden-Warning-API.patch (renamed from patches/api/0378-Add-Player-Warden-Warning-API.patch)0
-rw-r--r--patches/api/0374-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/api/0375-Add-paper-dumplisteners-command.patch (renamed from patches/api/0380-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/api/0376-ItemStack-damage-API.patch (renamed from patches/api/0381-ItemStack-damage-API.patch)0
-rw-r--r--patches/api/0377-Add-Tick-TemporalUnit.patch (renamed from patches/api/0382-Add-Tick-TemporalUnit.patch)0
-rw-r--r--patches/api/0378-Friction-API.patch (renamed from patches/api/0383-Friction-API.patch)0
-rw-r--r--patches/api/0379-Player-Entity-Tracking-Events.patch (renamed from patches/api/0384-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/api/0380-Add-missing-Fluid-type.patch (renamed from patches/api/0385-Add-missing-Fluid-type.patch)0
-rw-r--r--patches/api/0381-fix-Instruments.patch (renamed from patches/api/0386-fix-Instruments.patch)0
-rw-r--r--patches/api/0382-Add-BlockLockCheckEvent.patch (renamed from patches/api/0387-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/api/0383-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0388-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/api/0384-Improve-PortalEvents.patch (renamed from patches/api/0389-Improve-PortalEvents.patch)0
-rw-r--r--patches/api/0385-Flying-Fall-Damage-API.patch (renamed from patches/api/0390-Flying-Fall-Damage-API.patch)0
-rw-r--r--patches/api/0386-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch)0
-rw-r--r--patches/api/0387-Win-Screen-API.patch (renamed from patches/api/0392-Win-Screen-API.patch)0
-rw-r--r--patches/api/0388-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0393-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/api/0389-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch)0
-rw-r--r--patches/api/0390-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0395-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/api/0391-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/api/0392-Add-Shearable-API.patch (renamed from patches/api/0397-Add-Shearable-API.patch)0
-rw-r--r--patches/api/0393-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/api/0394-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0399-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/api/0395-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0400-Expand-PlayerItemMendEvent.patch)0
-rw-r--r--patches/api/0396-Add-transient-modifier-API.patch (renamed from patches/api/0401-Add-transient-modifier-API.patch)0
-rw-r--r--patches/api/0397-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/api/0398-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/api/0399-Folia-scheduler-and-owned-region-API.patch (renamed from patches/api/0404-Folia-scheduler-and-owned-region-API.patch)0
-rw-r--r--patches/api/0400-Add-event-for-player-editing-sign.patch (renamed from patches/api/0405-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/api/0401-Add-Sign-getInteractableSideFor.patch (renamed from patches/api/0406-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/api/0402-Fix-BanList-API.patch (renamed from patches/api/0407-Fix-BanList-API.patch)0
-rw-r--r--patches/api/0403-Add-whitelist-events.patch (renamed from patches/api/0408-Add-whitelist-events.patch)0
-rw-r--r--patches/api/0404-API-for-updating-recipes-on-clients.patch (renamed from patches/api/0409-API-for-updating-recipes-on-clients.patch)0
-rw-r--r--patches/api/0405-Add-PlayerFailMoveEvent.patch (renamed from patches/api/0410-Add-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/api/0406-Fix-custom-statistic-criteria-creation.patch (renamed from patches/api/0411-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/api/0407-SculkCatalyst-bloom-API.patch (renamed from patches/api/0412-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/api/0408-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/api/0413-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/api/0409-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/api/0414-Deprecate-and-replace-methods-with-old-StructureType.patch)0
-rw-r--r--patches/api/0410-Add-Listing-API-for-Player.patch (renamed from patches/api/0415-Add-Listing-API-for-Player.patch)0
-rw-r--r--patches/api/0411-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/api/0412-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/api/0417-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/api/0413-Expand-Pose-API.patch (renamed from patches/api/0418-Expand-Pose-API.patch)0
-rw-r--r--patches/api/0414-MerchantRecipe-add-copy-constructor.patch (renamed from patches/api/0419-MerchantRecipe-add-copy-constructor.patch)0
-rw-r--r--patches/api/0415-More-DragonBattle-API.patch (renamed from patches/api/0420-More-DragonBattle-API.patch)0
-rw-r--r--patches/api/0416-Add-PlayerPickItemEvent.patch (renamed from patches/api/0421-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/api/0417-Allow-trident-custom-damage.patch (renamed from patches/api/0422-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/api/0418-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/api/0419-Limit-setBurnTime-to-valid-short-values.patch (renamed from patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch)0
-rw-r--r--patches/api/0420-Add-OfflinePlayer-isConnected.patch (renamed from patches/api/0425-Add-OfflinePlayer-isConnected.patch)0
-rw-r--r--patches/api/0421-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/api/0422-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/api/0427-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/api/0423-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch (renamed from patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch)0
-rw-r--r--patches/api/0424-Add-player-idle-duration-API.patch (renamed from patches/api/0429-Add-player-idle-duration-API.patch)0
-rw-r--r--patches/api/0425-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/api/0426-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch)8
-rw-r--r--patches/api/0427-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/api/0428-Add-UUID-attribute-modifier-API.patch (renamed from patches/api/0433-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/api/0429-Expand-LingeringPotion-API.patch (renamed from patches/api/0434-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/api/0430-Remove-unnecessary-durability-check-in-ItemStack-isS.patch (renamed from patches/api/0435-Remove-unnecessary-durability-check-in-ItemStack-isS.patch)0
-rw-r--r--patches/api/0431-Add-Structure-check-API.patch (renamed from patches/api/0436-Add-Structure-check-API.patch)2
-rw-r--r--patches/api/0432-add-missing-Experimental-annotations.patch (renamed from patches/api/0437-add-missing-Experimental-annotations.patch)0
-rw-r--r--patches/api/0433-Add-more-scoreboard-API.patch (renamed from patches/api/0438-Add-more-scoreboard-API.patch)0
-rw-r--r--patches/api/0434-Improve-Registry.patch (renamed from patches/api/0439-Improve-Registry.patch)6
-rw-r--r--patches/api/0435-Add-experience-points-API.patch (renamed from patches/api/0440-Add-experience-points-API.patch)0
-rw-r--r--patches/api/0436-Add-missing-InventoryType.patch (renamed from patches/api/0441-Add-missing-InventoryType.patch)0
-rw-r--r--patches/api/0437-Add-drops-to-shear-events.patch (renamed from patches/api/0442-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/api/0438-Add-HiddenPotionEffect-API.patch (renamed from patches/api/0443-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/api/0439-Add-PlayerShieldDisableEvent.patch (renamed from patches/api/0444-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/api/0440-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch (renamed from patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch)0
-rw-r--r--patches/api/0441-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/api/0446-Add-BlockStateMeta-clearBlockState.patch)0
-rw-r--r--patches/api/0442-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/api/0447-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/api/0443-Add-ShulkerDuplicateEvent.patch (renamed from patches/api/0448-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/api/0444-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch)0
-rw-r--r--patches/api/0445-Add-Lifecycle-Event-system.patch (renamed from patches/api/0450-Add-Lifecycle-Event-system.patch)0
-rw-r--r--patches/api/0446-ItemStack-Tooltip-API.patch (renamed from patches/api/0451-ItemStack-Tooltip-API.patch)0
-rw-r--r--patches/api/0447-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/api/0448-Add-FluidState-API.patch (renamed from patches/api/0453-Add-FluidState-API.patch)0
-rw-r--r--patches/api/0449-add-number-format-api.patch (renamed from patches/api/0454-add-number-format-api.patch)0
-rw-r--r--patches/api/0450-improve-BanList-types.patch (renamed from patches/api/0455-improve-BanList-types.patch)0
-rw-r--r--patches/api/0451-Suspicious-Effect-Entry-API.patch (renamed from patches/api/0456-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/api/0452-Fix-DamageSource-API.patch (renamed from patches/api/0457-Fix-DamageSource-API.patch)0
-rw-r--r--patches/api/0453-Expanded-Hopper-API.patch (renamed from patches/api/0458-Expanded-Hopper-API.patch)0
-rw-r--r--patches/api/0454-Clone-mutables-to-prevent-unexpected-issues.patch (renamed from patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch)0
-rw-r--r--patches/api/0455-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch)0
-rw-r--r--patches/api/0456-Deprecate-ItemStack-setType.patch (renamed from patches/api/0461-Deprecate-ItemStack-setType.patch)0
-rw-r--r--patches/api/0457-Item-Mutation-Fixes.patch (renamed from patches/api/0462-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/api/0458-API-for-checking-sent-chunks.patch (renamed from patches/api/0463-API-for-checking-sent-chunks.patch)0
-rw-r--r--patches/api/0459-Add-CartographyItemEvent.patch (renamed from patches/api/0464-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/api/0460-More-Raid-API.patch (renamed from patches/api/0465-More-Raid-API.patch)4
-rw-r--r--patches/api/0461-Fix-SpawnerEntry-Equipment-API.patch (renamed from patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch)0
-rw-r--r--patches/api/0462-Fix-ItemFlags.patch (renamed from patches/api/0467-Fix-ItemFlags.patch)0
-rw-r--r--patches/api/0463-Allow-modifying-library-loader-jars-bytecode.patch (renamed from patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch)0
-rw-r--r--patches/api/0464-Add-hook-to-remap-library-jars.patch (renamed from patches/api/0469-Add-hook-to-remap-library-jars.patch)0
-rw-r--r--patches/api/0465-Add-GameMode-isInvulnerable.patch (renamed from patches/api/0470-Add-GameMode-isInvulnerable.patch)0
-rw-r--r--patches/api/0466-Expose-hasColor-to-leather-armor.patch (renamed from patches/api/0471-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/api/0467-Add-missing-wind-charge-damage-type.patch (renamed from patches/api/0472-Add-missing-wind-charge-damage-type.patch)0
-rw-r--r--patches/api/0468-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch)0
-rw-r--r--patches/api/0469-More-Chest-Block-API.patch (renamed from patches/api/0474-More-Chest-Block-API.patch)0
-rw-r--r--patches/api/0470-Brigadier-based-command-API.patch (renamed from patches/api/0475-Brigadier-based-command-API.patch)0
-rw-r--r--patches/api/0471-Fix-issues-with-recipe-API.patch (renamed from patches/api/0476-Fix-issues-with-recipe-API.patch)0
-rw-r--r--patches/api/0472-Fix-equipment-slot-and-group-API.patch (renamed from patches/api/0477-Fix-equipment-slot-and-group-API.patch)0
-rw-r--r--patches/api/0473-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch)0
-rw-r--r--patches/api/0474-Allow-to-define-new-map-cursor-types.patch (renamed from patches/api/0479-Allow-to-define-new-map-cursor-types.patch)0
-rw-r--r--patches/api/0475-General-ItemMeta-fixes.patch (renamed from patches/api/0480-General-ItemMeta-fixes.patch)0
-rw-r--r--patches/api/0476-Add-missing-fishing-event-state.patch (renamed from patches/api/0481-Add-missing-fishing-event-state.patch)0
-rw-r--r--patches/api/0477-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch)0
469 files changed, 269 insertions, 1214 deletions
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index c9e666738c..9e9943a174 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -374,10 +374,10 @@ index 0000000000000000000000000000000000000000..01cf89d3558132912c4d0eb48c98cd8c
+}
diff --git a/src/main/java/io/papermc/paper/event/player/AsyncChatDecorateEvent.java b/src/main/java/io/papermc/paper/event/player/AsyncChatDecorateEvent.java
new file mode 100644
-index 0000000000000000000000000000000000000000..d4c01e4d332b46f0b129dd5f9e9737ba19923562
+index 0000000000000000000000000000000000000000..2e492f4cd179135bd40ad951ab23acb562be2f06
--- /dev/null
+++ b/src/main/java/io/papermc/paper/event/player/AsyncChatDecorateEvent.java
-@@ -0,0 +1,118 @@
+@@ -0,0 +1,105 @@
+package io.papermc.paper.event.player;
+
+import net.kyori.adventure.text.Component;
@@ -459,19 +459,6 @@ index 0000000000000000000000000000000000000000..d4c01e4d332b46f0b129dd5f9e9737ba
+ this.result = result;
+ }
+
-+ /**
-+ * If this decorating is part of a preview request/response.
-+ *
-+ * @return {@code true} if part of previewing
-+ * @deprecated chat preview was removed in 1.19.3
-+ */
-+ @Deprecated(forRemoval = true, since = "1.19.3")
-+ @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ @Contract(value = "-> false", pure = true)
-+ public boolean isPreview() {
-+ return false;
-+ }
-+
+ @Override
+ public boolean isCancelled() {
+ return this.cancelled;
diff --git a/patches/api/0017-Add-PlayerLocaleChangeEvent.patch b/patches/api/0017-Add-PlayerLocaleChangeEvent.patch
deleted file mode 100644
index b843aa4fc7..0000000000
--- a/patches/api/0017-Add-PlayerLocaleChangeEvent.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Isaac Moore <[email protected]>
-Date: Mon, 29 Feb 2016 18:02:25 -0600
-Subject: [PATCH] Add PlayerLocaleChangeEvent
-
-
-diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerLocaleChangeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerLocaleChangeEvent.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..57f6c47e4e759abf0af9aa8962551225cc12246c
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerLocaleChangeEvent.java
-@@ -0,0 +1,60 @@
-+package com.destroystokyo.paper.event.player;
-+
-+import org.bukkit.entity.Player;
-+import org.bukkit.event.HandlerList;
-+import org.bukkit.event.player.PlayerEvent;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+import org.jetbrains.annotations.Nullable;
-+
-+/**
-+ * Called when the locale of the player is changed.
-+ *
-+ * @deprecated Replaced by {@link org.bukkit.event.player.PlayerLocaleChangeEvent} upstream
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public class PlayerLocaleChangeEvent extends PlayerEvent {
-+
-+ private static final HandlerList HANDLER_LIST = new HandlerList();
-+
-+ private final String oldLocale;
-+ private final String newLocale;
-+
-+ @ApiStatus.Internal
-+ public PlayerLocaleChangeEvent(final @NotNull Player player, final @Nullable String oldLocale, final @NotNull String newLocale) {
-+ super(player);
-+ this.oldLocale = oldLocale;
-+ this.newLocale = newLocale;
-+ }
-+
-+ /**
-+ * Gets the locale the player switched from.
-+ *
-+ * @return player's old locale
-+ */
-+ @Nullable
-+ public String getOldLocale() {
-+ return this.oldLocale;
-+ }
-+
-+ /**
-+ * Gets the locale the player is changed to.
-+ *
-+ * @return player's new locale
-+ */
-+ @NotNull
-+ public String getNewLocale() {
-+ return this.newLocale;
-+ }
-+
-+ @Override
-+ @NotNull
-+ public HandlerList getHandlers() {
-+ return HANDLER_LIST;
-+ }
-+
-+ @NotNull
-+ public static HandlerList getHandlerList() {
-+ return HANDLER_LIST;
-+ }
-+}
diff --git a/patches/api/0018-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch
index aff8f375d8..aff8f375d8 100644
--- a/patches/api/0018-Add-view-distance-API.patch
+++ b/patches/api/0017-Add-view-distance-API.patch
diff --git a/patches/api/0019-Add-BeaconEffectEvent.patch b/patches/api/0018-Add-BeaconEffectEvent.patch
index 26277cd04d..26277cd04d 100644
--- a/patches/api/0019-Add-BeaconEffectEvent.patch
+++ b/patches/api/0018-Add-BeaconEffectEvent.patch
diff --git a/patches/api/0021-Expose-server-CommandMap.patch b/patches/api/0019-Expose-server-CommandMap.patch
index 55786e0ffb..55786e0ffb 100644
--- a/patches/api/0021-Expose-server-CommandMap.patch
+++ b/patches/api/0019-Expose-server-CommandMap.patch
diff --git a/patches/api/0020-Add-PlayerInitialSpawnEvent.patch b/patches/api/0020-Add-PlayerInitialSpawnEvent.patch
deleted file mode 100644
index 65ac9f92bd..0000000000
--- a/patches/api/0020-Add-PlayerInitialSpawnEvent.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Steve Anton <[email protected]>
-Date: Mon, 29 Feb 2016 18:13:58 -0600
-Subject: [PATCH] Add PlayerInitialSpawnEvent
-
-For modifying a player's initial spawn location as they join the server
-
-diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerInitialSpawnEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerInitialSpawnEvent.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..49e97ae79facceca5fc44c84c3d5f342d64cabc2
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerInitialSpawnEvent.java
-@@ -0,0 +1,19 @@
-+package com.destroystokyo.paper.event.player;
-+
-+import org.bukkit.Location;
-+import org.bukkit.entity.Player;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+import org.spigotmc.event.player.PlayerSpawnLocationEvent;
-+
-+/**
-+ * @deprecated Use {@link PlayerSpawnLocationEvent}, Duplicate API
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public class PlayerInitialSpawnEvent extends PlayerSpawnLocationEvent {
-+
-+ @ApiStatus.Internal
-+ public PlayerInitialSpawnEvent(@NotNull Player player, @NotNull Location spawnLocation) {
-+ super(player, spawnLocation);
-+ }
-+}
diff --git a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index d88bd2a236..d88bd2a236 100644
--- a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0020-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
diff --git a/patches/api/0023-Add-exception-reporting-event.patch b/patches/api/0021-Add-exception-reporting-event.patch
index 7d46942622..7d46942622 100644
--- a/patches/api/0023-Add-exception-reporting-event.patch
+++ b/patches/api/0021-Add-exception-reporting-event.patch
diff --git a/patches/api/0024-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch b/patches/api/0022-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch
index 02e7138c10..02e7138c10 100644
--- a/patches/api/0024-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch
+++ b/patches/api/0022-Add-BaseComponent-sendMessage-methods-to-CommandSend.patch
diff --git a/patches/api/0025-Fix-ServerListPingEvent-flagging-as-Async.patch b/patches/api/0023-Fix-ServerListPingEvent-flagging-as-Async.patch
index 87d3369578..87d3369578 100644
--- a/patches/api/0025-Fix-ServerListPingEvent-flagging-as-Async.patch
+++ b/patches/api/0023-Fix-ServerListPingEvent-flagging-as-Async.patch
diff --git a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch b/patches/api/0024-Player-Tab-List-and-Title-APIs.patch
index 33be050ecf..33be050ecf 100644
--- a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0024-Player-Tab-List-and-Title-APIs.patch
diff --git a/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch
index 471ee35ff8..471ee35ff8 100644
--- a/patches/api/0027-Add-methods-for-working-with-arrows-stuck-in-living-.patch
+++ b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch
diff --git a/patches/api/0028-Complete-resource-pack-API.patch b/patches/api/0026-Complete-resource-pack-API.patch
index 22c24d7cc1..22c24d7cc1 100644
--- a/patches/api/0028-Complete-resource-pack-API.patch
+++ b/patches/api/0026-Complete-resource-pack-API.patch
diff --git a/patches/api/0029-Add-a-call-helper-to-Event.patch b/patches/api/0027-Add-a-call-helper-to-Event.patch
index 4b287bfa56..4b287bfa56 100644
--- a/patches/api/0029-Add-a-call-helper-to-Event.patch
+++ b/patches/api/0027-Add-a-call-helper-to-Event.patch
diff --git a/patches/api/0030-Add-sender-name-to-commands.yml-replacement.patch b/patches/api/0028-Add-sender-name-to-commands.yml-replacement.patch
index 7122fed4a2..7122fed4a2 100644
--- a/patches/api/0030-Add-sender-name-to-commands.yml-replacement.patch
+++ b/patches/api/0028-Add-sender-name-to-commands.yml-replacement.patch
diff --git a/patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
index b7ff894867..b7ff894867 100644
--- a/patches/api/0031-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch
diff --git a/patches/api/0032-Custom-replacement-for-eaten-items.patch b/patches/api/0030-Custom-replacement-for-eaten-items.patch
index f7a9207fb3..f7a9207fb3 100644
--- a/patches/api/0032-Custom-replacement-for-eaten-items.patch
+++ b/patches/api/0030-Custom-replacement-for-eaten-items.patch
diff --git a/patches/api/0033-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch
index 4d41106879..4d41106879 100644
--- a/patches/api/0033-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/patches/api/0031-Entity-AddTo-RemoveFrom-World-Events.patch
diff --git a/patches/api/0034-EntityPathfindEvent.patch b/patches/api/0032-EntityPathfindEvent.patch
index 3586652e5c..3586652e5c 100644
--- a/patches/api/0034-EntityPathfindEvent.patch
+++ b/patches/api/0032-EntityPathfindEvent.patch
diff --git a/patches/api/0035-Reduce-thread-synchronization-in-MetadataStoreBase.patch b/patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch
index 9bc7e49e8d..9bc7e49e8d 100644
--- a/patches/api/0035-Reduce-thread-synchronization-in-MetadataStoreBase.patch
+++ b/patches/api/0033-Reduce-thread-synchronization-in-MetadataStoreBase.patch
diff --git a/patches/api/0036-Add-MetadataStoreBase.removeAll-Plugin.patch b/patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch
index 2496de7423..2496de7423 100644
--- a/patches/api/0036-Add-MetadataStoreBase.removeAll-Plugin.patch
+++ b/patches/api/0034-Add-MetadataStoreBase.removeAll-Plugin.patch
diff --git a/patches/api/0037-Add-PlayerUseUnknownEntityEvent.patch b/patches/api/0035-Add-PlayerUseUnknownEntityEvent.patch
index e0d410dc6e..e0d410dc6e 100644
--- a/patches/api/0037-Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/api/0035-Add-PlayerUseUnknownEntityEvent.patch
diff --git a/patches/api/0038-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
index 93c9571afc..93c9571afc 100644
--- a/patches/api/0038-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
+++ b/patches/api/0036-Add-handshake-event-to-allow-plugins-to-handle-clien.patch
diff --git a/patches/api/0039-Arrow-pickup-rule-API.patch b/patches/api/0037-Arrow-pickup-rule-API.patch
index 6bbf58b3d0..6bbf58b3d0 100644
--- a/patches/api/0039-Arrow-pickup-rule-API.patch
+++ b/patches/api/0037-Arrow-pickup-rule-API.patch
diff --git a/patches/api/0040-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch
index f06ee13d15..f06ee13d15 100644
--- a/patches/api/0040-EntityRegainHealthEvent-isFastRegen-API.patch
+++ b/patches/api/0038-EntityRegainHealthEvent-isFastRegen-API.patch
diff --git a/patches/api/0041-LootTable-API.patch b/patches/api/0039-LootTable-API.patch
index e1252ab848..e1252ab848 100644
--- a/patches/api/0041-LootTable-API.patch
+++ b/patches/api/0039-LootTable-API.patch
diff --git a/patches/api/0042-Add-EntityZapEvent.patch b/patches/api/0040-Add-EntityZapEvent.patch
index 08fe17b28a..08fe17b28a 100644
--- a/patches/api/0042-Add-EntityZapEvent.patch
+++ b/patches/api/0040-Add-EntityZapEvent.patch
diff --git a/patches/api/0043-Misc-Utils.patch b/patches/api/0041-Misc-Utils.patch
index fac858b16c..fac858b16c 100644
--- a/patches/api/0043-Misc-Utils.patch
+++ b/patches/api/0041-Misc-Utils.patch
diff --git a/patches/api/0044-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
index b5f012ce42..b5f012ce42 100644
--- a/patches/api/0044-Allow-Reloading-of-Command-Aliases.patch
+++ b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch
diff --git a/patches/api/0045-Add-source-to-PlayerExpChangeEvent.patch b/patches/api/0043-Add-source-to-PlayerExpChangeEvent.patch
index 675b2be839..675b2be839 100644
--- a/patches/api/0045-Add-source-to-PlayerExpChangeEvent.patch
+++ b/patches/api/0043-Add-source-to-PlayerExpChangeEvent.patch
diff --git a/patches/api/0046-Add-ProjectileCollideEvent.patch b/patches/api/0044-Add-ProjectileCollideEvent.patch
index 9eaf9308b3..9eaf9308b3 100644
--- a/patches/api/0046-Add-ProjectileCollideEvent.patch
+++ b/patches/api/0044-Add-ProjectileCollideEvent.patch
diff --git a/patches/api/0047-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch
index 8107305c07..8107305c07 100644
--- a/patches/api/0047-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch
diff --git a/patches/api/0048-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch
index 5253041ed0..5253041ed0 100644
--- a/patches/api/0048-Add-API-methods-to-control-if-armour-stands-can-move.patch
+++ b/patches/api/0046-Add-API-methods-to-control-if-armour-stands-can-move.patch
diff --git a/patches/api/0049-IllegalPacketEvent.patch b/patches/api/0047-IllegalPacketEvent.patch
index 44c4a83198..44c4a83198 100644
--- a/patches/api/0049-IllegalPacketEvent.patch
+++ b/patches/api/0047-IllegalPacketEvent.patch
diff --git a/patches/api/0050-Fireworks-API-s.patch b/patches/api/0048-Fireworks-API-s.patch
index 126f0b838d..126f0b838d 100644
--- a/patches/api/0050-Fireworks-API-s.patch
+++ b/patches/api/0048-Fireworks-API-s.patch
diff --git a/patches/api/0051-PlayerTeleportEndGatewayEvent.patch b/patches/api/0049-PlayerTeleportEndGatewayEvent.patch
index b964a35e5d..b964a35e5d 100644
--- a/patches/api/0051-PlayerTeleportEndGatewayEvent.patch
+++ b/patches/api/0049-PlayerTeleportEndGatewayEvent.patch
diff --git a/patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch
index c5d20165c6..c5d20165c6 100644
--- a/patches/api/0052-Provide-E-TE-Chunk-count-stat-methods.patch
+++ b/patches/api/0050-Provide-E-TE-Chunk-count-stat-methods.patch
diff --git a/patches/api/0053-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 5dadaf640f..5dadaf640f 100644
--- a/patches/api/0053-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/patches/api/0051-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
diff --git a/patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch
index 37fcf69d8e..37fcf69d8e 100644
--- a/patches/api/0055-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/patches/api/0052-Add-configuration-option-to-prevent-player-names-fro.patch
diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch
index c59299edc2..c59299edc2 100644
--- a/patches/api/0056-Fix-upstream-javadocs.patch
+++ b/patches/api/0053-Fix-upstream-javadocs.patch
diff --git a/patches/api/0054-Expose-WorldBorder-isInBounds-Location-check.patch b/patches/api/0054-Expose-WorldBorder-isInBounds-Location-check.patch
deleted file mode 100644
index 95db493acf..0000000000
--- a/patches/api/0054-Expose-WorldBorder-isInBounds-Location-check.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Zach Brown <[email protected]>
-Date: Sat, 21 Jan 2017 17:03:10 -0600
-Subject: [PATCH] Expose WorldBorder#isInBounds(Location) check
-
-
-diff --git a/src/main/java/org/bukkit/WorldBorder.java b/src/main/java/org/bukkit/WorldBorder.java
-index b1c08a7fc5856bcc29ee64d0a87b95a8ac940ddc..3ab5700b0b13fbfbf7c5b0b2c4a90bcc1e0a2d9c 100644
---- a/src/main/java/org/bukkit/WorldBorder.java
-+++ b/src/main/java/org/bukkit/WorldBorder.java
-@@ -162,4 +162,18 @@ public interface WorldBorder {
- * @return The absolute maximum center coordinate of the WorldBorder
- */
- public double getMaxCenterCoordinate();
-+
-+ // Paper start
-+ /**
-+ * Checks if the location is within the boundaries of this border.
-+ *
-+ * @param location specific location to check
-+ * @return true if the location is within the bounds of this border, false otherwise.
-+ * @deprecated use {@link #isInside(Location)} for an upstream compatible replacement
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ public default boolean isInBounds(@NotNull Location location) {
-+ return this.isInside(location);
-+ }
-+ // Paper end
- }
diff --git a/patches/api/0057-Item-canEntityPickup.patch b/patches/api/0054-Item-canEntityPickup.patch
index fc22e74079..fc22e74079 100644
--- a/patches/api/0057-Item-canEntityPickup.patch
+++ b/patches/api/0054-Item-canEntityPickup.patch
diff --git a/patches/api/0058-PlayerAttemptPickupItemEvent.patch b/patches/api/0055-PlayerAttemptPickupItemEvent.patch
index e688f92976..e688f92976 100644
--- a/patches/api/0058-PlayerAttemptPickupItemEvent.patch
+++ b/patches/api/0055-PlayerAttemptPickupItemEvent.patch
diff --git a/patches/api/0059-Add-UnknownCommandEvent.patch b/patches/api/0056-Add-UnknownCommandEvent.patch
index fb53ee7d60..fb53ee7d60 100644
--- a/patches/api/0059-Add-UnknownCommandEvent.patch
+++ b/patches/api/0056-Add-UnknownCommandEvent.patch
diff --git a/patches/api/0060-Basic-PlayerProfile-API.patch b/patches/api/0057-Basic-PlayerProfile-API.patch
index ffeb611221..ffeb611221 100644
--- a/patches/api/0060-Basic-PlayerProfile-API.patch
+++ b/patches/api/0057-Basic-PlayerProfile-API.patch
diff --git a/patches/api/0061-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/api/0058-PlayerPickupItemEvent-setFlyAtPlayer.patch
index 7d21cf10f7..7d21cf10f7 100644
--- a/patches/api/0061-PlayerPickupItemEvent-setFlyAtPlayer.patch
+++ b/patches/api/0058-PlayerPickupItemEvent-setFlyAtPlayer.patch
diff --git a/patches/api/0062-Shoulder-Entities-Release-API.patch b/patches/api/0059-Shoulder-Entities-Release-API.patch
index d02f2a3521..d02f2a3521 100644
--- a/patches/api/0062-Shoulder-Entities-Release-API.patch
+++ b/patches/api/0059-Shoulder-Entities-Release-API.patch
diff --git a/patches/api/0063-Entity-fromMobSpawner.patch b/patches/api/0060-Entity-fromMobSpawner.patch
index 83bd17a96e..83bd17a96e 100644
--- a/patches/api/0063-Entity-fromMobSpawner.patch
+++ b/patches/api/0060-Entity-fromMobSpawner.patch
diff --git a/patches/api/0064-Profile-Lookup-Events.patch b/patches/api/0061-Profile-Lookup-Events.patch
index cc0b655b89..cc0b655b89 100644
--- a/patches/api/0064-Profile-Lookup-Events.patch
+++ b/patches/api/0061-Profile-Lookup-Events.patch
diff --git a/patches/api/0065-Improve-the-Saddle-API-for-Horses.patch b/patches/api/0062-Improve-the-Saddle-API-for-Horses.patch
index 85814456bf..85814456bf 100644
--- a/patches/api/0065-Improve-the-Saddle-API-for-Horses.patch
+++ b/patches/api/0062-Improve-the-Saddle-API-for-Horses.patch
diff --git a/patches/api/0066-Add-getI18NDisplayName-API.patch b/patches/api/0063-Add-getI18NDisplayName-API.patch
index dd788d0c27..dd788d0c27 100644
--- a/patches/api/0066-Add-getI18NDisplayName-API.patch
+++ b/patches/api/0063-Add-getI18NDisplayName-API.patch
diff --git a/patches/api/0067-ensureServerConversions-API.patch b/patches/api/0064-ensureServerConversions-API.patch
index 8fa95dd9cb..8fa95dd9cb 100644
--- a/patches/api/0067-ensureServerConversions-API.patch
+++ b/patches/api/0064-ensureServerConversions-API.patch
diff --git a/patches/api/0068-LivingEntity-setKiller.patch b/patches/api/0065-LivingEntity-setKiller.patch
index fb3719a679..fb3719a679 100644
--- a/patches/api/0068-LivingEntity-setKiller.patch
+++ b/patches/api/0065-LivingEntity-setKiller.patch
diff --git a/patches/api/0069-ProfileWhitelistVerifyEvent.patch b/patches/api/0066-ProfileWhitelistVerifyEvent.patch
index 8c653d95af..8c653d95af 100644
--- a/patches/api/0069-ProfileWhitelistVerifyEvent.patch
+++ b/patches/api/0066-ProfileWhitelistVerifyEvent.patch
diff --git a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
index 6a30f58e99..6a30f58e99 100644
--- a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch
+++ b/patches/api/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
diff --git a/patches/api/0071-Handle-plugin-prefixes-in-implementation-logging-con.patch b/patches/api/0068-Handle-plugin-prefixes-in-implementation-logging-con.patch
index f80ceb6cb7..f80ceb6cb7 100644
--- a/patches/api/0071-Handle-plugin-prefixes-in-implementation-logging-con.patch
+++ b/patches/api/0068-Handle-plugin-prefixes-in-implementation-logging-con.patch
diff --git a/patches/api/0072-Add-PlayerJumpEvent.patch b/patches/api/0069-Add-PlayerJumpEvent.patch
index fef1ccd347..fef1ccd347 100644
--- a/patches/api/0072-Add-PlayerJumpEvent.patch
+++ b/patches/api/0069-Add-PlayerJumpEvent.patch
diff --git a/patches/api/0073-Add-workaround-for-plugins-modifying-the-parent-of-t.patch b/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch
index 12d008b482..12d008b482 100644
--- a/patches/api/0073-Add-workaround-for-plugins-modifying-the-parent-of-t.patch
+++ b/patches/api/0070-Add-workaround-for-plugins-modifying-the-parent-of-t.patch
diff --git a/patches/api/0074-Add-PlayerArmorChangeEvent.patch b/patches/api/0071-Add-PlayerArmorChangeEvent.patch
index d0fc3edb36..d0fc3edb36 100644
--- a/patches/api/0074-Add-PlayerArmorChangeEvent.patch
+++ b/patches/api/0071-Add-PlayerArmorChangeEvent.patch
diff --git a/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/api/0072-API-to-get-a-BlockState-without-a-snapshot.patch
index 6e95f52cbd..6e95f52cbd 100644
--- a/patches/api/0075-API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/patches/api/0072-API-to-get-a-BlockState-without-a-snapshot.patch
diff --git a/patches/api/0076-AsyncTabCompleteEvent.patch b/patches/api/0073-AsyncTabCompleteEvent.patch
index b88930e4dc..b88930e4dc 100644
--- a/patches/api/0076-AsyncTabCompleteEvent.patch
+++ b/patches/api/0073-AsyncTabCompleteEvent.patch
diff --git a/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch
index c6ce0e9872..c6ce0e9872 100644
--- a/patches/api/0077-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/api/0074-Expose-client-protocol-version-and-virtual-host.patch
diff --git a/patches/api/0078-Display-warning-on-deprecated-recipe-API.patch b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch
index 94f1cdd1f2..94f1cdd1f2 100644
--- a/patches/api/0078-Display-warning-on-deprecated-recipe-API.patch
+++ b/patches/api/0075-Display-warning-on-deprecated-recipe-API.patch
diff --git a/patches/api/0079-PlayerPickupExperienceEvent.patch b/patches/api/0076-PlayerPickupExperienceEvent.patch
index 9f4dfd145c..9f4dfd145c 100644
--- a/patches/api/0079-PlayerPickupExperienceEvent.patch
+++ b/patches/api/0076-PlayerPickupExperienceEvent.patch
diff --git a/patches/api/0080-ExperienceOrb-merging-stacking-API.patch b/patches/api/0077-ExperienceOrb-merging-stacking-API.patch
index 88367f383e..88367f383e 100644
--- a/patches/api/0080-ExperienceOrb-merging-stacking-API.patch
+++ b/patches/api/0077-ExperienceOrb-merging-stacking-API.patch
diff --git a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0078-Ability-to-apply-mending-to-XP-API.patch
index bb3d96e6f1..bb3d96e6f1 100644
--- a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/api/0078-Ability-to-apply-mending-to-XP-API.patch
diff --git a/patches/api/0082-PreCreatureSpawnEvent.patch b/patches/api/0079-PreCreatureSpawnEvent.patch
index 60f65dc98d..60f65dc98d 100644
--- a/patches/api/0082-PreCreatureSpawnEvent.patch
+++ b/patches/api/0079-PreCreatureSpawnEvent.patch
diff --git a/patches/api/0083-PlayerNaturallySpawnCreaturesEvent.patch b/patches/api/0080-PlayerNaturallySpawnCreaturesEvent.patch
index 817c6f25e1..817c6f25e1 100644
--- a/patches/api/0083-PlayerNaturallySpawnCreaturesEvent.patch
+++ b/patches/api/0080-PlayerNaturallySpawnCreaturesEvent.patch
diff --git a/patches/api/0084-Add-setPlayerProfile-API-for-Skulls.patch b/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch
index 62d576949f..62d576949f 100644
--- a/patches/api/0084-Add-setPlayerProfile-API-for-Skulls.patch
+++ b/patches/api/0081-Add-setPlayerProfile-API-for-Skulls.patch
diff --git a/patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch b/patches/api/0082-Add-PlayerAdvancementCriterionGrantEvent.patch
index acab81b457..acab81b457 100644
--- a/patches/api/0085-Add-PlayerAdvancementCriterionGrantEvent.patch
+++ b/patches/api/0082-Add-PlayerAdvancementCriterionGrantEvent.patch
diff --git a/patches/api/0086-Fill-Profile-Property-Events.patch b/patches/api/0083-Fill-Profile-Property-Events.patch
index 28d3b1fa04..28d3b1fa04 100644
--- a/patches/api/0086-Fill-Profile-Property-Events.patch
+++ b/patches/api/0083-Fill-Profile-Property-Events.patch
diff --git a/patches/api/0087-Add-ArmorStand-Item-Meta.patch b/patches/api/0084-Add-ArmorStand-Item-Meta.patch
index aed15d7522..aed15d7522 100644
--- a/patches/api/0087-Add-ArmorStand-Item-Meta.patch
+++ b/patches/api/0084-Add-ArmorStand-Item-Meta.patch
diff --git a/patches/api/0088-Optimize-Hoppers.patch b/patches/api/0085-Optimize-Hoppers.patch
index 3cf0268664..3cf0268664 100644
--- a/patches/api/0088-Optimize-Hoppers.patch
+++ b/patches/api/0085-Optimize-Hoppers.patch
diff --git a/patches/api/0089-Tameable-getOwnerUniqueId-API.patch b/patches/api/0086-Tameable-getOwnerUniqueId-API.patch
index b911542a60..b911542a60 100644
--- a/patches/api/0089-Tameable-getOwnerUniqueId-API.patch
+++ b/patches/api/0086-Tameable-getOwnerUniqueId-API.patch
diff --git a/patches/api/0090-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch
index 5159a46def..5159a46def 100644
--- a/patches/api/0090-Add-more-fields-to-AsyncPreLoginEvent.patch
+++ b/patches/api/0087-Add-more-fields-to-AsyncPreLoginEvent.patch
diff --git a/patches/api/0091-Add-extended-PaperServerListPingEvent.patch b/patches/api/0088-Add-extended-PaperServerListPingEvent.patch
index b3c41b89b9..b3c41b89b9 100644
--- a/patches/api/0091-Add-extended-PaperServerListPingEvent.patch
+++ b/patches/api/0088-Add-extended-PaperServerListPingEvent.patch
diff --git a/patches/api/0092-Player.setPlayerProfile-API.patch b/patches/api/0089-Player.setPlayerProfile-API.patch
index a12782792e..a12782792e 100644
--- a/patches/api/0092-Player.setPlayerProfile-API.patch
+++ b/patches/api/0089-Player.setPlayerProfile-API.patch
diff --git a/patches/api/0093-getPlayerUniqueId-API.patch b/patches/api/0090-getPlayerUniqueId-API.patch
index 2715d60c2b..2715d60c2b 100644
--- a/patches/api/0093-getPlayerUniqueId-API.patch
+++ b/patches/api/0090-getPlayerUniqueId-API.patch
diff --git a/patches/api/0094-Add-legacy-ping-support-to-PaperServerListPingEvent.patch b/patches/api/0091-Add-legacy-ping-support-to-PaperServerListPingEvent.patch
index f21c766148..f21c766148 100644
--- a/patches/api/0094-Add-legacy-ping-support-to-PaperServerListPingEvent.patch
+++ b/patches/api/0091-Add-legacy-ping-support-to-PaperServerListPingEvent.patch
diff --git a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
index 125fad56ad..125fad56ad 100644
--- a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch
diff --git a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch
index 8508d5aa31..8508d5aa31 100644
--- a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
+++ b/patches/api/0093-Add-Ban-Methods-to-Player-Objects.patch
diff --git a/patches/api/0097-EndermanEscapeEvent.patch b/patches/api/0094-EndermanEscapeEvent.patch
index 49f4fe70d2..49f4fe70d2 100644
--- a/patches/api/0097-EndermanEscapeEvent.patch
+++ b/patches/api/0094-EndermanEscapeEvent.patch
diff --git a/patches/api/0098-Enderman.teleportRandomly.patch b/patches/api/0095-Enderman.teleportRandomly.patch
index 5fedcbb746..5fedcbb746 100644
--- a/patches/api/0098-Enderman.teleportRandomly.patch
+++ b/patches/api/0095-Enderman.teleportRandomly.patch
diff --git a/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0096-Additional-world.getNearbyEntities-API-s.patch
index 22aac2ff5b..22aac2ff5b 100644
--- a/patches/api/0099-Additional-world.getNearbyEntities-API-s.patch
+++ b/patches/api/0096-Additional-world.getNearbyEntities-API-s.patch
diff --git a/patches/api/0100-Location.isChunkLoaded-API.patch b/patches/api/0097-Location.isChunkLoaded-API.patch
index e1a043b2b4..e1a043b2b4 100644
--- a/patches/api/0100-Location.isChunkLoaded-API.patch
+++ b/patches/api/0097-Location.isChunkLoaded-API.patch
diff --git a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0098-Expand-World.spawnParticle-API-and-add-Builder.patch
index a35e975da3..a35e975da3 100644
--- a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/patches/api/0098-Expand-World.spawnParticle-API-and-add-Builder.patch
diff --git a/patches/api/0102-EndermanAttackPlayerEvent.patch b/patches/api/0099-EndermanAttackPlayerEvent.patch
index e634beaedd..e634beaedd 100644
--- a/patches/api/0102-EndermanAttackPlayerEvent.patch
+++ b/patches/api/0099-EndermanAttackPlayerEvent.patch
diff --git a/patches/api/0103-WitchConsumePotionEvent.patch b/patches/api/0100-WitchConsumePotionEvent.patch
index 299e82181f..299e82181f 100644
--- a/patches/api/0103-WitchConsumePotionEvent.patch
+++ b/patches/api/0100-WitchConsumePotionEvent.patch
diff --git a/patches/api/0104-WitchThrowPotionEvent.patch b/patches/api/0101-WitchThrowPotionEvent.patch
index 6cdc1812bf..6cdc1812bf 100644
--- a/patches/api/0104-WitchThrowPotionEvent.patch
+++ b/patches/api/0101-WitchThrowPotionEvent.patch
diff --git a/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch b/patches/api/0102-Location.toBlockLocation-toCenterLocation.patch
index c86b874f5f..c86b874f5f 100644
--- a/patches/api/0105-Location.toBlockLocation-toCenterLocation.patch
+++ b/patches/api/0102-Location.toBlockLocation-toCenterLocation.patch
diff --git a/patches/api/0106-PotionEffect-clone-methods.patch b/patches/api/0103-PotionEffect-clone-methods.patch
index d1fac16047..d1fac16047 100644
--- a/patches/api/0106-PotionEffect-clone-methods.patch
+++ b/patches/api/0103-PotionEffect-clone-methods.patch
diff --git a/patches/api/0107-WitchReadyPotionEvent.patch b/patches/api/0104-WitchReadyPotionEvent.patch
index e33270f804..e33270f804 100644
--- a/patches/api/0107-WitchReadyPotionEvent.patch
+++ b/patches/api/0104-WitchReadyPotionEvent.patch
diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0105-ItemStack-getMaxItemUseDuration.patch
index bb9d57e4e1..bb9d57e4e1 100644
--- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
+++ b/patches/api/0105-ItemStack-getMaxItemUseDuration.patch
diff --git a/patches/api/0109-Add-EntityTeleportEndGatewayEvent.patch b/patches/api/0106-Add-EntityTeleportEndGatewayEvent.patch
index 995b2328f6..995b2328f6 100644
--- a/patches/api/0109-Add-EntityTeleportEndGatewayEvent.patch
+++ b/patches/api/0106-Add-EntityTeleportEndGatewayEvent.patch
diff --git a/patches/api/0110-Make-shield-blocking-delay-configurable.patch b/patches/api/0107-Make-shield-blocking-delay-configurable.patch
index e6c6e635ca..e6c6e635ca 100644
--- a/patches/api/0110-Make-shield-blocking-delay-configurable.patch
+++ b/patches/api/0107-Make-shield-blocking-delay-configurable.patch
diff --git a/patches/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/patches/api/0108-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
index 420b0ca896..420b0ca896 100644
--- a/patches/api/0111-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
+++ b/patches/api/0108-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
diff --git a/patches/api/0112-Add-getNearbyXXX-methods-to-Location.patch b/patches/api/0109-Add-getNearbyXXX-methods-to-Location.patch
index 1898cc3ed6..1898cc3ed6 100644
--- a/patches/api/0112-Add-getNearbyXXX-methods-to-Location.patch
+++ b/patches/api/0109-Add-getNearbyXXX-methods-to-Location.patch
diff --git a/patches/api/0113-PlayerReadyArrowEvent.patch b/patches/api/0110-PlayerReadyArrowEvent.patch
index 95ee02ac10..95ee02ac10 100644
--- a/patches/api/0113-PlayerReadyArrowEvent.patch
+++ b/patches/api/0110-PlayerReadyArrowEvent.patch
diff --git a/patches/api/0114-Add-entity-knockback-events.patch b/patches/api/0111-Add-entity-knockback-events.patch
index ccd0f2850d..ccd0f2850d 100644
--- a/patches/api/0114-Add-entity-knockback-events.patch
+++ b/patches/api/0111-Add-entity-knockback-events.patch
diff --git a/patches/api/0115-Expand-Explosions-API.patch b/patches/api/0112-Expand-Explosions-API.patch
index 081f96fab3..081f96fab3 100644
--- a/patches/api/0115-Expand-Explosions-API.patch
+++ b/patches/api/0112-Expand-Explosions-API.patch
diff --git a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0113-ItemStack-API-additions-for-quantity-flags-lore.patch
index 0bfbef94ea..0bfbef94ea 100644
--- a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
+++ b/patches/api/0113-ItemStack-API-additions-for-quantity-flags-lore.patch
diff --git a/patches/api/0117-LivingEntity-Active-Item-API.patch b/patches/api/0114-LivingEntity-Active-Item-API.patch
index 268d315eb2..268d315eb2 100644
--- a/patches/api/0117-LivingEntity-Active-Item-API.patch
+++ b/patches/api/0114-LivingEntity-Active-Item-API.patch
diff --git a/patches/api/0118-RangedEntity-API.patch b/patches/api/0115-RangedEntity-API.patch
index db1b32cc95..db1b32cc95 100644
--- a/patches/api/0118-RangedEntity-API.patch
+++ b/patches/api/0115-RangedEntity-API.patch
diff --git a/patches/api/0119-Add-World.getEntity-UUID-API.patch b/patches/api/0116-Add-World.getEntity-UUID-API.patch
index 93e1d998ed..93e1d998ed 100644
--- a/patches/api/0119-Add-World.getEntity-UUID-API.patch
+++ b/patches/api/0116-Add-World.getEntity-UUID-API.patch
diff --git a/patches/api/0120-InventoryCloseEvent-Reason-API.patch b/patches/api/0117-InventoryCloseEvent-Reason-API.patch
index 6c7189a322..6c7189a322 100644
--- a/patches/api/0120-InventoryCloseEvent-Reason-API.patch
+++ b/patches/api/0117-InventoryCloseEvent-Reason-API.patch
diff --git a/patches/api/0121-Allow-setting-the-vex-s-summoner.patch b/patches/api/0118-Allow-setting-the-vex-s-summoner.patch
index 1e6b3abb27..1e6b3abb27 100644
--- a/patches/api/0121-Allow-setting-the-vex-s-summoner.patch
+++ b/patches/api/0118-Allow-setting-the-vex-s-summoner.patch
diff --git a/patches/api/0122-Entity-getChunk-API.patch b/patches/api/0119-Entity-getChunk-API.patch
index e0cdc1ee1f..e0cdc1ee1f 100644
--- a/patches/api/0122-Entity-getChunk-API.patch
+++ b/patches/api/0119-Entity-getChunk-API.patch
diff --git a/patches/api/0123-EnderDragon-Events.patch b/patches/api/0120-EnderDragon-Events.patch
index df5b4bae8b..df5b4bae8b 100644
--- a/patches/api/0123-EnderDragon-Events.patch
+++ b/patches/api/0120-EnderDragon-Events.patch
diff --git a/patches/api/0124-PlayerElytraBoostEvent.patch b/patches/api/0121-PlayerElytraBoostEvent.patch
index fb24f9dbbf..fb24f9dbbf 100644
--- a/patches/api/0124-PlayerElytraBoostEvent.patch
+++ b/patches/api/0121-PlayerElytraBoostEvent.patch
diff --git a/patches/api/0125-PlayerLaunchProjectileEvent.patch b/patches/api/0122-PlayerLaunchProjectileEvent.patch
index f284a611d1..f284a611d1 100644
--- a/patches/api/0125-PlayerLaunchProjectileEvent.patch
+++ b/patches/api/0122-PlayerLaunchProjectileEvent.patch
diff --git a/patches/api/0127-Allow-disabling-armour-stand-ticking.patch b/patches/api/0123-Allow-disabling-armour-stand-ticking.patch
index 1bb68e268b..1bb68e268b 100644
--- a/patches/api/0127-Allow-disabling-armour-stand-ticking.patch
+++ b/patches/api/0123-Allow-disabling-armour-stand-ticking.patch
diff --git a/patches/api/0128-SkeletonHorse-Additions.patch b/patches/api/0124-SkeletonHorse-Additions.patch
index 5f8d93ef32..5f8d93ef32 100644
--- a/patches/api/0128-SkeletonHorse-Additions.patch
+++ b/patches/api/0124-SkeletonHorse-Additions.patch
diff --git a/patches/api/0129-Expand-Location-Manipulation-API.patch b/patches/api/0125-Expand-Location-Manipulation-API.patch
index e345f50d62..e345f50d62 100644
--- a/patches/api/0129-Expand-Location-Manipulation-API.patch
+++ b/patches/api/0125-Expand-Location-Manipulation-API.patch
diff --git a/patches/api/0126-EntityTransformedEvent.patch b/patches/api/0126-EntityTransformedEvent.patch
deleted file mode 100644
index ee2983e6b3..0000000000
--- a/patches/api/0126-EntityTransformedEvent.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Anthony MacAllister <[email protected]>
-Date: Thu, 26 Jul 2018 15:28:53 -0400
-Subject: [PATCH] EntityTransformedEvent
-
-
-diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..9ce2638aeec5745f1a2b88e1cc125f57f8c8debe
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
-@@ -0,0 +1,95 @@
-+package com.destroystokyo.paper.event.entity;
-+
-+import org.bukkit.entity.Entity;
-+import org.bukkit.event.Cancellable;
-+import org.bukkit.event.HandlerList;
-+import org.bukkit.event.entity.EntityEvent;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+
-+/**
-+ * Fired when an entity transforms into another entity
-+ * <p>
-+ * If the event is cancelled, the entity will not transform
-+ *
-+ * @deprecated Bukkit has added {@link org.bukkit.event.entity.EntityTransformEvent}, you should start using that
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public class EntityTransformedEvent extends EntityEvent implements Cancellable {
-+
-+ private static final HandlerList HANDLER_LIST = new HandlerList();
-+
-+ private final Entity transformed;
-+ private final TransformedReason reason;
-+
-+ private boolean cancelled;
-+
-+ @ApiStatus.Internal
-+ public EntityTransformedEvent(@NotNull Entity entity, @NotNull Entity transformed, @NotNull TransformedReason reason) {
-+ super(entity);
-+ this.transformed = transformed;
-+ this.reason = reason;
-+ }
-+
-+ /**
-+ * The entity after it has transformed
-+ *
-+ * @return Transformed entity
-+ */
-+ @NotNull
-+ public Entity getTransformed() {
-+ return this.transformed;
-+ }
-+
-+ /**
-+ * @return The reason for the transformation
-+ */
-+ @NotNull
-+ public TransformedReason getReason() {
-+ return this.reason;
-+ }
-+
-+ @Override
-+ public boolean isCancelled(){
-+ return this.cancelled;
-+ }
-+
-+ @Override
-+ public void setCancelled(boolean cancel){
-+ this.cancelled = cancel;
-+ }
-+
-+ @Override
-+ @NotNull
-+ public HandlerList getHandlers(){
-+ return HANDLER_LIST;
-+ }
-+
-+ @NotNull
-+ public static HandlerList getHandlerList(){
-+ return HANDLER_LIST;
-+ }
-+
-+ public enum TransformedReason {
-+ /**
-+ * When a zombie drowns
-+ */
-+ DROWNED,
-+ /**
-+ * When a zombie villager is cured
-+ */
-+ CURED,
-+ /**
-+ * When a villager turns to a zombie villager
-+ */
-+ INFECTED,
-+ /**
-+ * When a mooshroom turns to a cow
-+ */
-+ SHEARED,
-+ /**
-+ * When a pig turns to a zombified piglin
-+ */
-+ LIGHTNING
-+ }
-+}
diff --git a/patches/api/0130-Expand-ArmorStand-API.patch b/patches/api/0126-Expand-ArmorStand-API.patch
index 7df27326f1..7df27326f1 100644
--- a/patches/api/0130-Expand-ArmorStand-API.patch
+++ b/patches/api/0126-Expand-ArmorStand-API.patch
diff --git a/patches/api/0131-AnvilDamageEvent.patch b/patches/api/0127-AnvilDamageEvent.patch
index ed69e49e57..ed69e49e57 100644
--- a/patches/api/0131-AnvilDamageEvent.patch
+++ b/patches/api/0127-AnvilDamageEvent.patch
diff --git a/patches/api/0132-Add-TNTPrimeEvent.patch b/patches/api/0128-Add-TNTPrimeEvent.patch
index 20d4d46dcc..20d4d46dcc 100644
--- a/patches/api/0132-Add-TNTPrimeEvent.patch
+++ b/patches/api/0128-Add-TNTPrimeEvent.patch
diff --git a/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0129-Provide-Chunk-Coordinates-as-a-Long-API.patch
index eb66322fb8..eb66322fb8 100644
--- a/patches/api/0133-Provide-Chunk-Coordinates-as-a-Long-API.patch
+++ b/patches/api/0129-Provide-Chunk-Coordinates-as-a-Long-API.patch
diff --git a/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/patches/api/0130-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
index d229aad879..d229aad879 100644
--- a/patches/api/0134-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
+++ b/patches/api/0130-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
diff --git a/patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch b/patches/api/0131-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch
index b018ea41d9..b018ea41d9 100644
--- a/patches/api/0135-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch
+++ b/patches/api/0131-Don-t-use-snapshots-for-Timings-Tile-Entity-reports.patch
diff --git a/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0132-Allow-Blocks-to-be-accessed-via-a-long-key.patch
index 5204a8d4db..5204a8d4db 100644
--- a/patches/api/0136-Allow-Blocks-to-be-accessed-via-a-long-key.patch
+++ b/patches/api/0132-Allow-Blocks-to-be-accessed-via-a-long-key.patch
diff --git a/patches/api/0137-Slime-Pathfinder-Events.patch b/patches/api/0133-Slime-Pathfinder-Events.patch
index a569c5bdda..a569c5bdda 100644
--- a/patches/api/0137-Slime-Pathfinder-Events.patch
+++ b/patches/api/0133-Slime-Pathfinder-Events.patch
diff --git a/patches/api/0138-Add-PhantomPreSpawnEvent.patch b/patches/api/0134-Add-PhantomPreSpawnEvent.patch
index 943f1561db..943f1561db 100644
--- a/patches/api/0138-Add-PhantomPreSpawnEvent.patch
+++ b/patches/api/0134-Add-PhantomPreSpawnEvent.patch
diff --git a/patches/api/0139-Add-More-Creeper-API.patch b/patches/api/0135-Add-More-Creeper-API.patch
index 2ea104b552..2ea104b552 100644
--- a/patches/api/0139-Add-More-Creeper-API.patch
+++ b/patches/api/0135-Add-More-Creeper-API.patch
diff --git a/patches/api/0140-Inventory-removeItemAnySlot.patch b/patches/api/0136-Inventory-removeItemAnySlot.patch
index 25b79cf6bd..25b79cf6bd 100644
--- a/patches/api/0140-Inventory-removeItemAnySlot.patch
+++ b/patches/api/0136-Inventory-removeItemAnySlot.patch
diff --git a/patches/api/0141-isChunkGenerated-API.patch b/patches/api/0137-isChunkGenerated-API.patch
index a1d9b815f9..a1d9b815f9 100644
--- a/patches/api/0141-isChunkGenerated-API.patch
+++ b/patches/api/0137-isChunkGenerated-API.patch
diff --git a/patches/api/0142-Add-source-block-constructor-and-getChangedBlockData.patch b/patches/api/0138-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/0138-Add-source-block-constructor-and-getChangedBlockData.patch
diff --git a/patches/api/0143-Async-Chunks-API.patch b/patches/api/0139-Async-Chunks-API.patch
index 037378415a..037378415a 100644
--- a/patches/api/0143-Async-Chunks-API.patch
+++ b/patches/api/0139-Async-Chunks-API.patch
diff --git a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/api/0140-Add-ray-tracing-methods-to-LivingEntity.patch
index 3001f15899..3001f15899 100644
--- a/patches/api/0144-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/api/0140-Add-ray-tracing-methods-to-LivingEntity.patch
diff --git a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch
index 53aad00d93..53aad00d93 100644
--- a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0141-Expose-attack-cooldown-methods-for-Player.patch
diff --git a/patches/api/0146-Improve-death-events.patch b/patches/api/0142-Improve-death-events.patch
index 3f91458a84..3f91458a84 100644
--- a/patches/api/0146-Improve-death-events.patch
+++ b/patches/api/0142-Improve-death-events.patch
diff --git a/patches/api/0147-Mob-Pathfinding-API.patch b/patches/api/0143-Mob-Pathfinding-API.patch
index 1c0b6088a4..1c0b6088a4 100644
--- a/patches/api/0147-Mob-Pathfinding-API.patch
+++ b/patches/api/0143-Mob-Pathfinding-API.patch
diff --git a/patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch b/patches/api/0144-Performance-Concurrency-Improvements-to-Permissions.patch
index 503eb3cf50..503eb3cf50 100644
--- a/patches/api/0148-Performance-Concurrency-Improvements-to-Permissions.patch
+++ b/patches/api/0144-Performance-Concurrency-Improvements-to-Permissions.patch
diff --git a/patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch b/patches/api/0145-Implement-furnace-cook-speed-multiplier-API.patch
index 6e836a844d..6e836a844d 100644
--- a/patches/api/0150-Implement-furnace-cook-speed-multiplier-API.patch
+++ b/patches/api/0145-Implement-furnace-cook-speed-multiplier-API.patch
diff --git a/patches/api/0151-Material-API-additions.patch b/patches/api/0146-Material-API-additions.patch
index 2b4bfbc34d..2b4bfbc34d 100644
--- a/patches/api/0151-Material-API-additions.patch
+++ b/patches/api/0146-Material-API-additions.patch
diff --git a/patches/api/0152-Add-Material-Tags.patch b/patches/api/0147-Add-Material-Tags.patch
index 87df8a1b1e..87df8a1b1e 100644
--- a/patches/api/0152-Add-Material-Tags.patch
+++ b/patches/api/0147-Add-Material-Tags.patch
diff --git a/patches/api/0153-PreSpawnerSpawnEvent.patch b/patches/api/0148-PreSpawnerSpawnEvent.patch
index 4b6bbe6f7a..4b6bbe6f7a 100644
--- a/patches/api/0153-PreSpawnerSpawnEvent.patch
+++ b/patches/api/0148-PreSpawnerSpawnEvent.patch
diff --git a/patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch b/patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch
deleted file mode 100644
index 4cfddc6f59..0000000000
--- a/patches/api/0149-Add-ItemStackRecipeChoice-Draft-API.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Thu, 13 Sep 2018 21:39:26 -0400
-Subject: [PATCH] Add ItemStackRecipeChoice Draft API
-
-This is based on Spigots Draft API. This is subject to change
-
-Allows creating recipes that must match isSimilar to full item stack.
-
-diff --git a/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java b/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..18c96aeef00dc11e5083001adfba4204f0de4e2b
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java
-@@ -0,0 +1,52 @@
-+package com.destroystokyo.paper.inventory;
-+
-+import org.bukkit.inventory.ItemStack;
-+import org.bukkit.inventory.RecipeChoice;
-+
-+import java.util.ArrayList;
-+import java.util.List;
-+import org.jetbrains.annotations.ApiStatus;
-+
-+/**
-+ * Allows crafting Items that require full matching itemstacks to complete the recipe for custom items
-+ * @deprecated Draft API
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public class ItemStackRecipeChoice implements RecipeChoice {
-+
-+ protected final List<ItemStack> choices = new ArrayList<>();
-+
-+ public ItemStackRecipeChoice(ItemStack choices) {
-+ this.choices.add(choices);
-+ }
-+
-+ public ItemStackRecipeChoice(List<ItemStack> choices) {
-+ this.choices.addAll(choices);
-+ }
-+
-+ @Override
-+ public ItemStack getItemStack() {
-+ return choices.isEmpty() ? null : choices.get(0);
-+ }
-+
-+ @Override
-+ public RecipeChoice clone() {
-+ try {
-+ ItemStackRecipeChoice clone = (ItemStackRecipeChoice) super.clone();
-+ clone.choices.addAll(this.choices);
-+ return clone;
-+ } catch (CloneNotSupportedException ex) {
-+ throw new AssertionError(ex);
-+ }
-+ }
-+
-+ @Override
-+ public boolean test(ItemStack itemStack) {
-+ for (ItemStack stack : choices) {
-+ if (stack.isSimilar(itemStack)) {
-+ return true;
-+ }
-+ }
-+ return false;
-+ }
-+}
diff --git a/patches/api/0154-Add-LivingEntity-getTargetEntity.patch b/patches/api/0149-Add-LivingEntity-getTargetEntity.patch
index 27bc531965..27bc531965 100644
--- a/patches/api/0154-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/api/0149-Add-LivingEntity-getTargetEntity.patch
diff --git a/patches/api/0155-Add-sun-related-API.patch b/patches/api/0150-Add-sun-related-API.patch
index 640a7df744..640a7df744 100644
--- a/patches/api/0155-Add-sun-related-API.patch
+++ b/patches/api/0150-Add-sun-related-API.patch
diff --git a/patches/api/0156-Turtle-API.patch b/patches/api/0151-Turtle-API.patch
index 3ec867d360..3ec867d360 100644
--- a/patches/api/0156-Turtle-API.patch
+++ b/patches/api/0151-Turtle-API.patch
diff --git a/patches/api/0157-Add-spectator-target-events.patch b/patches/api/0152-Add-spectator-target-events.patch
index 90f65b5fc8..90f65b5fc8 100644
--- a/patches/api/0157-Add-spectator-target-events.patch
+++ b/patches/api/0152-Add-spectator-target-events.patch
diff --git a/patches/api/0158-Add-more-Witch-API.patch b/patches/api/0153-Add-more-Witch-API.patch
index 0da75bb9b7..0da75bb9b7 100644
--- a/patches/api/0158-Add-more-Witch-API.patch
+++ b/patches/api/0153-Add-more-Witch-API.patch
diff --git a/patches/api/0159-Make-the-default-permission-message-configurable.patch b/patches/api/0154-Make-the-default-permission-message-configurable.patch
index 10b063f125..10b063f125 100644
--- a/patches/api/0159-Make-the-default-permission-message-configurable.patch
+++ b/patches/api/0154-Make-the-default-permission-message-configurable.patch
diff --git a/patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch b/patches/api/0155-Support-cancellation-supression-of-EntityDismount-Ve.patch
index 420a97487d..420a97487d 100644
--- a/patches/api/0160-Support-cancellation-supression-of-EntityDismount-Ve.patch
+++ b/patches/api/0155-Support-cancellation-supression-of-EntityDismount-Ve.patch
diff --git a/patches/api/0161-Add-more-Zombie-API.patch b/patches/api/0156-Add-more-Zombie-API.patch
index 38efc859d8..38efc859d8 100644
--- a/patches/api/0161-Add-more-Zombie-API.patch
+++ b/patches/api/0156-Add-more-Zombie-API.patch
diff --git a/patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch b/patches/api/0157-Change-the-reserved-channel-check-to-be-sensible.patch
index 8975ff3c43..8975ff3c43 100644
--- a/patches/api/0162-Change-the-reserved-channel-check-to-be-sensible.patch
+++ b/patches/api/0157-Change-the-reserved-channel-check-to-be-sensible.patch
diff --git a/patches/api/0163-Add-PlayerConnectionCloseEvent.patch b/patches/api/0158-Add-PlayerConnectionCloseEvent.patch
index 6264223dd9..6264223dd9 100644
--- a/patches/api/0163-Add-PlayerConnectionCloseEvent.patch
+++ b/patches/api/0158-Add-PlayerConnectionCloseEvent.patch
diff --git a/patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index 28494eb9d4..28494eb9d4 100644
--- a/patches/api/0164-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/api/0159-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
diff --git a/patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch b/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch
index 817b9a2a62..817b9a2a62 100644
--- a/patches/api/0165-Add-ItemStack-Recipe-API-helper-methods.patch
+++ b/patches/api/0160-Add-ItemStack-Recipe-API-helper-methods.patch
diff --git a/patches/api/0166-BlockDestroyEvent.patch b/patches/api/0161-BlockDestroyEvent.patch
index d6ac7bfb8d..d6ac7bfb8d 100644
--- a/patches/api/0166-BlockDestroyEvent.patch
+++ b/patches/api/0161-BlockDestroyEvent.patch
diff --git a/patches/api/0167-Add-WhitelistToggleEvent.patch b/patches/api/0162-Add-WhitelistToggleEvent.patch
index 1e26aba2a3..1e26aba2a3 100644
--- a/patches/api/0167-Add-WhitelistToggleEvent.patch
+++ b/patches/api/0162-Add-WhitelistToggleEvent.patch
diff --git a/patches/api/0168-Add-GS4-Query-event.patch b/patches/api/0163-Add-GS4-Query-event.patch
index a153279317..a153279317 100644
--- a/patches/api/0168-Add-GS4-Query-event.patch
+++ b/patches/api/0163-Add-GS4-Query-event.patch
diff --git a/patches/api/0169-Add-PlayerPostRespawnEvent.patch b/patches/api/0164-Add-PlayerPostRespawnEvent.patch
index c261fc7375..c261fc7375 100644
--- a/patches/api/0169-Add-PlayerPostRespawnEvent.patch
+++ b/patches/api/0164-Add-PlayerPostRespawnEvent.patch
diff --git a/patches/api/0170-Entity-getEntitySpawnReason.patch b/patches/api/0165-Entity-getEntitySpawnReason.patch
index 3b9f0bedd1..3b9f0bedd1 100644
--- a/patches/api/0170-Entity-getEntitySpawnReason.patch
+++ b/patches/api/0165-Entity-getEntitySpawnReason.patch
diff --git a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index 0f7be3c617..0f7be3c617 100644
--- a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
diff --git a/patches/api/0172-Server-Tick-Events.patch b/patches/api/0167-Server-Tick-Events.patch
index cc46a9f29a..cc46a9f29a 100644
--- a/patches/api/0172-Server-Tick-Events.patch
+++ b/patches/api/0167-Server-Tick-Events.patch
diff --git a/patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch b/patches/api/0168-PlayerDeathEvent-getItemsToKeep.patch
index 4d28221bcd..4d28221bcd 100644
--- a/patches/api/0173-PlayerDeathEvent-getItemsToKeep.patch
+++ b/patches/api/0168-PlayerDeathEvent-getItemsToKeep.patch
diff --git a/patches/api/0169-Add-Heightmap-API.patch b/patches/api/0169-Add-Heightmap-API.patch
new file mode 100644
index 0000000000..b5d70f803f
--- /dev/null
+++ b/patches/api/0169-Add-Heightmap-API.patch
@@ -0,0 +1,42 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Spottedleaf <[email protected]>
+Date: Sat, 1 Dec 2018 19:00:36 -0800
+Subject: [PATCH] Add Heightmap API
+
+Changed to use upstream's heightmap API - Machine_Maker
+
+diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
+index eec6c9cd7da6938351905129bb5a66f49a257d01..65618b6b3c950fb27707f243a766511d6cd3aab4 100644
+--- a/src/main/java/org/bukkit/Location.java
++++ b/src/main/java/org/bukkit/Location.java
+@@ -649,6 +649,30 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
+ }
+ // Paper end - expand Location API
+
++ // Paper start - Add heightmap api
++ /**
++ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
++ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
++ * @throws NullPointerException if {{@link #getWorld()}} is {@code null}
++ */
++ @NotNull
++ public Location toHighestLocation() {
++ return this.toHighestLocation(HeightMap.WORLD_SURFACE);
++ }
++
++ /**
++ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
++ * @param heightMap The heightmap to use for finding the highest y location.
++ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
++ */
++ @NotNull
++ public Location toHighestLocation(@NotNull final HeightMap heightMap) {
++ final Location ret = this.clone();
++ ret.setY(this.getWorld().getHighestBlockYAt(this, heightMap));
++ return ret;
++ }
++ // Paper end - Add heightmap api
++
+ // Paper start - Expand Explosions API
+ /**
+ * Creates explosion at this location with given power
diff --git a/patches/api/0175-Mob-Spawner-API-Enhancements.patch b/patches/api/0170-Mob-Spawner-API-Enhancements.patch
index 4607e8b4bf..4607e8b4bf 100644
--- a/patches/api/0175-Mob-Spawner-API-Enhancements.patch
+++ b/patches/api/0170-Mob-Spawner-API-Enhancements.patch
diff --git a/patches/api/0176-Add-BlockSoundGroup-interface.patch b/patches/api/0171-Add-BlockSoundGroup-interface.patch
index 76ed1fa86d..76ed1fa86d 100644
--- a/patches/api/0176-Add-BlockSoundGroup-interface.patch
+++ b/patches/api/0171-Add-BlockSoundGroup-interface.patch
diff --git a/patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch b/patches/api/0172-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
index b5148c5574..b5148c5574 100644
--- a/patches/api/0177-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
+++ b/patches/api/0172-Amend-PlayerInteractAtEntityEvent-javadoc-for-ArmorS.patch
diff --git a/patches/api/0178-Set-true-custom-payload-channel-size-limit.patch b/patches/api/0173-Set-true-custom-payload-channel-size-limit.patch
index c524e2aaa0..c524e2aaa0 100644
--- a/patches/api/0178-Set-true-custom-payload-channel-size-limit.patch
+++ b/patches/api/0173-Set-true-custom-payload-channel-size-limit.patch
diff --git a/patches/api/0174-Add-Heightmap-API.patch b/patches/api/0174-Add-Heightmap-API.patch
deleted file mode 100644
index c069ec6536..0000000000
--- a/patches/api/0174-Add-Heightmap-API.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Spottedleaf <[email protected]>
-Date: Sat, 1 Dec 2018 19:00:36 -0800
-Subject: [PATCH] Add Heightmap API
-
-Changed to use upstream's heightmap API - Machine_Maker
-
-diff --git a/src/main/java/com/destroystokyo/paper/HeightmapType.java b/src/main/java/com/destroystokyo/paper/HeightmapType.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..1c832d69bb3717dcfccf21e45f6f060a64eb4f11
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/HeightmapType.java
-@@ -0,0 +1,39 @@
-+package com.destroystokyo.paper;
-+
-+import org.jetbrains.annotations.ApiStatus;
-+
-+/**
-+ * Enumeration of different heightmap types maintained by the server. Generally using these maps is much faster
-+ * than using an iterative search for a block in a given x, z coordinate.
-+ *
-+ * @deprecated Upstream has added their own API for using the game heightmaps. See {@link org.bukkit.HeightMap} and the
-+ * non-deprecated getHighestBlock methods on World such as {@link org.bukkit.World#getHighestBlockAt(org.bukkit.Location, org.bukkit.HeightMap)}.
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public enum HeightmapType {
-+
-+ /**
-+ * The highest block used for lighting in the world. Also the block returned by {@link org.bukkit.World#getHighestBlockYAt(int, int)}}
-+ */
-+ LIGHT_BLOCKING,
-+
-+ /**
-+ * References the highest block in the world.
-+ */
-+ ANY,
-+
-+ /**
-+ * References the highest solid block in a world.
-+ */
-+ SOLID,
-+
-+ /**
-+ * References the highest solid or liquid block in a world.
-+ */
-+ SOLID_OR_LIQUID,
-+
-+ /**
-+ * References the highest solid or liquid block in a world, excluding leaves.
-+ */
-+ SOLID_OR_LIQUID_NO_LEAVES;
-+}
-diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
-index eec6c9cd7da6938351905129bb5a66f49a257d01..a104efba13133ce2bc397e32af53da8889218e11 100644
---- a/src/main/java/org/bukkit/Location.java
-+++ b/src/main/java/org/bukkit/Location.java
-@@ -649,6 +649,46 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
- }
- // Paper end - expand Location API
-
-+ // Paper start - Add heightmap api
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
-+ * @throws NullPointerException if {{@link #getWorld()}} is {@code null}
-+ */
-+ @NotNull
-+ public Location toHighestLocation() {
-+ return this.toHighestLocation(HeightMap.WORLD_SURFACE);
-+ }
-+
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightmap)
-+ * @param heightmap The heightmap to use for finding the highest y location.
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightmap)
-+ * @throws NullPointerException if {{@link #getWorld()}} is {@code null}
-+ * @throws UnsupportedOperationException if {@link World#getHighestBlockYAt(int, int, com.destroystokyo.paper.HeightmapType)} does not support the specified heightmap
-+ * @deprecated Use {@link org.bukkit.Location#toHighestLocation(HeightMap)}
-+ */
-+ @NotNull
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ public Location toHighestLocation(@NotNull final com.destroystokyo.paper.HeightmapType heightmap) {
-+ final Location ret = this.clone();
-+ ret.setY(this.getWorld().getHighestBlockYAt(this, heightmap));
-+ return ret;
-+ }
-+
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
-+ * @param heightMap The heightmap to use for finding the highest y location.
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
-+ */
-+ @NotNull
-+ public Location toHighestLocation(@NotNull final HeightMap heightMap) {
-+ final Location ret = this.clone();
-+ ret.setY(this.getWorld().getHighestBlockYAt(this, heightMap));
-+ return ret;
-+ }
-+ // Paper end - Add heightmap api
-+
- // Paper start - Expand Explosions API
- /**
- * Creates explosion at this location with given power
-diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 216995288f6b8b407ef8240411b5ed4713379a7a..c1fd76e1b8d0f326f985662a2845f76c1cdf5d40 100644
---- a/src/main/java/org/bukkit/World.java
-+++ b/src/main/java/org/bukkit/World.java
-@@ -153,6 +153,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
- @NotNull
- public Block getHighestBlockAt(@NotNull Location location);
-
-+ // Paper start - Add heightmap API
-+ /**
-+ * Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ *
-+ * @param x The block's x-coordinate.
-+ * @param z The block's z-coordinate.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest block's y-coordinate at (x, z) that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockYAt(int, int, HeightMap)}
-+ *
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ public int getHighestBlockYAt(int x, int z, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException;
-+
-+ /**
-+ * Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
-+ * Note that the y-coordinate of the specified location is ignored.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ *
-+ * @param location The specified block coordinates.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest block's y-coordinate at {@code location} that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockYAt(Location, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ default int getHighestBlockYAt(@NotNull Location location, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getHighestBlockYAt(location.getBlockX(), location.getBlockZ(), heightmap);
-+ }
-+
-+ /**
-+ * Returns the highest {@link Block} at the specified block coordinates that match the specified heightmap's conditions.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ * @param x The block's x-coordinate.
-+ * @param z The block's z-coordinate.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest {@link Block} at (x, z) that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockAt(int, int, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ @NotNull
-+ default Block getHighestBlockAt(int x, int z, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getBlockAt(x, this.getHighestBlockYAt(x, z, heightmap), z);
-+ }
-+
-+ /**
-+ * Returns the highest {@link Block} at the specified block coordinates that match the specified heightmap's conditions.
-+ * Note that the y-coordinate of the specified location is ignored.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ * @param location The specified block coordinates.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest {@link Block} at {@code location} that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockAt(Location, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ @NotNull
-+ default Block getHighestBlockAt(@NotNull Location location, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getHighestBlockAt(location.getBlockX(), location.getBlockZ(), heightmap);
-+ }
-+ // Paper end
-+
- /**
- * Gets the highest block corresponding to the {@link HeightMap} at the
- * given coordinates.
diff --git a/patches/api/0179-Expose-the-internal-current-tick.patch b/patches/api/0174-Expose-the-internal-current-tick.patch
index f080acd155..f080acd155 100644
--- a/patches/api/0179-Expose-the-internal-current-tick.patch
+++ b/patches/api/0174-Expose-the-internal-current-tick.patch
diff --git a/patches/api/0180-Improve-Block-breakNaturally-API.patch b/patches/api/0175-Improve-Block-breakNaturally-API.patch
index 2b4f718585..2b4f718585 100644
--- a/patches/api/0180-Improve-Block-breakNaturally-API.patch
+++ b/patches/api/0175-Improve-Block-breakNaturally-API.patch
diff --git a/patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch b/patches/api/0176-PlayerDeathEvent-shouldDropExperience.patch
index 9f043baab6..9f043baab6 100644
--- a/patches/api/0181-PlayerDeathEvent-shouldDropExperience.patch
+++ b/patches/api/0176-PlayerDeathEvent-shouldDropExperience.patch
diff --git a/patches/api/0182-Add-ThrownEggHatchEvent.patch b/patches/api/0177-Add-ThrownEggHatchEvent.patch
index 8636b6d6df..8636b6d6df 100644
--- a/patches/api/0182-Add-ThrownEggHatchEvent.patch
+++ b/patches/api/0177-Add-ThrownEggHatchEvent.patch
diff --git a/patches/api/0183-Entity-Jump-API.patch b/patches/api/0178-Entity-Jump-API.patch
index 2360a174f5..2360a174f5 100644
--- a/patches/api/0183-Entity-Jump-API.patch
+++ b/patches/api/0178-Entity-Jump-API.patch
diff --git a/patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch b/patches/api/0179-add-hand-to-BlockMultiPlaceEvent.patch
index f15b482d62..f15b482d62 100644
--- a/patches/api/0184-add-hand-to-BlockMultiPlaceEvent.patch
+++ b/patches/api/0179-add-hand-to-BlockMultiPlaceEvent.patch
diff --git a/patches/api/0185-Add-tick-times-API.patch b/patches/api/0180-Add-tick-times-API.patch
index 29301f813d..29301f813d 100644
--- a/patches/api/0185-Add-tick-times-API.patch
+++ b/patches/api/0180-Add-tick-times-API.patch
diff --git a/patches/api/0186-Expose-MinecraftServer-isRunning.patch b/patches/api/0181-Expose-MinecraftServer-isRunning.patch
index 4523ddefdc..4523ddefdc 100644
--- a/patches/api/0186-Expose-MinecraftServer-isRunning.patch
+++ b/patches/api/0181-Expose-MinecraftServer-isRunning.patch
diff --git a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch
index 2d931c5392..2d931c5392 100644
--- a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch
diff --git a/patches/api/0188-Add-Player-Client-Options-API.patch b/patches/api/0183-Add-Player-Client-Options-API.patch
index 485335d7ee..485335d7ee 100644
--- a/patches/api/0188-Add-Player-Client-Options-API.patch
+++ b/patches/api/0183-Add-Player-Client-Options-API.patch
diff --git a/patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/api/0184-Add-PlayerAttackEntityCooldownResetEvent.patch
index c3cfd0642b..c3cfd0642b 100644
--- a/patches/api/0189-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/patches/api/0184-Add-PlayerAttackEntityCooldownResetEvent.patch
diff --git a/patches/api/0190-Add-item-slot-convenience-methods.patch b/patches/api/0185-Add-item-slot-convenience-methods.patch
index 20638212e8..20638212e8 100644
--- a/patches/api/0190-Add-item-slot-convenience-methods.patch
+++ b/patches/api/0185-Add-item-slot-convenience-methods.patch
diff --git a/patches/api/0191-Villager-Restocks-API.patch b/patches/api/0186-Villager-Restocks-API.patch
index 5b3898429d..5b3898429d 100644
--- a/patches/api/0191-Villager-Restocks-API.patch
+++ b/patches/api/0186-Villager-Restocks-API.patch
diff --git a/patches/api/0192-Add-Mob-Goal-API.patch b/patches/api/0187-Add-Mob-Goal-API.patch
index c3cd7426b8..c3cd7426b8 100644
--- a/patches/api/0192-Add-Mob-Goal-API.patch
+++ b/patches/api/0187-Add-Mob-Goal-API.patch
diff --git a/patches/api/0193-Add-villager-reputation-API.patch b/patches/api/0188-Add-villager-reputation-API.patch
index 4a2093aab9..4a2093aab9 100644
--- a/patches/api/0193-Add-villager-reputation-API.patch
+++ b/patches/api/0188-Add-villager-reputation-API.patch
diff --git a/patches/api/0194-Spawn-Reason-API.patch b/patches/api/0189-Spawn-Reason-API.patch
index 97edb6ab3f..97edb6ab3f 100644
--- a/patches/api/0194-Spawn-Reason-API.patch
+++ b/patches/api/0189-Spawn-Reason-API.patch
diff --git a/patches/api/0195-Potential-bed-API.patch b/patches/api/0190-Potential-bed-API.patch
index a842554f35..a842554f35 100644
--- a/patches/api/0195-Potential-bed-API.patch
+++ b/patches/api/0190-Potential-bed-API.patch
diff --git a/patches/api/0196-Inventory-getHolder-method-without-block-snapshot.patch b/patches/api/0191-Inventory-getHolder-method-without-block-snapshot.patch
index d834d6cdb3..d834d6cdb3 100644
--- a/patches/api/0196-Inventory-getHolder-method-without-block-snapshot.patch
+++ b/patches/api/0191-Inventory-getHolder-method-without-block-snapshot.patch
diff --git a/patches/api/0197-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/api/0192-Add-and-implement-PlayerRecipeBookClickEvent.patch
index 4fe75c486c..4fe75c486c 100644
--- a/patches/api/0197-Add-and-implement-PlayerRecipeBookClickEvent.patch
+++ b/patches/api/0192-Add-and-implement-PlayerRecipeBookClickEvent.patch
diff --git a/patches/api/0198-Support-components-in-ItemMeta.patch b/patches/api/0193-Support-components-in-ItemMeta.patch
index 09fb2309cf..09fb2309cf 100644
--- a/patches/api/0198-Support-components-in-ItemMeta.patch
+++ b/patches/api/0193-Support-components-in-ItemMeta.patch
diff --git a/patches/api/0199-added-2-new-TargetReasons-for-1.16-mob-behavior.patch b/patches/api/0194-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
index 6c725bc833..6c725bc833 100644
--- a/patches/api/0199-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
+++ b/patches/api/0194-added-2-new-TargetReasons-for-1.16-mob-behavior.patch
diff --git a/patches/api/0200-Add-entity-liquid-API.patch b/patches/api/0195-Add-entity-liquid-API.patch
index 60621425e7..60621425e7 100644
--- a/patches/api/0200-Add-entity-liquid-API.patch
+++ b/patches/api/0195-Add-entity-liquid-API.patch
diff --git a/patches/api/0201-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch b/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
index 95fb3a46ed..95fb3a46ed 100644
--- a/patches/api/0201-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
+++ b/patches/api/0196-Add-PrepareResultEvent-PrepareGrindstoneEvent.patch
diff --git a/patches/api/0202-Add-BellRingEvent.patch b/patches/api/0197-Add-BellRingEvent.patch
index 07b7fc2c6c..07b7fc2c6c 100644
--- a/patches/api/0202-Add-BellRingEvent.patch
+++ b/patches/api/0197-Add-BellRingEvent.patch
diff --git a/patches/api/0203-Brand-support.patch b/patches/api/0198-Brand-support.patch
index 64e9c90fb4..64e9c90fb4 100644
--- a/patches/api/0203-Brand-support.patch
+++ b/patches/api/0198-Brand-support.patch
diff --git a/patches/api/0204-Add-moon-phase-API.patch b/patches/api/0199-Add-moon-phase-API.patch
index d949b274a6..d949b274a6 100644
--- a/patches/api/0204-Add-moon-phase-API.patch
+++ b/patches/api/0199-Add-moon-phase-API.patch
diff --git a/patches/api/0205-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch
index 28bd4b6872..28bd4b6872 100644
--- a/patches/api/0205-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch
diff --git a/patches/api/0206-Add-more-Evoker-API.patch b/patches/api/0201-Add-more-Evoker-API.patch
index 0d6f0f7328..0d6f0f7328 100644
--- a/patches/api/0206-Add-more-Evoker-API.patch
+++ b/patches/api/0201-Add-more-Evoker-API.patch
diff --git a/patches/api/0207-Add-methods-to-get-translation-keys.patch b/patches/api/0202-Add-methods-to-get-translation-keys.patch
index 292116000a..292116000a 100644
--- a/patches/api/0207-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0202-Add-methods-to-get-translation-keys.patch
diff --git a/patches/api/0208-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0203-Create-HoverEvent-from-ItemStack-Entity.patch
index 8722000ff7..8722000ff7 100644
--- a/patches/api/0208-Create-HoverEvent-from-ItemStack-Entity.patch
+++ b/patches/api/0203-Create-HoverEvent-from-ItemStack-Entity.patch
diff --git a/patches/api/0209-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch
index 43e6937d05..43e6937d05 100644
--- a/patches/api/0209-Add-additional-open-container-api-to-HumanEntity.patch
+++ b/patches/api/0204-Add-additional-open-container-api-to-HumanEntity.patch
diff --git a/patches/api/0210-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 01127fef5b..01127fef5b 100644
--- a/patches/api/0210-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
diff --git a/patches/api/0211-Entity-isTicking.patch b/patches/api/0206-Entity-isTicking.patch
index 29ed59961e..29ed59961e 100644
--- a/patches/api/0211-Entity-isTicking.patch
+++ b/patches/api/0206-Entity-isTicking.patch
diff --git a/patches/api/0212-Villager-resetOffers.patch b/patches/api/0207-Villager-resetOffers.patch
index 60fedfba0f..60fedfba0f 100644
--- a/patches/api/0212-Villager-resetOffers.patch
+++ b/patches/api/0207-Villager-resetOffers.patch
diff --git a/patches/api/0213-Player-elytra-boost-API.patch b/patches/api/0208-Player-elytra-boost-API.patch
index 5567832274..5567832274 100644
--- a/patches/api/0213-Player-elytra-boost-API.patch
+++ b/patches/api/0208-Player-elytra-boost-API.patch
diff --git a/patches/api/0214-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0209-Add-getOfflinePlayerIfCached-String.patch
index 52181f0970..52181f0970 100644
--- a/patches/api/0214-Add-getOfflinePlayerIfCached-String.patch
+++ b/patches/api/0209-Add-getOfflinePlayerIfCached-String.patch
diff --git a/patches/api/0215-Add-ignore-discounts-API.patch b/patches/api/0210-Add-ignore-discounts-API.patch
index 89655ddef8..89655ddef8 100644
--- a/patches/api/0215-Add-ignore-discounts-API.patch
+++ b/patches/api/0210-Add-ignore-discounts-API.patch
diff --git a/patches/api/0216-Item-no-age-no-player-pickup.patch b/patches/api/0211-Item-no-age-no-player-pickup.patch
index d3be2301af..d3be2301af 100644
--- a/patches/api/0216-Item-no-age-no-player-pickup.patch
+++ b/patches/api/0211-Item-no-age-no-player-pickup.patch
diff --git a/patches/api/0217-Beacon-API-custom-effect-ranges.patch b/patches/api/0212-Beacon-API-custom-effect-ranges.patch
index effd7b3ae9..effd7b3ae9 100644
--- a/patches/api/0217-Beacon-API-custom-effect-ranges.patch
+++ b/patches/api/0212-Beacon-API-custom-effect-ranges.patch
diff --git a/patches/api/0218-Add-API-for-quit-reason.patch b/patches/api/0213-Add-API-for-quit-reason.patch
index 0350afaf92..0350afaf92 100644
--- a/patches/api/0218-Add-API-for-quit-reason.patch
+++ b/patches/api/0213-Add-API-for-quit-reason.patch
diff --git a/patches/api/0219-Add-Destroy-Speed-API.patch b/patches/api/0214-Add-Destroy-Speed-API.patch
index 4fb7eb4c7b..4fb7eb4c7b 100644
--- a/patches/api/0219-Add-Destroy-Speed-API.patch
+++ b/patches/api/0214-Add-Destroy-Speed-API.patch
diff --git a/patches/api/0220-Add-LivingEntity-clearActiveItem.patch b/patches/api/0215-Add-LivingEntity-clearActiveItem.patch
index 64de25a82d..64de25a82d 100644
--- a/patches/api/0220-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/api/0215-Add-LivingEntity-clearActiveItem.patch
diff --git a/patches/api/0221-Add-PlayerItemCooldownEvent.patch b/patches/api/0216-Add-PlayerItemCooldownEvent.patch
index ae5118c7da..ae5118c7da 100644
--- a/patches/api/0221-Add-PlayerItemCooldownEvent.patch
+++ b/patches/api/0216-Add-PlayerItemCooldownEvent.patch
diff --git a/patches/api/0222-More-lightning-API.patch b/patches/api/0217-More-lightning-API.patch
index c4924dcdf2..c4924dcdf2 100644
--- a/patches/api/0222-More-lightning-API.patch
+++ b/patches/api/0217-More-lightning-API.patch
diff --git a/patches/api/0223-Add-PlayerShearBlockEvent.patch b/patches/api/0218-Add-PlayerShearBlockEvent.patch
index 1506924937..1506924937 100644
--- a/patches/api/0223-Add-PlayerShearBlockEvent.patch
+++ b/patches/api/0218-Add-PlayerShearBlockEvent.patch
diff --git a/patches/api/0224-Player-Chunk-Load-Unload-Events.patch b/patches/api/0219-Player-Chunk-Load-Unload-Events.patch
index c1779bb840..c1779bb840 100644
--- a/patches/api/0224-Player-Chunk-Load-Unload-Events.patch
+++ b/patches/api/0219-Player-Chunk-Load-Unload-Events.patch
diff --git a/patches/api/0225-Expose-LivingEntity-hurt-direction.patch b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch
index 2dc78a669d..2dc78a669d 100644
--- a/patches/api/0225-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch
diff --git a/patches/api/0226-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/api/0221-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
index 00552e9137..00552e9137 100644
--- a/patches/api/0226-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
+++ b/patches/api/0221-Add-OBSTRUCTED-reason-to-BedEnterResult.patch
diff --git a/patches/api/0227-Added-PlayerTradeEvent.patch b/patches/api/0222-Added-PlayerTradeEvent.patch
index 11ad019021..11ad019021 100644
--- a/patches/api/0227-Added-PlayerTradeEvent.patch
+++ b/patches/api/0222-Added-PlayerTradeEvent.patch
diff --git a/patches/api/0228-Add-TargetHitEvent-API.patch b/patches/api/0223-Add-TargetHitEvent-API.patch
index 6c68224363..6c68224363 100644
--- a/patches/api/0228-Add-TargetHitEvent-API.patch
+++ b/patches/api/0223-Add-TargetHitEvent-API.patch
diff --git a/patches/api/0229-Additional-Block-Material-API-s.patch b/patches/api/0224-Additional-Block-Material-API-s.patch
index 98a66a166c..98a66a166c 100644
--- a/patches/api/0229-Additional-Block-Material-API-s.patch
+++ b/patches/api/0224-Additional-Block-Material-API-s.patch
diff --git a/patches/api/0230-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
index d297dd5c24..d297dd5c24 100644
--- a/patches/api/0230-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
diff --git a/patches/api/0231-Add-PlayerFlowerPotManipulateEvent.patch b/patches/api/0226-Add-PlayerFlowerPotManipulateEvent.patch
index cb08fd1404..cb08fd1404 100644
--- a/patches/api/0231-Add-PlayerFlowerPotManipulateEvent.patch
+++ b/patches/api/0226-Add-PlayerFlowerPotManipulateEvent.patch
diff --git a/patches/api/0232-Zombie-API-breaking-doors.patch b/patches/api/0227-Zombie-API-breaking-doors.patch
index 24118c13ee..24118c13ee 100644
--- a/patches/api/0232-Zombie-API-breaking-doors.patch
+++ b/patches/api/0227-Zombie-API-breaking-doors.patch
diff --git a/patches/api/0233-Add-EntityLoadCrossbowEvent.patch b/patches/api/0228-Add-EntityLoadCrossbowEvent.patch
index 2a60c84538..2a60c84538 100644
--- a/patches/api/0233-Add-EntityLoadCrossbowEvent.patch
+++ b/patches/api/0228-Add-EntityLoadCrossbowEvent.patch
diff --git a/patches/api/0234-Added-WorldGameRuleChangeEvent.patch b/patches/api/0229-Added-WorldGameRuleChangeEvent.patch
index 348efda0ca..348efda0ca 100644
--- a/patches/api/0234-Added-WorldGameRuleChangeEvent.patch
+++ b/patches/api/0229-Added-WorldGameRuleChangeEvent.patch
diff --git a/patches/api/0235-Added-ServerResourcesReloadedEvent.patch b/patches/api/0230-Added-ServerResourcesReloadedEvent.patch
index 150b70e6cc..150b70e6cc 100644
--- a/patches/api/0235-Added-ServerResourcesReloadedEvent.patch
+++ b/patches/api/0230-Added-ServerResourcesReloadedEvent.patch
diff --git a/patches/api/0236-Add-BlockFailedDispenseEvent.patch b/patches/api/0231-Add-BlockFailedDispenseEvent.patch
index 4f480e7417..4f480e7417 100644
--- a/patches/api/0236-Add-BlockFailedDispenseEvent.patch
+++ b/patches/api/0231-Add-BlockFailedDispenseEvent.patch
diff --git a/patches/api/0237-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0232-Added-PlayerLecternPageChangeEvent.patch
index 3c9f223aa5..3c9f223aa5 100644
--- a/patches/api/0237-Added-PlayerLecternPageChangeEvent.patch
+++ b/patches/api/0232-Added-PlayerLecternPageChangeEvent.patch
diff --git a/patches/api/0238-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0233-Added-PlayerLoomPatternSelectEvent.patch
index 766e838ec8..766e838ec8 100644
--- a/patches/api/0238-Added-PlayerLoomPatternSelectEvent.patch
+++ b/patches/api/0233-Added-PlayerLoomPatternSelectEvent.patch
diff --git a/patches/api/0239-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0234-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
index c25fbd796f..c25fbd796f 100644
--- a/patches/api/0239-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
+++ b/patches/api/0234-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch
diff --git a/patches/api/0240-Add-sendOpLevel-API.patch b/patches/api/0235-Add-sendOpLevel-API.patch
index 360c197b18..360c197b18 100644
--- a/patches/api/0240-Add-sendOpLevel-API.patch
+++ b/patches/api/0235-Add-sendOpLevel-API.patch
diff --git a/patches/api/0241-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch
index 9740622000..9740622000 100644
--- a/patches/api/0241-Add-RegistryAccess-for-managing-registries.patch
+++ b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch
diff --git a/patches/api/0237-Add-StructuresLocateEvent.patch b/patches/api/0237-Add-StructuresLocateEvent.patch
new file mode 100644
index 0000000000..4f5120e852
--- /dev/null
+++ b/patches/api/0237-Add-StructuresLocateEvent.patch
@@ -0,0 +1,189 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: dfsek <[email protected]>
+Date: Tue, 15 Sep 2020 21:59:16 -0700
+Subject: [PATCH] Add StructuresLocateEvent
+
+Co-authored-by: Jake Potrebic <[email protected]>
+
+diff --git a/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java b/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..41ea65c9ecf6339bb50864a6d28e53c7e8d1edf7
+--- /dev/null
++++ b/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java
+@@ -0,0 +1,176 @@
++package io.papermc.paper.event.world;
++
++import io.papermc.paper.math.Position;
++import java.util.Collections;
++import java.util.List;
++import org.bukkit.Location;
++import org.bukkit.World;
++import org.bukkit.event.Cancellable;
++import org.bukkit.event.HandlerList;
++import org.bukkit.event.world.WorldEvent;
++import org.bukkit.generator.structure.Structure;
++import org.bukkit.generator.structure.StructureType;
++import org.jetbrains.annotations.ApiStatus;
++import org.jetbrains.annotations.NotNull;
++import org.jetbrains.annotations.Nullable;
++import org.jetbrains.annotations.UnmodifiableView;
++
++/**
++ * Called <b>before</b> a set of configured structures is located.
++ * This happens when:
++ * <ul>
++ * <li>The /locate command is used.<br></li>
++ * <li>An Eye of Ender is used.</li>
++ * <li>An Explorer/Treasure Map is activated.</li>
++ * <li>A dolphin swims to a treasure location.</li>
++ * <li>A trade is done with a villager for a map.</li>
++ * <li>{@link World#locateNearestStructure(Location, StructureType, int, boolean)} is invoked.</li>
++ * <li>{@link World#locateNearestStructure(Location, Structure, int, boolean)} is invoked.</li>
++ * </ul>
++ */
++public class StructuresLocateEvent extends WorldEvent implements Cancellable {
++
++ private static final HandlerList HANDLER_LIST = new HandlerList();
++
++ private final Location origin;
++ private Result result;
++ private List<Structure> structures;
++ private int radius;
++ private boolean findUnexplored;
++
++ private boolean cancelled;
++
++ @ApiStatus.Internal
++ public StructuresLocateEvent(@NotNull World world, @NotNull Location origin, @NotNull List<Structure> structures, int radius, boolean findUnexplored) {
++ super(world);
++ this.origin = origin;
++ this.structures = structures;
++ this.radius = radius;
++ this.findUnexplored = findUnexplored;
++ }
++
++ /**
++ * Gets the {@link Location} from which the search is to be conducted.
++ *
++ * @return {@link Location} where search begins
++ */
++ public @NotNull Location getOrigin() {
++ return this.origin.clone();
++ }
++
++ /**
++ * Gets the {@link Location} and {@link Structure} set as the result, if it was defined.
++ * <p>
++ * Returns {@code null} if it has not been set by {@link StructuresLocateEvent#setResult(Result)}.
++ * Since this event fires <i>before</i> the search is done, the actual result is unknown at this point.
++ *
++ * @return The result location and structure, if it has been set. {@code null} if it has not.
++ * @see World#locateNearestStructure(Location, StructureType, int, boolean)
++ */
++ public @Nullable Result getResult() {
++ return this.result;
++ }
++
++ /**
++ * Sets the result {@link Location} and {@link Structure}. This causes the search to be
++ * skipped, and the result object passed here to be used as the result.
++ *
++ * @param result the {@link Location} and {@link Structure} of the search.
++ */
++ public void setResult(@Nullable Result result) {
++ this.result = result;
++ }
++
++ /**
++ * Gets an unmodifiable list of Structures that are valid targets for the search.
++ *
++ * @return an unmodifiable list of Structures
++ */
++ public @NotNull @UnmodifiableView List<Structure> getStructures() {
++ return Collections.unmodifiableList(this.structures);
++ }
++
++ /**
++ * Sets the list of Structures that are valid targets for the search.
++ *
++ * @param structures a list of Structures targets
++ */
++ public void setStructures(final @NotNull List<Structure> structures) {
++ this.structures = structures;
++ }
++
++ /**
++ * Gets the search radius in which to attempt locating the structure.
++ * <p>
++ * This radius may not always be obeyed during the structure search!
++ *
++ * @return the search radius (in chunks)
++ */
++ public int getRadius() {
++ return this.radius;
++ }
++
++ /**
++ * Sets the search radius in which to attempt locating the structure.
++ * <p>
++ * This radius may not always be obeyed during the structure search!
++ *
++ * @param radius the search radius (in chunks)
++ */
++ public void setRadius(int radius) {
++ this.radius = radius;
++ }
++
++ /**
++ * Gets whether to search exclusively for unexplored structures.
++ * <p>
++ * As with the search radius, this value is not always obeyed.
++ *
++ * @return Whether to search for only unexplored structures.
++ */
++ public boolean shouldFindUnexplored() {
++ return this.findUnexplored;
++ }
++
++ /**
++ * Sets whether to search exclusively for unexplored structures.
++ * <p>
++ * As with the search radius, this value is not always obeyed.
++ *
++ * @param findUnexplored Whether to search for only unexplored structures.
++ */
++ public void setFindUnexplored(boolean findUnexplored) {
++ this.findUnexplored = findUnexplored;
++ }
++
++ @Override
++ public boolean isCancelled() {
++ return this.cancelled;
++ }
++
++ @Override
++ public void setCancelled(boolean cancel) {
++ this.cancelled = cancel;
++ }
++
++ @Override
++ public @NotNull HandlerList getHandlers() {
++ return HANDLER_LIST;
++ }
++
++ public static @NotNull HandlerList getHandlerList() {
++ return HANDLER_LIST;
++ }
++
++ /**
++ * Result for {@link StructuresLocateEvent}.
++ */
++ public record Result(@NotNull Position pos, @NotNull Structure structure) {
++
++ @Deprecated(forRemoval = true)
++ public @NotNull Location position() {
++ //noinspection DataFlowIssue
++ return this.pos.toLocation(null);
++ }
++ }
++}
diff --git a/patches/api/0243-Add-BlockPreDispenseEvent.patch b/patches/api/0238-Add-BlockPreDispenseEvent.patch
index 6a8e491828..6a8e491828 100644
--- a/patches/api/0243-Add-BlockPreDispenseEvent.patch
+++ b/patches/api/0238-Add-BlockPreDispenseEvent.patch
diff --git a/patches/api/0244-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0239-Added-PlayerChangeBeaconEffectEvent.patch
index 4d84c9e1b1..4d84c9e1b1 100644
--- a/patches/api/0244-Added-PlayerChangeBeaconEffectEvent.patch
+++ b/patches/api/0239-Added-PlayerChangeBeaconEffectEvent.patch
diff --git a/patches/api/0245-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0240-Added-PlayerStonecutterRecipeSelectEvent.patch
index 46377a6798..46377a6798 100644
--- a/patches/api/0245-Added-PlayerStonecutterRecipeSelectEvent.patch
+++ b/patches/api/0240-Added-PlayerStonecutterRecipeSelectEvent.patch
diff --git a/patches/api/0246-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/api/0241-Add-dropLeash-variable-to-EntityUnleashEvent.patch
index f85f2a4f26..f85f2a4f26 100644
--- a/patches/api/0246-Add-dropLeash-variable-to-EntityUnleashEvent.patch
+++ b/patches/api/0241-Add-dropLeash-variable-to-EntityUnleashEvent.patch
diff --git a/patches/api/0242-Add-StructuresLocateEvent.patch b/patches/api/0242-Add-StructuresLocateEvent.patch
deleted file mode 100644
index a4edf0a695..0000000000
--- a/patches/api/0242-Add-StructuresLocateEvent.patch
+++ /dev/null
@@ -1,534 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: dfsek <[email protected]>
-Date: Tue, 15 Sep 2020 21:59:16 -0700
-Subject: [PATCH] Add StructuresLocateEvent
-
-Co-authored-by: Jake Potrebic <[email protected]>
-
-diff --git a/src/main/java/io/papermc/paper/event/world/StructureLocateEvent.java b/src/main/java/io/papermc/paper/event/world/StructureLocateEvent.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..1ac3369455972aeb1ade5dc023d1f818cd3535fa
---- /dev/null
-+++ b/src/main/java/io/papermc/paper/event/world/StructureLocateEvent.java
-@@ -0,0 +1,163 @@
-+package io.papermc.paper.event.world;
-+
-+import org.bukkit.Location;
-+import org.bukkit.StructureType;
-+import org.bukkit.World;
-+import org.bukkit.event.Cancellable;
-+import org.bukkit.event.HandlerList;
-+import org.bukkit.event.world.WorldEvent;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+import org.jetbrains.annotations.Nullable;
-+
-+/**
-+ * Called <b>before</b> a structure/feature is located.
-+ * This happens when:
-+ * <ul>
-+ * <li>The /locate command is used.<br></li>
-+ * <li>An Eye of Ender is used.</li>
-+ * <li>An Explorer/Treasure Map is activated.</li>
-+ * <li>{@link World#locateNearestStructure(Location, StructureType, int, boolean)} is invoked.</li>
-+ * </ul>
-+ *
-+ * @deprecated no longer used, see {@link StructuresLocateEvent}
-+ */
-+@Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+public class StructureLocateEvent extends WorldEvent implements Cancellable {
-+
-+ private static final HandlerList HANDLER_LIST = new HandlerList();
-+
-+ private final Location origin;
-+ private Location result = null;
-+ private StructureType type;
-+ private int radius;
-+ private boolean findUnexplored;
-+
-+ private boolean cancelled;
-+
-+ @ApiStatus.Internal
-+ public StructureLocateEvent(@NotNull World world, @NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored) {
-+ super(world);
-+ this.origin = origin;
-+ this.type = structureType;
-+ this.radius = radius;
-+ this.findUnexplored = findUnexplored;
-+ }
-+
-+ /**
-+ * Gets the location set as the structure location, if it was defined.
-+ * <p>
-+ * Returns {@code null} if it has not been set by {@link StructureLocateEvent#setResult(Location)}.
-+ * Since this event fires <i>before</i> the search is done, the actual location is unknown at this point.
-+ *
-+ * @return The result location, if it has been set. {@code null} if it has not.
-+ * @see World#locateNearestStructure(Location, StructureType, int, boolean)
-+ */
-+ @Nullable
-+ public Location getResult() {
-+ return this.result;
-+ }
-+
-+ /**
-+ * Sets the result {@link Location}. This causes the search to be skipped, and the location passed here to be used as the result.
-+ *
-+ * @param result the {@link Location} of the structure.
-+ */
-+ public void setResult(@Nullable Location result) {
-+ this.result = result;
-+ }
-+
-+ /**
-+ * Gets the {@link StructureType} that is to be located.
-+ *
-+ * @return the structure type.
-+ */
-+ @NotNull
-+ public StructureType getType() {
-+ return this.type;
-+ }
-+
-+ /**
-+ * Sets the {@link StructureType} that is to be located.
-+ *
-+ * @param type the structure type.
-+ */
-+ public void setType(@NotNull StructureType type) {
-+ this.type = type;
-+ }
-+
-+ /**
-+ * Gets the {@link Location} from which the search is to be conducted.
-+ *
-+ * @return {@link Location} where search begins
-+ */
-+ @NotNull
-+ public Location getOrigin() {
-+ return this.origin;
-+ }
-+
-+ /**
-+ * Gets the search radius in which to attempt locating the structure.
-+ * <p>
-+ * This radius may not always be obeyed during the structure search!
-+ *
-+ * @return the search radius.
-+ */
-+ public int getRadius() {
-+ return this.radius;
-+ }
-+
-+ /**
-+ * Sets the search radius in which to attempt locating the structure.
-+ * <p>
-+ * This radius may not always be obeyed during the structure search!
-+ *
-+ * @param radius the search radius.
-+ */
-+ public void setRadius(int radius) {
-+ this.radius = radius;
-+ }
-+
-+ /**
-+ * Gets whether to search exclusively for unexplored structures.
-+ * <p>
-+ * As with the search radius, this value is not always obeyed.
-+ *
-+ * @return Whether to search for only unexplored structures.
-+ */
-+ public boolean shouldFindUnexplored() {
-+ return this.findUnexplored;
-+ }
-+
-+ /**
-+ * Sets whether to search exclusively for unexplored structures.
-+ * <p>
-+ * As with the search radius, this value is not always obeyed.
-+ *
-+ * @param findUnexplored Whether to search for only unexplored structures.
-+ */
-+ public void setFindUnexplored(boolean findUnexplored) {
-+ this.findUnexplored = findUnexplored;
-+ }
-+
-+ @Override
-+ public boolean isCancelled() {
-+ return this.cancelled;
-+ }
-+
-+ @Override
-+ public void setCancelled(boolean cancel) {
-+ this.cancelled = cancel;
-+ }
-+
-+ @NotNull
-+ public static HandlerList getHandlerList() {
-+ return HANDLER_LIST;
-+ }
-+
-+ @NotNull
-+ @Override
-+ public HandlerList getHandlers() {
-+ return HANDLER_LIST;
-+ }
-+}
-diff --git a/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java b/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..582af444b058708638683e7d6f9b79685c04c061
---- /dev/null
-+++ b/src/main/java/io/papermc/paper/event/world/StructuresLocateEvent.java
-@@ -0,0 +1,213 @@
-+package io.papermc.paper.event.world;
-+
-+import io.papermc.paper.math.Position;
-+import io.papermc.paper.util.TransformingRandomAccessList;
-+import io.papermc.paper.world.structure.ConfiguredStructure;
-+import java.util.Collections;
-+import java.util.List;
-+import java.util.Objects;
-+import org.bukkit.Location;
-+import org.bukkit.World;
-+import org.bukkit.event.Cancellable;
-+import org.bukkit.event.HandlerList;
-+import org.bukkit.event.world.WorldEvent;
-+import org.bukkit.generator.structure.Structure;
-+import org.bukkit.generator.structure.StructureType;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+import org.jetbrains.annotations.Nullable;
-+import org.jetbrains.annotations.UnmodifiableView;
-+
-+/**
-+ * Called <b>before</b> a set of configured structures is located.
-+ * This happens when:
-+ * <ul>
-+ * <li>The /locate command is used.<br></li>
-+ * <li>An Eye of Ender is used.</li>
-+ * <li>An Explorer/Treasure Map is activated.</li>
-+ * <li>A dolphin swims to a treasure location.</li>
-+ * <li>A trade is done with a villager for a map.</li>
-+ * <li>{@link World#locateNearestStructure(Location, StructureType, int, boolean)} is invoked.</li>
-+ * <li>{@link World#locateNearestStructure(Location, Structure, int, boolean)} is invoked.</li>
-+ * </ul>
-+ */
-+public class StructuresLocateEvent extends WorldEvent implements Cancellable {
-+
-+ private static final HandlerList HANDLER_LIST = new HandlerList();
-+
-+ private final Location origin;
-+ private Result result;
-+ private List<Structure> structures;
-+ private List<ConfiguredStructure> legacy$structures;
-+ private int radius;
-+ private boolean findUnexplored;
-+
-+ private boolean cancelled;
-+
-+ @ApiStatus.Internal
-+ public StructuresLocateEvent(@NotNull World world, @NotNull Location origin, @NotNull List<Structure> structures, int radius, boolean findUnexplored) {
-+ super(world);
-+ this.origin = origin;
-+ this.setStructures(structures);
-+ this.radius = radius;
-+ this.findUnexplored = findUnexplored;
-+ }
-+
-+ /**
-+ * Gets the {@link Location} from which the search is to be conducted.
-+ *
-+ * @return {@link Location} where search begins
-+ */
-+ public @NotNull Location getOrigin() {
-+ return this.origin.clone();
-+ }
-+
-+ /**
-+ * Gets the {@link Location} and {@link Structure} set as the result, if it was defined.
-+ * <p>
-+ * Returns {@code null} if it has not been set by {@link StructuresLocateEvent#setResult(Result)}.
-+ * Since this event fires <i>before</i> the search is done, the actual result is unknown at this point.
-+ *
-+ * @return The result location and structure, if it has been set. {@code null} if it has not.
-+ * @see World#locateNearestStructure(Location, StructureType, int, boolean)
-+ */
-+ public @Nullable Result getResult() {
-+ return this.result;
-+ }
-+
-+ /**
-+ * Sets the result {@link Location} and {@link Structure}. This causes the search to be
-+ * skipped, and the result object passed here to be used as the result.
-+ *
-+ * @param result the {@link Location} and {@link Structure} of the search.
-+ */
-+ public void setResult(@Nullable Result result) {
-+ this.result = result;
-+ }
-+
-+ /**
-+ * Gets a mutable list of ConfiguredStructures that are valid targets for the search.
-+ *
-+ * @return a mutable list of ConfiguredStructures
-+ * @deprecated use {@link #getStructures()}
-+ */
-+ @Deprecated(forRemoval = true)
-+ public @NotNull List<ConfiguredStructure> getConfiguredStructures() {
-+ return this.legacy$structures;
-+ }
-+
-+ /**
-+ * Sets the list of ConfiguredStructures that are valid targets for the search.
-+ *
-+ * @param configuredStructures a list of ConfiguredStructure targets
-+ * @deprecated use {@link #setStructures(List)}
-+ */
-+ @Deprecated(forRemoval = true)
-+ public void setConfiguredStructures(@NotNull List<ConfiguredStructure> configuredStructures) {
-+ this.setStructures(configuredStructures.stream().map(ConfiguredStructure::toModern).toList());
-+ }
-+
-+ /**
-+ * Gets an unmodifiable list of Structures that are valid targets for the search.
-+ *
-+ * @return an unmodifiable list of Structures
-+ */
-+ public @NotNull @UnmodifiableView List<Structure> getStructures() {
-+ return Collections.unmodifiableList(this.structures);
-+ }
-+
-+ /**
-+ * Sets the list of Structures that are valid targets for the search.
-+ *
-+ * @param structures a list of Structures targets
-+ */
-+ public void setStructures(final @NotNull List<Structure> structures) {
-+ this.structures = structures;
-+ this.legacy$structures = new TransformingRandomAccessList<>(this.structures, ConfiguredStructure::fromModern, ConfiguredStructure::toModern);
-+ }
-+
-+ /**
-+ * Gets the search radius in which to attempt locating the structure.
-+ * <p>
-+ * This radius may not always be obeyed during the structure search!
-+ *
-+ * @return the search radius (in chunks)
-+ */
-+ public int getRadius() {
-+ return this.radius;
-+ }
-+
-+ /**
-+ * Sets the search radius in which to attempt locating the structure.
-+ * <p>
-+ * This radius may not always be obeyed during the structure search!
-+ *
-+ * @param radius the search radius (in chunks)
-+ */
-+ public void setRadius(int radius) {
-+ this.radius = radius;
-+ }
-+
-+ /**
-+ * Gets whether to search exclusively for unexplored structures.
-+ * <p>
-+ * As with the search radius, this value is not always obeyed.
-+ *
-+ * @return Whether to search for only unexplored structures.
-+ */
-+ public boolean shouldFindUnexplored() {
-+ return this.findUnexplored;
-+ }
-+
-+ /**
-+ * Sets whether to search exclusively for unexplored structures.
-+ * <p>
-+ * As with the search radius, this value is not always obeyed.
-+ *
-+ * @param findUnexplored Whether to search for only unexplored structures.
-+ */
-+ public void setFindUnexplored(boolean findUnexplored) {
-+ this.findUnexplored = findUnexplored;
-+ }
-+
-+ @Override
-+ public boolean isCancelled() {
-+ return this.cancelled;
-+ }
-+
-+ @Override
-+ public void setCancelled(boolean cancel) {
-+ this.cancelled = cancel;
-+ }
-+
-+ @Override
-+ public @NotNull HandlerList getHandlers() {
-+ return HANDLER_LIST;
-+ }
-+
-+ public static @NotNull HandlerList getHandlerList() {
-+ return HANDLER_LIST;
-+ }
-+
-+ /**
-+ * Result for {@link StructuresLocateEvent}.
-+ */
-+ public record Result(@NotNull Position pos, @NotNull Structure structure) {
-+
-+ @Deprecated(forRemoval = true)
-+ public Result(final @NotNull Location position, @NotNull ConfiguredStructure configuredStructure) {
-+ this(position, configuredStructure.toModern());
-+ }
-+
-+ @Deprecated(forRemoval = true)
-+ public @NotNull ConfiguredStructure configuredStructure() {
-+ return Objects.requireNonNull(ConfiguredStructure.fromModern(this.structure), "Please use the newer Structure API");
-+ }
-+
-+ @Deprecated(forRemoval = true)
-+ public @NotNull Location position() {
-+ //noinspection DataFlowIssue
-+ return this.pos.toLocation(null);
-+ }
-+ }
-+}
-diff --git a/src/main/java/io/papermc/paper/world/structure/ConfiguredStructure.java b/src/main/java/io/papermc/paper/world/structure/ConfiguredStructure.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..1e7b53f9bc13dcd5a0a4a40004591e4f850496a0
---- /dev/null
-+++ b/src/main/java/io/papermc/paper/world/structure/ConfiguredStructure.java
-@@ -0,0 +1,113 @@
-+package io.papermc.paper.world.structure;
-+
-+import io.papermc.paper.registry.Reference;
-+import java.util.Objects;
-+import org.bukkit.Keyed;
-+import org.bukkit.NamespacedKey;
-+import org.bukkit.Registry;
-+import org.bukkit.StructureType;
-+import org.bukkit.generator.structure.Structure;
-+import org.jetbrains.annotations.ApiStatus;
-+import org.jetbrains.annotations.NotNull;
-+import org.jetbrains.annotations.Nullable;
-+
-+/**
-+ * Represents a configured structure each with a
-+ * {@link StructureType}. Multiple ConfiguredStructures can have
-+ * the same {@link StructureType}.
-+ * @deprecated use {@link Structure}
-+ */
-+@Deprecated(forRemoval = true)
[email protected](inVersion = "1.21")
-+public final class ConfiguredStructure implements Keyed {
-+
-+ public static final Reference<ConfiguredStructure> PILLAGER_OUTPOST = create("pillager_outpost");
-+ public static final Reference<ConfiguredStructure> MINESHAFT = create("mineshaft");
-+ public static final Reference<ConfiguredStructure> MINESHAFT_MESA = create("mineshaft_mesa");
-+ public static final Reference<ConfiguredStructure> WOODLAND_MANSION = create("mansion");
-+ public static final Reference<ConfiguredStructure> JUNGLE_TEMPLE = create("jungle_pyramid");
-+ public static final Reference<ConfiguredStructure> DESERT_PYRAMID = create("desert_pyramid");
-+ public static final Reference<ConfiguredStructure> IGLOO = create("igloo");
-+ public static final Reference<ConfiguredStructure> SHIPWRECK = create("shipwreck");
-+ public static final Reference<ConfiguredStructure> SHIPWRECK_BEACHED = create("shipwreck_beached");
-+ public static final Reference<ConfiguredStructure> SWAMP_HUT = create("swamp_hut");
-+ public static final Reference<ConfiguredStructure> STRONGHOLD = create("stronghold");
-+ public static final Reference<ConfiguredStructure> OCEAN_MONUMENT = create("monument");
-+ public static final Reference<ConfiguredStructure> OCEAN_RUIN_COLD = create("ocean_ruin_cold");
-+ public static final Reference<ConfiguredStructure> OCEAN_RUIN_WARM = create("ocean_ruin_warm");
-+ public static final Reference<ConfiguredStructure> FORTRESS = create("fortress");
-+ public static final Reference<ConfiguredStructure> NETHER_FOSSIL = create("nether_fossil");
-+ public static final Reference<ConfiguredStructure> END_CITY = create("end_city");
-+ public static final Reference<ConfiguredStructure> BURIED_TREASURE = create("buried_treasure");
-+ public static final Reference<ConfiguredStructure> BASTION_REMNANT = create("bastion_remnant");
-+ public static final Reference<ConfiguredStructure> VILLAGE_PLAINS = create("village_plains");
-+ public static final Reference<ConfiguredStructure> VILLAGE_DESERT = create("village_desert");
-+ public static final Reference<ConfiguredStructure> VILLAGE_SAVANNA = create("village_savanna");
-+ public static final Reference<ConfiguredStructure> VILLAGE_SNOWY = create("village_snowy");
-+ public static final Reference<ConfiguredStructure> VILLAGE_TAIGA = create("village_taiga");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_STANDARD = create("ruined_portal");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_DESERT = create("ruined_portal_desert");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_JUNGLE = create("ruined_portal_jungle");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_SWAMP = create("ruined_portal_swamp");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_MOUNTAIN = create("ruined_portal_mountain");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_OCEAN = create("ruined_portal_ocean");
-+ public static final Reference<ConfiguredStructure> RUINED_PORTAL_NETHER = create("ruined_portal_nether");
-+ // public static final Reference<ConfiguredStructure> ANCIENT_CITY = create("ancient_city"); // TODO remove when upstream adds "jigsaw" StructureType
-+
-+ private final NamespacedKey key;
-+ private final StructureType structureType;
-+
-+ ConfiguredStructure(@NotNull NamespacedKey key, @NotNull StructureType structureType) {
-+ this.key = key;
-+ this.structureType = structureType;
-+ }
-+
-+ @Override
-+ public @NotNull NamespacedKey getKey() {
-+ return this.key;
-+ }
-+
-+ /**
-+ * Gets the structure type for this configure structure.
-+ *
-+ * @return the structure type
-+ */
-+ public @NotNull StructureType getStructureType() {
-+ return this.structureType;
-+ }
-+
-+ @Override
-+ public boolean equals(Object o) {
-+ if (this == o) return true;
-+ if (o == null || getClass() != o.getClass()) return false;
-+ ConfiguredStructure structure = (ConfiguredStructure) o;
-+ return this.key.equals(structure.key) && this.structureType.equals(structure.structureType);
-+ }
-+
-+ @Override
-+ public int hashCode() {
-+ return Objects.hash(this.key, this.structureType);
-+ }
-+
-+ @Override
-+ public String toString() {
-+ return "ConfiguredStructure{" +
-+ "key=" + this.key +
-+ ", structureType=" + this.structureType +
-+ '}';
-+ }
-+
-+ private static @NotNull Reference<ConfiguredStructure> create(@NotNull String name) {
-+ return Reference.create(Registry.CONFIGURED_STRUCTURE, NamespacedKey.minecraft(name));
-+ }
-+
-+ @ApiStatus.Internal
-+ public @NotNull Structure toModern() {
-+ return Objects.requireNonNull(Registry.STRUCTURE.get(this.key));
-+ }
-+
-+ @ApiStatus.Internal
-+ public static @Nullable ConfiguredStructure fromModern(@NotNull Structure structure) {
-+ return Registry.CONFIGURED_STRUCTURE.get(structure.getKey());
-+ }
-+}
-diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index d40c2b492a2be6ce87105ce910a05c7c344ddf84..c5001f4d54ec05a416b357538b94ea5ec4a17849 100644
---- a/src/main/java/org/bukkit/Registry.java
-+++ b/src/main/java/org/bukkit/Registry.java
-@@ -318,6 +318,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
- * @see GameEvent
- */
- Registry<GameEvent> GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper
-+ // Paper start
-+ /**
-+ * Configured structures.
-+ * @see io.papermc.paper.world.structure.ConfiguredStructure
-+ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#STRUCTURE}
-+ */
-+ @Deprecated(forRemoval = true)
-+ Registry<io.papermc.paper.world.structure.ConfiguredStructure> CONFIGURED_STRUCTURE = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class), "No registry present for ConfiguredStructure. This is a bug.");
-+ // Paper end
- /**
- * Get the object by its key.
- *
diff --git a/patches/api/0247-add-DragonEggFormEvent.patch b/patches/api/0242-add-DragonEggFormEvent.patch
index 3b40a9f99d..3b40a9f99d 100644
--- a/patches/api/0247-add-DragonEggFormEvent.patch
+++ b/patches/api/0242-add-DragonEggFormEvent.patch
diff --git a/patches/api/0248-EntityMoveEvent.patch b/patches/api/0243-EntityMoveEvent.patch
index d9e828eb8c..d9e828eb8c 100644
--- a/patches/api/0248-EntityMoveEvent.patch
+++ b/patches/api/0243-EntityMoveEvent.patch
diff --git a/patches/api/0249-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/api/0244-Allow-adding-items-to-BlockDropItemEvent.patch
index c6b7565fe4..c6b7565fe4 100644
--- a/patches/api/0249-Allow-adding-items-to-BlockDropItemEvent.patch
+++ b/patches/api/0244-Allow-adding-items-to-BlockDropItemEvent.patch
diff --git a/patches/api/0250-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch
index 7cc686da5a..7cc686da5a 100644
--- a/patches/api/0250-Add-getMainThreadExecutor-to-BukkitScheduler.patch
+++ b/patches/api/0245-Add-getMainThreadExecutor-to-BukkitScheduler.patch
diff --git a/patches/api/0251-living-entity-allow-attribute-registration.patch b/patches/api/0246-living-entity-allow-attribute-registration.patch
index e7ded6dabb..e7ded6dabb 100644
--- a/patches/api/0251-living-entity-allow-attribute-registration.patch
+++ b/patches/api/0246-living-entity-allow-attribute-registration.patch
diff --git a/patches/api/0252-Add-missing-effects.patch b/patches/api/0247-Add-missing-effects.patch
index 8db72d8762..0e0f224064 100644
--- a/patches/api/0252-Add-missing-effects.patch
+++ b/patches/api/0247-Add-missing-effects.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add missing effects
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/org/bukkit/Effect.java b/src/main/java/org/bukkit/Effect.java
-index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..d98612cad7f7477f6d4fe496f4d87b139aa3c681 100644
+index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..f0e595c754afbbf2729ff093262459ac8010ce85 100644
--- a/src/main/java/org/bukkit/Effect.java
+++ b/src/main/java/org/bukkit/Effect.java
@@ -131,9 +131,9 @@ public enum Effect {
@@ -41,7 +41,7 @@ index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..d98612cad7f7477f6d4fe496f4d87b13
VILLAGER_PLANT_GROW(2005, Type.VISUAL, Integer.class),
/**
* The sound/particles used by the enderdragon's breath
-@@ -336,21 +340,199 @@ public enum Effect {
+@@ -336,21 +340,121 @@ public enum Effect {
* block.
*/
OXIDISED_COPPER_SCRAPE(3005, Type.VISUAL),
@@ -58,84 +58,6 @@ index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..d98612cad7f7477f6d4fe496f4d87b13
+ * The sound of an ender portal being created in the overworld
+ */
+ END_PORTAL_CREATED_IN_OVERWORLD(1038, Type.SOUND),
-+ /**
-+ * The sound of phantom's bites
-+ *
-+ * @deprecated use {@link #PHANTOM_BITE}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ PHANTOM_BITES(1039, Type.SOUND),
-+ /**
-+ * The sound of zombie converting to drowned zombie
-+ *
-+ * @deprecated use {@link #ZOMBIE_CONVERTED_TO_DROWNED}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ ZOMBIE_CONVERTS_TO_DROWNED(1040, Type.SOUND),
-+ /**
-+ * The sound of a husk converting to zombie by drowning
-+ *
-+ * @deprecated use {@link #HUSK_CONVERTED_TO_ZOMBIE}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ HUSK_CONVERTS_TO_ZOMBIE(1041, Type.SOUND),
-+ /**
-+ * The sound of a grindstone being used
-+ *
-+ * @deprecated use {@link #GRINDSTONE_USE}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ GRINDSTONE_USED(1042, Type.SOUND),
-+ /**
-+ * The sound of a book page being turned
-+ *
-+ * @deprecated use {@link #BOOK_PAGE_TURN}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ BOOK_PAGE_TURNED(1043, Type.SOUND),
-+ /**
-+ * Particles displayed when a composter composts
-+ *
-+ * @deprecated use {@link #COMPOSTER_FILL_ATTEMPT}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ COMPOSTER_COMPOSTS(1500, Type.VISUAL),
-+ /**
-+ * Particles displayed when lava converts a block (either water to stone, or
-+ * removing existing blocks such as torches)
-+ *
-+ * @deprecated use {@link #LAVA_INTERACT}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ LAVA_CONVERTS_BLOCK(1501, Type.VISUAL),
-+ /**
-+ * Particles displayd when a redstone torch burns out
-+ *
-+ * @deprecated use {@link #REDSTONE_TORCH_BURNOUT}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ REDSTONE_TORCH_BURNS_OUT(1502, Type.VISUAL),
-+ /**
-+ * Particles displayed when an ender eye is placed
-+ *
-+ * @deprecated use {@link #END_PORTAL_FRAME_FILL}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ ENDER_EYE_PLACED(1503, Type.VISUAL),
-+ /**
-+ * Particles displayed when an ender dragon destroys block
-+ *
-+ * @deprecated use {@link #ENDER_DRAGON_DESTROY_BLOCK}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ ENDER_DRAGON_DESTROYS_BLOCK(2008, Type.VISUAL),
-+ /**
-+ * Particles displayed when a wet sponge vaporizes in nether.
-+ *
-+ * @deprecated use {@link #SPONGE_DRY}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ WET_SPONGE_VAPORIZES_IN_NETHER(2009, Type.VISUAL),
+
+ SOUND_STOP_JUKEBOX_SONG(1011, Type.SOUND),
+
@@ -245,7 +167,7 @@ index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..d98612cad7f7477f6d4fe496f4d87b13
}
/**
-@@ -366,8 +548,10 @@ public enum Effect {
+@@ -366,8 +470,10 @@ public enum Effect {
/**
* @return The type of the effect.
@@ -256,25 +178,24 @@ index fd9cf25f2fdef5ee3b7143f27e5f43dfe3f21a38..d98612cad7f7477f6d4fe496f4d87b13
public Type getType() {
return this.type;
}
-@@ -378,9 +562,16 @@ public enum Effect {
+@@ -378,8 +484,15 @@ public enum Effect {
*/
@Nullable
public Class<?> getData() {
- return this.data;
+ return this.data == null ? null : this.data.get(0); // Paper
- }
-
++ }
++
+ // Paper start - support deprecated data types
+ @org.jetbrains.annotations.ApiStatus.Internal
+ public boolean isApplicable(Object obj) {
+ return this.data != null && com.google.common.collect.Iterables.any(this.data, aClass -> aClass.isAssignableFrom(obj.getClass()));
-+ }
+ }
+ // Paper end - support deprecated data types
-+
+
/**
* Gets the Effect associated with the given ID.
- *
-@@ -396,12 +587,26 @@ public enum Effect {
+@@ -396,12 +509,26 @@ public enum Effect {
static {
for (Effect effect : values()) {
diff --git a/patches/api/0253-Expose-Tracked-Players.patch b/patches/api/0248-Expose-Tracked-Players.patch
index 5648d1402c..5648d1402c 100644
--- a/patches/api/0253-Expose-Tracked-Players.patch
+++ b/patches/api/0248-Expose-Tracked-Players.patch
diff --git a/patches/api/0254-Add-worldborder-events.patch b/patches/api/0249-Add-worldborder-events.patch
index 9f3ae70435..9f3ae70435 100644
--- a/patches/api/0254-Add-worldborder-events.patch
+++ b/patches/api/0249-Add-worldborder-events.patch
diff --git a/patches/api/0255-added-PlayerNameEntityEvent.patch b/patches/api/0250-added-PlayerNameEntityEvent.patch
index 69bd20d13e..69bd20d13e 100644
--- a/patches/api/0255-added-PlayerNameEntityEvent.patch
+++ b/patches/api/0250-added-PlayerNameEntityEvent.patch
diff --git a/patches/api/0256-Add-recipe-to-cook-events.patch b/patches/api/0251-Add-recipe-to-cook-events.patch
index 8c8712541e..8c8712541e 100644
--- a/patches/api/0256-Add-recipe-to-cook-events.patch
+++ b/patches/api/0251-Add-recipe-to-cook-events.patch
diff --git a/patches/api/0257-Add-Block-isValidTool.patch b/patches/api/0252-Add-Block-isValidTool.patch
index 9e96f95354..9e96f95354 100644
--- a/patches/api/0257-Add-Block-isValidTool.patch
+++ b/patches/api/0252-Add-Block-isValidTool.patch
diff --git a/patches/api/0258-Expand-world-key-API.patch b/patches/api/0253-Expand-world-key-API.patch
index b43164495f..b43164495f 100644
--- a/patches/api/0258-Expand-world-key-API.patch
+++ b/patches/api/0253-Expand-world-key-API.patch
diff --git a/patches/api/0259-Improve-Item-Rarity-API.patch b/patches/api/0254-Improve-Item-Rarity-API.patch
index f945efb2fe..f945efb2fe 100644
--- a/patches/api/0259-Improve-Item-Rarity-API.patch
+++ b/patches/api/0254-Improve-Item-Rarity-API.patch
diff --git a/patches/api/0260-Expose-protocol-version.patch b/patches/api/0255-Expose-protocol-version.patch
index ac67e3a922..ac67e3a922 100644
--- a/patches/api/0260-Expose-protocol-version.patch
+++ b/patches/api/0255-Expose-protocol-version.patch
diff --git a/patches/api/0261-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch
index 45207a6064..45207a6064 100644
--- a/patches/api/0261-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/api/0256-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/api/0262-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0257-add-consumeFuel-to-FurnaceBurnEvent.patch
index 07036efb43..07036efb43 100644
--- a/patches/api/0262-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/api/0257-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/api/0263-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0258-add-get-set-drop-chance-to-EntityEquipment.patch
index d75f180c94..d75f180c94 100644
--- a/patches/api/0263-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/api/0258-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/api/0264-Added-PlayerDeepSleepEvent.patch b/patches/api/0259-Added-PlayerDeepSleepEvent.patch
index b333894788..b333894788 100644
--- a/patches/api/0264-Added-PlayerDeepSleepEvent.patch
+++ b/patches/api/0259-Added-PlayerDeepSleepEvent.patch
diff --git a/patches/api/0265-More-World-API.patch b/patches/api/0260-More-World-API.patch
index f146d17f9e..cd64788d2f 100644
--- a/patches/api/0265-More-World-API.patch
+++ b/patches/api/0260-More-World-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index c1fd76e1b8d0f326f985662a2845f76c1cdf5d40..50d27a6096f0da98db80ce28eab21a004de8a20a 100644
+index 216995288f6b8b407ef8240411b5ed4713379a7a..d3fc033aba36c5fd99846e9200ed0071fddd6045 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -3876,6 +3876,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -3795,6 +3795,72 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
@@ -47,20 +47,6 @@ index c1fd76e1b8d0f326f985662a2845f76c1cdf5d40..50d27a6096f0da98db80ce28eab21a00
+ }
+
+ /**
-+ * Checks if the world:
-+ * <ul>
-+ * <li>evaporates water</li>
-+ * <li>dries sponges</li>
-+ * <li>has lava spread faster and further</li>
-+ * </ul>
-+ *
-+ * @return true if ultrawarm, false if not
-+ * @deprecated use {@link #isUltraWarm()}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ boolean isUltrawarm();
-+
-+ /**
+ * Gets the coordinate scaling of this world.
+ *
+ * @return the coordinate scale
@@ -68,42 +54,6 @@ index c1fd76e1b8d0f326f985662a2845f76c1cdf5d40..50d27a6096f0da98db80ce28eab21a00
+ double getCoordinateScale();
+
+ /**
-+ * Checks if the world has skylight access
-+ *
-+ * @return whether there is skylight
-+ * @deprecated use {@link #hasSkyLight()}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ boolean hasSkylight();
-+
-+ /**
-+ * Checks if the world has a bedrock ceiling
-+ *
-+ * @return whether the world has a bedrock ceiling
-+ * @deprecated use {@link #hasCeiling()}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ boolean hasBedrockCeiling();
-+
-+ /**
-+ * Checks if beds work
-+ *
-+ * @return whether beds work
-+ * @deprecated use {@link #isBedWorks()}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ boolean doesBedWork();
-+
-+ /**
-+ * Checks if respawn anchors work
-+ *
-+ * @return whether respawn anchors work
-+ * @deprecated use {@link #isRespawnAnchorWorks()}
-+ */
-+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
-+ boolean doesRespawnAnchorWork();
-+
-+ /**
+ * Checks if this world has a fixed time
+ *
+ * @return whether this world has fixed time
diff --git a/patches/api/0266-Added-PlayerBedFailEnterEvent.patch b/patches/api/0261-Added-PlayerBedFailEnterEvent.patch
index 6f9decf5fc..6f9decf5fc 100644
--- a/patches/api/0266-Added-PlayerBedFailEnterEvent.patch
+++ b/patches/api/0261-Added-PlayerBedFailEnterEvent.patch
diff --git a/patches/api/0267-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0262-Introduce-beacon-activation-deactivation-events.patch
index 4e173b3d6c..4e173b3d6c 100644
--- a/patches/api/0267-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/api/0262-Introduce-beacon-activation-deactivation-events.patch
diff --git a/patches/api/0268-PlayerMoveEvent-Improvements.patch b/patches/api/0263-PlayerMoveEvent-Improvements.patch
index 33cf16e54b..33cf16e54b 100644
--- a/patches/api/0268-PlayerMoveEvent-Improvements.patch
+++ b/patches/api/0263-PlayerMoveEvent-Improvements.patch
diff --git a/patches/api/0269-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch
index c596be8b98..c596be8b98 100644
--- a/patches/api/0269-add-RespawnFlags-to-PlayerRespawnEvent.patch
+++ b/patches/api/0264-add-RespawnFlags-to-PlayerRespawnEvent.patch
diff --git a/patches/api/0270-Add-more-WanderingTrader-API.patch b/patches/api/0265-Add-more-WanderingTrader-API.patch
index 99045d4949..99045d4949 100644
--- a/patches/api/0270-Add-more-WanderingTrader-API.patch
+++ b/patches/api/0265-Add-more-WanderingTrader-API.patch
diff --git a/patches/api/0271-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0266-Add-EntityBlockStorage-clearEntities.patch
index 7032ba6155..7032ba6155 100644
--- a/patches/api/0271-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/api/0266-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/api/0272-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0267-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 16af3a7728..16af3a7728 100644
--- a/patches/api/0272-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/api/0267-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/api/0273-Inventory-close.patch b/patches/api/0268-Inventory-close.patch
index 87dfa1a083..87dfa1a083 100644
--- a/patches/api/0273-Inventory-close.patch
+++ b/patches/api/0268-Inventory-close.patch
diff --git a/patches/api/0274-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index 3103f1ce2c..3103f1ce2c 100644
--- a/patches/api/0274-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/api/0269-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/api/0275-Add-basic-Datapack-API.patch b/patches/api/0270-Add-basic-Datapack-API.patch
index f8efe8e60c..f8efe8e60c 100644
--- a/patches/api/0275-Add-basic-Datapack-API.patch
+++ b/patches/api/0270-Add-basic-Datapack-API.patch
diff --git a/patches/api/0276-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0271-additions-to-PlayerGameModeChangeEvent.patch
index b2e65ae490..b2e65ae490 100644
--- a/patches/api/0276-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/api/0271-additions-to-PlayerGameModeChangeEvent.patch
diff --git a/patches/api/0277-ItemStack-repair-check-API.patch b/patches/api/0272-ItemStack-repair-check-API.patch
index b918edcf35..b918edcf35 100644
--- a/patches/api/0277-ItemStack-repair-check-API.patch
+++ b/patches/api/0272-ItemStack-repair-check-API.patch
diff --git a/patches/api/0278-More-Enchantment-API.patch b/patches/api/0273-More-Enchantment-API.patch
index 14f5473ccb..14f5473ccb 100644
--- a/patches/api/0278-More-Enchantment-API.patch
+++ b/patches/api/0273-More-Enchantment-API.patch
diff --git a/patches/api/0279-Add-Mob-lookAt-API.patch b/patches/api/0274-Add-Mob-lookAt-API.patch
index e1164a0f3e..e1164a0f3e 100644
--- a/patches/api/0279-Add-Mob-lookAt-API.patch
+++ b/patches/api/0274-Add-Mob-lookAt-API.patch
diff --git a/patches/api/0280-ItemStack-editMeta.patch b/patches/api/0275-ItemStack-editMeta.patch
index a50fabf48e..a50fabf48e 100644
--- a/patches/api/0280-ItemStack-editMeta.patch
+++ b/patches/api/0275-ItemStack-editMeta.patch
diff --git a/patches/api/0281-Add-EntityInsideBlockEvent.patch b/patches/api/0276-Add-EntityInsideBlockEvent.patch
index b055847730..b055847730 100644
--- a/patches/api/0281-Add-EntityInsideBlockEvent.patch
+++ b/patches/api/0276-Add-EntityInsideBlockEvent.patch
diff --git a/patches/api/0282-Improve-item-default-attribute-API.patch b/patches/api/0277-Improve-item-default-attribute-API.patch
index e7c6fb4cd2..e7c6fb4cd2 100644
--- a/patches/api/0282-Improve-item-default-attribute-API.patch
+++ b/patches/api/0277-Improve-item-default-attribute-API.patch
diff --git a/patches/api/0283-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0278-Add-cause-to-Weather-ThunderChangeEvents.patch
index 8e5d45d87b..8e5d45d87b 100644
--- a/patches/api/0283-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/api/0278-Add-cause-to-Weather-ThunderChangeEvents.patch
diff --git a/patches/api/0284-More-Lidded-Block-API.patch b/patches/api/0279-More-Lidded-Block-API.patch
index a89f206f9a..a89f206f9a 100644
--- a/patches/api/0284-More-Lidded-Block-API.patch
+++ b/patches/api/0279-More-Lidded-Block-API.patch
diff --git a/patches/api/0285-Add-PlayerKickEvent-causes.patch b/patches/api/0280-Add-PlayerKickEvent-causes.patch
index aa55ace2fe..aa55ace2fe 100644
--- a/patches/api/0285-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0280-Add-PlayerKickEvent-causes.patch
diff --git a/patches/api/0286-Add-PufferFishStateChangeEvent.patch b/patches/api/0281-Add-PufferFishStateChangeEvent.patch
index 7a719777e3..7a719777e3 100644
--- a/patches/api/0286-Add-PufferFishStateChangeEvent.patch
+++ b/patches/api/0281-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/api/0287-Add-BellRevealRaiderEvent.patch b/patches/api/0282-Add-BellRevealRaiderEvent.patch
index 28a1acab60..28a1acab60 100644
--- a/patches/api/0287-Add-BellRevealRaiderEvent.patch
+++ b/patches/api/0282-Add-BellRevealRaiderEvent.patch
diff --git a/patches/api/0288-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0283-Add-ElderGuardianAppearanceEvent.patch
index 23897b7390..23897b7390 100644
--- a/patches/api/0288-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/api/0283-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/api/0289-Add-more-line-of-sight-methods.patch b/patches/api/0284-Add-more-line-of-sight-methods.patch
index 1515545500..1515545500 100644
--- a/patches/api/0289-Add-more-line-of-sight-methods.patch
+++ b/patches/api/0284-Add-more-line-of-sight-methods.patch
diff --git a/patches/api/0290-Add-WaterBottleSplashEvent.patch b/patches/api/0285-Add-WaterBottleSplashEvent.patch
index b486914fb4..b486914fb4 100644
--- a/patches/api/0290-Add-WaterBottleSplashEvent.patch
+++ b/patches/api/0285-Add-WaterBottleSplashEvent.patch
diff --git a/patches/api/0291-Add-more-LimitedRegion-API.patch b/patches/api/0286-Add-more-LimitedRegion-API.patch
index 292f95c890..292f95c890 100644
--- a/patches/api/0291-Add-more-LimitedRegion-API.patch
+++ b/patches/api/0286-Add-more-LimitedRegion-API.patch
diff --git a/patches/api/0292-Missing-Entity-API.patch b/patches/api/0287-Missing-Entity-API.patch
index aa0734a526..aa0734a526 100644
--- a/patches/api/0292-Missing-Entity-API.patch
+++ b/patches/api/0287-Missing-Entity-API.patch
diff --git a/patches/api/0293-Adds-PlayerArmSwingEvent.patch b/patches/api/0288-Adds-PlayerArmSwingEvent.patch
index 48e43517eb..48e43517eb 100644
--- a/patches/api/0293-Adds-PlayerArmSwingEvent.patch
+++ b/patches/api/0288-Adds-PlayerArmSwingEvent.patch
diff --git a/patches/api/0294-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0289-Add-PlayerSignCommandPreprocessEvent.patch
index 8882c35337..8882c35337 100644
--- a/patches/api/0294-Add-PlayerSignCommandPreprocessEvent.patch
+++ b/patches/api/0289-Add-PlayerSignCommandPreprocessEvent.patch
diff --git a/patches/api/0295-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0290-fix-empty-array-elements-in-command-arguments.patch
index 83bcf0fec0..83bcf0fec0 100644
--- a/patches/api/0295-fix-empty-array-elements-in-command-arguments.patch
+++ b/patches/api/0290-fix-empty-array-elements-in-command-arguments.patch
diff --git a/patches/api/0296-Stinger-API.patch b/patches/api/0291-Stinger-API.patch
index 84fe8f4c22..84fe8f4c22 100644
--- a/patches/api/0296-Stinger-API.patch
+++ b/patches/api/0291-Stinger-API.patch
diff --git a/patches/api/0297-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0292-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index aefa20a2d9..aefa20a2d9 100644
--- a/patches/api/0297-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/api/0292-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/api/0298-Add-PlayerSetSpawnEvent.patch b/patches/api/0293-Add-PlayerSetSpawnEvent.patch
index 69443add9f..69443add9f 100644
--- a/patches/api/0298-Add-PlayerSetSpawnEvent.patch
+++ b/patches/api/0293-Add-PlayerSetSpawnEvent.patch
diff --git a/patches/api/0299-Added-EntityDamageItemEvent.patch b/patches/api/0294-Added-EntityDamageItemEvent.patch
index 60513a1cbd..60513a1cbd 100644
--- a/patches/api/0299-Added-EntityDamageItemEvent.patch
+++ b/patches/api/0294-Added-EntityDamageItemEvent.patch
diff --git a/patches/api/0300-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0295-Make-EntityUnleashEvent-cancellable.patch
index e99584c277..e99584c277 100644
--- a/patches/api/0300-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/api/0295-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/api/0301-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0296-Change-EnderEye-target-without-changing-other-things.patch
index d8e53593ae..d8e53593ae 100644
--- a/patches/api/0301-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/api/0296-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/api/0302-Add-BlockBreakBlockEvent.patch b/patches/api/0297-Add-BlockBreakBlockEvent.patch
index dd02c33432..dd02c33432 100644
--- a/patches/api/0302-Add-BlockBreakBlockEvent.patch
+++ b/patches/api/0297-Add-BlockBreakBlockEvent.patch
diff --git a/patches/api/0303-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0298-Add-helpers-for-left-right-click-to-Action.patch
index 9dac2fe612..9dac2fe612 100644
--- a/patches/api/0303-Add-helpers-for-left-right-click-to-Action.patch
+++ b/patches/api/0298-Add-helpers-for-left-right-click-to-Action.patch
diff --git a/patches/api/0304-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch
index fa4ad55705..fa4ad55705 100644
--- a/patches/api/0304-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/api/0299-Option-to-prevent-data-components-copy-in-smithing-r.patch
diff --git a/patches/api/0305-More-CommandBlock-API.patch b/patches/api/0300-More-CommandBlock-API.patch
index c8c52c7587..c8c52c7587 100644
--- a/patches/api/0305-More-CommandBlock-API.patch
+++ b/patches/api/0300-More-CommandBlock-API.patch
diff --git a/patches/api/0306-Add-missing-team-sidebar-display-slots.patch b/patches/api/0301-Add-missing-team-sidebar-display-slots.patch
index cdecbd1764..cdecbd1764 100644
--- a/patches/api/0306-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/api/0301-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/api/0307-add-back-EntityPortalExitEvent.patch b/patches/api/0302-add-back-EntityPortalExitEvent.patch
index 5a153e2345..5a153e2345 100644
--- a/patches/api/0307-add-back-EntityPortalExitEvent.patch
+++ b/patches/api/0302-add-back-EntityPortalExitEvent.patch
diff --git a/patches/api/0308-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0303-Add-methods-to-find-targets-for-lightning-strikes.patch
index 7a82b186bf..b045b2afc9 100644
--- a/patches/api/0308-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/api/0303-Add-methods-to-find-targets-for-lightning-strikes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add methods to find targets for lightning strikes
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 50d27a6096f0da98db80ce28eab21a004de8a20a..d3c524bbfe08d2118b0e093b2340620644d60d19 100644
+index d3fc033aba36c5fd99846e9200ed0071fddd6045..637480c622bdb170456baabe71d84e446ebd7b13 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -773,6 +773,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -692,6 +692,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@NotNull
public LightningStrike strikeLightningEffect(@NotNull Location loc);
diff --git a/patches/api/0309-Get-entity-default-attributes.patch b/patches/api/0304-Get-entity-default-attributes.patch
index 3085faf18c..3085faf18c 100644
--- a/patches/api/0309-Get-entity-default-attributes.patch
+++ b/patches/api/0304-Get-entity-default-attributes.patch
diff --git a/patches/api/0310-Left-handed-API.patch b/patches/api/0305-Left-handed-API.patch
index ea746f73d4..ea746f73d4 100644
--- a/patches/api/0310-Left-handed-API.patch
+++ b/patches/api/0305-Left-handed-API.patch
diff --git a/patches/api/0311-Add-critical-damage-API.patch b/patches/api/0306-Add-critical-damage-API.patch
index f04ac65ac5..f04ac65ac5 100644
--- a/patches/api/0311-Add-critical-damage-API.patch
+++ b/patches/api/0306-Add-critical-damage-API.patch
diff --git a/patches/api/0312-Add-more-advancement-API.patch b/patches/api/0307-Add-more-advancement-API.patch
index 179dbdc225..179dbdc225 100644
--- a/patches/api/0312-Add-more-advancement-API.patch
+++ b/patches/api/0307-Add-more-advancement-API.patch
diff --git a/patches/api/0313-Fix-issues-with-mob-conversion.patch b/patches/api/0308-Fix-issues-with-mob-conversion.patch
index f451d967b6..f451d967b6 100644
--- a/patches/api/0313-Fix-issues-with-mob-conversion.patch
+++ b/patches/api/0308-Fix-issues-with-mob-conversion.patch
diff --git a/patches/api/0314-Add-hasCollision-methods-to-various-places.patch b/patches/api/0309-Add-hasCollision-methods-to-various-places.patch
index ad022302d0..ad022302d0 100644
--- a/patches/api/0314-Add-hasCollision-methods-to-various-places.patch
+++ b/patches/api/0309-Add-hasCollision-methods-to-various-places.patch
diff --git a/patches/api/0315-Goat-ram-API.patch b/patches/api/0310-Goat-ram-API.patch
index 06d426a786..06d426a786 100644
--- a/patches/api/0315-Goat-ram-API.patch
+++ b/patches/api/0310-Goat-ram-API.patch
diff --git a/patches/api/0316-Add-API-for-resetting-a-single-score.patch b/patches/api/0311-Add-API-for-resetting-a-single-score.patch
index 14142e8f6c..14142e8f6c 100644
--- a/patches/api/0316-Add-API-for-resetting-a-single-score.patch
+++ b/patches/api/0311-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/api/0317-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch
index b90e495870..b90e495870 100644
--- a/patches/api/0317-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch
diff --git a/patches/api/0318-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0313-Add-PlayerItemFrameChangeEvent.patch
index b5d6cf7bd1..b5d6cf7bd1 100644
--- a/patches/api/0318-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/api/0313-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/api/0319-Add-more-Campfire-API.patch b/patches/api/0314-Add-more-Campfire-API.patch
index 80cdc0bb39..80cdc0bb39 100644
--- a/patches/api/0319-Add-more-Campfire-API.patch
+++ b/patches/api/0314-Add-more-Campfire-API.patch
diff --git a/patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch b/patches/api/0315-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
index 5f5a4f4140..5f5a4f4140 100644
--- a/patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
+++ b/patches/api/0315-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
diff --git a/patches/api/0321-Improve-scoreboard-entries.patch b/patches/api/0316-Improve-scoreboard-entries.patch
index d6e077bd86..d6e077bd86 100644
--- a/patches/api/0321-Improve-scoreboard-entries.patch
+++ b/patches/api/0316-Improve-scoreboard-entries.patch
diff --git a/patches/api/0322-Entity-powdered-snow-API.patch b/patches/api/0317-Entity-powdered-snow-API.patch
index 648ddec205..648ddec205 100644
--- a/patches/api/0322-Entity-powdered-snow-API.patch
+++ b/patches/api/0317-Entity-powdered-snow-API.patch
diff --git a/patches/api/0323-Add-API-for-item-entity-health.patch b/patches/api/0318-Add-API-for-item-entity-health.patch
index 572034e557..572034e557 100644
--- a/patches/api/0323-Add-API-for-item-entity-health.patch
+++ b/patches/api/0318-Add-API-for-item-entity-health.patch
diff --git a/patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0319-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index f094cdc255..f094cdc255 100644
--- a/patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/api/0319-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/api/0325-Bucketable-API.patch b/patches/api/0320-Bucketable-API.patch
index 26dbdc9f5d..26dbdc9f5d 100644
--- a/patches/api/0325-Bucketable-API.patch
+++ b/patches/api/0320-Bucketable-API.patch
diff --git a/patches/api/0326-System-prop-for-default-config-comment-parsing.patch b/patches/api/0321-System-prop-for-default-config-comment-parsing.patch
index 632f71e519..632f71e519 100644
--- a/patches/api/0326-System-prop-for-default-config-comment-parsing.patch
+++ b/patches/api/0321-System-prop-for-default-config-comment-parsing.patch
diff --git a/patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0322-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 9b189fc918..9b189fc918 100644
--- a/patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/api/0322-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
diff --git a/patches/api/0328-Multiple-Entries-with-Scoreboards.patch b/patches/api/0323-Multiple-Entries-with-Scoreboards.patch
index 920c2f117e..920c2f117e 100644
--- a/patches/api/0328-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/api/0323-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/api/0329-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0324-Warn-on-strange-EventHandler-return-types.patch
index c7807b823b..c7807b823b 100644
--- a/patches/api/0329-Warn-on-strange-EventHandler-return-types.patch
+++ b/patches/api/0324-Warn-on-strange-EventHandler-return-types.patch
diff --git a/patches/api/0330-Multi-Block-Change-API.patch b/patches/api/0325-Multi-Block-Change-API.patch
index 9d93df8706..9d93df8706 100644
--- a/patches/api/0330-Multi-Block-Change-API.patch
+++ b/patches/api/0325-Multi-Block-Change-API.patch
diff --git a/patches/api/0331-Fix-NotePlayEvent.patch b/patches/api/0326-Fix-NotePlayEvent.patch
index d3f827bfd8..d3f827bfd8 100644
--- a/patches/api/0331-Fix-NotePlayEvent.patch
+++ b/patches/api/0326-Fix-NotePlayEvent.patch
diff --git a/patches/api/0332-Freeze-Tick-Lock-API.patch b/patches/api/0327-Freeze-Tick-Lock-API.patch
index c40323bc40..c40323bc40 100644
--- a/patches/api/0332-Freeze-Tick-Lock-API.patch
+++ b/patches/api/0327-Freeze-Tick-Lock-API.patch
diff --git a/patches/api/0333-Dolphin-API.patch b/patches/api/0328-Dolphin-API.patch
index 73beed437b..73beed437b 100644
--- a/patches/api/0333-Dolphin-API.patch
+++ b/patches/api/0328-Dolphin-API.patch
diff --git a/patches/api/0334-More-PotionEffectType-API.patch b/patches/api/0329-More-PotionEffectType-API.patch
index e247835a90..9c8d856b06 100644
--- a/patches/api/0334-More-PotionEffectType-API.patch
+++ b/patches/api/0329-More-PotionEffectType-API.patch
@@ -5,14 +5,15 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index c5001f4d54ec05a416b357538b94ea5ec4a17849..afd132dab5eb2826b600592429b9e4a8d1fe0b73 100644
+index d40c2b492a2be6ce87105ce910a05c7c344ddf84..5ba5cf06bf12fc2e81500e09209e26047e683fa9 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -326,6 +326,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -318,6 +318,33 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * @see GameEvent
*/
- @Deprecated(forRemoval = true)
- Registry<io.papermc.paper.world.structure.ConfiguredStructure> CONFIGURED_STRUCTURE = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.world.structure.ConfiguredStructure.class), "No registry present for ConfiguredStructure. This is a bug.");
+ Registry<GameEvent> GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper
+
++ // Paper start - potion effect type registry
+ /**
+ * Potion effect types.
+ *
@@ -37,9 +38,10 @@ index c5001f4d54ec05a416b357538b94ea5ec4a17849..afd132dab5eb2826b600592429b9e4a8
+ return StreamSupport.stream(this.spliterator(), false);
+ }
+ };
- // Paper end
++ // Paper end - potion effect type registry
/**
* Get the object by its key.
+ *
diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java
index 42d893ce75a75fe46a4e52b17dc405f5b609ab86..10fa51d116b40450b51af9110d5637f3505ebf65 100644
--- a/src/main/java/org/bukkit/potion/PotionEffectType.java
diff --git a/patches/api/0335-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0330-API-for-creating-command-sender-which-forwards-feedb.patch
index bca3814ad8..bca3814ad8 100644
--- a/patches/api/0335-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0330-API-for-creating-command-sender-which-forwards-feedb.patch
diff --git a/patches/api/0336-Implement-regenerateChunk.patch b/patches/api/0331-Implement-regenerateChunk.patch
index 429edcb2d7..480af4b747 100644
--- a/patches/api/0336-Implement-regenerateChunk.patch
+++ b/patches/api/0331-Implement-regenerateChunk.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement regenerateChunk
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index d3c524bbfe08d2118b0e093b2340620644d60d19..36deaae317cd9ac0455bc1daef22b7f1e1b73c62 100644
+index 637480c622bdb170456baabe71d84e446ebd7b13..8e9ab00503167799c6c929d00e48c07cb328848c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -486,8 +486,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -405,8 +405,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return Whether the chunk was actually regenerated
*
* @deprecated regenerating a single chunk is not likely to produce the same
diff --git a/patches/api/0337-Add-GameEvent-tags.patch b/patches/api/0332-Add-GameEvent-tags.patch
index 8af580d84b..8af580d84b 100644
--- a/patches/api/0337-Add-GameEvent-tags.patch
+++ b/patches/api/0332-Add-GameEvent-tags.patch
diff --git a/patches/api/0338-Furnace-RecipesUsed-API.patch b/patches/api/0333-Furnace-RecipesUsed-API.patch
index 7fed82db21..7fed82db21 100644
--- a/patches/api/0338-Furnace-RecipesUsed-API.patch
+++ b/patches/api/0333-Furnace-RecipesUsed-API.patch
diff --git a/patches/api/0339-Configurable-sculk-sensor-listener-range.patch b/patches/api/0334-Configurable-sculk-sensor-listener-range.patch
index b1ad0cdb5b..b1ad0cdb5b 100644
--- a/patches/api/0339-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/api/0334-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/api/0340-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0335-Add-missing-block-data-mins-and-maxes.patch
index 63a647706a..63a647706a 100644
--- a/patches/api/0340-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/api/0335-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/api/0341-Custom-Potion-Mixes.patch b/patches/api/0336-Custom-Potion-Mixes.patch
index 0d3feb9f09..0d3feb9f09 100644
--- a/patches/api/0341-Custom-Potion-Mixes.patch
+++ b/patches/api/0336-Custom-Potion-Mixes.patch
diff --git a/patches/api/0342-Expose-furnace-minecart-push-values.patch b/patches/api/0337-Expose-furnace-minecart-push-values.patch
index 3d8c2336e7..3d8c2336e7 100644
--- a/patches/api/0342-Expose-furnace-minecart-push-values.patch
+++ b/patches/api/0337-Expose-furnace-minecart-push-values.patch
diff --git a/patches/api/0343-More-Projectile-API.patch b/patches/api/0338-More-Projectile-API.patch
index fdec1b8add..fdec1b8add 100644
--- a/patches/api/0343-More-Projectile-API.patch
+++ b/patches/api/0338-More-Projectile-API.patch
diff --git a/patches/api/0344-Add-getComputedBiome-API.patch b/patches/api/0339-Add-getComputedBiome-API.patch
index fecc34acdf..fecc34acdf 100644
--- a/patches/api/0344-Add-getComputedBiome-API.patch
+++ b/patches/api/0339-Add-getComputedBiome-API.patch
diff --git a/patches/api/0345-Add-enchantWithLevels-API.patch b/patches/api/0340-Add-enchantWithLevels-API.patch
index 8dbe2d7555..8dbe2d7555 100644
--- a/patches/api/0345-Add-enchantWithLevels-API.patch
+++ b/patches/api/0340-Add-enchantWithLevels-API.patch
diff --git a/patches/api/0346-Add-TameableDeathMessageEvent.patch b/patches/api/0341-Add-TameableDeathMessageEvent.patch
index aec53f13ba..aec53f13ba 100644
--- a/patches/api/0346-Add-TameableDeathMessageEvent.patch
+++ b/patches/api/0341-Add-TameableDeathMessageEvent.patch
diff --git a/patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0342-Allow-to-change-the-podium-of-the-EnderDragon.patch
index 08ffa1fdde..08ffa1fdde 100644
--- a/patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch
+++ b/patches/api/0342-Allow-to-change-the-podium-of-the-EnderDragon.patch
diff --git a/patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch b/patches/api/0343-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
index 21b3f85c0b..21b3f85c0b 100644
--- a/patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
+++ b/patches/api/0343-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
diff --git a/patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0344-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 5775b6f33c..5775b6f33c 100644
--- a/patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/api/0344-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/api/0350-WorldCreator-keepSpawnLoaded.patch b/patches/api/0345-WorldCreator-keepSpawnLoaded.patch
index 287c313c58..287c313c58 100644
--- a/patches/api/0350-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/api/0345-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index e7a4ad2089..e7a4ad2089 100644
--- a/patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/api/0346-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/api/0352-Add-PlayerStopUsingItemEvent.patch b/patches/api/0347-Add-PlayerStopUsingItemEvent.patch
index c8de1f6ed0..c8de1f6ed0 100644
--- a/patches/api/0352-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/api/0347-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/api/0353-Expand-FallingBlock-API.patch b/patches/api/0348-Expand-FallingBlock-API.patch
index 42538dc688..8c86249a45 100644
--- a/patches/api/0353-Expand-FallingBlock-API.patch
+++ b/patches/api/0348-Expand-FallingBlock-API.patch
@@ -10,10 +10,10 @@ Subject: [PATCH] Expand FallingBlock API
Co-authored-by: Lukas Planz <[email protected]>
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 36deaae317cd9ac0455bc1daef22b7f1e1b73c62..406c404adb999acfa0e8f118b23714803e40a4fb 100644
+index 8e9ab00503167799c6c929d00e48c07cb328848c..907906e15c9250fea385e49f10d3c248236fd004 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -2309,8 +2309,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2228,8 +2228,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block
@@ -24,7 +24,7 @@ index 36deaae317cd9ac0455bc1daef22b7f1e1b73c62..406c404adb999acfa0e8f118b2371480
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
/**
-@@ -2323,8 +2325,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2242,8 +2244,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* BlockData} are null
@@ -35,7 +35,7 @@ index 36deaae317cd9ac0455bc1daef22b7f1e1b73c62..406c404adb999acfa0e8f118b2371480
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException;
/**
-@@ -2341,7 +2345,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -2260,7 +2264,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The spawned {@link FallingBlock} instance
* @throws IllegalArgumentException if {@link Location} or {@link
* Material} are null or {@link Material} is not a block
diff --git a/patches/api/0354-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0349-Add-method-isTickingWorlds-to-Bukkit.patch
index 6092439044..6092439044 100644
--- a/patches/api/0354-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0349-Add-method-isTickingWorlds-to-Bukkit.patch
diff --git a/patches/api/0355-Add-WardenAngerChangeEvent.patch b/patches/api/0350-Add-WardenAngerChangeEvent.patch
index 4291ccd615..4291ccd615 100644
--- a/patches/api/0355-Add-WardenAngerChangeEvent.patch
+++ b/patches/api/0350-Add-WardenAngerChangeEvent.patch
diff --git a/patches/api/0356-Nameable-Banner-API.patch b/patches/api/0351-Nameable-Banner-API.patch
index eba196daaf..eba196daaf 100644
--- a/patches/api/0356-Nameable-Banner-API.patch
+++ b/patches/api/0351-Nameable-Banner-API.patch
diff --git a/patches/api/0357-Add-Player-getFishHook.patch b/patches/api/0352-Add-Player-getFishHook.patch
index feae3b2e47..feae3b2e47 100644
--- a/patches/api/0357-Add-Player-getFishHook.patch
+++ b/patches/api/0352-Add-Player-getFishHook.patch
diff --git a/patches/api/0358-More-Teleport-API.patch b/patches/api/0353-More-Teleport-API.patch
index a464ab5388..a464ab5388 100644
--- a/patches/api/0358-More-Teleport-API.patch
+++ b/patches/api/0353-More-Teleport-API.patch
diff --git a/patches/api/0359-Add-EntityPortalReadyEvent.patch b/patches/api/0354-Add-EntityPortalReadyEvent.patch
index af86ef0a8f..af86ef0a8f 100644
--- a/patches/api/0359-Add-EntityPortalReadyEvent.patch
+++ b/patches/api/0354-Add-EntityPortalReadyEvent.patch
diff --git a/patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch
index 83811edce4..83811edce4 100644
--- a/patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0355-Custom-Chat-Completion-Suggestions-API.patch
diff --git a/patches/api/0361-Collision-API.patch b/patches/api/0356-Collision-API.patch
index ce2e084b64..ce2e084b64 100644
--- a/patches/api/0361-Collision-API.patch
+++ b/patches/api/0356-Collision-API.patch
diff --git a/patches/api/0362-Block-Ticking-API.patch b/patches/api/0357-Block-Ticking-API.patch
index d588899982..d588899982 100644
--- a/patches/api/0362-Block-Ticking-API.patch
+++ b/patches/api/0357-Block-Ticking-API.patch
diff --git a/patches/api/0363-Add-NamespacedKey-biome-methods.patch b/patches/api/0358-Add-NamespacedKey-biome-methods.patch
index 29bd350af8..29bd350af8 100644
--- a/patches/api/0363-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0358-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/api/0364-Also-load-resources-from-LibraryLoader.patch b/patches/api/0359-Also-load-resources-from-LibraryLoader.patch
index c2a41c2e53..c2a41c2e53 100644
--- a/patches/api/0364-Also-load-resources-from-LibraryLoader.patch
+++ b/patches/api/0359-Also-load-resources-from-LibraryLoader.patch
diff --git a/patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0360-Added-byte-array-serialization-deserialization-for-P.patch
index 9b71f12681..9b71f12681 100644
--- a/patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/api/0360-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0361-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 291761dadb..291761dadb 100644
--- a/patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/api/0361-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff --git a/patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0362-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
index 9b5ef25cf4..9b5ef25cf4 100644
--- a/patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
+++ b/patches/api/0362-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
diff --git a/patches/api/0368-Add-getDrops-to-BlockState.patch b/patches/api/0363-Add-getDrops-to-BlockState.patch
index f9e8152229..f9e8152229 100644
--- a/patches/api/0368-Add-getDrops-to-BlockState.patch
+++ b/patches/api/0363-Add-getDrops-to-BlockState.patch
diff --git a/patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0364-Add-PlayerInventorySlotChangeEvent.patch
index d76df6d87d..d76df6d87d 100644
--- a/patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/api/0364-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/api/0370-Elder-Guardian-appearance-API.patch b/patches/api/0365-Elder-Guardian-appearance-API.patch
index 4c5b51b7a5..4c5b51b7a5 100644
--- a/patches/api/0370-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0365-Elder-Guardian-appearance-API.patch
diff --git a/patches/api/0371-Allow-changing-bed-s-occupied-property.patch b/patches/api/0366-Allow-changing-bed-s-occupied-property.patch
index 8dfafd6d33..8dfafd6d33 100644
--- a/patches/api/0371-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/api/0366-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/api/0372-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0367-Add-EquipmentSlot-convenience-methods.patch
index f7e2301f31..f7e2301f31 100644
--- a/patches/api/0372-Add-EquipmentSlot-convenience-methods.patch
+++ b/patches/api/0367-Add-EquipmentSlot-convenience-methods.patch
diff --git a/patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0368-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
index b745878796..b745878796 100644
--- a/patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
+++ b/patches/api/0368-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
diff --git a/patches/api/0374-Add-entity-knockback-API.patch b/patches/api/0369-Add-entity-knockback-API.patch
index fe9d0a85bb..fe9d0a85bb 100644
--- a/patches/api/0374-Add-entity-knockback-API.patch
+++ b/patches/api/0369-Add-entity-knockback-API.patch
diff --git a/patches/api/0375-Added-EntityToggleSitEvent.patch b/patches/api/0370-Added-EntityToggleSitEvent.patch
index d5a8c46dc8..d5a8c46dc8 100644
--- a/patches/api/0375-Added-EntityToggleSitEvent.patch
+++ b/patches/api/0370-Added-EntityToggleSitEvent.patch
diff --git a/patches/api/0376-Add-Moving-Piston-API.patch b/patches/api/0371-Add-Moving-Piston-API.patch
index 8f889f1e3d..8f889f1e3d 100644
--- a/patches/api/0376-Add-Moving-Piston-API.patch
+++ b/patches/api/0371-Add-Moving-Piston-API.patch
diff --git a/patches/api/0377-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0372-Add-PrePlayerAttackEntityEvent.patch
index ac0ebedde7..ac0ebedde7 100644
--- a/patches/api/0377-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/api/0372-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/api/0378-Add-Player-Warden-Warning-API.patch b/patches/api/0373-Add-Player-Warden-Warning-API.patch
index d1728e9492..d1728e9492 100644
--- a/patches/api/0378-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0373-Add-Player-Warden-Warning-API.patch
diff --git a/patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0374-More-vanilla-friendly-methods-to-update-trades.patch
index f13fdb5601..f13fdb5601 100644
--- a/patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/api/0374-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/api/0380-Add-paper-dumplisteners-command.patch b/patches/api/0375-Add-paper-dumplisteners-command.patch
index a5d858851f..a5d858851f 100644
--- a/patches/api/0380-Add-paper-dumplisteners-command.patch
+++ b/patches/api/0375-Add-paper-dumplisteners-command.patch
diff --git a/patches/api/0381-ItemStack-damage-API.patch b/patches/api/0376-ItemStack-damage-API.patch
index bd4ff35bcc..bd4ff35bcc 100644
--- a/patches/api/0381-ItemStack-damage-API.patch
+++ b/patches/api/0376-ItemStack-damage-API.patch
diff --git a/patches/api/0382-Add-Tick-TemporalUnit.patch b/patches/api/0377-Add-Tick-TemporalUnit.patch
index 562eb00082..562eb00082 100644
--- a/patches/api/0382-Add-Tick-TemporalUnit.patch
+++ b/patches/api/0377-Add-Tick-TemporalUnit.patch
diff --git a/patches/api/0383-Friction-API.patch b/patches/api/0378-Friction-API.patch
index 23ae7abbae..23ae7abbae 100644
--- a/patches/api/0383-Friction-API.patch
+++ b/patches/api/0378-Friction-API.patch
diff --git a/patches/api/0384-Player-Entity-Tracking-Events.patch b/patches/api/0379-Player-Entity-Tracking-Events.patch
index 3dfa72c922..3dfa72c922 100644
--- a/patches/api/0384-Player-Entity-Tracking-Events.patch
+++ b/patches/api/0379-Player-Entity-Tracking-Events.patch
diff --git a/patches/api/0385-Add-missing-Fluid-type.patch b/patches/api/0380-Add-missing-Fluid-type.patch
index c260bf8497..c260bf8497 100644
--- a/patches/api/0385-Add-missing-Fluid-type.patch
+++ b/patches/api/0380-Add-missing-Fluid-type.patch
diff --git a/patches/api/0386-fix-Instruments.patch b/patches/api/0381-fix-Instruments.patch
index 468dc80a34..468dc80a34 100644
--- a/patches/api/0386-fix-Instruments.patch
+++ b/patches/api/0381-fix-Instruments.patch
diff --git a/patches/api/0387-Add-BlockLockCheckEvent.patch b/patches/api/0382-Add-BlockLockCheckEvent.patch
index c5d560192c..c5d560192c 100644
--- a/patches/api/0387-Add-BlockLockCheckEvent.patch
+++ b/patches/api/0382-Add-BlockLockCheckEvent.patch
diff --git a/patches/api/0388-Add-Sneaking-API-for-Entities.patch b/patches/api/0383-Add-Sneaking-API-for-Entities.patch
index 5419ce7d3c..5419ce7d3c 100644
--- a/patches/api/0388-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0383-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/api/0389-Improve-PortalEvents.patch b/patches/api/0384-Improve-PortalEvents.patch
index f7f53b19fc..f7f53b19fc 100644
--- a/patches/api/0389-Improve-PortalEvents.patch
+++ b/patches/api/0384-Improve-PortalEvents.patch
diff --git a/patches/api/0390-Flying-Fall-Damage-API.patch b/patches/api/0385-Flying-Fall-Damage-API.patch
index 13493c2aa9..13493c2aa9 100644
--- a/patches/api/0390-Flying-Fall-Damage-API.patch
+++ b/patches/api/0385-Flying-Fall-Damage-API.patch
diff --git a/patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0386-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
index 475ca65bbf..475ca65bbf 100644
--- a/patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
+++ b/patches/api/0386-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
diff --git a/patches/api/0392-Win-Screen-API.patch b/patches/api/0387-Win-Screen-API.patch
index cdeea2f4f9..cdeea2f4f9 100644
--- a/patches/api/0392-Win-Screen-API.patch
+++ b/patches/api/0387-Win-Screen-API.patch
diff --git a/patches/api/0393-Add-Entity-Body-Yaw-API.patch b/patches/api/0388-Add-Entity-Body-Yaw-API.patch
index c0186ee4f1..c0186ee4f1 100644
--- a/patches/api/0393-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0388-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0389-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
index c375206bf7..c375206bf7 100644
--- a/patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
+++ b/patches/api/0389-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
diff --git a/patches/api/0395-Add-EntityFertilizeEggEvent.patch b/patches/api/0390-Add-EntityFertilizeEggEvent.patch
index 4ae6ff9f0f..4ae6ff9f0f 100644
--- a/patches/api/0395-Add-EntityFertilizeEggEvent.patch
+++ b/patches/api/0390-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0391-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 9dee250212..9dee250212 100644
--- a/patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/api/0391-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/api/0397-Add-Shearable-API.patch b/patches/api/0392-Add-Shearable-API.patch
index 06e4cefb44..06e4cefb44 100644
--- a/patches/api/0397-Add-Shearable-API.patch
+++ b/patches/api/0392-Add-Shearable-API.patch
diff --git a/patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0393-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 27abcd1f93..27abcd1f93 100644
--- a/patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/api/0393-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/api/0399-Add-Mob-Experience-reward-API.patch b/patches/api/0394-Add-Mob-Experience-reward-API.patch
index 354d6d1eb4..354d6d1eb4 100644
--- a/patches/api/0399-Add-Mob-Experience-reward-API.patch
+++ b/patches/api/0394-Add-Mob-Experience-reward-API.patch
diff --git a/patches/api/0400-Expand-PlayerItemMendEvent.patch b/patches/api/0395-Expand-PlayerItemMendEvent.patch
index 95b15a4753..95b15a4753 100644
--- a/patches/api/0400-Expand-PlayerItemMendEvent.patch
+++ b/patches/api/0395-Expand-PlayerItemMendEvent.patch
diff --git a/patches/api/0401-Add-transient-modifier-API.patch b/patches/api/0396-Add-transient-modifier-API.patch
index a32e4c86a9..a32e4c86a9 100644
--- a/patches/api/0401-Add-transient-modifier-API.patch
+++ b/patches/api/0396-Add-transient-modifier-API.patch
diff --git a/patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0397-Properly-remove-the-experimental-smithing-inventory-.patch
index 6448068df8..6448068df8 100644
--- a/patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/api/0397-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0398-Add-method-to-remove-all-active-potion-effects.patch
index 2b9703cf94..2b9703cf94 100644
--- a/patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/api/0398-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/api/0404-Folia-scheduler-and-owned-region-API.patch b/patches/api/0399-Folia-scheduler-and-owned-region-API.patch
index 35af43df05..35af43df05 100644
--- a/patches/api/0404-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0399-Folia-scheduler-and-owned-region-API.patch
diff --git a/patches/api/0405-Add-event-for-player-editing-sign.patch b/patches/api/0400-Add-event-for-player-editing-sign.patch
index ec38bf008b..ec38bf008b 100644
--- a/patches/api/0405-Add-event-for-player-editing-sign.patch
+++ b/patches/api/0400-Add-event-for-player-editing-sign.patch
diff --git a/patches/api/0406-Add-Sign-getInteractableSideFor.patch b/patches/api/0401-Add-Sign-getInteractableSideFor.patch
index 1e085323ca..1e085323ca 100644
--- a/patches/api/0406-Add-Sign-getInteractableSideFor.patch
+++ b/patches/api/0401-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/api/0407-Fix-BanList-API.patch b/patches/api/0402-Fix-BanList-API.patch
index a9640f44a2..a9640f44a2 100644
--- a/patches/api/0407-Fix-BanList-API.patch
+++ b/patches/api/0402-Fix-BanList-API.patch
diff --git a/patches/api/0408-Add-whitelist-events.patch b/patches/api/0403-Add-whitelist-events.patch
index 75458e78df..75458e78df 100644
--- a/patches/api/0408-Add-whitelist-events.patch
+++ b/patches/api/0403-Add-whitelist-events.patch
diff --git a/patches/api/0409-API-for-updating-recipes-on-clients.patch b/patches/api/0404-API-for-updating-recipes-on-clients.patch
index a3b3f4bb59..a3b3f4bb59 100644
--- a/patches/api/0409-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0404-API-for-updating-recipes-on-clients.patch
diff --git a/patches/api/0410-Add-PlayerFailMoveEvent.patch b/patches/api/0405-Add-PlayerFailMoveEvent.patch
index c0687e2ae0..c0687e2ae0 100644
--- a/patches/api/0410-Add-PlayerFailMoveEvent.patch
+++ b/patches/api/0405-Add-PlayerFailMoveEvent.patch
diff --git a/patches/api/0411-Fix-custom-statistic-criteria-creation.patch b/patches/api/0406-Fix-custom-statistic-criteria-creation.patch
index f4070d7bb4..f4070d7bb4 100644
--- a/patches/api/0411-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0406-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/api/0412-SculkCatalyst-bloom-API.patch b/patches/api/0407-SculkCatalyst-bloom-API.patch
index 49d8c8c2bd..49d8c8c2bd 100644
--- a/patches/api/0412-SculkCatalyst-bloom-API.patch
+++ b/patches/api/0407-SculkCatalyst-bloom-API.patch
diff --git a/patches/api/0413-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0408-API-for-an-entity-s-scoreboard-name.patch
index 1fb9128be8..1fb9128be8 100644
--- a/patches/api/0413-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/api/0408-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/api/0414-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0409-Deprecate-and-replace-methods-with-old-StructureType.patch
index b1f1fc1cfc..b1f1fc1cfc 100644
--- a/patches/api/0414-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0409-Deprecate-and-replace-methods-with-old-StructureType.patch
diff --git a/patches/api/0415-Add-Listing-API-for-Player.patch b/patches/api/0410-Add-Listing-API-for-Player.patch
index 47a8946b80..47a8946b80 100644
--- a/patches/api/0415-Add-Listing-API-for-Player.patch
+++ b/patches/api/0410-Add-Listing-API-for-Player.patch
diff --git a/patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0411-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index 34d1940866..34d1940866 100644
--- a/patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/api/0411-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/api/0417-Fix-NPE-on-Boat-getStatus.patch b/patches/api/0412-Fix-NPE-on-Boat-getStatus.patch
index 1cf6096a92..1cf6096a92 100644
--- a/patches/api/0417-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/api/0412-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/api/0418-Expand-Pose-API.patch b/patches/api/0413-Expand-Pose-API.patch
index a7ac9f7567..a7ac9f7567 100644
--- a/patches/api/0418-Expand-Pose-API.patch
+++ b/patches/api/0413-Expand-Pose-API.patch
diff --git a/patches/api/0419-MerchantRecipe-add-copy-constructor.patch b/patches/api/0414-MerchantRecipe-add-copy-constructor.patch
index 1c5ba2803c..1c5ba2803c 100644
--- a/patches/api/0419-MerchantRecipe-add-copy-constructor.patch
+++ b/patches/api/0414-MerchantRecipe-add-copy-constructor.patch
diff --git a/patches/api/0420-More-DragonBattle-API.patch b/patches/api/0415-More-DragonBattle-API.patch
index e25208ec19..e25208ec19 100644
--- a/patches/api/0420-More-DragonBattle-API.patch
+++ b/patches/api/0415-More-DragonBattle-API.patch
diff --git a/patches/api/0421-Add-PlayerPickItemEvent.patch b/patches/api/0416-Add-PlayerPickItemEvent.patch
index 6dd0be80a8..6dd0be80a8 100644
--- a/patches/api/0421-Add-PlayerPickItemEvent.patch
+++ b/patches/api/0416-Add-PlayerPickItemEvent.patch
diff --git a/patches/api/0422-Allow-trident-custom-damage.patch b/patches/api/0417-Allow-trident-custom-damage.patch
index 870b735548..870b735548 100644
--- a/patches/api/0422-Allow-trident-custom-damage.patch
+++ b/patches/api/0417-Allow-trident-custom-damage.patch
diff --git a/patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0418-Expose-hand-during-BlockCanBuildEvent.patch
index 97d99a40d2..97d99a40d2 100644
--- a/patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/api/0418-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch b/patches/api/0419-Limit-setBurnTime-to-valid-short-values.patch
index 2faac56fd8..2faac56fd8 100644
--- a/patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch
+++ b/patches/api/0419-Limit-setBurnTime-to-valid-short-values.patch
diff --git a/patches/api/0425-Add-OfflinePlayer-isConnected.patch b/patches/api/0420-Add-OfflinePlayer-isConnected.patch
index 08e2f91095..08e2f91095 100644
--- a/patches/api/0425-Add-OfflinePlayer-isConnected.patch
+++ b/patches/api/0420-Add-OfflinePlayer-isConnected.patch
diff --git a/patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/api/0421-Add-titleOverride-to-InventoryOpenEvent.patch
index 68e755f010..68e755f010 100644
--- a/patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/api/0421-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/api/0427-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0422-Allow-proper-checking-of-empty-item-stacks.patch
index 7c74a0781c..7c74a0781c 100644
--- a/patches/api/0427-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/api/0422-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch b/patches/api/0423-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
index e72f86be5d..e72f86be5d 100644
--- a/patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
+++ b/patches/api/0423-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
diff --git a/patches/api/0429-Add-player-idle-duration-API.patch b/patches/api/0424-Add-player-idle-duration-API.patch
index 2fbfc5dc58..2fbfc5dc58 100644
--- a/patches/api/0429-Add-player-idle-duration-API.patch
+++ b/patches/api/0424-Add-player-idle-duration-API.patch
diff --git a/patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/api/0425-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 0481690ad4..0481690ad4 100644
--- a/patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/api/0425-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0426-Add-predicate-for-blocks-when-raytracing.patch
index 77d36bec08..13d64df888 100644
--- a/patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0426-Add-predicate-for-blocks-when-raytracing.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add predicate for blocks when raytracing
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 406c404adb999acfa0e8f118b23714803e40a4fb..cda78bdc6e6a76dbb5c711ee16dcb470a7b839a6 100644
+index 907906e15c9250fea385e49f10d3c248236fd004..02184b68cc126b278985fd966e3c8e4ade18c464 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -1730,6 +1730,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1649,6 +1649,27 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<? super Entity> filter);
@@ -36,7 +36,7 @@ index 406c404adb999acfa0e8f118b23714803e40a4fb..cda78bdc6e6a76dbb5c711ee16dcb470
/**
* Performs a ray trace that checks for block collisions using the blocks'
* precise collision shapes.
-@@ -1793,6 +1814,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1712,6 +1733,34 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks);
@@ -71,7 +71,7 @@ index 406c404adb999acfa0e8f118b23714803e40a4fb..cda78bdc6e6a76dbb5c711ee16dcb470
/**
* Performs a ray trace that checks for both block and entity collisions.
* <p>
-@@ -1826,6 +1875,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -1745,6 +1794,42 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public RayTraceResult rayTrace(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, @Nullable Predicate<? super Entity> filter);
diff --git a/patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/api/0427-Add-hand-to-fish-event-for-all-player-interactions.patch
index b431332b9a..b431332b9a 100644
--- a/patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/api/0427-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/api/0433-Add-UUID-attribute-modifier-API.patch b/patches/api/0428-Add-UUID-attribute-modifier-API.patch
index 64de52c83e..64de52c83e 100644
--- a/patches/api/0433-Add-UUID-attribute-modifier-API.patch
+++ b/patches/api/0428-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/api/0434-Expand-LingeringPotion-API.patch b/patches/api/0429-Expand-LingeringPotion-API.patch
index 40b5a5f547..40b5a5f547 100644
--- a/patches/api/0434-Expand-LingeringPotion-API.patch
+++ b/patches/api/0429-Expand-LingeringPotion-API.patch
diff --git a/patches/api/0435-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0430-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
index 72deb7498e..72deb7498e 100644
--- a/patches/api/0435-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
+++ b/patches/api/0430-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
diff --git a/patches/api/0436-Add-Structure-check-API.patch b/patches/api/0431-Add-Structure-check-API.patch
index ee0adfe254..e2d19afb32 100644
--- a/patches/api/0436-Add-Structure-check-API.patch
+++ b/patches/api/0431-Add-Structure-check-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index cda78bdc6e6a76dbb5c711ee16dcb470a7b839a6..c1f1faebc0d33710eb17dd96fddb16c85b7868e5 100644
+index 02184b68cc126b278985fd966e3c8e4ade18c464..ecc2d486cfec79cce27a947dfeed4853575a594d 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -78,6 +78,30 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
diff --git a/patches/api/0437-add-missing-Experimental-annotations.patch b/patches/api/0432-add-missing-Experimental-annotations.patch
index b21d99ebd5..b21d99ebd5 100644
--- a/patches/api/0437-add-missing-Experimental-annotations.patch
+++ b/patches/api/0432-add-missing-Experimental-annotations.patch
diff --git a/patches/api/0438-Add-more-scoreboard-API.patch b/patches/api/0433-Add-more-scoreboard-API.patch
index 201af36b0c..201af36b0c 100644
--- a/patches/api/0438-Add-more-scoreboard-API.patch
+++ b/patches/api/0433-Add-more-scoreboard-API.patch
diff --git a/patches/api/0439-Improve-Registry.patch b/patches/api/0434-Improve-Registry.patch
index a106bba08d..1d2d6fa13c 100644
--- a/patches/api/0439-Improve-Registry.patch
+++ b/patches/api/0434-Improve-Registry.patch
@@ -31,10 +31,10 @@ 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 afd132dab5eb2826b600592429b9e4a8d1fe0b73..b159863568c56202968ac0f9024d3e1f5f118dac 100644
+index 5ba5cf06bf12fc2e81500e09209e26047e683fa9..802511eaf697d703cadb4b418fe51ea6d31ff3c8 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -361,6 +361,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -354,6 +354,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
@Nullable
T get(@NotNull NamespacedKey key);
@@ -84,7 +84,7 @@ index afd132dab5eb2826b600592429b9e4a8d1fe0b73..b159863568c56202968ac0f9024d3e1f
/**
* Returns a new stream, which contains all registry items, which are registered to the registry.
*
-@@ -435,5 +478,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -428,5 +471,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
public Class<T> getType() {
return this.type;
}
diff --git a/patches/api/0440-Add-experience-points-API.patch b/patches/api/0435-Add-experience-points-API.patch
index 9b489a9ded..9b489a9ded 100644
--- a/patches/api/0440-Add-experience-points-API.patch
+++ b/patches/api/0435-Add-experience-points-API.patch
diff --git a/patches/api/0441-Add-missing-InventoryType.patch b/patches/api/0436-Add-missing-InventoryType.patch
index 88ed48c3e6..88ed48c3e6 100644
--- a/patches/api/0441-Add-missing-InventoryType.patch
+++ b/patches/api/0436-Add-missing-InventoryType.patch
diff --git a/patches/api/0442-Add-drops-to-shear-events.patch b/patches/api/0437-Add-drops-to-shear-events.patch
index c87460e48d..c87460e48d 100644
--- a/patches/api/0442-Add-drops-to-shear-events.patch
+++ b/patches/api/0437-Add-drops-to-shear-events.patch
diff --git a/patches/api/0443-Add-HiddenPotionEffect-API.patch b/patches/api/0438-Add-HiddenPotionEffect-API.patch
index 94799bbf65..94799bbf65 100644
--- a/patches/api/0443-Add-HiddenPotionEffect-API.patch
+++ b/patches/api/0438-Add-HiddenPotionEffect-API.patch
diff --git a/patches/api/0444-Add-PlayerShieldDisableEvent.patch b/patches/api/0439-Add-PlayerShieldDisableEvent.patch
index 29c7daa0e3..29c7daa0e3 100644
--- a/patches/api/0444-Add-PlayerShieldDisableEvent.patch
+++ b/patches/api/0439-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0440-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
index 93ba48c77c..93ba48c77c 100644
--- a/patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
+++ b/patches/api/0440-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
diff --git a/patches/api/0446-Add-BlockStateMeta-clearBlockState.patch b/patches/api/0441-Add-BlockStateMeta-clearBlockState.patch
index 7e8c47a8e2..7e8c47a8e2 100644
--- a/patches/api/0446-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/api/0441-Add-BlockStateMeta-clearBlockState.patch
diff --git a/patches/api/0447-Expose-LootTable-of-DecoratedPot.patch b/patches/api/0442-Expose-LootTable-of-DecoratedPot.patch
index 42a8de4123..42a8de4123 100644
--- a/patches/api/0447-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/api/0442-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/api/0448-Add-ShulkerDuplicateEvent.patch b/patches/api/0443-Add-ShulkerDuplicateEvent.patch
index a0a81094ce..a0a81094ce 100644
--- a/patches/api/0448-Add-ShulkerDuplicateEvent.patch
+++ b/patches/api/0443-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0444-Add-api-for-spawn-egg-texture-colors.patch
index 23541c0b38..23541c0b38 100644
--- a/patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/api/0444-Add-api-for-spawn-egg-texture-colors.patch
diff --git a/patches/api/0450-Add-Lifecycle-Event-system.patch b/patches/api/0445-Add-Lifecycle-Event-system.patch
index d4b3f0411e..d4b3f0411e 100644
--- a/patches/api/0450-Add-Lifecycle-Event-system.patch
+++ b/patches/api/0445-Add-Lifecycle-Event-system.patch
diff --git a/patches/api/0451-ItemStack-Tooltip-API.patch b/patches/api/0446-ItemStack-Tooltip-API.patch
index 7fa28ddc99..7fa28ddc99 100644
--- a/patches/api/0451-ItemStack-Tooltip-API.patch
+++ b/patches/api/0446-ItemStack-Tooltip-API.patch
diff --git a/patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0447-Add-getChunkSnapshot-includeLightData-parameter.patch
index 9b950f9493..9b950f9493 100644
--- a/patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/api/0447-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/api/0453-Add-FluidState-API.patch b/patches/api/0448-Add-FluidState-API.patch
index 3235c393f5..3235c393f5 100644
--- a/patches/api/0453-Add-FluidState-API.patch
+++ b/patches/api/0448-Add-FluidState-API.patch
diff --git a/patches/api/0454-add-number-format-api.patch b/patches/api/0449-add-number-format-api.patch
index 6d32302ad0..6d32302ad0 100644
--- a/patches/api/0454-add-number-format-api.patch
+++ b/patches/api/0449-add-number-format-api.patch
diff --git a/patches/api/0455-improve-BanList-types.patch b/patches/api/0450-improve-BanList-types.patch
index f392d209de..f392d209de 100644
--- a/patches/api/0455-improve-BanList-types.patch
+++ b/patches/api/0450-improve-BanList-types.patch
diff --git a/patches/api/0456-Suspicious-Effect-Entry-API.patch b/patches/api/0451-Suspicious-Effect-Entry-API.patch
index bcf3db2033..bcf3db2033 100644
--- a/patches/api/0456-Suspicious-Effect-Entry-API.patch
+++ b/patches/api/0451-Suspicious-Effect-Entry-API.patch
diff --git a/patches/api/0457-Fix-DamageSource-API.patch b/patches/api/0452-Fix-DamageSource-API.patch
index efe4403e2c..efe4403e2c 100644
--- a/patches/api/0457-Fix-DamageSource-API.patch
+++ b/patches/api/0452-Fix-DamageSource-API.patch
diff --git a/patches/api/0458-Expanded-Hopper-API.patch b/patches/api/0453-Expanded-Hopper-API.patch
index 51cb6dfee2..51cb6dfee2 100644
--- a/patches/api/0458-Expanded-Hopper-API.patch
+++ b/patches/api/0453-Expanded-Hopper-API.patch
diff --git a/patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch b/patches/api/0454-Clone-mutables-to-prevent-unexpected-issues.patch
index e84ea7d3aa..e84ea7d3aa 100644
--- a/patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch
+++ b/patches/api/0454-Clone-mutables-to-prevent-unexpected-issues.patch
diff --git a/patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch b/patches/api/0455-Add-BlockBreakProgressUpdateEvent.patch
index a2b5a83baf..a2b5a83baf 100644
--- a/patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/api/0455-Add-BlockBreakProgressUpdateEvent.patch
diff --git a/patches/api/0461-Deprecate-ItemStack-setType.patch b/patches/api/0456-Deprecate-ItemStack-setType.patch
index 910f35e09e..910f35e09e 100644
--- a/patches/api/0461-Deprecate-ItemStack-setType.patch
+++ b/patches/api/0456-Deprecate-ItemStack-setType.patch
diff --git a/patches/api/0462-Item-Mutation-Fixes.patch b/patches/api/0457-Item-Mutation-Fixes.patch
index ccd77b7fbc..ccd77b7fbc 100644
--- a/patches/api/0462-Item-Mutation-Fixes.patch
+++ b/patches/api/0457-Item-Mutation-Fixes.patch
diff --git a/patches/api/0463-API-for-checking-sent-chunks.patch b/patches/api/0458-API-for-checking-sent-chunks.patch
index a3844b5401..a3844b5401 100644
--- a/patches/api/0463-API-for-checking-sent-chunks.patch
+++ b/patches/api/0458-API-for-checking-sent-chunks.patch
diff --git a/patches/api/0464-Add-CartographyItemEvent.patch b/patches/api/0459-Add-CartographyItemEvent.patch
index 1f19663c9f..1f19663c9f 100644
--- a/patches/api/0464-Add-CartographyItemEvent.patch
+++ b/patches/api/0459-Add-CartographyItemEvent.patch
diff --git a/patches/api/0465-More-Raid-API.patch b/patches/api/0460-More-Raid-API.patch
index 9ea371ec7a..b365913e82 100644
--- a/patches/api/0465-More-Raid-API.patch
+++ b/patches/api/0460-More-Raid-API.patch
@@ -39,10 +39,10 @@ index 983a8c20a06d2b509602b27f49c090598b8ecc42..fa98599e3eee37bf68f0e9813497c718
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index c1f1faebc0d33710eb17dd96fddb16c85b7868e5..fdb87adfb8d6eff2bfabe7a41398c53d15d4cd98 100644
+index ecc2d486cfec79cce27a947dfeed4853575a594d..d8a23aa0d898ca3360757721e38ddb97387f7d21 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
-@@ -4242,6 +4242,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+@@ -4111,6 +4111,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public Raid locateNearestRaid(@NotNull Location location, int radius);
diff --git a/patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch b/patches/api/0461-Fix-SpawnerEntry-Equipment-API.patch
index 0a16b34cd5..0a16b34cd5 100644
--- a/patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch
+++ b/patches/api/0461-Fix-SpawnerEntry-Equipment-API.patch
diff --git a/patches/api/0467-Fix-ItemFlags.patch b/patches/api/0462-Fix-ItemFlags.patch
index 1b1eb619b9..1b1eb619b9 100644
--- a/patches/api/0467-Fix-ItemFlags.patch
+++ b/patches/api/0462-Fix-ItemFlags.patch
diff --git a/patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch b/patches/api/0463-Allow-modifying-library-loader-jars-bytecode.patch
index 0c0311e790..0c0311e790 100644
--- a/patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch
+++ b/patches/api/0463-Allow-modifying-library-loader-jars-bytecode.patch
diff --git a/patches/api/0469-Add-hook-to-remap-library-jars.patch b/patches/api/0464-Add-hook-to-remap-library-jars.patch
index fe1609629e..fe1609629e 100644
--- a/patches/api/0469-Add-hook-to-remap-library-jars.patch
+++ b/patches/api/0464-Add-hook-to-remap-library-jars.patch
diff --git a/patches/api/0470-Add-GameMode-isInvulnerable.patch b/patches/api/0465-Add-GameMode-isInvulnerable.patch
index b4b81c5f52..b4b81c5f52 100644
--- a/patches/api/0470-Add-GameMode-isInvulnerable.patch
+++ b/patches/api/0465-Add-GameMode-isInvulnerable.patch
diff --git a/patches/api/0471-Expose-hasColor-to-leather-armor.patch b/patches/api/0466-Expose-hasColor-to-leather-armor.patch
index e2c609b4f0..e2c609b4f0 100644
--- a/patches/api/0471-Expose-hasColor-to-leather-armor.patch
+++ b/patches/api/0466-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/api/0472-Add-missing-wind-charge-damage-type.patch b/patches/api/0467-Add-missing-wind-charge-damage-type.patch
index 8b5bd35be7..8b5bd35be7 100644
--- a/patches/api/0472-Add-missing-wind-charge-damage-type.patch
+++ b/patches/api/0467-Add-missing-wind-charge-damage-type.patch
diff --git a/patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0468-Added-API-to-get-player-ha-proxy-address.patch
index b1702bee61..b1702bee61 100644
--- a/patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/api/0468-Added-API-to-get-player-ha-proxy-address.patch
diff --git a/patches/api/0474-More-Chest-Block-API.patch b/patches/api/0469-More-Chest-Block-API.patch
index 1fc3614c74..1fc3614c74 100644
--- a/patches/api/0474-More-Chest-Block-API.patch
+++ b/patches/api/0469-More-Chest-Block-API.patch
diff --git a/patches/api/0475-Brigadier-based-command-API.patch b/patches/api/0470-Brigadier-based-command-API.patch
index 20c58c3c82..20c58c3c82 100644
--- a/patches/api/0475-Brigadier-based-command-API.patch
+++ b/patches/api/0470-Brigadier-based-command-API.patch
diff --git a/patches/api/0476-Fix-issues-with-recipe-API.patch b/patches/api/0471-Fix-issues-with-recipe-API.patch
index 19c045290e..19c045290e 100644
--- a/patches/api/0476-Fix-issues-with-recipe-API.patch
+++ b/patches/api/0471-Fix-issues-with-recipe-API.patch
diff --git a/patches/api/0477-Fix-equipment-slot-and-group-API.patch b/patches/api/0472-Fix-equipment-slot-and-group-API.patch
index 4b04cc2455..4b04cc2455 100644
--- a/patches/api/0477-Fix-equipment-slot-and-group-API.patch
+++ b/patches/api/0472-Fix-equipment-slot-and-group-API.patch
diff --git a/patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/api/0473-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
index 8a0f6e9468..8a0f6e9468 100644
--- a/patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
+++ b/patches/api/0473-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
diff --git a/patches/api/0479-Allow-to-define-new-map-cursor-types.patch b/patches/api/0474-Allow-to-define-new-map-cursor-types.patch
index 4d94dad296..4d94dad296 100644
--- a/patches/api/0479-Allow-to-define-new-map-cursor-types.patch
+++ b/patches/api/0474-Allow-to-define-new-map-cursor-types.patch
diff --git a/patches/api/0480-General-ItemMeta-fixes.patch b/patches/api/0475-General-ItemMeta-fixes.patch
index 22f1db839c..22f1db839c 100644
--- a/patches/api/0480-General-ItemMeta-fixes.patch
+++ b/patches/api/0475-General-ItemMeta-fixes.patch
diff --git a/patches/api/0481-Add-missing-fishing-event-state.patch b/patches/api/0476-Add-missing-fishing-event-state.patch
index 94cba543ec..94cba543ec 100644
--- a/patches/api/0481-Add-missing-fishing-event-state.patch
+++ b/patches/api/0476-Add-missing-fishing-event-state.patch
diff --git a/patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/api/0477-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index 3efcc02654..3efcc02654 100644
--- a/patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/api/0477-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch