aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api')
-rw-r--r--patches/api/0004-Code-Generation.patch17
-rw-r--r--patches/api/0006-Adventure.patch60
-rw-r--r--patches/api/0009-Paper-Plugins.patch9
-rw-r--r--patches/api/0011-Timings-v2.patch4
-rw-r--r--patches/api/0015-Version-Command-2.0.patch4
-rw-r--r--patches/api/0056-Fix-upstream-javadocs.patch43
-rw-r--r--patches/api/0066-Add-getI18NDisplayName-API.patch6
-rw-r--r--patches/api/0067-ensureServerConversions-API.patch8
-rw-r--r--patches/api/0087-Add-ArmorStand-Item-Meta.patch13
-rw-r--r--patches/api/0106-PotionEffect-clone-methods.patch4
-rw-r--r--patches/api/0108-ItemStack-getMaxItemUseDuration.patch4
-rw-r--r--patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch22
-rw-r--r--patches/api/0146-Improve-death-events.patch15
-rw-r--r--patches/api/0152-Material-API-additions.patch6
-rw-r--r--patches/api/0172-Fix-Spigot-annotation-mistakes.patch44
-rw-r--r--patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch12
-rw-r--r--patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch28
-rw-r--r--patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch8
-rw-r--r--patches/api/0200-Support-components-in-ItemMeta.patch10
-rw-r--r--patches/api/0209-Add-methods-to-get-translation-keys.patch18
-rw-r--r--patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/api/0243-Add-RegistryAccess-for-managing-registries.patch36
-rw-r--r--patches/api/0244-Add-StructuresLocateEvent.patch4
-rw-r--r--patches/api/0256-Add-worldborder-events.patch (renamed from patches/api/0257-Add-worldborder-events.patch)0
-rw-r--r--patches/api/0256-Cache-the-result-of-Material-isBlock.patch38
-rw-r--r--patches/api/0257-added-PlayerNameEntityEvent.patch (renamed from patches/api/0258-added-PlayerNameEntityEvent.patch)0
-rw-r--r--patches/api/0258-Add-recipe-to-cook-events.patch (renamed from patches/api/0259-Add-recipe-to-cook-events.patch)0
-rw-r--r--patches/api/0259-Add-Block-isValidTool.patch (renamed from patches/api/0260-Add-Block-isValidTool.patch)0
-rw-r--r--patches/api/0260-Expand-world-key-API.patch (renamed from patches/api/0261-Expand-world-key-API.patch)8
-rw-r--r--patches/api/0261-Improve-Item-Rarity-API.patch (renamed from patches/api/0262-Improve-Item-Rarity-API.patch)8
-rw-r--r--patches/api/0262-Expose-protocol-version.patch (renamed from patches/api/0263-Expose-protocol-version.patch)4
-rw-r--r--patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch)0
-rw-r--r--patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch)0
-rw-r--r--patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch)0
-rw-r--r--patches/api/0266-Added-PlayerDeepSleepEvent.patch (renamed from patches/api/0267-Added-PlayerDeepSleepEvent.patch)0
-rw-r--r--patches/api/0267-More-World-API.patch (renamed from patches/api/0268-More-World-API.patch)0
-rw-r--r--patches/api/0268-Added-PlayerBedFailEnterEvent.patch (renamed from patches/api/0269-Added-PlayerBedFailEnterEvent.patch)0
-rw-r--r--patches/api/0269-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/api/0270-Introduce-beacon-activation-deactivation-events.patch)0
-rw-r--r--patches/api/0270-PlayerMoveEvent-Improvements.patch (renamed from patches/api/0271-PlayerMoveEvent-Improvements.patch)0
-rw-r--r--patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch (renamed from patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch)0
-rw-r--r--patches/api/0272-Add-more-WanderingTrader-API.patch (renamed from patches/api/0273-Add-more-WanderingTrader-API.patch)0
-rw-r--r--patches/api/0273-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/api/0274-Add-EntityBlockStorage-clearEntities.patch)0
-rw-r--r--patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch)0
-rw-r--r--patches/api/0275-Inventory-close.patch (renamed from patches/api/0276-Inventory-close.patch)0
-rw-r--r--patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch)0
-rw-r--r--patches/api/0277-Add-basic-Datapack-API.patch (renamed from patches/api/0278-Add-basic-Datapack-API.patch)4
-rw-r--r--patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch)0
-rw-r--r--patches/api/0279-ItemStack-repair-check-API.patch (renamed from patches/api/0280-ItemStack-repair-check-API.patch)8
-rw-r--r--patches/api/0280-More-Enchantment-API.patch (renamed from patches/api/0281-More-Enchantment-API.patch)0
-rw-r--r--patches/api/0281-Add-Mob-lookAt-API.patch (renamed from patches/api/0282-Add-Mob-lookAt-API.patch)0
-rw-r--r--patches/api/0282-ItemStack-editMeta.patch (renamed from patches/api/0283-ItemStack-editMeta.patch)4
-rw-r--r--patches/api/0283-Add-EntityInsideBlockEvent.patch (renamed from patches/api/0284-Add-EntityInsideBlockEvent.patch)0
-rw-r--r--patches/api/0284-Attributes-API-for-item-defaults.patch (renamed from patches/api/0285-Attributes-API-for-item-defaults.patch)4
-rw-r--r--patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch)0
-rw-r--r--patches/api/0286-More-Lidded-Block-API.patch (renamed from patches/api/0287-More-Lidded-Block-API.patch)0
-rw-r--r--patches/api/0287-Add-PlayerKickEvent-causes.patch (renamed from patches/api/0288-Add-PlayerKickEvent-causes.patch)0
-rw-r--r--patches/api/0288-Add-PufferFishStateChangeEvent.patch (renamed from patches/api/0289-Add-PufferFishStateChangeEvent.patch)0
-rw-r--r--patches/api/0289-Add-BellRevealRaiderEvent.patch (renamed from patches/api/0290-Add-BellRevealRaiderEvent.patch)0
-rw-r--r--patches/api/0290-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/api/0291-Add-ElderGuardianAppearanceEvent.patch)0
-rw-r--r--patches/api/0291-Add-more-line-of-sight-methods.patch (renamed from patches/api/0292-Add-more-line-of-sight-methods.patch)0
-rw-r--r--patches/api/0292-Add-WaterBottleSplashEvent.patch (renamed from patches/api/0293-Add-WaterBottleSplashEvent.patch)0
-rw-r--r--patches/api/0293-Add-more-LimitedRegion-API.patch (renamed from patches/api/0294-Add-more-LimitedRegion-API.patch)0
-rw-r--r--patches/api/0294-Missing-Entity-API.patch (renamed from patches/api/0295-Missing-Entity-API.patch)8
-rw-r--r--patches/api/0295-Adds-PlayerArmSwingEvent.patch (renamed from patches/api/0296-Adds-PlayerArmSwingEvent.patch)0
-rw-r--r--patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch (renamed from patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch)0
-rw-r--r--patches/api/0297-fix-empty-array-elements-in-command-arguments.patch (renamed from patches/api/0298-fix-empty-array-elements-in-command-arguments.patch)0
-rw-r--r--patches/api/0298-Stinger-API.patch (renamed from patches/api/0299-Stinger-API.patch)0
-rw-r--r--patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch)0
-rw-r--r--patches/api/0300-Add-PlayerSetSpawnEvent.patch (renamed from patches/api/0301-Add-PlayerSetSpawnEvent.patch)0
-rw-r--r--patches/api/0301-Added-EntityDamageItemEvent.patch (renamed from patches/api/0302-Added-EntityDamageItemEvent.patch)0
-rw-r--r--patches/api/0302-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/api/0303-Make-EntityUnleashEvent-cancellable.patch)0
-rw-r--r--patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch)0
-rw-r--r--patches/api/0304-Add-BlockBreakBlockEvent.patch (renamed from patches/api/0305-Add-BlockBreakBlockEvent.patch)0
-rw-r--r--patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch (renamed from patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch)0
-rw-r--r--patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch (renamed from patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch)0
-rw-r--r--patches/api/0307-More-CommandBlock-API.patch (renamed from patches/api/0308-More-CommandBlock-API.patch)0
-rw-r--r--patches/api/0308-Add-missing-team-sidebar-display-slots.patch (renamed from patches/api/0309-Add-missing-team-sidebar-display-slots.patch)0
-rw-r--r--patches/api/0309-add-back-EntityPortalExitEvent.patch (renamed from patches/api/0310-add-back-EntityPortalExitEvent.patch)0
-rw-r--r--patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch)0
-rw-r--r--patches/api/0311-Get-entity-default-attributes.patch (renamed from patches/api/0312-Get-entity-default-attributes.patch)4
-rw-r--r--patches/api/0312-Left-handed-API.patch (renamed from patches/api/0313-Left-handed-API.patch)0
-rw-r--r--patches/api/0313-Add-critical-damage-API.patch (renamed from patches/api/0314-Add-critical-damage-API.patch)0
-rw-r--r--patches/api/0314-Add-more-advancement-API.patch (renamed from patches/api/0315-Add-more-advancement-API.patch)0
-rw-r--r--patches/api/0315-Fix-issues-with-mob-conversion.patch (renamed from patches/api/0316-Fix-issues-with-mob-conversion.patch)0
-rw-r--r--patches/api/0316-Add-isCollidable-methods-to-various-places.patch (renamed from patches/api/0317-Add-isCollidable-methods-to-various-places.patch)8
-rw-r--r--patches/api/0317-Goat-ram-API.patch (renamed from patches/api/0318-Goat-ram-API.patch)0
-rw-r--r--patches/api/0318-Add-API-for-resetting-a-single-score.patch (renamed from patches/api/0319-Add-API-for-resetting-a-single-score.patch)0
-rw-r--r--patches/api/0319-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch)4
-rw-r--r--patches/api/0320-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/api/0321-Add-PlayerItemFrameChangeEvent.patch)0
-rw-r--r--patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch)4
-rw-r--r--patches/api/0322-Add-more-Campfire-API.patch (renamed from patches/api/0323-Add-more-Campfire-API.patch)0
-rw-r--r--patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch (renamed from patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch)0
-rw-r--r--patches/api/0324-Improve-scoreboard-entries.patch (renamed from patches/api/0325-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/api/0325-Entity-powdered-snow-API.patch (renamed from patches/api/0326-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/api/0326-Add-API-for-item-entity-health.patch (renamed from patches/api/0327-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/api/0328-Bucketable-API.patch (renamed from patches/api/0329-Bucketable-API.patch)0
-rw-r--r--patches/api/0329-System-prop-for-default-config-comment-parsing.patch (renamed from patches/api/0330-System-prop-for-default-config-comment-parsing.patch)0
-rw-r--r--patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)0
-rw-r--r--patches/api/0331-Multiple-Entries-with-Scoreboards.patch (renamed from patches/api/0332-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/api/0332-Warn-on-strange-EventHandler-return-types.patch (renamed from patches/api/0333-Warn-on-strange-EventHandler-return-types.patch)0
-rw-r--r--patches/api/0333-Multi-Block-Change-API.patch (renamed from patches/api/0334-Multi-Block-Change-API.patch)0
-rw-r--r--patches/api/0334-Fix-NotePlayEvent.patch (renamed from patches/api/0335-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/api/0335-Freeze-Tick-Lock-API.patch (renamed from patches/api/0336-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/api/0336-Dolphin-API.patch (renamed from patches/api/0337-Dolphin-API.patch)0
-rw-r--r--patches/api/0337-More-PotionEffectType-API.patch (renamed from patches/api/0338-More-PotionEffectType-API.patch)4
-rw-r--r--patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch)4
-rw-r--r--patches/api/0339-Implement-regenerateChunk.patch (renamed from patches/api/0340-Implement-regenerateChunk.patch)0
-rw-r--r--patches/api/0340-Add-GameEvent-tags.patch (renamed from patches/api/0341-Add-GameEvent-tags.patch)4
-rw-r--r--patches/api/0341-Furnace-RecipesUsed-API.patch (renamed from patches/api/0342-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/api/0342-Configurable-sculk-sensor-listener-range.patch (renamed from patches/api/0343-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/api/0343-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/api/0344-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/api/0344-Custom-Potion-Mixes.patch (renamed from patches/api/0345-Custom-Potion-Mixes.patch)0
-rw-r--r--patches/api/0345-Expose-furnace-minecart-push-values.patch (renamed from patches/api/0346-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/api/0346-More-Projectile-API.patch (renamed from patches/api/0347-More-Projectile-API.patch)0
-rw-r--r--patches/api/0347-Add-getComputedBiome-API.patch (renamed from patches/api/0348-Add-getComputedBiome-API.patch)0
-rw-r--r--patches/api/0348-Add-enchantWithLevels-API.patch (renamed from patches/api/0349-Add-enchantWithLevels-API.patch)6
-rw-r--r--patches/api/0349-Add-TameableDeathMessageEvent.patch (renamed from patches/api/0350-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch (renamed from patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch)0
-rw-r--r--patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch (renamed from patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch)0
-rw-r--r--patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/api/0353-WorldCreator-keepSpawnLoaded.patch (renamed from patches/api/0354-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/api/0355-Add-PlayerStopUsingItemEvent.patch (renamed from patches/api/0356-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/api/0356-Expand-FallingBlock-API.patch (renamed from patches/api/0357-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch (renamed from patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch)4
-rw-r--r--patches/api/0358-Add-WardenAngerChangeEvent.patch (renamed from patches/api/0359-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/api/0359-Nameable-Banner-API.patch (renamed from patches/api/0360-Nameable-Banner-API.patch)0
-rw-r--r--patches/api/0360-Add-Player-getFishHook.patch (renamed from patches/api/0361-Add-Player-getFishHook.patch)0
-rw-r--r--patches/api/0361-More-Teleport-API.patch (renamed from patches/api/0362-More-Teleport-API.patch)0
-rw-r--r--patches/api/0362-Add-EntityPortalReadyEvent.patch (renamed from patches/api/0363-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch)0
-rw-r--r--patches/api/0364-Collision-API.patch (renamed from patches/api/0365-Collision-API.patch)0
-rw-r--r--patches/api/0365-Block-Ticking-API.patch (renamed from patches/api/0366-Block-Ticking-API.patch)0
-rw-r--r--patches/api/0366-Add-NamespacedKey-biome-methods.patch (renamed from patches/api/0367-Add-NamespacedKey-biome-methods.patch)4
-rw-r--r--patches/api/0367-Also-load-resources-from-LibraryLoader.patch (renamed from patches/api/0368-Also-load-resources-from-LibraryLoader.patch)0
-rw-r--r--patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)0
-rw-r--r--patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch (renamed from patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch)0
-rw-r--r--patches/api/0371-Add-getDrops-to-BlockState.patch (renamed from patches/api/0372-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/api/0373-Elder-Guardian-appearance-API.patch (renamed from patches/api/0374-Elder-Guardian-appearance-API.patch)0
-rw-r--r--patches/api/0374-Allow-changing-bed-s-occupied-property.patch (renamed from patches/api/0375-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/api/0375-Add-EquipmentSlot-convenience-methods.patch (renamed from patches/api/0376-Add-EquipmentSlot-convenience-methods.patch)2
-rw-r--r--patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch (renamed from patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch)0
-rw-r--r--patches/api/0377-Add-entity-knockback-API.patch (renamed from patches/api/0378-Add-entity-knockback-API.patch)0
-rw-r--r--patches/api/0378-Added-EntityToggleSitEvent.patch (renamed from patches/api/0379-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/api/0379-Add-Moving-Piston-API.patch (renamed from patches/api/0380-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/api/0380-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/api/0381-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/api/0381-Add-Player-Warden-Warning-API.patch (renamed from patches/api/0382-Add-Player-Warden-Warning-API.patch)0
-rw-r--r--patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/api/0383-Add-paper-dumplisteners-command.patch (renamed from patches/api/0384-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/api/0384-ItemStack-damage-API.patch (renamed from patches/api/0385-ItemStack-damage-API.patch)4
-rw-r--r--patches/api/0385-Add-Tick-TemporalUnit.patch (renamed from patches/api/0386-Add-Tick-TemporalUnit.patch)0
-rw-r--r--patches/api/0386-Friction-API.patch (renamed from patches/api/0387-Friction-API.patch)0
-rw-r--r--patches/api/0387-Player-Entity-Tracking-Events.patch (renamed from patches/api/0388-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/api/0388-Add-missing-Fluid-type.patch (renamed from patches/api/0389-Add-missing-Fluid-type.patch)0
-rw-r--r--patches/api/0389-fix-Instruments.patch (renamed from patches/api/0390-fix-Instruments.patch)0
-rw-r--r--patches/api/0390-Add-BlockLockCheckEvent.patch (renamed from patches/api/0391-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/api/0391-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0392-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/api/0392-Improve-PortalEvents.patch (renamed from patches/api/0393-Improve-PortalEvents.patch)0
-rw-r--r--patches/api/0393-Flying-Fall-Damage-API.patch (renamed from patches/api/0395-Flying-Fall-Damage-API.patch)0
-rw-r--r--patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch83
-rw-r--r--patches/api/0394-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch)0
-rw-r--r--patches/api/0395-Win-Screen-API.patch (renamed from patches/api/0397-Win-Screen-API.patch)0
-rw-r--r--patches/api/0396-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0398-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/api/0397-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch)0
-rw-r--r--patches/api/0398-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0400-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/api/0399-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/api/0400-Add-Shearable-API.patch (renamed from patches/api/0402-Add-Shearable-API.patch)0
-rw-r--r--patches/api/0401-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/api/0402-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0404-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/api/0403-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0405-Expand-PlayerItemMendEvent.patch)0
-rw-r--r--patches/api/0404-Add-transient-modifier-API.patch (renamed from patches/api/0406-Add-transient-modifier-API.patch)0
-rw-r--r--patches/api/0405-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/api/0406-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/api/0407-Folia-scheduler-and-owned-region-API.patch (renamed from patches/api/0409-Folia-scheduler-and-owned-region-API.patch)0
-rw-r--r--patches/api/0408-Add-event-for-player-editing-sign.patch (renamed from patches/api/0410-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/api/0409-Add-Sign-getInteractableSideFor.patch (renamed from patches/api/0411-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/api/0410-Fix-BanList-API.patch (renamed from patches/api/0412-Fix-BanList-API.patch)0
-rw-r--r--patches/api/0411-Add-whitelist-events.patch (renamed from patches/api/0413-Add-whitelist-events.patch)0
-rw-r--r--patches/api/0412-API-for-updating-recipes-on-clients.patch (renamed from patches/api/0414-API-for-updating-recipes-on-clients.patch)4
-rw-r--r--patches/api/0413-Add-PlayerFailMoveEvent.patch (renamed from patches/api/0415-Add-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/api/0414-Fix-custom-statistic-criteria-creation.patch (renamed from patches/api/0416-Fix-custom-statistic-criteria-creation.patch)4
-rw-r--r--patches/api/0415-SculkCatalyst-bloom-API.patch (renamed from patches/api/0417-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/api/0416-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/api/0418-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/api/0417-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch)4
-rw-r--r--patches/api/0418-Add-Listing-API-for-Player.patch (renamed from patches/api/0420-Add-Listing-API-for-Player.patch)0
-rw-r--r--patches/api/0419-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/api/0420-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/api/0422-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/api/0421-Expand-Pose-API.patch (renamed from patches/api/0423-Expand-Pose-API.patch)0
-rw-r--r--patches/api/0422-MerchantRecipe-add-copy-constructor.patch (renamed from patches/api/0424-MerchantRecipe-add-copy-constructor.patch)0
-rw-r--r--patches/api/0423-More-DragonBattle-API.patch (renamed from patches/api/0425-More-DragonBattle-API.patch)0
-rw-r--r--patches/api/0424-Add-PlayerPickItemEvent.patch (renamed from patches/api/0426-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/api/0425-Allow-trident-custom-damage.patch (renamed from patches/api/0427-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/api/0426-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/api/0427-Limit-setBurnTime-to-valid-short-values.patch (renamed from patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch)0
-rw-r--r--patches/api/0428-Add-OfflinePlayer-isConnected.patch (renamed from patches/api/0430-Add-OfflinePlayer-isConnected.patch)0
-rw-r--r--patches/api/0429-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/api/0430-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch)4
-rw-r--r--patches/api/0431-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch (renamed from patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch)0
-rw-r--r--patches/api/0432-Add-player-idle-duration-API.patch (renamed from patches/api/0434-Add-player-idle-duration-API.patch)0
-rw-r--r--patches/api/0433-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/api/0434-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch)0
-rw-r--r--patches/api/0435-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/api/0436-Add-UUID-attribute-modifier-API.patch (renamed from patches/api/0438-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/api/0437-Expand-LingeringPotion-API.patch (renamed from patches/api/0439-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/api/0438-Remove-unnecessary-durability-check-in-ItemStack-isS.patch (renamed from patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch)4
-rw-r--r--patches/api/0439-Add-Structure-check-API.patch (renamed from patches/api/0441-Add-Structure-check-API.patch)0
-rw-r--r--patches/api/0440-add-missing-Experimental-annotations.patch (renamed from patches/api/0442-add-missing-Experimental-annotations.patch)44
-rw-r--r--patches/api/0441-Add-more-scoreboard-API.patch (renamed from patches/api/0443-Add-more-scoreboard-API.patch)0
-rw-r--r--patches/api/0442-Improve-Registry.patch (renamed from patches/api/0444-Improve-Registry.patch)10
-rw-r--r--patches/api/0443-Add-experience-points-API.patch (renamed from patches/api/0445-Add-experience-points-API.patch)0
-rw-r--r--patches/api/0444-Add-missing-InventoryType.patch (renamed from patches/api/0446-Add-missing-InventoryType.patch)0
-rw-r--r--patches/api/0445-Add-drops-to-shear-events.patch (renamed from patches/api/0447-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/api/0446-Add-HiddenPotionEffect-API.patch (renamed from patches/api/0448-Add-HiddenPotionEffect-API.patch)20
-rw-r--r--patches/api/0447-Add-PlayerShieldDisableEvent.patch (renamed from patches/api/0449-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/api/0448-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch (renamed from patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch)0
-rw-r--r--patches/api/0449-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/api/0451-Add-BlockStateMeta-clearBlockState.patch)2
-rw-r--r--patches/api/0450-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/api/0452-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/api/0451-Add-ShulkerDuplicateEvent.patch (renamed from patches/api/0453-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/api/0452-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch)4
-rw-r--r--patches/api/0453-Add-Lifecycle-Event-system.patch (renamed from patches/api/0455-Add-Lifecycle-Event-system.patch)4
-rw-r--r--patches/api/0454-ItemStack-Tooltip-API.patch (renamed from patches/api/0456-ItemStack-Tooltip-API.patch)10
-rw-r--r--patches/api/0455-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/api/0456-Add-FluidState-API.patch (renamed from patches/api/0458-Add-FluidState-API.patch)0
-rw-r--r--patches/api/0457-add-number-format-api.patch (renamed from patches/api/0459-add-number-format-api.patch)0
-rw-r--r--patches/api/0458-improve-BanList-types.patch (renamed from patches/api/0460-improve-BanList-types.patch)4
-rw-r--r--patches/api/0459-Suspicious-Effect-Entry-API.patch (renamed from patches/api/0461-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/api/0460-Fix-DamageSource-API.patch (renamed from patches/api/0462-Fix-DamageSource-API.patch)0
-rw-r--r--patches/api/0461-Expanded-Hopper-API.patch (renamed from patches/api/0463-Expanded-Hopper-API.patch)0
-rw-r--r--patches/api/0462-Clone-mutables-to-prevent-unexpected-issues.patch (renamed from patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch)0
-rw-r--r--patches/api/0463-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch)0
-rw-r--r--patches/api/0464-Deprecate-ItemStack-setType.patch (renamed from patches/api/0466-Deprecate-ItemStack-setType.patch)6
-rw-r--r--patches/api/0465-Item-Mutation-Fixes.patch (renamed from patches/api/0467-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/api/0466-API-for-checking-sent-chunks.patch (renamed from patches/api/0468-API-for-checking-sent-chunks.patch)0
-rw-r--r--patches/api/0467-Add-CartographyItemEvent.patch (renamed from patches/api/0469-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/api/0468-More-Raid-API.patch (renamed from patches/api/0470-More-Raid-API.patch)0
-rw-r--r--patches/api/0469-Fix-SpawnerEntry-Equipment-API.patch (renamed from patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch)0
-rw-r--r--patches/api/0470-Fix-ItemFlags.patch (renamed from patches/api/0472-Fix-ItemFlags.patch)4
-rw-r--r--patches/api/0471-Allow-modifying-library-loader-jars-bytecode.patch (renamed from patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch)0
-rw-r--r--patches/api/0472-Add-hook-to-remap-library-jars.patch (renamed from patches/api/0474-Add-hook-to-remap-library-jars.patch)0
-rw-r--r--patches/api/0473-Add-GameMode-isInvulnerable.patch (renamed from patches/api/0475-Add-GameMode-isInvulnerable.patch)0
-rw-r--r--patches/api/0474-Expose-hasColor-to-leather-armor.patch (renamed from patches/api/0476-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/api/0475-Add-missing-wind-charge-damage-type.patch (renamed from patches/api/0477-Add-missing-wind-charge-damage-type.patch)0
-rw-r--r--patches/api/0476-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch)0
-rw-r--r--patches/api/0477-More-Chest-Block-API.patch (renamed from patches/api/0479-More-Chest-Block-API.patch)0
-rw-r--r--patches/api/0478-Brigadier-based-command-API.patch (renamed from patches/api/0480-Brigadier-based-command-API.patch)0
248 files changed, 335 insertions, 393 deletions
diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch
index 718ff4eb87..464836b995 100644
--- a/patches/api/0004-Code-Generation.patch
+++ b/patches/api/0004-Code-Generation.patch
@@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..2512dba27edfdccbc4430815b6cba048
+}
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java
new file mode 100644
-index 0000000000000000000000000000000000000000..a505064565f7f029be8727b1951d9ef67c3acf2c
+index 0000000000000000000000000000000000000000..7b79bf33074355020e0b3b5ef40c7f2e6ba644b4
--- /dev/null
+++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java
-@@ -0,0 +1,128 @@
+@@ -0,0 +1,141 @@
+package io.papermc.paper.registry;
+
+import net.kyori.adventure.key.Keyed;
@@ -100,6 +100,7 @@ index 0000000000000000000000000000000000000000..a505064565f7f029be8727b1951d9ef6
+import org.bukkit.Sound;
+import org.bukkit.attribute.Attribute;
+import org.bukkit.block.Biome;
++import org.bukkit.block.BlockType;
+import org.bukkit.block.banner.PatternType;
+import org.bukkit.damage.DamageType;
+import org.bukkit.enchantments.Enchantment;
@@ -111,11 +112,13 @@ index 0000000000000000000000000000000000000000..a505064565f7f029be8727b1951d9ef6
+import org.bukkit.entity.memory.MemoryKey;
+import org.bukkit.generator.structure.Structure;
+import org.bukkit.generator.structure.StructureType;
++import org.bukkit.inventory.ItemType;
+import org.bukkit.inventory.meta.trim.TrimMaterial;
+import org.bukkit.inventory.meta.trim.TrimPattern;
+import org.bukkit.map.MapCursor;
+import org.bukkit.potion.PotionEffectType;
+import org.bukkit.potion.PotionType;
++import org.jetbrains.annotations.ApiStatus;
+
+import static io.papermc.paper.registry.RegistryKeyImpl.create;
+
@@ -162,6 +165,16 @@ index 0000000000000000000000000000000000000000..a505064565f7f029be8727b1951d9ef6
+ * @see io.papermc.paper.registry.keys.MobEffectKeys
+ */
+ RegistryKey<PotionEffectType> MOB_EFFECT = create("mob_effect");
++ /**
++ * @apiNote DO NOT USE
++ */
++ @ApiStatus.Internal
++ RegistryKey<BlockType> BLOCK = create("block");
++ /**
++ * @apiNote DO NOT USE
++ */
++ @ApiStatus.Internal
++ RegistryKey<ItemType> ITEM = create("item");
+
+
+ /* ********************** *
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index ff05fe4f7f..9abc41c659 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -1491,7 +1491,7 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index ef3c0410ba4f88ec8b51e79abdc97777fdc00d31..913cf8308840ca1f365eb1f456f64b96046ed060 100644
+index ce9bb54a6ef8a7d31804ec63aa1f6cbbd6ae2d54..baf49da3dd46039da2f24a4af8b1b8617bb25501 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -30,6 +30,15 @@ import org.jetbrains.annotations.Nullable;
@@ -3170,10 +3170,10 @@ index f4ac033ff8794a61c82a49dc6c3f863f3291455d..d944d67f544494355f03c5bc9afd8ea7
/**
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..03b4e0300d228e3f3a9f4f75c96e0cf9ed1a7d2d 100644
+index 133760be6c73436512ba684a3ac77a514b2d8765..9473303bd8ab1f6b63b6999a5f5ff3eca1cc23d6 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-@@ -11,26 +11,49 @@ import org.jetbrains.annotations.Nullable;
+@@ -12,26 +12,49 @@ import org.jetbrains.annotations.Nullable;
*/
public class PlayerDeathEvent extends EntityDeathEvent {
private int newExp = 0;
@@ -3185,18 +3185,18 @@ index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..03b4e0300d228e3f3a9f4f75c96e0cf9
private boolean keepInventory = false;
+ // Paper start - adventure
+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
-+ this(player, drops, droppedExp, 0, deathMessage);
++ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
++ this(player, damageSource, drops, droppedExp, 0, deathMessage);
+ }
+
+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
-+ this(player, drops, droppedExp, newExp, 0, 0, deathMessage);
++ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
++ this(player, damageSource, drops, droppedExp, newExp, 0, 0, deathMessage);
+ }
+
+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage) {
-+ super(player, drops, droppedExp);
++ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage) {
++ super(player, damageSource, drops, droppedExp);
+ this.newExp = newExp;
+ this.newTotalExp = newTotalExp;
+ this.newLevel = newLevel;
@@ -3205,18 +3205,18 @@ index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..03b4e0300d228e3f3a9f4f75c96e0cf9
+ // Paper end - adventure
+ @Deprecated // Paper
- public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final String deathMessage) {
- this(player, drops, droppedExp, 0, deathMessage);
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final String deathMessage) {
+ this(player, damageSource, drops, droppedExp, 0, deathMessage);
}
+ @Deprecated // Paper
- public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, @Nullable final String deathMessage) {
- this(player, drops, droppedExp, newExp, 0, 0, deathMessage);
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, @Nullable final String deathMessage) {
+ this(player, damageSource, drops, droppedExp, newExp, 0, 0, deathMessage);
}
+ @Deprecated // Paper
- public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage) {
- super(player, drops, droppedExp);
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage) {
+ super(player, damageSource, drops, droppedExp);
this.newExp = newExp;
this.newTotalExp = newTotalExp;
this.newLevel = newLevel;
@@ -3225,7 +3225,7 @@ index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..03b4e0300d228e3f3a9f4f75c96e0cf9
}
@NotNull
-@@ -39,25 +62,49 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -40,25 +63,49 @@ public class PlayerDeathEvent extends EntityDeathEvent {
return (Player) entity;
}
@@ -4294,7 +4294,7 @@ index e12996492c1558fed9fab30de9f8018e0ed7fac3..002acfbdce1db10f7ba1b6a013e678f5
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 60ebfab9596f26cfd2d75a43f3f88f2dd56575f3..dbaf54018a7dd392378869a5a302a880c7a56338 100644
+index b8bb11544bdfb5b9272c2c3c33c95a4c1c7fdf12..86fbc3902989a3baca851ab8c3866af445451787 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -215,4 +215,24 @@ public interface ItemFactory {
@@ -4323,10 +4323,10 @@ index 60ebfab9596f26cfd2d75a43f3f88f2dd56575f3..dbaf54018a7dd392378869a5a302a880
+ // Paper end - Adventure
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 257b5db1aa58d57cfbf5bd1f17f9df6c509bef90..53cc84d1ef6e281e8637ec7406236e1185ad7d82 100644
+index 692f67c4e27cf62451130479510d06c89274ad23..22e883c8d737cf9f799c6160ff63d90f99250020 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -26,7 +26,7 @@ import org.jetbrains.annotations.Nullable;
* use this class to encapsulate Materials for which {@link Material#isItem()}
* returns false.</b>
*/
@@ -4335,7 +4335,7 @@ index 257b5db1aa58d57cfbf5bd1f17f9df6c509bef90..53cc84d1ef6e281e8637ec7406236e11
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
-@@ -617,4 +617,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -624,4 +624,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
@@ -4596,10 +4596,10 @@ index 9bab73c3c2ca759b8e1c7d07d98cc593c961666a..f0c6943da3f783101ca647b75b3230fa
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aeebb9a6fd6 100644
+index 3a87089ba78f1e603ef582fcda3eb915d11f21a5..a23d030d2204098be17d8b18021fd0bb79b4431b 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -34,6 +34,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -35,6 +35,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
*/
boolean hasDisplayName();
@@ -4624,7 +4624,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
/**
* Gets the display name that is set.
* <p>
-@@ -41,7 +59,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -42,7 +60,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* before calling this method.
*
* @return the display name that is set
@@ -4634,7 +4634,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
@NotNull
String getDisplayName();
-@@ -49,7 +69,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -50,7 +70,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* Sets the display name.
*
* @param name the name to set
@@ -4644,7 +4644,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
void setDisplayName(@Nullable String name);
/**
-@@ -62,6 +84,32 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -63,6 +85,32 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
*/
boolean hasItemName();
@@ -4677,7 +4677,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
/**
* Gets the item name that is set.
* <br>
-@@ -72,7 +120,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -73,7 +121,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* calling this method.
*
* @return the item name that is set
@@ -4687,7 +4687,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
@NotNull
String getItemName();
-@@ -83,7 +133,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -84,7 +134,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* anvil, is not styled with italics, and does not show labels.
*
* @param name the name to set
@@ -4697,7 +4697,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
void setItemName(@Nullable String name);
/**
-@@ -124,6 +176,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -125,6 +177,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
*/
boolean hasLore();
@@ -4722,7 +4722,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
/**
* Gets the lore that is set.
* <p>
-@@ -131,7 +201,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -132,7 +202,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* calling this method.
*
* @return a list of lore that is set
@@ -4732,7 +4732,7 @@ index 255f79d5bca15620cb17d7b54ffebb6ff00bff6b..18c2864c99d4dfae16cdb35143486aee
@Nullable
List<String> getLore();
-@@ -140,7 +212,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -141,7 +213,9 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* Removes lore when given null.
*
* @param lore the lore that will be set
diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch
index 743e64e643..90a7f08ba1 100644
--- a/patches/api/0009-Paper-Plugins.patch
+++ b/patches/api/0009-Paper-Plugins.patch
@@ -1347,13 +1347,14 @@ index 0000000000000000000000000000000000000000..6bf3d212a6156ad9ab0e82d1ca0a04f8
+
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 913cf8308840ca1f365eb1f456f64b96046ed060..6e46302c272b468375f2de3f7f992f55f13805b8 100644
+index baf49da3dd46039da2f24a4af8b1b8617bb25501..7cf61228754527ddaa6b39b5f1426e0527cdaac9 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -129,4 +129,13 @@ public interface UnsafeValues {
+@@ -137,4 +137,14 @@ public interface UnsafeValues {
+
@ApiStatus.Internal
- @NotNull
- DamageSource.Builder createDamageSourceBuilder(@NotNull DamageType damageType);
+ <B extends Keyed> B get(Registry<B> registry, NamespacedKey key);
++
+ // Paper start
+ @Deprecated(forRemoval = true)
+ boolean isSupportedApiVersion(String apiVersion);
diff --git a/patches/api/0011-Timings-v2.patch b/patches/api/0011-Timings-v2.patch
index 5b729d09d2..e01da158fc 100644
--- a/patches/api/0011-Timings-v2.patch
+++ b/patches/api/0011-Timings-v2.patch
@@ -2897,7 +2897,7 @@ index 3bf7db7eac81e3cc6f5c6700637d10d1b4b7a47b..77f8b0889cd7039bf041fc052fba33b6
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 6e46302c272b468375f2de3f7f992f55f13805b8..01e796e487cc16710f51b457466a37ba70e1e665 100644
+index 7cf61228754527ddaa6b39b5f1426e0527cdaac9..9082e67324f810857db26bb89ecea7e9f866f80d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -40,6 +40,7 @@ public interface UnsafeValues {
@@ -2908,7 +2908,7 @@ index 6e46302c272b468375f2de3f7f992f55f13805b8..01e796e487cc16710f51b457466a37ba
Material toLegacy(Material material);
Material fromLegacy(Material material);
-@@ -138,4 +139,12 @@ public interface UnsafeValues {
+@@ -147,4 +148,12 @@ public interface UnsafeValues {
return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion());
}
// Paper end
diff --git a/patches/api/0015-Version-Command-2.0.patch b/patches/api/0015-Version-Command-2.0.patch
index 32edafcf60..500312dc32 100644
--- a/patches/api/0015-Version-Command-2.0.patch
+++ b/patches/api/0015-Version-Command-2.0.patch
@@ -56,10 +56,10 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 01e796e487cc16710f51b457466a37ba70e1e665..d69e5fa40702c283c370a2f712b51dc2ea3a1fa0 100644
+index 9082e67324f810857db26bb89ecea7e9f866f80d..da997507b96908027c49dabc6daf7c787dcad95d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -146,5 +146,12 @@ public interface UnsafeValues {
+@@ -155,5 +155,12 @@ public interface UnsafeValues {
* @return name
*/
String getTimingsServerName();
diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0056-Fix-upstream-javadocs.patch
index 3a13e0e863..3e5ba4ab0e 100644
--- a/patches/api/0056-Fix-upstream-javadocs.patch
+++ b/patches/api/0056-Fix-upstream-javadocs.patch
@@ -356,10 +356,10 @@ index 91fc11dda99de506be83d40df8929bf7cd8e8d85..7dc631ebd009f5f5c3ac1699c3f3515c
// Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
-index bd1116adc891b2a4243da205127f5ece76089925..4d4c9efb81ac14950b24a07edcfe1c46ab3caf91 100644
+index a1615334cae50c7d64ca6d86cb7070405a26b332..e396f351a46e4220fa4df11eaa93d813dced664c 100644
--- a/src/main/java/org/bukkit/entity/Arrow.java
+++ b/src/main/java/org/bukkit/entity/Arrow.java
-@@ -73,7 +73,7 @@ public interface Arrow extends AbstractArrow {
+@@ -93,7 +93,7 @@ public interface Arrow extends AbstractArrow {
* Removes a custom potion effect from this arrow.
*
* @param type the potion effect type to remove
@@ -613,7 +613,7 @@ index a0f6f1af304190b4c5db4b284d460f625eeb7801..7e21548cac8515c281ec86853e9272ab
* The Block is already broken as this event is called, so #getBlock() will be
* AIR in most cases. Use #getBlockState() for more Information about the broken
diff --git a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
-index e534954457a9961a26dbec7ac035bec07e1d6694..8309b030c2120f1496d244f3ebc1094def41c869 100644
+index e534954457a9961a26dbec7ac035bec07e1d6694..a7c297364805c58ae16895055d8eae0484384b7d 100644
--- a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
+++ b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
@@ -13,6 +13,9 @@ import org.jetbrains.annotations.NotNull;
@@ -626,6 +626,14 @@ index e534954457a9961a26dbec7ac035bec07e1d6694..8309b030c2120f1496d244f3ebc1094d
*/
public class BlockExplodeEvent extends BlockEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
+@@ -29,6 +32,7 @@ public class BlockExplodeEvent extends BlockEvent implements Cancellable {
+ this.cancel = false;
+ }
+
++ @io.papermc.paper.annotation.DoNotUse // Paper
+ @Deprecated(forRemoval = true)
+ public BlockExplodeEvent(@NotNull final Block what, @NotNull final List<Block> blocks, final float yield) {
+ this(what, what.getState(), blocks, yield);
diff --git a/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java b/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java
index 340fa397e68c024df380a28db21545a0c83d9fa6..79ac8a5db689cf9f8e2ff4cb7c06df6989128d10 100644
--- a/src/main/java/org/bukkit/event/block/BlockPistonRetractEvent.java
@@ -697,6 +705,31 @@ index e9de00e9e434d36117a672fa9fbfc7c52f284b67..4065432c884324b107d04f4ccd486085
*/
EXPLOSION,
/**
+diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
+index 573165ddf3368a96e1ffc6476eb27c9e29a6f86e..148c4aad384ae8e3b8b22d264a84bddfbcafdf1e 100644
+--- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
++++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
+@@ -12,6 +12,10 @@ import org.jetbrains.annotations.Nullable;
+
+ /**
+ * Called when an entity is damaged by a block
++ * <p>
++ * For explosions, the Block returned by {@link #getDamager()} has
++ * already been cleared. See {@link #getDamagerBlockState()} for a snapshot
++ * of the block if it has already been changed.
+ */
+ public class EntityDamageByBlockEvent extends EntityDamageEvent {
+ private final Block damager;
+@@ -51,6 +55,9 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
+
+ /**
+ * Returns the captured BlockState of the block that damaged the player.
++ * <p>
++ * This block state is not placed so {@link org.bukkit.block.BlockState#isPlaced}
++ * will be false.
+ *
+ * @return the block state
+ */
diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
index 10d0e18dfd423b108fe381e8142867eb10399359..099efafa14c10910e4ed04abb1823f0c1a96b6a6 100644
--- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
@@ -1466,10 +1499,10 @@ index e7d905b1146b2bdd2da5bdeb6bf3541fb181d59e..c7d3041221742f6655155f19ef2addca
void setBlockState(@NotNull BlockState blockState);
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 18c2864c99d4dfae16cdb35143486aeebb9a6fd6..d66857825528ee772219440dffa28ad8e820493b 100644
+index a23d030d2204098be17d8b18021fd0bb79b4431b..f427334c6e875a13aa53052ac1b5a746186b4ffe 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -513,7 +513,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -514,7 +514,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
* Return an immutable copy of all {@link Attribute}s and their
* {@link AttributeModifier}s for a given {@link EquipmentSlot}.<br>
diff --git a/patches/api/0066-Add-getI18NDisplayName-API.patch b/patches/api/0066-Add-getI18NDisplayName-API.patch
index fcb5e4ceb1..b35373c8db 100644
--- a/patches/api/0066-Add-getI18NDisplayName-API.patch
+++ b/patches/api/0066-Add-getI18NDisplayName-API.patch
@@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index dbaf54018a7dd392378869a5a302a880c7a56338..213e3f3de731d85f788a4bfa8d912e1b59c3c045 100644
+index 86fbc3902989a3baca851ab8c3866af445451787..aea393247c60037fb70cd8d5b8814c9849c85e03 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -235,4 +235,20 @@ public interface ItemFactory {
@@ -33,10 +33,10 @@ index dbaf54018a7dd392378869a5a302a880c7a56338..213e3f3de731d85f788a4bfa8d912e1b
+ // Paper end - add getI18NDisplayName
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 53cc84d1ef6e281e8637ec7406236e1185ad7d82..22bb39a8f124d55b1dce1bcb981a94d763959e59 100644
+index 22e883c8d737cf9f799c6160ff63d90f99250020..551f31fc91b91702b3093bec20113bee9660a3ec 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -633,5 +633,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -640,5 +640,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public net.kyori.adventure.text.@NotNull Component displayName() {
return Bukkit.getServer().getItemFactory().displayName(this);
}
diff --git a/patches/api/0067-ensureServerConversions-API.patch b/patches/api/0067-ensureServerConversions-API.patch
index 411fc2d532..d89b871b42 100644
--- a/patches/api/0067-ensureServerConversions-API.patch
+++ b/patches/api/0067-ensureServerConversions-API.patch
@@ -7,7 +7,7 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 213e3f3de731d85f788a4bfa8d912e1b59c3c045..898c256140cc7fee2c0cc65cca33a0e86275f115 100644
+index aea393247c60037fb70cd8d5b8814c9849c85e03..b6b90f2ef735407ac41efa21371cfd6b07c2c66e 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -251,4 +251,18 @@ public interface ItemFactory {
@@ -30,10 +30,10 @@ index 213e3f3de731d85f788a4bfa8d912e1b59c3c045..898c256140cc7fee2c0cc65cca33a0e8
+ // Paper end - ensure server conversions API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 22bb39a8f124d55b1dce1bcb981a94d763959e59..0586a64b780f0dee9899a42ca4ee28d12efd749a 100644
+index 551f31fc91b91702b3093bec20113bee9660a3ec..76b6c21c68bc55d28b77dd53c988b40c9ae41258 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -552,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -559,7 +559,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
}
@@ -42,7 +42,7 @@ index 22bb39a8f124d55b1dce1bcb981a94d763959e59..0586a64b780f0dee9899a42ca4ee28d1
}
/**
-@@ -634,6 +634,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -641,6 +641,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().displayName(this);
}
diff --git a/patches/api/0087-Add-ArmorStand-Item-Meta.patch b/patches/api/0087-Add-ArmorStand-Item-Meta.patch
index 6287ef49e7..9c5c6218ea 100644
--- a/patches/api/0087-Add-ArmorStand-Item-Meta.patch
+++ b/patches/api/0087-Add-ArmorStand-Item-Meta.patch
@@ -94,3 +94,16 @@ index 0000000000000000000000000000000000000000..7e4acfff16db80a75e1ff2fee1972b16
+ */
+ void setMarker(boolean marker);
+}
+diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java
+index 8dc744f253be42191ca04f8e2942c4c618655fa8..aa0f66b7187c800cd22905bfa43af3ffb53edb5f 100644
+--- a/src/main/java/org/bukkit/inventory/ItemType.java
++++ b/src/main/java/org/bukkit/inventory/ItemType.java
+@@ -1879,7 +1879,7 @@ public interface ItemType extends Keyed, Translatable {
+ ItemType.Typed<ItemMeta> RABBIT_STEW = getItemType("rabbit_stew");
+ ItemType.Typed<ItemMeta> RABBIT_FOOT = getItemType("rabbit_foot");
+ ItemType.Typed<ItemMeta> RABBIT_HIDE = getItemType("rabbit_hide");
+- ItemType.Typed<ItemMeta> ARMOR_STAND = getItemType("armor_stand");
++ ItemType.Typed<com.destroystokyo.paper.inventory.meta.ArmorStandMeta> ARMOR_STAND = getItemType("armor_stand");
+ ItemType.Typed<ItemMeta> IRON_HORSE_ARMOR = getItemType("iron_horse_armor");
+ ItemType.Typed<ItemMeta> GOLDEN_HORSE_ARMOR = getItemType("golden_horse_armor");
+ ItemType.Typed<ItemMeta> DIAMOND_HORSE_ARMOR = getItemType("diamond_horse_armor");
diff --git a/patches/api/0106-PotionEffect-clone-methods.patch b/patches/api/0106-PotionEffect-clone-methods.patch
index 201a73d2b8..d1fac16047 100644
--- a/patches/api/0106-PotionEffect-clone-methods.patch
+++ b/patches/api/0106-PotionEffect-clone-methods.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] PotionEffect clone methods
diff --git a/src/main/java/org/bukkit/potion/PotionEffect.java b/src/main/java/org/bukkit/potion/PotionEffect.java
-index 88f720aba13961b08e54b3fd35dbaabc5dd9a4c2..037af5fd6d71a526c0e6620f2db0cd6df9625261 100644
+index 89d49ce1e9475bf2d3748e483360451359e8cef8..575156c089e45a3d6a43ca6b7adfbc7b473a60ab 100644
--- a/src/main/java/org/bukkit/potion/PotionEffect.java
+++ b/src/main/java/org/bukkit/potion/PotionEffect.java
-@@ -107,6 +107,33 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -109,6 +109,33 @@ public class PotionEffect implements ConfigurationSerializable {
this(getEffectType(map), getInt(map, DURATION), getInt(map, AMPLIFIER), getBool(map, AMBIENT, false), getBool(map, PARTICLES, true), getBool(map, ICON, getBool(map, PARTICLES, true)));
}
diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
index 8252cb46b2..5f88a3de3a 100644
--- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
+++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
Allows you to determine how long it takes to use a usable/consumable item
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 0586a64b780f0dee9899a42ca4ee28d12efd749a..b92a86e9d128b1ce6f02962574e30ced74e44bc8 100644
+index 76b6c21c68bc55d28b77dd53c988b40c9ae41258..8cf07089bc3c60262ff1c4c6740310b48aa4169d 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -661,5 +661,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -668,5 +668,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getI18NDisplayName() {
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
}
diff --git a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
index 44ecc5cfdc..3ff1a2b33e 100644
--- a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
+++ b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
@@ -5,18 +5,10 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a655b2a94a 100644
+index 8cf07089bc3c60262ff1c4c6740310b48aa4169d..bb77d65fd42f9b53ef88537e814bea652bb230de 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -3,6 +3,7 @@ package org.bukkit.inventory;
- import com.google.common.base.Preconditions;
- import com.google.common.collect.ImmutableMap;
- import java.util.LinkedHashMap;
-+import java.util.List; // Paper
- import java.util.Map;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
-@@ -669,5 +670,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -676,5 +676,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
// Requires access to NMS
return ensureServerConversions().getMaxItemUseDuration();
}
@@ -90,7 +82,7 @@ index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a6
+ * @deprecated in favor of {@link #lore()}
+ */
+ @Deprecated
-+ public @Nullable List<String> getLore() {
++ public @Nullable java.util.List<String> getLore() {
+ if (!hasItemMeta()) {
+ return null;
+ }
@@ -105,7 +97,7 @@ index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a6
+ * If the item has lore, returns it, else it will return null
+ * @return The lore, or null
+ */
-+ public @Nullable List<net.kyori.adventure.text.Component> lore() {
++ public @Nullable java.util.List<net.kyori.adventure.text.Component> lore() {
+ if (!this.hasItemMeta()) {
+ return null;
+ }
@@ -121,10 +113,10 @@ index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a6
+ * Removes lore when given null.
+ *
+ * @param lore the lore that will be set
-+ * @deprecated in favour of {@link #lore(List)}
++ * @deprecated in favour of {@link #lore(java.util.List)}
+ */
+ @Deprecated
-+ public void setLore(@Nullable List<String> lore) {
++ public void setLore(@Nullable java.util.List<String> lore) {
+ ItemMeta itemMeta = getItemMeta();
+ if (itemMeta == null) {
+ throw new IllegalStateException("Cannot set lore on " + getType());
@@ -139,7 +131,7 @@ index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a6
+ *
+ * @param lore the lore that will be set
+ */
-+ public void lore(@Nullable List<? extends net.kyori.adventure.text.Component> lore) {
++ public void lore(@Nullable java.util.List<? extends net.kyori.adventure.text.Component> lore) {
+ ItemMeta itemMeta = getItemMeta();
+ if (itemMeta == null) {
+ throw new IllegalStateException("Cannot set lore on " + getType());
diff --git a/patches/api/0146-Improve-death-events.patch b/patches/api/0146-Improve-death-events.patch
index 90a6bdde24..3f91458a84 100644
--- a/patches/api/0146-Improve-death-events.patch
+++ b/patches/api/0146-Improve-death-events.patch
@@ -15,10 +15,10 @@ items and experience which is otherwise only properly possible by using
internal code.
diff --git a/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java b/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java
-index a5984ab06cce95d30e70511e125f69339b574c04..130cf9e5981f701dff4fa72e71e0b5dc8295bfc8 100644
+index b0c069f65da29c6e9eff8e0490fda43a6bed307c..81a3067ff5ae22943b66051f4613ab9fe095720c 100644
--- a/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java
-@@ -5,14 +5,24 @@ import org.bukkit.entity.LivingEntity;
+@@ -6,15 +6,25 @@ import org.bukkit.entity.LivingEntity;
import org.bukkit.event.HandlerList;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@@ -30,6 +30,7 @@ index a5984ab06cce95d30e70511e125f69339b574c04..130cf9e5981f701dff4fa72e71e0b5dc
-public class EntityDeathEvent extends EntityEvent {
+public class EntityDeathEvent extends EntityEvent implements org.bukkit.event.Cancellable { // Paper - make cancellable
private static final HandlerList handlers = new HandlerList();
+ private final DamageSource damageSource;
private final List<ItemStack> drops;
private int dropExp = 0;
+ // Paper start - make cancellable
@@ -42,9 +43,9 @@ index a5984ab06cce95d30e70511e125f69339b574c04..130cf9e5981f701dff4fa72e71e0b5dc
+ private float deathSoundPitch;
+ // Paper end
- public EntityDeathEvent(@NotNull final LivingEntity entity, @NotNull final List<ItemStack> drops) {
- this(entity, drops, 0);
-@@ -74,4 +84,133 @@ public class EntityDeathEvent extends EntityEvent {
+ public EntityDeathEvent(@NotNull final LivingEntity entity, @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops) {
+ this(entity, damageSource, drops, 0);
+@@ -87,4 +97,133 @@ public class EntityDeathEvent extends EntityEvent {
public static HandlerList getHandlerList() {
return handlers;
}
@@ -179,10 +180,10 @@ index a5984ab06cce95d30e70511e125f69339b574c04..130cf9e5981f701dff4fa72e71e0b5dc
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-index 03b4e0300d228e3f3a9f4f75c96e0cf9ed1a7d2d..38f81772edacb178e21c3f273e8c41ed46177d6d 100644
+index 9473303bd8ab1f6b63b6999a5f5ff3eca1cc23d6..76f00e386110f361549690d20dc0f73884a2fdda 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-@@ -62,6 +62,19 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -63,6 +63,19 @@ public class PlayerDeathEvent extends EntityDeathEvent {
return (Player) entity;
}
diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch
index 9405b650d1..d64d21c758 100644
--- a/patches/api/0152-Material-API-additions.patch
+++ b/patches/api/0152-Material-API-additions.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 2750e143a3ac20797e16a15b687952157197d562..c2808db693647bdf3b9617cb6c665e8499874485 100644
+index 0a5dfd728a1988d8bc937ea5122dff4cbe546cfe..fb6e030af69b085946a029d89347b19b121f6a14 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -125,6 +125,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -128,6 +128,7 @@ import org.jetbrains.annotations.Nullable;
/**
* An enum of all material IDs accepted by the official server and client
*/
@@ -16,7 +16,7 @@ index 2750e143a3ac20797e16a15b687952157197d562..c2808db693647bdf3b9617cb6c665e84
public enum Material implements Keyed, Translatable {
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
-@@ -4725,6 +4726,22 @@ public enum Material implements Keyed, Translatable {
+@@ -4728,6 +4729,22 @@ public enum Material implements Keyed, Translatable {
}
}
diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
index 6dc3d96c0b..74b42863cd 100644
--- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch
@@ -300,10 +300,10 @@ index 02b4ffa6b918269bd64f7c518fcceef1f6990737..f0878c7539696cc0676e6010e88914d3
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332c992d3d1 100644
+index fb6e030af69b085946a029d89347b19b121f6a14..feebabf946913263461e1d0f13a478cf4bfd0f68 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4746,20 +4746,20 @@ public enum Material implements Keyed, Translatable {
+@@ -4749,20 +4749,20 @@ public enum Material implements Keyed, Translatable {
* Do not use for any reason.
*
* @return ID of this material
@@ -328,7 +328,7 @@ index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332
public boolean isLegacy() {
return legacy;
}
-@@ -4835,8 +4835,10 @@ public enum Material implements Keyed, Translatable {
+@@ -4838,8 +4838,10 @@ public enum Material implements Keyed, Translatable {
* Gets the MaterialData class associated with this Material
*
* @return MaterialData associated with this Material
@@ -339,7 +339,7 @@ index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332
public Class<? extends MaterialData> getData() {
Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material");
return ctor.getDeclaringClass();
-@@ -9103,7 +9105,11 @@ public enum Material implements Keyed, Translatable {
+@@ -5295,7 +5297,11 @@ public enum Material implements Keyed, Translatable {
* material.
*
* @return true if this material can be interacted with.
@@ -349,8 +349,8 @@ index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332
*/
+ @Deprecated // Paper
public boolean isInteractable() {
- switch (this) {
- // <editor-fold defaultstate="collapsed" desc="isInteractable">
+ BlockType type = asBlockType();
+ return type != null && type.isInteractable();
diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
index 9b61129c3ef83d0bfceba54aba2effa12bc90678..cbdaa121dbc1876d0cd55f4b7b57f283ecaa8f1a 100644
--- a/src/main/java/org/bukkit/NamespacedKey.java
@@ -453,10 +453,10 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
return note;
}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 4f8c54a84c9f737dad3feff9ffd7daf22854e97f..a04d279561676e825905f5512c399d14a3d8f828 100644
+index 57dfc408fcf9036808af26bd1255afe104d40286..62a7748b7509907ac8c8c0026f0cc5911f530eb7 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -201,14 +201,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -219,14 +219,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see TrimMaterial
*/
@@ -471,7 +471,7 @@ index 4f8c54a84c9f737dad3feff9ffd7daf22854e97f..a04d279561676e825905f5512c399d14
Registry<TrimPattern> TRIM_PATTERN = Bukkit.getRegistry(TrimPattern.class);
/**
* Damage types.
-@@ -310,8 +308,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -328,8 +326,11 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @param input non-null input
* @return registered object or null if does not exist
@@ -498,7 +498,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4
CRACKED(0x0),
GLYPHED(0x1),
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 69f236d965c631510b008a7eb38aa1b62a4e196a..2382322bc4f30ff3163b2941650692d9a13328ac 100644
+index 3d5ef29bcfed92dc7fb3bb6d59538ba4a4e3de5f..43f8cdd600aa2c2e33136068b3c4b4b81a6544d4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -730,9 +730,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1399,7 +1399,7 @@ index 002acfbdce1db10f7ba1b6a013e678f504ac6e69..8d14426eb1ebea27058d5f22ea652f22
return getPlayer().getItemOnCursor();
}
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index 898c256140cc7fee2c0cc65cca33a0e86275f115..e34c89a945a0f12cdc4be8cc232c8de986474372 100644
+index b6b90f2ef735407ac41efa21371cfd6b07c2c66e..4c4e52b2c200408c4e33a141e1eed78126ceaaee 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -30,7 +30,7 @@ public interface ItemFactory {
@@ -1412,18 +1412,18 @@ index 898c256140cc7fee2c0cc65cca33a0e86275f115..e34c89a945a0f12cdc4be8cc232c8de9
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index e388239d6d960af2102111d2ae90b2a655b2a94a..276cfd52817115981fe7dc46363278f8b8c5aee3 100644
+index bb77d65fd42f9b53ef88537e814bea652bb230de..d758cea1d8e88937678dbfd0ac72d49b6c160fe0 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -8,6 +8,7 @@ import java.util.Map;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
+@@ -10,6 +10,7 @@ import org.bukkit.Material;
+ import org.bukkit.NamespacedKey;
+ import org.bukkit.Registry;
import org.bukkit.Translatable;
+import org.bukkit.UndefinedNullability;
import org.bukkit.Utility;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.enchantments.Enchantment;
-@@ -170,8 +171,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -172,8 +173,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
* Gets the MaterialData for this stack of items
*
* @return MaterialData for this item
@@ -1434,7 +1434,7 @@ index e388239d6d960af2102111d2ae90b2a655b2a94a..276cfd52817115981fe7dc46363278f8
public MaterialData getData() {
Material mat = Bukkit.getUnsafe().toLegacy(getType());
if (data == null && mat != null && mat.getData() != null) {
-@@ -185,7 +188,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -187,7 +190,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
* Sets the MaterialData for this stack of items
*
* @param data New MaterialData for this item
@@ -1444,7 +1444,7 @@ index e388239d6d960af2102111d2ae90b2a655b2a94a..276cfd52817115981fe7dc46363278f8
public void setData(@Nullable MaterialData data) {
if (data == null) {
this.data = data;
-@@ -561,7 +566,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -567,7 +572,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*
* @return a copy of the current ItemStack's ItemData
*/
@@ -1587,10 +1587,10 @@ index 597a18a767b68b47e81454b7d44613c7178c1366..bc3440eb72127824b3961fbdae583bb6
public ItemStack getInput() {
return this.ingredient.getItemStack();
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index d66857825528ee772219440dffa28ad8e820493b..3ddd52b135f339ff006b5d53f46487bfbe1ff7fd 100644
+index f427334c6e875a13aa53052ac1b5a746186b4ffe..abe5c56c09a29cb3dcd35936045938c1b88c8500 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -141,6 +141,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -142,6 +142,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
* Checks for existence of a localized name.
*
@@ -1598,7 +1598,7 @@ index d66857825528ee772219440dffa28ad8e820493b..3ddd52b135f339ff006b5d53f46487bf
* @return true if this has a localized name
* @deprecated meta no longer exists
*/
-@@ -153,6 +154,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -154,6 +155,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
* Plugins should check that hasLocalizedName() returns <code>true</code>
* before calling this method.
*
@@ -1606,7 +1606,7 @@ index d66857825528ee772219440dffa28ad8e820493b..3ddd52b135f339ff006b5d53f46487bf
* @return the localized name that is set
* @deprecated meta no longer exists
*/
-@@ -163,6 +165,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -164,6 +166,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
* Sets the localized name.
*
diff --git a/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch b/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch
index cf8c6281f8..4d28221bcd 100644
--- a/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch
+++ b/patches/api/0174-PlayerDeathEvent-getItemsToKeep.patch
@@ -8,18 +8,10 @@ Exposes a mutable array on items a player should keep on death
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-index 38f81772edacb178e21c3f273e8c41ed46177d6d..9719e183036c361b909b203593c067a551b82264 100644
+index 76f00e386110f361549690d20dc0f73884a2fdda..edf14dac359e996f76e0af551a81a4dd8e48bd6c 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-@@ -37,7 +37,6 @@ public class PlayerDeathEvent extends EntityDeathEvent {
- }
- // Paper end - adventure
-
-- @Deprecated // Paper
- public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, @Nullable final String deathMessage) {
- this(player, drops, droppedExp, 0, deathMessage);
- }
-@@ -56,6 +55,41 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -57,6 +57,41 @@ public class PlayerDeathEvent extends EntityDeathEvent {
this.deathMessage = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserializeOrNull(deathMessage); // Paper
}
diff --git a/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch b/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch
index fafa02c732..9f043baab6 100644
--- a/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch
+++ b/patches/api/0182-PlayerDeathEvent-shouldDropExperience.patch
@@ -5,28 +5,28 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience
diff --git a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-index 9719e183036c361b909b203593c067a551b82264..66e9d65a8dd05bed05d0ab46ec64206a6dae0507 100644
+index edf14dac359e996f76e0af551a81a4dd8e48bd6c..bba3821d1215eb00489f841195c890a3f3353912 100644
--- a/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PlayerDeathEvent.java
-@@ -16,6 +16,7 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -17,6 +17,7 @@ public class PlayerDeathEvent extends EntityDeathEvent {
private int newTotalExp = 0;
private boolean keepLevel = false;
private boolean keepInventory = false;
+ private boolean doExpDrop; // Paper - shouldDropExperience API
// Paper start - adventure
@org.jetbrains.annotations.ApiStatus.Internal
- public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
-@@ -29,11 +30,18 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final @Nullable net.kyori.adventure.text.Component deathMessage) {
+@@ -30,11 +31,18 @@ public class PlayerDeathEvent extends EntityDeathEvent {
@org.jetbrains.annotations.ApiStatus.Internal
- public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage) {
+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage) {
+ // Paper start - shouldDropExperience API
-+ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, true);
++ this(player, damageSource, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, true);
+ }
+ @org.jetbrains.annotations.ApiStatus.Internal
-+ public PlayerDeathEvent(final @NotNull Player player, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage, final boolean doExpDrop) {
++ public PlayerDeathEvent(final @NotNull Player player, final @NotNull DamageSource damageSource, final @NotNull List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, final @Nullable net.kyori.adventure.text.Component deathMessage, final boolean doExpDrop) {
+ // Paper end - shouldDropExperience API
- super(player, drops, droppedExp);
+ super(player, damageSource, drops, droppedExp);
this.newExp = newExp;
this.newTotalExp = newTotalExp;
this.newLevel = newLevel;
@@ -35,18 +35,18 @@ index 9719e183036c361b909b203593c067a551b82264..66e9d65a8dd05bed05d0ab46ec64206a
}
// Paper end - adventure
-@@ -48,11 +56,19 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -50,11 +58,19 @@ public class PlayerDeathEvent extends EntityDeathEvent {
@Deprecated // Paper
- public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage) {
+ public PlayerDeathEvent(@NotNull final Player player, @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage) {
+ // Paper start - shouldDropExperience API
-+ this(player, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, true);
++ this(player, damageSource, drops, droppedExp, newExp, newTotalExp, newLevel, deathMessage, true);
+ }
+
+ @Deprecated // Paper
-+ public PlayerDeathEvent(@NotNull final Player player, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage, boolean doExpDrop) {
++ public PlayerDeathEvent(@NotNull final Player player, final @NotNull DamageSource damageSource, @NotNull final List<ItemStack> drops, final int droppedExp, final int newExp, final int newTotalExp, final int newLevel, @Nullable final String deathMessage, boolean doExpDrop) {
+ // Paper end - shouldDropExperience API
- super(player, drops, droppedExp);
+ super(player, damageSource, drops, droppedExp);
this.newExp = newExp;
this.newTotalExp = newTotalExp;
this.newLevel = newLevel;
@@ -55,7 +55,7 @@ index 9719e183036c361b909b203593c067a551b82264..66e9d65a8dd05bed05d0ab46ec64206a
}
@Deprecated // Paper
-@@ -90,6 +106,22 @@ public class PlayerDeathEvent extends EntityDeathEvent {
+@@ -92,6 +108,22 @@ public class PlayerDeathEvent extends EntityDeathEvent {
}
// Paper end
diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
index dc654da7f0..8035d3ac56 100644
--- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index d69e5fa40702c283c370a2f712b51dc2ea3a1fa0..30d869a7c4bba79b4c05de7860b31c14f47b341a 100644
+index da997507b96908027c49dabc6daf7c787dcad95d..cb7aef53cbffc76dea9fec28445ea8aefcb29d62 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -153,5 +153,9 @@ public interface UnsafeValues {
+@@ -162,5 +162,9 @@ public interface UnsafeValues {
default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher();
}
@@ -20,10 +20,10 @@ index d69e5fa40702c283c370a2f712b51dc2ea3a1fa0..30d869a7c4bba79b4c05de7860b31c14
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 276cfd52817115981fe7dc46363278f8b8c5aee3..e82eeadc7cb53572351670761c4e592a33345c6b 100644
+index d758cea1d8e88937678dbfd0ac72d49b6c160fe0..066f99a1f4cc42cf0e87d495f97a0685817dfa18 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -653,6 +653,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -659,6 +659,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
}
diff --git a/patches/api/0200-Support-components-in-ItemMeta.patch b/patches/api/0200-Support-components-in-ItemMeta.patch
index 8a3122ea24..470cc2be97 100644
--- a/patches/api/0200-Support-components-in-ItemMeta.patch
+++ b/patches/api/0200-Support-components-in-ItemMeta.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566a97865cf 100644
+index abe5c56c09a29cb3dcd35936045938c1b88c8500..a317111df3b6cda00dc700c68f4c2b789c51885d 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -5,6 +5,7 @@ import java.util.Collection;
@@ -16,7 +16,7 @@ index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeModifier;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
-@@ -65,6 +66,20 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -66,6 +67,20 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@NotNull
String getDisplayName();
@@ -37,7 +37,7 @@ index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566
/**
* Sets the display name.
*
-@@ -74,6 +89,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -75,6 +90,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Deprecated // Paper
void setDisplayName(@Nullable String name);
@@ -54,7 +54,7 @@ index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566
/**
* Checks for existence of an item name.
* <br>
-@@ -210,6 +235,19 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -211,6 +236,19 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Nullable
List<String> getLore();
@@ -74,7 +74,7 @@ index 3ddd52b135f339ff006b5d53f46487bfbe1ff7fd..ed12e27a0ed75caa8aa46c3e965ed566
/**
* Sets the lore for this item.
* Removes lore when given null.
-@@ -220,6 +258,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -221,6 +259,16 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@Deprecated // Paper
void setLore(@Nullable List<String> lore);
diff --git a/patches/api/0209-Add-methods-to-get-translation-keys.patch b/patches/api/0209-Add-methods-to-get-translation-keys.patch
index 282a4c0520..d504fbdf2a 100644
--- a/patches/api/0209-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0209-Add-methods-to-get-translation-keys.patch
@@ -144,10 +144,10 @@ index dc66bd69646ac949d1386ce8f6ff913e9475439d..4482e8f2c617c2f51b2b53762e775d11
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa3074560d1459e 100644
+index feebabf946913263461e1d0f13a478cf4bfd0f68..d6e2ec415eab4f55fd925a3b0982e869befbd088 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -126,7 +126,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -129,7 +129,7 @@ import org.jetbrains.annotations.Nullable;
* An enum of all material IDs accepted by the official server and client
*/
@SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper
@@ -156,7 +156,7 @@ index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa30745
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
STONE(22948),
-@@ -4740,6 +4740,15 @@ public enum Material implements Keyed, Translatable {
+@@ -4743,6 +4743,15 @@ public enum Material implements Keyed, Translatable {
}
return false;
}
@@ -172,7 +172,7 @@ index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa30745
// Paper end
/**
-@@ -11481,9 +11490,11 @@ public enum Material implements Keyed, Translatable {
+@@ -5494,9 +5503,11 @@ public enum Material implements Keyed, Translatable {
* material
* @see #getBlockTranslationKey()
* @see #getItemTranslationKey()
@@ -183,7 +183,7 @@ index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa30745
+ @Deprecated(forRemoval = true) // Paper
public String getTranslationKey() {
if (this.isItem()) {
- return Bukkit.getUnsafe().getItemTranslationKey(this);
+ return asItemType().getTranslationKey();
diff --git a/src/main/java/org/bukkit/MusicInstrument.java b/src/main/java/org/bukkit/MusicInstrument.java
index eae90e72b1dff5ab3b1a4fdcfe57187e85fe4d49..62d2b3f950860dee0898d77b0a29635c3f9a7e23 100644
--- a/src/main/java/org/bukkit/MusicInstrument.java
@@ -480,10 +480,10 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db
+
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index e82eeadc7cb53572351670761c4e592a33345c6b..645cff10eef90826bb44bbe937b141289f182cde 100644
+index 066f99a1f4cc42cf0e87d495f97a0685817dfa18..23686519b8c1338dd6e9f1c5a0e73467c0b59a4f 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
+@@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable;
* use this class to encapsulate Materials for which {@link Material#isItem()}
* returns false.</b>
*/
@@ -492,7 +492,7 @@ index e82eeadc7cb53572351670761c4e592a33345c6b..645cff10eef90826bb44bbe937b14128
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
-@@ -620,6 +620,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -626,6 +626,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@Override
@NotNull
@@ -500,7 +500,7 @@ index e82eeadc7cb53572351670761c4e592a33345c6b..645cff10eef90826bb44bbe937b14128
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
-@@ -879,5 +880,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -885,5 +886,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
ItemMeta itemMeta = getItemMeta();
return itemMeta != null && itemMeta.hasItemFlag(flag);
}
diff --git a/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 75dff33979..01127fef5b 100644
--- a/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/api/0212-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 30d869a7c4bba79b4c05de7860b31c14f47b341a..241cb853476ea35dad73d0234b2d030e9af23476 100644
+index cb7aef53cbffc76dea9fec28445ea8aefcb29d62..fb1efc7dfcfbfb823c8ad8fe2943adb99104aefe 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -157,5 +157,12 @@ public interface UnsafeValues {
+@@ -166,5 +166,12 @@ public interface UnsafeValues {
byte[] serializeItem(ItemStack item);
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch
index 17ce5cc911..62f2578f51 100644
--- a/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch
+++ b/patches/api/0243-Add-RegistryAccess-for-managing-registries.patch
@@ -206,10 +206,19 @@ index 732ed3724e784ad659cb4411dbd73b42a8330a2c..7be6710d28dea19bd0f9054c1c2e32da
return server.getRegistry(tClass);
}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f288ba27a40 100644
+index 62a7748b7509907ac8c8c0026f0cc5911f530eb7..e5393d3204f4d04d8e9640a45c6b4ba6a912079b 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -129,7 +129,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -101,7 +101,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * @apiNote BlockType is not ready for public usage yet
+ */
+ @ApiStatus.Internal
+- Registry<BlockType> BLOCK = Objects.requireNonNull(Bukkit.getRegistry(BlockType.class), "No registry present for BlockType. This is a bug.");
++ Registry<BlockType> BLOCK = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.BLOCK); // Paper
+ /**
+ * Custom boss bars.
+ *
+@@ -139,7 +139,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see Enchantment
*/
@@ -218,16 +227,25 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
/**
* Server entity types.
*
-@@ -141,7 +141,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -151,7 +151,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see MusicInstrument
*/
- Registry<MusicInstrument> INSTRUMENT = Objects.requireNonNull(Bukkit.getRegistry(MusicInstrument.class), "No registry present for MusicInstrument. This is a bug.");
+ Registry<MusicInstrument> INSTRUMENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.INSTRUMENT); // Paper
/**
- * Default server loot tables.
+ * Server item types.
*
@@ -159,7 +159,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * @apiNote ItemType is not ready for public usage yet
+ */
+ @ApiStatus.Internal
+- Registry<ItemType> ITEM = Objects.requireNonNull(Bukkit.getRegistry(ItemType.class), "No registry present for ItemType. This is a bug.");
++ Registry<ItemType> ITEM = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.ITEM); // Paper
+ /**
+ * Default server loot tables.
+ *
+@@ -177,7 +177,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see PotionEffectType
*/
@@ -236,7 +254,7 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
/**
* Server particles.
*
-@@ -182,14 +182,16 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -200,14 +200,16 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* Server structures.
*
* @see Structure
@@ -255,7 +273,7 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
/**
* Sound keys.
*
-@@ -200,21 +202,26 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -218,21 +220,26 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* Trim materials.
*
* @see TrimMaterial
@@ -286,7 +304,7 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
/**
* Villager profession.
*
-@@ -268,8 +275,10 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -286,8 +293,10 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* Wolf variants.
*
* @see Wolf.Variant
@@ -298,7 +316,7 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
/**
* Map cursor types.
*
-@@ -282,7 +291,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -300,7 +309,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see GameEvent
*/
@@ -308,7 +326,7 @@ index a04d279561676e825905f5512c399d14a3d8f828..91117cad12eee0bdaac8e0398a0f7f28
* Get the object by its key.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 395f7910f535bfd33a5676b011ab62a53e30e140..5644af8154373923791e3ed5f8b01c3f5d357b9c 100644
+index f0c1d16c6bee58826a3cde3c4988e02690207fce..c53268bc4c3ae275ad8765f0848e46e1d6c7372d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2046,8 +2046,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0244-Add-StructuresLocateEvent.patch b/patches/api/0244-Add-StructuresLocateEvent.patch
index 10ef586cce..4c155ca54a 100644
--- a/patches/api/0244-Add-StructuresLocateEvent.patch
+++ b/patches/api/0244-Add-StructuresLocateEvent.patch
@@ -513,10 +513,10 @@ index 0000000000000000000000000000000000000000..1e7b53f9bc13dcd5a0a4a40004591e4f
+ }
+}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 91117cad12eee0bdaac8e0398a0f7f288ba27a40..43f410326d6d68242113e2fefe31af256889ed9c 100644
+index e5393d3204f4d04d8e9640a45c6b4ba6a912079b..d573d8e36fbe6b7f5a298fb64910feba9cba0697 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -292,6 +292,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -310,6 +310,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
diff --git a/patches/api/0257-Add-worldborder-events.patch b/patches/api/0256-Add-worldborder-events.patch
index 9f3ae70435..9f3ae70435 100644
--- a/patches/api/0257-Add-worldborder-events.patch
+++ b/patches/api/0256-Add-worldborder-events.patch
diff --git a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch b/patches/api/0256-Cache-the-result-of-Material-isBlock.patch
deleted file mode 100644
index b2322c2c4a..0000000000
--- a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jason Penilla <[email protected]>
-Date: Tue, 2 Mar 2021 15:24:58 -0800
-Subject: [PATCH] Cache the result of Material#isBlock
-
-
-diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 61e0739f002a949a204c7591dfa3074560d1459e..5aa595860c73e78cf3c9f2a8984c62744cfe5612 100644
---- a/src/main/java/org/bukkit/Material.java
-+++ b/src/main/java/org/bukkit/Material.java
-@@ -4684,6 +4684,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
- public final Class<?> data;
- private final boolean legacy;
- private final NamespacedKey key;
-+ private boolean isBlock; // Paper
-
- private Material(final int id) {
- this(id, 64);
-@@ -4887,6 +4888,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
- * @return true if this material is a block
- */
- public boolean isBlock() {
-+ // Paper start - cache isBlock
-+ return this.isBlock;
-+ }
-+ private boolean isBlock0() {
-+ // Paper end
- switch (this) {
- //<editor-fold defaultstate="collapsed" desc="isBlock">
- case ACACIA_BUTTON:
-@@ -6131,6 +6137,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
- static {
- for (Material material : values()) {
- BY_NAME.put(material.name(), material);
-+ material.isBlock = material.isBlock0(); // Paper
- }
- }
-
diff --git a/patches/api/0258-added-PlayerNameEntityEvent.patch b/patches/api/0257-added-PlayerNameEntityEvent.patch
index 69bd20d13e..69bd20d13e 100644
--- a/patches/api/0258-added-PlayerNameEntityEvent.patch
+++ b/patches/api/0257-added-PlayerNameEntityEvent.patch
diff --git a/patches/api/0259-Add-recipe-to-cook-events.patch b/patches/api/0258-Add-recipe-to-cook-events.patch
index 8c8712541e..8c8712541e 100644
--- a/patches/api/0259-Add-recipe-to-cook-events.patch
+++ b/patches/api/0258-Add-recipe-to-cook-events.patch
diff --git a/patches/api/0260-Add-Block-isValidTool.patch b/patches/api/0259-Add-Block-isValidTool.patch
index 835cf73b7a..835cf73b7a 100644
--- a/patches/api/0260-Add-Block-isValidTool.patch
+++ b/patches/api/0259-Add-Block-isValidTool.patch
diff --git a/patches/api/0261-Expand-world-key-API.patch b/patches/api/0260-Expand-world-key-API.patch
index 0beb2158ec..e26cc12b26 100644
--- a/patches/api/0261-Expand-world-key-API.patch
+++ b/patches/api/0260-Expand-world-key-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Expand world key API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 732ed3724e784ad659cb4411dbd73b42a8330a2c..d078ea797cf4c6ab291aec3ad7fbd4740017286c 100644
+index 7be6710d28dea19bd0f9054c1c2e32dacd355c45..8fd1de659777595d9d8198e7ee638ad5500a6317 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -864,6 +864,18 @@ public final class Bukkit {
@@ -56,7 +56,7 @@ index 27eff0826d5b5b48697fefd9571886e7bbce74b1..d8b1fa79dc24138dc71e32c14bda71c1
// Paper end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 395f7910f535bfd33a5676b011ab62a53e30e140..e6598c36cfc98282f30a57105986a295f1c94676 100644
+index c53268bc4c3ae275ad8765f0848e46e1d6c7372d..e1ab2090c1b219f12af382079907e440e9cf4379 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -722,6 +722,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -78,10 +78,10 @@ index 395f7910f535bfd33a5676b011ab62a53e30e140..e6598c36cfc98282f30a57105986a295
* Create a new virtual {@link WorldBorder}.
* <p>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 241cb853476ea35dad73d0234b2d030e9af23476..5de86f8cd3cc7f7e8ebc4a22d3921273378704f2 100644
+index fb1efc7dfcfbfb823c8ad8fe2943adb99104aefe..1b2b0e6d10393b4f4d0716256aa4c87b57affbe1 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -164,5 +164,10 @@ public interface UnsafeValues {
+@@ -173,5 +173,10 @@ public interface UnsafeValues {
* Use this when sending custom packets, so that there are no collisions on the client or server.
*/
public int nextEntityId();
diff --git a/patches/api/0262-Improve-Item-Rarity-API.patch b/patches/api/0261-Improve-Item-Rarity-API.patch
index 6080352888..3c1ddd5e14 100644
--- a/patches/api/0262-Improve-Item-Rarity-API.patch
+++ b/patches/api/0261-Improve-Item-Rarity-API.patch
@@ -43,10 +43,10 @@ index 0000000000000000000000000000000000000000..f1cd5a4f37eee8975ac3d0421b524afc
+ }
+}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 5aa595860c73e78cf3c9f2a8984c62744cfe5612..1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1 100644
+index d6e2ec415eab4f55fd925a3b0982e869befbd088..044c563daee7898c676bd6ba58ee395c52eda121 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4750,6 +4750,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -4752,6 +4752,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
return Bukkit.getUnsafe().getBlockTranslationKey(this);
}
}
@@ -108,10 +108,10 @@ index e7931f73f10fe35ebd5fe4a04b036d53bb117ebd..cbce835ed6d44e5b8c9aaae4e36a77f8
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 645cff10eef90826bb44bbe937b141289f182cde..a92421bbf0ee40ecbe4f272459c6a918dc45344c 100644
+index 23686519b8c1338dd6e9f1c5a0e73467c0b59a4f..f0221815cbd30f3ccaacc87a57403491b55de128 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -891,5 +891,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -897,5 +897,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull String translationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
diff --git a/patches/api/0263-Expose-protocol-version.patch b/patches/api/0262-Expose-protocol-version.patch
index 0450fa0966..ac67e3a922 100644
--- a/patches/api/0263-Expose-protocol-version.patch
+++ b/patches/api/0262-Expose-protocol-version.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 5de86f8cd3cc7f7e8ebc4a22d3921273378704f2..a874faec93468c83fc475b60629fc36f933bd11c 100644
+index 1b2b0e6d10393b4f4d0716256aa4c87b57affbe1..8635846c9f672e39f0929eec7bf83b22536ed284 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -169,5 +169,12 @@ public interface UnsafeValues {
+@@ -178,5 +178,12 @@ public interface UnsafeValues {
* Just don't use it.
*/
@org.jetbrains.annotations.NotNull String getMainLevelName();
diff --git a/patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch
index 45207a6064..45207a6064 100644
--- a/patches/api/0264-add-isDeeplySleeping-to-HumanEntity.patch
+++ b/patches/api/0263-add-isDeeplySleeping-to-HumanEntity.patch
diff --git a/patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch
index 07036efb43..07036efb43 100644
--- a/patches/api/0265-add-consumeFuel-to-FurnaceBurnEvent.patch
+++ b/patches/api/0264-add-consumeFuel-to-FurnaceBurnEvent.patch
diff --git a/patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch
index d75f180c94..d75f180c94 100644
--- a/patches/api/0266-add-get-set-drop-chance-to-EntityEquipment.patch
+++ b/patches/api/0265-add-get-set-drop-chance-to-EntityEquipment.patch
diff --git a/patches/api/0267-Added-PlayerDeepSleepEvent.patch b/patches/api/0266-Added-PlayerDeepSleepEvent.patch
index b333894788..b333894788 100644
--- a/patches/api/0267-Added-PlayerDeepSleepEvent.patch
+++ b/patches/api/0266-Added-PlayerDeepSleepEvent.patch
diff --git a/patches/api/0268-More-World-API.patch b/patches/api/0267-More-World-API.patch
index 7340819de5..7340819de5 100644
--- a/patches/api/0268-More-World-API.patch
+++ b/patches/api/0267-More-World-API.patch
diff --git a/patches/api/0269-Added-PlayerBedFailEnterEvent.patch b/patches/api/0268-Added-PlayerBedFailEnterEvent.patch
index 6f9decf5fc..6f9decf5fc 100644
--- a/patches/api/0269-Added-PlayerBedFailEnterEvent.patch
+++ b/patches/api/0268-Added-PlayerBedFailEnterEvent.patch
diff --git a/patches/api/0270-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0269-Introduce-beacon-activation-deactivation-events.patch
index 4e173b3d6c..4e173b3d6c 100644
--- a/patches/api/0270-Introduce-beacon-activation-deactivation-events.patch
+++ b/patches/api/0269-Introduce-beacon-activation-deactivation-events.patch
diff --git a/patches/api/0271-PlayerMoveEvent-Improvements.patch b/patches/api/0270-PlayerMoveEvent-Improvements.patch
index 33cf16e54b..33cf16e54b 100644
--- a/patches/api/0271-PlayerMoveEvent-Improvements.patch
+++ b/patches/api/0270-PlayerMoveEvent-Improvements.patch
diff --git a/patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch
index c596be8b98..c596be8b98 100644
--- a/patches/api/0272-add-RespawnFlags-to-PlayerRespawnEvent.patch
+++ b/patches/api/0271-add-RespawnFlags-to-PlayerRespawnEvent.patch
diff --git a/patches/api/0273-Add-more-WanderingTrader-API.patch b/patches/api/0272-Add-more-WanderingTrader-API.patch
index 99045d4949..99045d4949 100644
--- a/patches/api/0273-Add-more-WanderingTrader-API.patch
+++ b/patches/api/0272-Add-more-WanderingTrader-API.patch
diff --git a/patches/api/0274-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0273-Add-EntityBlockStorage-clearEntities.patch
index 7032ba6155..7032ba6155 100644
--- a/patches/api/0274-Add-EntityBlockStorage-clearEntities.patch
+++ b/patches/api/0273-Add-EntityBlockStorage-clearEntities.patch
diff --git a/patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
index 16af3a7728..16af3a7728 100644
--- a/patches/api/0275-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
+++ b/patches/api/0274-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch
diff --git a/patches/api/0276-Inventory-close.patch b/patches/api/0275-Inventory-close.patch
index 87dfa1a083..87dfa1a083 100644
--- a/patches/api/0276-Inventory-close.patch
+++ b/patches/api/0275-Inventory-close.patch
diff --git a/patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
index 3103f1ce2c..3103f1ce2c 100644
--- a/patches/api/0277-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
+++ b/patches/api/0276-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch
diff --git a/patches/api/0278-Add-basic-Datapack-API.patch b/patches/api/0277-Add-basic-Datapack-API.patch
index c8c0b5b665..25a17a8105 100644
--- a/patches/api/0278-Add-basic-Datapack-API.patch
+++ b/patches/api/0277-Add-basic-Datapack-API.patch
@@ -144,10 +144,10 @@ index 3d5af25a399589f1bdf95b77f584ae0ae5c26f02..ab512c7ee9d2442055b719d02d0d0ecc
/**
diff --git a/src/main/java/org/bukkit/packs/DataPackManager.java b/src/main/java/org/bukkit/packs/DataPackManager.java
-index d7fb6310e6b1050c496d748388310bc6f8d78e23..2cd505046277febe010e9476539b064321d8b2ec 100644
+index c33ca7b86426223200efa7df53faef061c3c7c0b..5ec17312564e245e6d482e89c2ef2a886d463154 100644
--- a/src/main/java/org/bukkit/packs/DataPackManager.java
+++ b/src/main/java/org/bukkit/packs/DataPackManager.java
-@@ -11,8 +11,10 @@ import org.jetbrains.annotations.Nullable;
+@@ -13,8 +13,10 @@ import org.jetbrains.annotations.Nullable;
/**
* Manager of data packs.
diff --git a/patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch
index b2e65ae490..b2e65ae490 100644
--- a/patches/api/0279-additions-to-PlayerGameModeChangeEvent.patch
+++ b/patches/api/0278-additions-to-PlayerGameModeChangeEvent.patch
diff --git a/patches/api/0280-ItemStack-repair-check-API.patch b/patches/api/0279-ItemStack-repair-check-API.patch
index eff25d7f58..6348f33164 100644
--- a/patches/api/0280-ItemStack-repair-check-API.patch
+++ b/patches/api/0279-ItemStack-repair-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index a874faec93468c83fc475b60629fc36f933bd11c..4130481843c9e0b847bd656622b0c1107ac1297b 100644
+index 8635846c9f672e39f0929eec7bf83b22536ed284..51f1a09164d501de6d2561ed90175f2c24a668c1 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -176,5 +176,15 @@ public interface UnsafeValues {
+@@ -185,5 +185,15 @@ public interface UnsafeValues {
* @return the server's protocol version
*/
int getProtocolVersion();
@@ -25,10 +25,10 @@ index a874faec93468c83fc475b60629fc36f933bd11c..4130481843c9e0b847bd656622b0c110
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index a92421bbf0ee40ecbe4f272459c6a918dc45344c..04ff6579282708c48edee419381c698707fe0a3b 100644
+index f0221815cbd30f3ccaacc87a57403491b55de128..ca2dac7b377ea098158ff3c84fd47f405b636869 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -903,5 +903,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -909,5 +909,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public io.papermc.paper.inventory.ItemRarity getRarity() {
return io.papermc.paper.inventory.ItemRarity.valueOf(this.getItemMeta().getRarity().name());
}
diff --git a/patches/api/0281-More-Enchantment-API.patch b/patches/api/0280-More-Enchantment-API.patch
index a58f9ad820..a58f9ad820 100644
--- a/patches/api/0281-More-Enchantment-API.patch
+++ b/patches/api/0280-More-Enchantment-API.patch
diff --git a/patches/api/0282-Add-Mob-lookAt-API.patch b/patches/api/0281-Add-Mob-lookAt-API.patch
index 0dd5126905..0dd5126905 100644
--- a/patches/api/0282-Add-Mob-lookAt-API.patch
+++ b/patches/api/0281-Add-Mob-lookAt-API.patch
diff --git a/patches/api/0283-ItemStack-editMeta.patch b/patches/api/0282-ItemStack-editMeta.patch
index d2c36b432c..c1ce9b264d 100644
--- a/patches/api/0283-ItemStack-editMeta.patch
+++ b/patches/api/0282-ItemStack-editMeta.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 04ff6579282708c48edee419381c698707fe0a3b..351f5c0feec38377fccf09bfc1cef2df88fc2dcd 100644
+index ca2dac7b377ea098158ff3c84fd47f405b636869..5fb8f7c1b79bd256925cb68cccfe0b974fb84043 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -561,6 +561,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -567,6 +567,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return result.ensureServerConversions(); // Paper
}
diff --git a/patches/api/0284-Add-EntityInsideBlockEvent.patch b/patches/api/0283-Add-EntityInsideBlockEvent.patch
index 2805c40dcc..2805c40dcc 100644
--- a/patches/api/0284-Add-EntityInsideBlockEvent.patch
+++ b/patches/api/0283-Add-EntityInsideBlockEvent.patch
diff --git a/patches/api/0285-Attributes-API-for-item-defaults.patch b/patches/api/0284-Attributes-API-for-item-defaults.patch
index db30aff62c..7fbe487dca 100644
--- a/patches/api/0285-Attributes-API-for-item-defaults.patch
+++ b/patches/api/0284-Attributes-API-for-item-defaults.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Attributes API for item defaults
(Now replaced by upstream's API)
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1..3cb658023d738617a310099fa3759af253a9f4c2 100644
+index 044c563daee7898c676bd6ba58ee395c52eda121..f6c3a4de2f07348d599e44d0b3173b8674ee85ac 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4763,6 +4763,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -4765,6 +4765,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public io.papermc.paper.inventory.ItemRarity getItemRarity() {
return new org.bukkit.inventory.ItemStack(this).getRarity();
}
diff --git a/patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch
index 8e5d45d87b..8e5d45d87b 100644
--- a/patches/api/0286-Add-cause-to-Weather-ThunderChangeEvents.patch
+++ b/patches/api/0285-Add-cause-to-Weather-ThunderChangeEvents.patch
diff --git a/patches/api/0287-More-Lidded-Block-API.patch b/patches/api/0286-More-Lidded-Block-API.patch
index a89f206f9a..a89f206f9a 100644
--- a/patches/api/0287-More-Lidded-Block-API.patch
+++ b/patches/api/0286-More-Lidded-Block-API.patch
diff --git a/patches/api/0288-Add-PlayerKickEvent-causes.patch b/patches/api/0287-Add-PlayerKickEvent-causes.patch
index 5bded2058c..5bded2058c 100644
--- a/patches/api/0288-Add-PlayerKickEvent-causes.patch
+++ b/patches/api/0287-Add-PlayerKickEvent-causes.patch
diff --git a/patches/api/0289-Add-PufferFishStateChangeEvent.patch b/patches/api/0288-Add-PufferFishStateChangeEvent.patch
index 7a719777e3..7a719777e3 100644
--- a/patches/api/0289-Add-PufferFishStateChangeEvent.patch
+++ b/patches/api/0288-Add-PufferFishStateChangeEvent.patch
diff --git a/patches/api/0290-Add-BellRevealRaiderEvent.patch b/patches/api/0289-Add-BellRevealRaiderEvent.patch
index c45f89fd4b..c45f89fd4b 100644
--- a/patches/api/0290-Add-BellRevealRaiderEvent.patch
+++ b/patches/api/0289-Add-BellRevealRaiderEvent.patch
diff --git a/patches/api/0291-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0290-Add-ElderGuardianAppearanceEvent.patch
index 23897b7390..23897b7390 100644
--- a/patches/api/0291-Add-ElderGuardianAppearanceEvent.patch
+++ b/patches/api/0290-Add-ElderGuardianAppearanceEvent.patch
diff --git a/patches/api/0292-Add-more-line-of-sight-methods.patch b/patches/api/0291-Add-more-line-of-sight-methods.patch
index dc87546ce9..dc87546ce9 100644
--- a/patches/api/0292-Add-more-line-of-sight-methods.patch
+++ b/patches/api/0291-Add-more-line-of-sight-methods.patch
diff --git a/patches/api/0293-Add-WaterBottleSplashEvent.patch b/patches/api/0292-Add-WaterBottleSplashEvent.patch
index f5525245fa..f5525245fa 100644
--- a/patches/api/0293-Add-WaterBottleSplashEvent.patch
+++ b/patches/api/0292-Add-WaterBottleSplashEvent.patch
diff --git a/patches/api/0294-Add-more-LimitedRegion-API.patch b/patches/api/0293-Add-more-LimitedRegion-API.patch
index 292f95c890..292f95c890 100644
--- a/patches/api/0294-Add-more-LimitedRegion-API.patch
+++ b/patches/api/0293-Add-more-LimitedRegion-API.patch
diff --git a/patches/api/0295-Missing-Entity-API.patch b/patches/api/0294-Missing-Entity-API.patch
index 582dafaea4..e5b5628d97 100644
--- a/patches/api/0295-Missing-Entity-API.patch
+++ b/patches/api/0294-Missing-Entity-API.patch
@@ -143,10 +143,10 @@ index 0d88dce9978243a1f995c5fb448c5d71b01136eb..8b1048c94dffd058eb9fd9144f7f59fc
+ // Paper end - Horse API
}
diff --git a/src/main/java/org/bukkit/entity/AreaEffectCloud.java b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-index 3c65da551aca046986fc0302de3ccc149ee9526c..7f989f2025d16b368829c45f08b8cc8537c99e13 100644
+index 1df234d6538f08724297ed4ad916f6d488736171..3eba2a9f60636c7d58d311d46f0447bb6bcc5cfb 100644
--- a/src/main/java/org/bukkit/entity/AreaEffectCloud.java
+++ b/src/main/java/org/bukkit/entity/AreaEffectCloud.java
-@@ -239,4 +239,20 @@ public interface AreaEffectCloud extends Entity {
+@@ -259,4 +259,20 @@ public interface AreaEffectCloud extends Entity {
* @param source the {@link ProjectileSource} that threw the LingeringPotion
*/
public void setSource(@Nullable ProjectileSource source);
@@ -462,10 +462,10 @@ index c7d6a328def83619dca9b6122aeb5870e4585e70..795e799fec7cfd65a0e08bb3f941148d
* Mark the entity's removal.
*
diff --git a/src/main/java/org/bukkit/entity/Fireball.java b/src/main/java/org/bukkit/entity/Fireball.java
-index 7a44707f2307dc4dbfea4de3f4baf3cc0490dc93..d0e82102425e54274be9c4769634d754319d6196 100644
+index ceaf263bc554a92a232bd3ed18ea67ce4e0b487a..dc8ed9164f22eb140e16b9b25a82f85b873ada42 100644
--- a/src/main/java/org/bukkit/entity/Fireball.java
+++ b/src/main/java/org/bukkit/entity/Fireball.java
-@@ -23,4 +23,32 @@ public interface Fireball extends Projectile, Explosive {
+@@ -32,4 +32,32 @@ public interface Fireball extends Projectile, Explosive {
@NotNull
public Vector getDirection();
diff --git a/patches/api/0296-Adds-PlayerArmSwingEvent.patch b/patches/api/0295-Adds-PlayerArmSwingEvent.patch
index 48e43517eb..48e43517eb 100644
--- a/patches/api/0296-Adds-PlayerArmSwingEvent.patch
+++ b/patches/api/0295-Adds-PlayerArmSwingEvent.patch
diff --git a/patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch
index 8882c35337..8882c35337 100644
--- a/patches/api/0297-Add-PlayerSignCommandPreprocessEvent.patch
+++ b/patches/api/0296-Add-PlayerSignCommandPreprocessEvent.patch
diff --git a/patches/api/0298-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
index 4b66990211..4b66990211 100644
--- a/patches/api/0298-fix-empty-array-elements-in-command-arguments.patch
+++ b/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
diff --git a/patches/api/0299-Stinger-API.patch b/patches/api/0298-Stinger-API.patch
index e209e5da29..e209e5da29 100644
--- a/patches/api/0299-Stinger-API.patch
+++ b/patches/api/0298-Stinger-API.patch
diff --git a/patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
index aefa20a2d9..aefa20a2d9 100644
--- a/patches/api/0300-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
+++ b/patches/api/0299-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/api/0301-Add-PlayerSetSpawnEvent.patch b/patches/api/0300-Add-PlayerSetSpawnEvent.patch
index 42bce4d456..42bce4d456 100644
--- a/patches/api/0301-Add-PlayerSetSpawnEvent.patch
+++ b/patches/api/0300-Add-PlayerSetSpawnEvent.patch
diff --git a/patches/api/0302-Added-EntityDamageItemEvent.patch b/patches/api/0301-Added-EntityDamageItemEvent.patch
index 60513a1cbd..60513a1cbd 100644
--- a/patches/api/0302-Added-EntityDamageItemEvent.patch
+++ b/patches/api/0301-Added-EntityDamageItemEvent.patch
diff --git a/patches/api/0303-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0302-Make-EntityUnleashEvent-cancellable.patch
index e99584c277..e99584c277 100644
--- a/patches/api/0303-Make-EntityUnleashEvent-cancellable.patch
+++ b/patches/api/0302-Make-EntityUnleashEvent-cancellable.patch
diff --git a/patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch
index d8e53593ae..d8e53593ae 100644
--- a/patches/api/0304-Change-EnderEye-target-without-changing-other-things.patch
+++ b/patches/api/0303-Change-EnderEye-target-without-changing-other-things.patch
diff --git a/patches/api/0305-Add-BlockBreakBlockEvent.patch b/patches/api/0304-Add-BlockBreakBlockEvent.patch
index dd02c33432..dd02c33432 100644
--- a/patches/api/0305-Add-BlockBreakBlockEvent.patch
+++ b/patches/api/0304-Add-BlockBreakBlockEvent.patch
diff --git a/patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch
index 9dac2fe612..9dac2fe612 100644
--- a/patches/api/0306-Add-helpers-for-left-right-click-to-Action.patch
+++ b/patches/api/0305-Add-helpers-for-left-right-click-to-Action.patch
diff --git a/patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch
index fa4ad55705..fa4ad55705 100644
--- a/patches/api/0307-Option-to-prevent-data-components-copy-in-smithing-r.patch
+++ b/patches/api/0306-Option-to-prevent-data-components-copy-in-smithing-r.patch
diff --git a/patches/api/0308-More-CommandBlock-API.patch b/patches/api/0307-More-CommandBlock-API.patch
index c8c52c7587..c8c52c7587 100644
--- a/patches/api/0308-More-CommandBlock-API.patch
+++ b/patches/api/0307-More-CommandBlock-API.patch
diff --git a/patches/api/0309-Add-missing-team-sidebar-display-slots.patch b/patches/api/0308-Add-missing-team-sidebar-display-slots.patch
index cdecbd1764..cdecbd1764 100644
--- a/patches/api/0309-Add-missing-team-sidebar-display-slots.patch
+++ b/patches/api/0308-Add-missing-team-sidebar-display-slots.patch
diff --git a/patches/api/0310-add-back-EntityPortalExitEvent.patch b/patches/api/0309-add-back-EntityPortalExitEvent.patch
index 5a153e2345..5a153e2345 100644
--- a/patches/api/0310-add-back-EntityPortalExitEvent.patch
+++ b/patches/api/0309-add-back-EntityPortalExitEvent.patch
diff --git a/patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch
index ffa6fc8f05..ffa6fc8f05 100644
--- a/patches/api/0311-Add-methods-to-find-targets-for-lightning-strikes.patch
+++ b/patches/api/0310-Add-methods-to-find-targets-for-lightning-strikes.patch
diff --git a/patches/api/0312-Get-entity-default-attributes.patch b/patches/api/0311-Get-entity-default-attributes.patch
index f0dd49bec9..097ec3ec3b 100644
--- a/patches/api/0312-Get-entity-default-attributes.patch
+++ b/patches/api/0311-Get-entity-default-attributes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 4130481843c9e0b847bd656622b0c1107ac1297b..a846f3c6e8dceb90e42db903b8be2c248f2f9d5c 100644
+index 51f1a09164d501de6d2561ed90175f2c24a668c1..cbc63144e5eb35799548209f8fbee70d0c20a53d 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -186,5 +186,22 @@ public interface UnsafeValues {
+@@ -195,5 +195,22 @@ public interface UnsafeValues {
* @return true if valid repair, false if not
*/
public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial);
diff --git a/patches/api/0313-Left-handed-API.patch b/patches/api/0312-Left-handed-API.patch
index cae17a697b..cae17a697b 100644
--- a/patches/api/0313-Left-handed-API.patch
+++ b/patches/api/0312-Left-handed-API.patch
diff --git a/patches/api/0314-Add-critical-damage-API.patch b/patches/api/0313-Add-critical-damage-API.patch
index f04ac65ac5..f04ac65ac5 100644
--- a/patches/api/0314-Add-critical-damage-API.patch
+++ b/patches/api/0313-Add-critical-damage-API.patch
diff --git a/patches/api/0315-Add-more-advancement-API.patch b/patches/api/0314-Add-more-advancement-API.patch
index 179dbdc225..179dbdc225 100644
--- a/patches/api/0315-Add-more-advancement-API.patch
+++ b/patches/api/0314-Add-more-advancement-API.patch
diff --git a/patches/api/0316-Fix-issues-with-mob-conversion.patch b/patches/api/0315-Fix-issues-with-mob-conversion.patch
index f451d967b6..f451d967b6 100644
--- a/patches/api/0316-Fix-issues-with-mob-conversion.patch
+++ b/patches/api/0315-Fix-issues-with-mob-conversion.patch
diff --git a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch b/patches/api/0316-Add-isCollidable-methods-to-various-places.patch
index 0c56af5c5d..a5b82e6e22 100644
--- a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch
+++ b/patches/api/0316-Add-isCollidable-methods-to-various-places.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 3cb658023d738617a310099fa3759af253a9f4c2..1ca448c9e3a3178663a033617d9414ec085c246a 100644
+index f6c3a4de2f07348d599e44d0b3173b8674ee85ac..4ad5f2d40c10e7b059a9096dcc6a3b0b618411a0 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -4778,6 +4778,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -4780,6 +4780,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public Multimap<Attribute, AttributeModifier> getItemAttributes(@NotNull EquipmentSlot equipmentSlot) {
return this.getDefaultAttributeModifiers(equipmentSlot);
}
@@ -26,10 +26,10 @@ index 3cb658023d738617a310099fa3759af253a9f4c2..1ca448c9e3a3178663a033617d9414ec
/**
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index a846f3c6e8dceb90e42db903b8be2c248f2f9d5c..e1f9d80f0a6481824443339015049f96f3bf86f2 100644
+index cbc63144e5eb35799548209f8fbee70d0c20a53d..891204af265ac4ef1f654407421e9962c0ff549b 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -203,5 +203,14 @@ public interface UnsafeValues {
+@@ -212,5 +212,14 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
*/
@org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
diff --git a/patches/api/0318-Goat-ram-API.patch b/patches/api/0317-Goat-ram-API.patch
index 06d426a786..06d426a786 100644
--- a/patches/api/0318-Goat-ram-API.patch
+++ b/patches/api/0317-Goat-ram-API.patch
diff --git a/patches/api/0319-Add-API-for-resetting-a-single-score.patch b/patches/api/0318-Add-API-for-resetting-a-single-score.patch
index 14142e8f6c..14142e8f6c 100644
--- a/patches/api/0319-Add-API-for-resetting-a-single-score.patch
+++ b/patches/api/0318-Add-API-for-resetting-a-single-score.patch
diff --git a/patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0319-Add-Raw-Byte-Entity-Serialization.patch
index b0a70d977f..f3a0ae6035 100644
--- a/patches/api/0320-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/api/0319-Add-Raw-Byte-Entity-Serialization.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index e1f9d80f0a6481824443339015049f96f3bf86f2..9245f50b2bac30e956ef6ddc11c551b9b68463ee 100644
+index 891204af265ac4ef1f654407421e9962c0ff549b..20ddbfdad6856135a4c6a4778f81caee953f0fb4 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -158,6 +158,14 @@ public interface UnsafeValues {
+@@ -167,6 +167,14 @@ public interface UnsafeValues {
ItemStack deserializeItem(byte[] data);
diff --git a/patches/api/0321-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0320-Add-PlayerItemFrameChangeEvent.patch
index b5d6cf7bd1..b5d6cf7bd1 100644
--- a/patches/api/0321-Add-PlayerItemFrameChangeEvent.patch
+++ b/patches/api/0320-Add-PlayerItemFrameChangeEvent.patch
diff --git a/patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
index 664279d84f..46674bdd76 100644
--- a/patches/api/0322-Allow-delegation-to-vanilla-chunk-gen.patch
+++ b/patches/api/0321-Allow-delegation-to-vanilla-chunk-gen.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index c3d3c7d05a03658157d49c6ff1ea1d7d085a6fd4..fa7a63ea108971790c28c4f32d280ee6f2a86c0b 100644
+index e62d46629305a268906cd2cd5d5977d063c2f484..8f88dc00c73810560070195fcf6e0f955e4ebdde 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2105,6 +2105,24 @@ public final class Bukkit {
@@ -34,7 +34,7 @@ index c3d3c7d05a03658157d49c6ff1ea1d7d085a6fd4..fa7a63ea108971790c28c4f32d280ee6
* Creates a boss bar instance to display to players. The progress
* defaults to 1.0
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 61ee087ec4a75ee8b10e204b4cdd1bab5f066819..90b1368303562e1b4af2e658e60ac564bd49ad5f 100644
+index e3a494b9d3727973d225de3042da93594f36ca12..8ccda3cbefcbf1d1b1d5dac195b3c5605058a040 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1779,6 +1779,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0323-Add-more-Campfire-API.patch b/patches/api/0322-Add-more-Campfire-API.patch
index 80cdc0bb39..80cdc0bb39 100644
--- a/patches/api/0323-Add-more-Campfire-API.patch
+++ b/patches/api/0322-Add-more-Campfire-API.patch
diff --git a/patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch b/patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
index 5f5a4f4140..5f5a4f4140 100644
--- a/patches/api/0324-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
+++ b/patches/api/0323-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
diff --git a/patches/api/0325-Improve-scoreboard-entries.patch b/patches/api/0324-Improve-scoreboard-entries.patch
index d6e077bd86..d6e077bd86 100644
--- a/patches/api/0325-Improve-scoreboard-entries.patch
+++ b/patches/api/0324-Improve-scoreboard-entries.patch
diff --git a/patches/api/0326-Entity-powdered-snow-API.patch b/patches/api/0325-Entity-powdered-snow-API.patch
index b00af3e946..b00af3e946 100644
--- a/patches/api/0326-Entity-powdered-snow-API.patch
+++ b/patches/api/0325-Entity-powdered-snow-API.patch
diff --git a/patches/api/0327-Add-API-for-item-entity-health.patch b/patches/api/0326-Add-API-for-item-entity-health.patch
index 572034e557..572034e557 100644
--- a/patches/api/0327-Add-API-for-item-entity-health.patch
+++ b/patches/api/0326-Add-API-for-item-entity-health.patch
diff --git a/patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index f094cdc255..f094cdc255 100644
--- a/patches/api/0328-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/api/0327-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/api/0329-Bucketable-API.patch b/patches/api/0328-Bucketable-API.patch
index 26dbdc9f5d..26dbdc9f5d 100644
--- a/patches/api/0329-Bucketable-API.patch
+++ b/patches/api/0328-Bucketable-API.patch
diff --git a/patches/api/0330-System-prop-for-default-config-comment-parsing.patch b/patches/api/0329-System-prop-for-default-config-comment-parsing.patch
index 632f71e519..632f71e519 100644
--- a/patches/api/0330-System-prop-for-default-config-comment-parsing.patch
+++ b/patches/api/0329-System-prop-for-default-config-comment-parsing.patch
diff --git a/patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 9b189fc918..9b189fc918 100644
--- a/patches/api/0331-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/api/0330-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
diff --git a/patches/api/0332-Multiple-Entries-with-Scoreboards.patch b/patches/api/0331-Multiple-Entries-with-Scoreboards.patch
index 920c2f117e..920c2f117e 100644
--- a/patches/api/0332-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/api/0331-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/api/0333-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0332-Warn-on-strange-EventHandler-return-types.patch
index c7807b823b..c7807b823b 100644
--- a/patches/api/0333-Warn-on-strange-EventHandler-return-types.patch
+++ b/patches/api/0332-Warn-on-strange-EventHandler-return-types.patch
diff --git a/patches/api/0334-Multi-Block-Change-API.patch b/patches/api/0333-Multi-Block-Change-API.patch
index 46d8adeb56..46d8adeb56 100644
--- a/patches/api/0334-Multi-Block-Change-API.patch
+++ b/patches/api/0333-Multi-Block-Change-API.patch
diff --git a/patches/api/0335-Fix-NotePlayEvent.patch b/patches/api/0334-Fix-NotePlayEvent.patch
index d3f827bfd8..d3f827bfd8 100644
--- a/patches/api/0335-Fix-NotePlayEvent.patch
+++ b/patches/api/0334-Fix-NotePlayEvent.patch
diff --git a/patches/api/0336-Freeze-Tick-Lock-API.patch b/patches/api/0335-Freeze-Tick-Lock-API.patch
index baaf0b2462..baaf0b2462 100644
--- a/patches/api/0336-Freeze-Tick-Lock-API.patch
+++ b/patches/api/0335-Freeze-Tick-Lock-API.patch
diff --git a/patches/api/0337-Dolphin-API.patch b/patches/api/0336-Dolphin-API.patch
index 73beed437b..73beed437b 100644
--- a/patches/api/0337-Dolphin-API.patch
+++ b/patches/api/0336-Dolphin-API.patch
diff --git a/patches/api/0338-More-PotionEffectType-API.patch b/patches/api/0337-More-PotionEffectType-API.patch
index cad46c8765..b9dc5bb5d1 100644
--- a/patches/api/0338-More-PotionEffectType-API.patch
+++ b/patches/api/0337-More-PotionEffectType-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 43f410326d6d68242113e2fefe31af256889ed9c..90ab3bef4c5b6b6e215e9c759c886ed6d0f3302b 100644
+index d573d8e36fbe6b7f5a298fb64910feba9cba0697..f301f81817409f0a6799885d4f0972ed9bf3e4df 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -300,6 +300,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -318,6 +318,31 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*/
@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.");
diff --git a/patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch
index 13d096a366..666b423f41 100644
--- a/patches/api/0339-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0338-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for creating command sender which forwards feedback
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index fa7a63ea108971790c28c4f32d280ee6f2a86c0b..fb6a3b71cf3c304c5d0177747bc098e134b22d58 100644
+index 8f88dc00c73810560070195fcf6e0f955e4ebdde..1e96494c8080458f260ba94c4975ab18c4b4eefd 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1583,6 +1583,20 @@ public final class Bukkit {
@@ -30,7 +30,7 @@ index fa7a63ea108971790c28c4f32d280ee6f2a86c0b..fb6a3b71cf3c304c5d0177747bc098e1
* Gets the folder that contains all of the various {@link World}s.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 90b1368303562e1b4af2e658e60ac564bd49ad5f..43b049b68a8af548cd05c67dafc23dabd07bab27 100644
+index 8ccda3cbefcbf1d1b1d5dac195b3c5605058a040..31eaec316e0ee4021d0a67301d1bc91a2d3524d9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1334,6 +1334,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0340-Implement-regenerateChunk.patch b/patches/api/0339-Implement-regenerateChunk.patch
index 8f63e4dd7a..8f63e4dd7a 100644
--- a/patches/api/0340-Implement-regenerateChunk.patch
+++ b/patches/api/0339-Implement-regenerateChunk.patch
diff --git a/patches/api/0341-Add-GameEvent-tags.patch b/patches/api/0340-Add-GameEvent-tags.patch
index 73554bb169..361f439443 100644
--- a/patches/api/0341-Add-GameEvent-tags.patch
+++ b/patches/api/0340-Add-GameEvent-tags.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add GameEvent tags
diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java
-index 298ae1294a122705bca6bd74ea540185839d1ed5..cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8 100644
+index 33c75db0fcbbd771a59764c5d90484cee27b60cf..eaec13dbe7be4dd6c5faa97c413e24d6e77cef62 100644
--- a/src/main/java/org/bukkit/Tag.java
+++ b/src/main/java/org/bukkit/Tag.java
-@@ -1306,6 +1306,25 @@ public interface Tag<T extends Keyed> extends Keyed {
+@@ -1311,6 +1311,25 @@ public interface Tag<T extends Keyed> extends Keyed {
*/
Tag<EntityType> ENTITY_TYPES_REDIRECTABLE_PROJECTILE = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("redirectable_projectile"), EntityType.class);
diff --git a/patches/api/0342-Furnace-RecipesUsed-API.patch b/patches/api/0341-Furnace-RecipesUsed-API.patch
index 7fed82db21..7fed82db21 100644
--- a/patches/api/0342-Furnace-RecipesUsed-API.patch
+++ b/patches/api/0341-Furnace-RecipesUsed-API.patch
diff --git a/patches/api/0343-Configurable-sculk-sensor-listener-range.patch b/patches/api/0342-Configurable-sculk-sensor-listener-range.patch
index b1ad0cdb5b..b1ad0cdb5b 100644
--- a/patches/api/0343-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/api/0342-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/api/0344-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0343-Add-missing-block-data-mins-and-maxes.patch
index 63a647706a..63a647706a 100644
--- a/patches/api/0344-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/api/0343-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/api/0345-Custom-Potion-Mixes.patch b/patches/api/0344-Custom-Potion-Mixes.patch
index 511fbb6d6c..511fbb6d6c 100644
--- a/patches/api/0345-Custom-Potion-Mixes.patch
+++ b/patches/api/0344-Custom-Potion-Mixes.patch
diff --git a/patches/api/0346-Expose-furnace-minecart-push-values.patch b/patches/api/0345-Expose-furnace-minecart-push-values.patch
index 3d8c2336e7..3d8c2336e7 100644
--- a/patches/api/0346-Expose-furnace-minecart-push-values.patch
+++ b/patches/api/0345-Expose-furnace-minecart-push-values.patch
diff --git a/patches/api/0347-More-Projectile-API.patch b/patches/api/0346-More-Projectile-API.patch
index ba63dbcd3b..ba63dbcd3b 100644
--- a/patches/api/0347-More-Projectile-API.patch
+++ b/patches/api/0346-More-Projectile-API.patch
diff --git a/patches/api/0348-Add-getComputedBiome-API.patch b/patches/api/0347-Add-getComputedBiome-API.patch
index 6d24c2c66a..6d24c2c66a 100644
--- a/patches/api/0348-Add-getComputedBiome-API.patch
+++ b/patches/api/0347-Add-getComputedBiome-API.patch
diff --git a/patches/api/0349-Add-enchantWithLevels-API.patch b/patches/api/0348-Add-enchantWithLevels-API.patch
index 02d301e15a..7cc63d19c9 100644
--- a/patches/api/0349-Add-enchantWithLevels-API.patch
+++ b/patches/api/0348-Add-enchantWithLevels-API.patch
@@ -7,7 +7,7 @@ Deprecate upstream's newer and poorly implemented similar
API.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
-index dbebaf8172ec6872f56958b9583affde4f8400a4..98a970a6582dca22e719a31559c7becea4725cb2 100644
+index 53b8934cb829f37971cb3ecd5652c9974dec6ab0..e20f64828548c647a29dad5a475f4596cad88cd8 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -185,8 +185,11 @@ public interface ItemFactory {
@@ -70,10 +70,10 @@ index dbebaf8172ec6872f56958b9583affde4f8400a4..98a970a6582dca22e719a31559c7bece
+ // Paper end - enchantWithLevels API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 351f5c0feec38377fccf09bfc1cef2df88fc2dcd..7eb4cf0b2f162d650252d81e9d38393f69a69046 100644
+index 5fb8f7c1b79bd256925cb68cccfe0b974fb84043..105cf1bf6e8b44846cdd3a8881fed36007daaa22 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -670,6 +670,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -676,6 +676,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
// Paper start
diff --git a/patches/api/0350-Add-TameableDeathMessageEvent.patch b/patches/api/0349-Add-TameableDeathMessageEvent.patch
index aec53f13ba..aec53f13ba 100644
--- a/patches/api/0350-Add-TameableDeathMessageEvent.patch
+++ b/patches/api/0349-Add-TameableDeathMessageEvent.patch
diff --git a/patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch
index 08ffa1fdde..08ffa1fdde 100644
--- a/patches/api/0351-Allow-to-change-the-podium-of-the-EnderDragon.patch
+++ b/patches/api/0350-Allow-to-change-the-podium-of-the-EnderDragon.patch
diff --git a/patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch b/patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
index 21b3f85c0b..21b3f85c0b 100644
--- a/patches/api/0352-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
+++ b/patches/api/0351-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
diff --git a/patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 5775b6f33c..5775b6f33c 100644
--- a/patches/api/0353-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/api/0352-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/api/0354-WorldCreator-keepSpawnLoaded.patch b/patches/api/0353-WorldCreator-keepSpawnLoaded.patch
index 287c313c58..287c313c58 100644
--- a/patches/api/0354-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/api/0353-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index e7a4ad2089..e7a4ad2089 100644
--- a/patches/api/0355-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/api/0354-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/api/0356-Add-PlayerStopUsingItemEvent.patch b/patches/api/0355-Add-PlayerStopUsingItemEvent.patch
index c8de1f6ed0..c8de1f6ed0 100644
--- a/patches/api/0356-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/api/0355-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/api/0357-Expand-FallingBlock-API.patch b/patches/api/0356-Expand-FallingBlock-API.patch
index d98776cf63..d98776cf63 100644
--- a/patches/api/0357-Expand-FallingBlock-API.patch
+++ b/patches/api/0356-Expand-FallingBlock-API.patch
diff --git a/patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch
index eb982e565a..9627540551 100644
--- a/patches/api/0358-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0357-Add-method-isTickingWorlds-to-Bukkit.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index eb6d59bad1e4f0b394290d683f5dfed6ba6dd75b..a2e5e917a7a0f6763f2ac13583dc28d9ea35ca64 100644
+index d56baf72235173121a694e8bb5331f2c515d3aa8..a1d9663730d5a63685d337f5eba40532b47ffbfc 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -808,12 +808,26 @@ public final class Bukkit {
@@ -56,7 +56,7 @@ index eb6d59bad1e4f0b394290d683f5dfed6ba6dd75b..a2e5e917a7a0f6763f2ac13583dc28d9
* @param world the world to unload
* @param save whether to save the chunks before unloading
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 6da6c20b684eba64b85d67db2482b4a968749070..708ea9556510b2e9de2f7f1c381572e3bde540d1 100644
+index 88ad9e596f801c2c137fe2d31653a841b9c01683..c1a46d13e61140c851f73f2ee7c6cec24ba8b3fa 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -675,34 +675,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0359-Add-WardenAngerChangeEvent.patch b/patches/api/0358-Add-WardenAngerChangeEvent.patch
index 4291ccd615..4291ccd615 100644
--- a/patches/api/0359-Add-WardenAngerChangeEvent.patch
+++ b/patches/api/0358-Add-WardenAngerChangeEvent.patch
diff --git a/patches/api/0360-Nameable-Banner-API.patch b/patches/api/0359-Nameable-Banner-API.patch
index eba196daaf..eba196daaf 100644
--- a/patches/api/0360-Nameable-Banner-API.patch
+++ b/patches/api/0359-Nameable-Banner-API.patch
diff --git a/patches/api/0361-Add-Player-getFishHook.patch b/patches/api/0360-Add-Player-getFishHook.patch
index feae3b2e47..feae3b2e47 100644
--- a/patches/api/0361-Add-Player-getFishHook.patch
+++ b/patches/api/0360-Add-Player-getFishHook.patch
diff --git a/patches/api/0362-More-Teleport-API.patch b/patches/api/0361-More-Teleport-API.patch
index eb36f5ee5d..eb36f5ee5d 100644
--- a/patches/api/0362-More-Teleport-API.patch
+++ b/patches/api/0361-More-Teleport-API.patch
diff --git a/patches/api/0363-Add-EntityPortalReadyEvent.patch b/patches/api/0362-Add-EntityPortalReadyEvent.patch
index b9321a8e0d..b9321a8e0d 100644
--- a/patches/api/0363-Add-EntityPortalReadyEvent.patch
+++ b/patches/api/0362-Add-EntityPortalReadyEvent.patch
diff --git a/patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch
index e22c1feefa..e22c1feefa 100644
--- a/patches/api/0364-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0363-Custom-Chat-Completion-Suggestions-API.patch
diff --git a/patches/api/0365-Collision-API.patch b/patches/api/0364-Collision-API.patch
index f59dc05fbb..f59dc05fbb 100644
--- a/patches/api/0365-Collision-API.patch
+++ b/patches/api/0364-Collision-API.patch
diff --git a/patches/api/0366-Block-Ticking-API.patch b/patches/api/0365-Block-Ticking-API.patch
index 02fed74c9e..02fed74c9e 100644
--- a/patches/api/0366-Block-Ticking-API.patch
+++ b/patches/api/0365-Block-Ticking-API.patch
diff --git a/patches/api/0367-Add-NamespacedKey-biome-methods.patch b/patches/api/0366-Add-NamespacedKey-biome-methods.patch
index 9b5cd7d737..d4c0137a3f 100644
--- a/patches/api/0367-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0366-Add-NamespacedKey-biome-methods.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods
Co-authored-by: Thonk <[email protected]>
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 9245f50b2bac30e956ef6ddc11c551b9b68463ee..5d862c9221d1ce6d577295a5181f951c2f71a631 100644
+index 20ddbfdad6856135a4c6a4778f81caee953f0fb4..c49f73355da362abb1c0e52f867dcfad8d4680f3 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -220,5 +220,32 @@ public interface UnsafeValues {
+@@ -229,5 +229,32 @@ public interface UnsafeValues {
* @throws IllegalArgumentException if {@link Material#isBlock()} is false
*/
boolean isCollidable(@org.jetbrains.annotations.NotNull Material material);
diff --git a/patches/api/0368-Also-load-resources-from-LibraryLoader.patch b/patches/api/0367-Also-load-resources-from-LibraryLoader.patch
index c2a41c2e53..c2a41c2e53 100644
--- a/patches/api/0368-Also-load-resources-from-LibraryLoader.patch
+++ b/patches/api/0367-Also-load-resources-from-LibraryLoader.patch
diff --git a/patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch
index 9b71f12681..9b71f12681 100644
--- a/patches/api/0369-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/api/0368-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 291761dadb..291761dadb 100644
--- a/patches/api/0370-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/api/0369-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff --git a/patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
index 9b5ef25cf4..9b5ef25cf4 100644
--- a/patches/api/0371-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
+++ b/patches/api/0370-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
diff --git a/patches/api/0372-Add-getDrops-to-BlockState.patch b/patches/api/0371-Add-getDrops-to-BlockState.patch
index f9e8152229..f9e8152229 100644
--- a/patches/api/0372-Add-getDrops-to-BlockState.patch
+++ b/patches/api/0371-Add-getDrops-to-BlockState.patch
diff --git a/patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch
index d76df6d87d..d76df6d87d 100644
--- a/patches/api/0373-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/api/0372-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/api/0374-Elder-Guardian-appearance-API.patch b/patches/api/0373-Elder-Guardian-appearance-API.patch
index 3490b6d5db..3490b6d5db 100644
--- a/patches/api/0374-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0373-Elder-Guardian-appearance-API.patch
diff --git a/patches/api/0375-Allow-changing-bed-s-occupied-property.patch b/patches/api/0374-Allow-changing-bed-s-occupied-property.patch
index 8dfafd6d33..8dfafd6d33 100644
--- a/patches/api/0375-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/api/0374-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0375-Add-EquipmentSlot-convenience-methods.patch
index 14a97a21b4..f7e2301f31 100644
--- a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch
+++ b/patches/api/0375-Add-EquipmentSlot-convenience-methods.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add EquipmentSlot convenience methods
diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlot.java b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
-index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..a10d56b797e58b56bd4cef6de40691f7eac9b5b1 100644
+index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..c1c69ba4c361740f0ad422a7840a7f0f055c186a 100644
--- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java
+++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
@@ -33,4 +33,42 @@ public enum EquipmentSlot {
diff --git a/patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
index fc814196e7..fc814196e7 100644
--- a/patches/api/0377-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
+++ b/patches/api/0376-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
diff --git a/patches/api/0378-Add-entity-knockback-API.patch b/patches/api/0377-Add-entity-knockback-API.patch
index b8c91440f6..b8c91440f6 100644
--- a/patches/api/0378-Add-entity-knockback-API.patch
+++ b/patches/api/0377-Add-entity-knockback-API.patch
diff --git a/patches/api/0379-Added-EntityToggleSitEvent.patch b/patches/api/0378-Added-EntityToggleSitEvent.patch
index d5a8c46dc8..d5a8c46dc8 100644
--- a/patches/api/0379-Added-EntityToggleSitEvent.patch
+++ b/patches/api/0378-Added-EntityToggleSitEvent.patch
diff --git a/patches/api/0380-Add-Moving-Piston-API.patch b/patches/api/0379-Add-Moving-Piston-API.patch
index 8f889f1e3d..8f889f1e3d 100644
--- a/patches/api/0380-Add-Moving-Piston-API.patch
+++ b/patches/api/0379-Add-Moving-Piston-API.patch
diff --git a/patches/api/0381-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0380-Add-PrePlayerAttackEntityEvent.patch
index ac0ebedde7..ac0ebedde7 100644
--- a/patches/api/0381-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/api/0380-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/api/0382-Add-Player-Warden-Warning-API.patch b/patches/api/0381-Add-Player-Warden-Warning-API.patch
index 42426a3ae4..42426a3ae4 100644
--- a/patches/api/0382-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0381-Add-Player-Warden-Warning-API.patch
diff --git a/patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch
index f13fdb5601..f13fdb5601 100644
--- a/patches/api/0383-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/api/0382-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/api/0384-Add-paper-dumplisteners-command.patch b/patches/api/0383-Add-paper-dumplisteners-command.patch
index a5d858851f..a5d858851f 100644
--- a/patches/api/0384-Add-paper-dumplisteners-command.patch
+++ b/patches/api/0383-Add-paper-dumplisteners-command.patch
diff --git a/patches/api/0385-ItemStack-damage-API.patch b/patches/api/0384-ItemStack-damage-API.patch
index ba61a1c399..6e2001f976 100644
--- a/patches/api/0385-ItemStack-damage-API.patch
+++ b/patches/api/0384-ItemStack-damage-API.patch
@@ -66,10 +66,10 @@ index 6bfc8a2148f504370df938447f4f6b757f1a516b..208bab1f5a3200f54141c38ee4272629
+ // Paper end - ItemStack damage API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 7eb4cf0b2f162d650252d81e9d38393f69a69046..6195ac25e7a46542659a263c85f7adac745c2ce4 100644
+index 105cf1bf6e8b44846cdd3a8881fed36007daaa22..ee5d2a30f634ccbe6f2cc2f82f9e56783939f5dd 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -987,5 +987,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -993,5 +993,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public boolean canRepair(@NotNull ItemStack toBeRepaired) {
return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this);
}
diff --git a/patches/api/0386-Add-Tick-TemporalUnit.patch b/patches/api/0385-Add-Tick-TemporalUnit.patch
index 562eb00082..562eb00082 100644
--- a/patches/api/0386-Add-Tick-TemporalUnit.patch
+++ b/patches/api/0385-Add-Tick-TemporalUnit.patch
diff --git a/patches/api/0387-Friction-API.patch b/patches/api/0386-Friction-API.patch
index 4aab88652e..4aab88652e 100644
--- a/patches/api/0387-Friction-API.patch
+++ b/patches/api/0386-Friction-API.patch
diff --git a/patches/api/0388-Player-Entity-Tracking-Events.patch b/patches/api/0387-Player-Entity-Tracking-Events.patch
index 3dfa72c922..3dfa72c922 100644
--- a/patches/api/0388-Player-Entity-Tracking-Events.patch
+++ b/patches/api/0387-Player-Entity-Tracking-Events.patch
diff --git a/patches/api/0389-Add-missing-Fluid-type.patch b/patches/api/0388-Add-missing-Fluid-type.patch
index c260bf8497..c260bf8497 100644
--- a/patches/api/0389-Add-missing-Fluid-type.patch
+++ b/patches/api/0388-Add-missing-Fluid-type.patch
diff --git a/patches/api/0390-fix-Instruments.patch b/patches/api/0389-fix-Instruments.patch
index 468dc80a34..468dc80a34 100644
--- a/patches/api/0390-fix-Instruments.patch
+++ b/patches/api/0389-fix-Instruments.patch
diff --git a/patches/api/0391-Add-BlockLockCheckEvent.patch b/patches/api/0390-Add-BlockLockCheckEvent.patch
index c5d560192c..c5d560192c 100644
--- a/patches/api/0391-Add-BlockLockCheckEvent.patch
+++ b/patches/api/0390-Add-BlockLockCheckEvent.patch
diff --git a/patches/api/0392-Add-Sneaking-API-for-Entities.patch b/patches/api/0391-Add-Sneaking-API-for-Entities.patch
index 3f8d4c724f..3f8d4c724f 100644
--- a/patches/api/0392-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0391-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/api/0393-Improve-PortalEvents.patch b/patches/api/0392-Improve-PortalEvents.patch
index f7f53b19fc..f7f53b19fc 100644
--- a/patches/api/0393-Improve-PortalEvents.patch
+++ b/patches/api/0392-Improve-PortalEvents.patch
diff --git a/patches/api/0395-Flying-Fall-Damage-API.patch b/patches/api/0393-Flying-Fall-Damage-API.patch
index b38eb93f1c..b38eb93f1c 100644
--- a/patches/api/0395-Flying-Fall-Damage-API.patch
+++ b/patches/api/0393-Flying-Fall-Damage-API.patch
diff --git a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch b/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch
deleted file mode 100644
index 88530a6a65..0000000000
--- a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Fri, 22 Oct 2021 16:24:17 -0700
-Subject: [PATCH] Add exploded block state to EntityDamageByBlockEvent
-
-
-diff --git a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
-index 8309b030c2120f1496d244f3ebc1094def41c869..a7c297364805c58ae16895055d8eae0484384b7d 100644
---- a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
-+++ b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java
-@@ -32,6 +32,7 @@ public class BlockExplodeEvent extends BlockEvent implements Cancellable {
- this.cancel = false;
- }
-
-+ @io.papermc.paper.annotation.DoNotUse // Paper
- @Deprecated(forRemoval = true)
- public BlockExplodeEvent(@NotNull final Block what, @NotNull final List<Block> blocks, final float yield) {
- this(what, what.getState(), blocks, yield);
-diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-index 467a0d6cabc5e860628be3b1e62de773efde5d2e..1fb15e2ade8ff3c4d662eca87b078b4577f786e1 100644
---- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java
-@@ -11,28 +11,35 @@ import org.jetbrains.annotations.Nullable;
-
- /**
- * Called when an entity is damaged by a block
-+ * <p>
-+ * For explosions, the Block returned by {@link #getDamager()} has
-+ * already been cleared. See {@link #getDamagerBlockState()} for a snapshot
-+ * of the block if it has already been changed.
- */
- public class EntityDamageByBlockEvent extends EntityDamageEvent {
- private final Block damager;
-+ private final org.bukkit.block.BlockState damagerBlockState; // Paper
-
- @Deprecated(forRemoval = true)
- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) {
-- this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), damage);
-+ this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), damage, null); // Paper
- }
-
-- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) {
-+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper
- super(damagee, cause, damageSource, damage);
- this.damager = damager;
-+ this.damagerBlockState = damagerBlockState; // Paper
- }
-
- @Deprecated(forRemoval = true)
- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
-- this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), modifiers, modifierFunctions);
-+ this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), modifiers, modifierFunctions, null); // Paper
- }
-
-- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
-+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper
- super(damagee, cause, damageSource, modifiers, modifierFunctions);
- this.damager = damager;
-+ this.damagerBlockState = damagerBlockState; // Paper
- }
-
- /**
-@@ -44,4 +51,20 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
- public Block getDamager() {
- return damager;
- }
-+
-+ // Paper start
-+ /**
-+ * Get a capture of the block that directly caused
-+ * the damage, like a bed or respawn anchor. This
-+ * block state is not placed so {@link org.bukkit.block.BlockState#isPlaced}
-+ * will be false.
-+ * <p>
-+ * Can be null if the block wasn't changed before the event
-+ *
-+ * @return the damager block state or null if not applicable
-+ */
-+ public @Nullable org.bukkit.block.BlockState getDamagerBlockState() {
-+ return this.damagerBlockState;
-+ }
-+ // Paper end
- }
diff --git a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0394-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
index b8287d2850..b8287d2850 100644
--- a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
+++ b/patches/api/0394-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
diff --git a/patches/api/0397-Win-Screen-API.patch b/patches/api/0395-Win-Screen-API.patch
index 05fbb589d3..05fbb589d3 100644
--- a/patches/api/0397-Win-Screen-API.patch
+++ b/patches/api/0395-Win-Screen-API.patch
diff --git a/patches/api/0398-Add-Entity-Body-Yaw-API.patch b/patches/api/0396-Add-Entity-Body-Yaw-API.patch
index d1d983e166..d1d983e166 100644
--- a/patches/api/0398-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0396-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0397-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
index c375206bf7..c375206bf7 100644
--- a/patches/api/0399-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
+++ b/patches/api/0397-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
diff --git a/patches/api/0400-Add-EntityFertilizeEggEvent.patch b/patches/api/0398-Add-EntityFertilizeEggEvent.patch
index 4ae6ff9f0f..4ae6ff9f0f 100644
--- a/patches/api/0400-Add-EntityFertilizeEggEvent.patch
+++ b/patches/api/0398-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0399-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 9dee250212..9dee250212 100644
--- a/patches/api/0401-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/api/0399-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/api/0402-Add-Shearable-API.patch b/patches/api/0400-Add-Shearable-API.patch
index 19ef9a4a36..19ef9a4a36 100644
--- a/patches/api/0402-Add-Shearable-API.patch
+++ b/patches/api/0400-Add-Shearable-API.patch
diff --git a/patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0401-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 27abcd1f93..27abcd1f93 100644
--- a/patches/api/0403-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/api/0401-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/api/0404-Add-Mob-Experience-reward-API.patch b/patches/api/0402-Add-Mob-Experience-reward-API.patch
index 2e3a09921e..2e3a09921e 100644
--- a/patches/api/0404-Add-Mob-Experience-reward-API.patch
+++ b/patches/api/0402-Add-Mob-Experience-reward-API.patch
diff --git a/patches/api/0405-Expand-PlayerItemMendEvent.patch b/patches/api/0403-Expand-PlayerItemMendEvent.patch
index 223922e05e..223922e05e 100644
--- a/patches/api/0405-Expand-PlayerItemMendEvent.patch
+++ b/patches/api/0403-Expand-PlayerItemMendEvent.patch
diff --git a/patches/api/0406-Add-transient-modifier-API.patch b/patches/api/0404-Add-transient-modifier-API.patch
index a32e4c86a9..a32e4c86a9 100644
--- a/patches/api/0406-Add-transient-modifier-API.patch
+++ b/patches/api/0404-Add-transient-modifier-API.patch
diff --git a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0405-Properly-remove-the-experimental-smithing-inventory-.patch
index 3f9c7d07ec..3f9c7d07ec 100644
--- a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/api/0405-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0406-Add-method-to-remove-all-active-potion-effects.patch
index 65345ce8c8..65345ce8c8 100644
--- a/patches/api/0408-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/api/0406-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/api/0409-Folia-scheduler-and-owned-region-API.patch b/patches/api/0407-Folia-scheduler-and-owned-region-API.patch
index cd1049c172..cd1049c172 100644
--- a/patches/api/0409-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0407-Folia-scheduler-and-owned-region-API.patch
diff --git a/patches/api/0410-Add-event-for-player-editing-sign.patch b/patches/api/0408-Add-event-for-player-editing-sign.patch
index b534aebde9..b534aebde9 100644
--- a/patches/api/0410-Add-event-for-player-editing-sign.patch
+++ b/patches/api/0408-Add-event-for-player-editing-sign.patch
diff --git a/patches/api/0411-Add-Sign-getInteractableSideFor.patch b/patches/api/0409-Add-Sign-getInteractableSideFor.patch
index 1e085323ca..1e085323ca 100644
--- a/patches/api/0411-Add-Sign-getInteractableSideFor.patch
+++ b/patches/api/0409-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/api/0412-Fix-BanList-API.patch b/patches/api/0410-Fix-BanList-API.patch
index 911f301327..911f301327 100644
--- a/patches/api/0412-Fix-BanList-API.patch
+++ b/patches/api/0410-Fix-BanList-API.patch
diff --git a/patches/api/0413-Add-whitelist-events.patch b/patches/api/0411-Add-whitelist-events.patch
index 75458e78df..75458e78df 100644
--- a/patches/api/0413-Add-whitelist-events.patch
+++ b/patches/api/0411-Add-whitelist-events.patch
diff --git a/patches/api/0414-API-for-updating-recipes-on-clients.patch b/patches/api/0412-API-for-updating-recipes-on-clients.patch
index 60f206a340..1eb7bb0fc2 100644
--- a/patches/api/0414-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0412-API-for-updating-recipes-on-clients.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index e4f3f621c4c6d2653770c149db71587fc04e0991..b5455d03761ced30c94719deeee6788d7c6a8fb7 100644
+index 91476b9e5238caf49492cb23b549c9df6a45ed3e..d6be967c2fd480547bf9eb3938ca147382f835da 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -992,6 +992,26 @@ public final class Bukkit {
@@ -82,7 +82,7 @@ index e4f3f621c4c6d2653770c149db71587fc04e0991..b5455d03761ced30c94719deeee6788d
* Gets a list of command aliases defined in the server properties.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 63cbc38217865be8f79890a0d8d6143461d344f3..c0ebbca69775775af22cf2c31b1516e5bf18df4a 100644
+index 954c8422567edcf6bf6db153b65dad776eea654f..8029aef07eb66989d61a8cce3fb98159c4bc2b89 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -838,6 +838,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0415-Add-PlayerFailMoveEvent.patch b/patches/api/0413-Add-PlayerFailMoveEvent.patch
index c0687e2ae0..c0687e2ae0 100644
--- a/patches/api/0415-Add-PlayerFailMoveEvent.patch
+++ b/patches/api/0413-Add-PlayerFailMoveEvent.patch
diff --git a/patches/api/0416-Fix-custom-statistic-criteria-creation.patch b/patches/api/0414-Fix-custom-statistic-criteria-creation.patch
index f8da658f51..bbfdc162d8 100644
--- a/patches/api/0416-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0414-Fix-custom-statistic-criteria-creation.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 5d862c9221d1ce6d577295a5181f951c2f71a631..e19434a0f5065987be087b6bd531c88be33d2917 100644
+index c49f73355da362abb1c0e52f867dcfad8d4680f3..289346bcd0ef42cfaf2afc270eeb7525e520ce80 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -247,5 +247,7 @@ public interface UnsafeValues {
+@@ -256,5 +256,7 @@ public interface UnsafeValues {
* @throws IllegalStateException if no biome by the given key is registered.
*/
void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey);
diff --git a/patches/api/0417-SculkCatalyst-bloom-API.patch b/patches/api/0415-SculkCatalyst-bloom-API.patch
index 49d8c8c2bd..49d8c8c2bd 100644
--- a/patches/api/0417-SculkCatalyst-bloom-API.patch
+++ b/patches/api/0415-SculkCatalyst-bloom-API.patch
diff --git a/patches/api/0418-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0416-API-for-an-entity-s-scoreboard-name.patch
index 9820a1a54f..9820a1a54f 100644
--- a/patches/api/0418-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/api/0416-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0417-Deprecate-and-replace-methods-with-old-StructureType.patch
index 77b0ffe0a4..b9b94d0f4b 100644
--- a/patches/api/0419-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0417-Deprecate-and-replace-methods-with-old-StructureType.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index b5455d03761ced30c94719deeee6788d7c6a8fb7..c9fbbf0287cd663080fc09ac83b439780cbfae85 100644
+index d6be967c2fd480547bf9eb3938ca147382f835da..81203ad1460f3b64413a8426fb58a051b7d78f03 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -937,9 +937,6 @@ public final class Bukkit {
@@ -84,7 +84,7 @@ index b5455d03761ced30c94719deeee6788d7c6a8fb7..c9fbbf0287cd663080fc09ac83b43978
/**
* Reloads the server, refreshing settings and plugin information.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c0ebbca69775775af22cf2c31b1516e5bf18df4a..c8395c8707e696f1e6fc8b0fd03f07203e01c157 100644
+index 8029aef07eb66989d61a8cce3fb98159c4bc2b89..dc985b54e1582629dffeebc56152eedaedae56d3 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -802,16 +802,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0420-Add-Listing-API-for-Player.patch b/patches/api/0418-Add-Listing-API-for-Player.patch
index 94d5892bd0..94d5892bd0 100644
--- a/patches/api/0420-Add-Listing-API-for-Player.patch
+++ b/patches/api/0418-Add-Listing-API-for-Player.patch
diff --git a/patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0419-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index 34d1940866..34d1940866 100644
--- a/patches/api/0421-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/api/0419-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/api/0422-Fix-NPE-on-Boat-getStatus.patch b/patches/api/0420-Fix-NPE-on-Boat-getStatus.patch
index 1cf6096a92..1cf6096a92 100644
--- a/patches/api/0422-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/api/0420-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/api/0423-Expand-Pose-API.patch b/patches/api/0421-Expand-Pose-API.patch
index b6d907acb4..b6d907acb4 100644
--- a/patches/api/0423-Expand-Pose-API.patch
+++ b/patches/api/0421-Expand-Pose-API.patch
diff --git a/patches/api/0424-MerchantRecipe-add-copy-constructor.patch b/patches/api/0422-MerchantRecipe-add-copy-constructor.patch
index 1c5ba2803c..1c5ba2803c 100644
--- a/patches/api/0424-MerchantRecipe-add-copy-constructor.patch
+++ b/patches/api/0422-MerchantRecipe-add-copy-constructor.patch
diff --git a/patches/api/0425-More-DragonBattle-API.patch b/patches/api/0423-More-DragonBattle-API.patch
index e25208ec19..e25208ec19 100644
--- a/patches/api/0425-More-DragonBattle-API.patch
+++ b/patches/api/0423-More-DragonBattle-API.patch
diff --git a/patches/api/0426-Add-PlayerPickItemEvent.patch b/patches/api/0424-Add-PlayerPickItemEvent.patch
index 6dd0be80a8..6dd0be80a8 100644
--- a/patches/api/0426-Add-PlayerPickItemEvent.patch
+++ b/patches/api/0424-Add-PlayerPickItemEvent.patch
diff --git a/patches/api/0427-Allow-trident-custom-damage.patch b/patches/api/0425-Allow-trident-custom-damage.patch
index 870b735548..870b735548 100644
--- a/patches/api/0427-Allow-trident-custom-damage.patch
+++ b/patches/api/0425-Allow-trident-custom-damage.patch
diff --git a/patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0426-Expose-hand-during-BlockCanBuildEvent.patch
index 97d99a40d2..97d99a40d2 100644
--- a/patches/api/0428-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/api/0426-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch b/patches/api/0427-Limit-setBurnTime-to-valid-short-values.patch
index 2faac56fd8..2faac56fd8 100644
--- a/patches/api/0429-Limit-setBurnTime-to-valid-short-values.patch
+++ b/patches/api/0427-Limit-setBurnTime-to-valid-short-values.patch
diff --git a/patches/api/0430-Add-OfflinePlayer-isConnected.patch b/patches/api/0428-Add-OfflinePlayer-isConnected.patch
index fad59b6a54..fad59b6a54 100644
--- a/patches/api/0430-Add-OfflinePlayer-isConnected.patch
+++ b/patches/api/0428-Add-OfflinePlayer-isConnected.patch
diff --git a/patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/api/0429-Add-titleOverride-to-InventoryOpenEvent.patch
index 68e755f010..68e755f010 100644
--- a/patches/api/0431-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/api/0429-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0430-Allow-proper-checking-of-empty-item-stacks.patch
index 4b2d49be32..a77293644e 100644
--- a/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/api/0430-Allow-proper-checking-of-empty-item-stacks.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow proper checking of empty item stacks
This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method.
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 6195ac25e7a46542659a263c85f7adac745c2ce4..7cecb04de7d55dcdec1fa3dd255c844e92b1abdb 100644
+index ee5d2a30f634ccbe6f2cc2f82f9e56783939f5dd..e4dc17ec23d48591ff5742af5d23aa62bd9bfdbc 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -1001,5 +1001,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -1007,5 +1007,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull ItemStack damage(int amount, @NotNull org.bukkit.entity.LivingEntity livingEntity) {
return livingEntity.damageItemStack(this, amount);
}
diff --git a/patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch b/patches/api/0431-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
index e72f86be5d..e72f86be5d 100644
--- a/patches/api/0433-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
+++ b/patches/api/0431-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
diff --git a/patches/api/0434-Add-player-idle-duration-API.patch b/patches/api/0432-Add-player-idle-duration-API.patch
index 41b55311ed..41b55311ed 100644
--- a/patches/api/0434-Add-player-idle-duration-API.patch
+++ b/patches/api/0432-Add-player-idle-duration-API.patch
diff --git a/patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/api/0433-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 0481690ad4..0481690ad4 100644
--- a/patches/api/0435-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/api/0433-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0434-Add-predicate-for-blocks-when-raytracing.patch
index c212167a42..c212167a42 100644
--- a/patches/api/0436-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0434-Add-predicate-for-blocks-when-raytracing.patch
diff --git a/patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/api/0435-Add-hand-to-fish-event-for-all-player-interactions.patch
index b431332b9a..b431332b9a 100644
--- a/patches/api/0437-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/api/0435-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/api/0438-Add-UUID-attribute-modifier-API.patch b/patches/api/0436-Add-UUID-attribute-modifier-API.patch
index 251ae6e425..251ae6e425 100644
--- a/patches/api/0438-Add-UUID-attribute-modifier-API.patch
+++ b/patches/api/0436-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/api/0439-Expand-LingeringPotion-API.patch b/patches/api/0437-Expand-LingeringPotion-API.patch
index 40b5a5f547..40b5a5f547 100644
--- a/patches/api/0439-Expand-LingeringPotion-API.patch
+++ b/patches/api/0437-Expand-LingeringPotion-API.patch
diff --git a/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0438-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
index 4974a88a57..2eed94d07c 100644
--- a/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
+++ b/patches/api/0438-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
@@ -9,10 +9,10 @@ By removing this check we avoid unnecessarily allocating useless `ItemMeta` obje
This is a leftover from when checking for the item's durability was "free" because the durability was stored in the `ItemStack` itself, this [was changed in Minecraft 1.13](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/f8b2086d60942eb2cd7ac25a2a1408cb790c222c#src/main/java/org/bukkit/inventory/ItemStack.java).
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 7cecb04de7d55dcdec1fa3dd255c844e92b1abdb..a1d0e479b9f28378f858f86ba8b0e9b7ddf71446 100644
+index e4dc17ec23d48591ff5742af5d23aa62bd9bfdbc..8975f6e8004d2ed65e20bb5b71bdbfa45713f78a 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -298,7 +298,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -300,7 +300,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return true;
}
Material comparisonType = (this.type.isLegacy()) ? Bukkit.getUnsafe().fromLegacy(this.getData(), true) : this.type; // This may be called from legacy item stacks, try to get the right material
diff --git a/patches/api/0441-Add-Structure-check-API.patch b/patches/api/0439-Add-Structure-check-API.patch
index 4c0756c86e..4c0756c86e 100644
--- a/patches/api/0441-Add-Structure-check-API.patch
+++ b/patches/api/0439-Add-Structure-check-API.patch
diff --git a/patches/api/0442-add-missing-Experimental-annotations.patch b/patches/api/0440-add-missing-Experimental-annotations.patch
index 0f29e5ede8..343675b768 100644
--- a/patches/api/0442-add-missing-Experimental-annotations.patch
+++ b/patches/api/0440-add-missing-Experimental-annotations.patch
@@ -27,10 +27,10 @@ index 6b68c92ec894451d99ded3e3df5965cb31d68ed2..fd5e433f930963c102c9c977523a0036
public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21"));
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
-index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511cb07d5e66 100644
+index 4ad5f2d40c10e7b059a9096dcc6a3b0b618411a0..81f9ad99699a78b97e4accaaf1a98eacf29493ce 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
-@@ -148,54 +148,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -151,54 +151,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Slab}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -98,7 +98,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
CHISELED_TUFF_BRICKS(8601),
DRIPSTONE_BLOCK(26227),
/**
-@@ -302,6 +315,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -305,6 +318,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Waterlogged}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -106,7 +106,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
HEAVY_CORE(15788, Waterlogged.class),
AMETHYST_BLOCK(18919),
BUDDING_AMETHYST(13963),
-@@ -314,12 +328,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -317,12 +331,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
WEATHERED_COPPER(19699),
OXIDIZED_COPPER(19490),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -123,7 +123,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
OXIDIZED_CHISELED_COPPER(27719),
CUT_COPPER(32519),
EXPOSED_CUT_COPPER(18000),
-@@ -362,12 +380,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -365,12 +383,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
WAXED_WEATHERED_COPPER(5960),
WAXED_OXIDIZED_COPPER(25626),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -140,7 +140,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
WAXED_OXIDIZED_CHISELED_COPPER(7735),
WAXED_CUT_COPPER(11030),
WAXED_EXPOSED_CUT_COPPER(30043),
-@@ -2109,41 +2131,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2112,41 +2134,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Door}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -190,7 +190,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
WAXED_OXIDIZED_COPPER_DOOR(23888, Door.class),
/**
* BlockData: {@link TrapDoor}
-@@ -2197,41 +2227,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2200,41 +2230,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link TrapDoor}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -240,7 +240,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
WAXED_OXIDIZED_COPPER_TRAPDOOR(21450, TrapDoor.class),
/**
* BlockData: {@link Gate}
-@@ -2533,6 +2571,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2536,6 +2574,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
EGG(21603, 16),
COMPASS(24139),
RECOVERY_COMPASS(12710),
@@ -249,7 +249,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
BUNDLE(16835, 1),
FISHING_ROD(4167, 1, 64),
CLOCK(14980),
-@@ -2639,6 +2679,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2642,6 +2682,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Crafter}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -257,7 +257,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
CRAFTER(25243, Crafter.class),
FILLED_MAP(23504),
SHEARS(27971, 1, 238),
-@@ -2679,8 +2720,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2682,8 +2723,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
BEE_SPAWN_EGG(22924),
BLAZE_SPAWN_EGG(4759),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -268,7 +268,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
BREEZE_SPAWN_EGG(7580),
CAT_SPAWN_EGG(29583),
CAMEL_SPAWN_EGG(14760),
-@@ -2757,10 +2800,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2760,10 +2803,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
EXPERIENCE_BOTTLE(12858),
FIRE_CHARGE(4842),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -281,7 +281,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
MACE(4771, 1, 250),
ITEM_FRAME(27318),
GLOW_ITEM_FRAME(26473),
-@@ -2938,7 +2983,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -2941,7 +2986,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
MOJANG_BANNER_PATTERN(11903, 1),
GLOBE_BANNER_PATTERN(27753, 1),
PIGLIN_BANNER_PATTERN(22028, 1),
@@ -293,7 +293,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
GUSTER_BANNER_PATTERN(27267, 1),
GOAT_HORN(28237, 1),
/**
-@@ -3159,8 +3208,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -3162,8 +3211,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116),
HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -304,7 +304,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
BOLT_ARMOR_TRIM_SMITHING_TEMPLATE(9698),
ANGLER_POTTERY_SHERD(9952),
ARCHER_POTTERY_SHERD(21629),
-@@ -3171,9 +3222,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -3174,9 +3225,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
DANGER_POTTERY_SHERD(30506),
EXPLORER_POTTERY_SHERD(5124),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -316,7 +316,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
GUSTER_POTTERY_SHERD(28193),
HEART_POTTERY_SHERD(17607),
HEARTBREAK_POTTERY_SHERD(21108),
-@@ -3183,6 +3236,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -3186,6 +3239,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
PLENTY_POTTERY_SHERD(28236),
PRIZE_POTTERY_SHERD(4341),
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -324,7 +324,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
SCRAPE_POTTERY_SHERD(30034),
SHEAF_POTTERY_SHERD(23652),
SHELTER_POTTERY_SHERD(28390),
-@@ -3192,99 +3246,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
+@@ -3195,99 +3249,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Waterlogged}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@@ -447,7 +447,7 @@ index 1ca448c9e3a3178663a033617d9414ec085c246a..7a337fe908915f8ea487a0b9236c511c
/**
* BlockData: {@link Levelled}
diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java
-index b0ccd263cabe911d43cc13261011b64cacaeb7bb..82d75010cc86bbbbb9c094c2bac5e570c98582c9 100644
+index c5e3a8143a166d426d87fa3d0f0b3d4f3d4bff1a..50cc7a920bab32264d77f30d3af986b02229c749 100644
--- a/src/main/java/org/bukkit/Particle.java
+++ b/src/main/java/org/bukkit/Particle.java
@@ -130,33 +130,46 @@ public enum Particle implements Keyed {
@@ -860,7 +860,7 @@ index 375172e05a78611deb3003f780867516cb6cd1a4..e31e7b6624ff9da7bec5d3b0548a4fa3
MUSIC_CREATIVE("music.creative"),
MUSIC_CREDITS("music.credits"),
diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java
-index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..5ec7f1cae36189989db0a66ee05c22035e7daf7c 100644
+index eaec13dbe7be4dd6c5faa97c413e24d6e77cef62..4b037863bde8e3a167cfd94b0df0b357025dcf27 100644
--- a/src/main/java/org/bukkit/Tag.java
+++ b/src/main/java/org/bukkit/Tag.java
@@ -770,6 +770,8 @@ public interface Tag<T extends Keyed> extends Keyed {
@@ -872,7 +872,7 @@ index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..5ec7f1cae36189989db0a66ee05c2203
Tag<Material> BLOCKS_WIND_CHARGE_EXPLOSIONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("blocks_wind_charge_explosions"), Material.class);
/**
* Vanilla block tag representing solid blocks which do not block hopper operation.
-@@ -1141,6 +1143,8 @@ public interface Tag<T extends Keyed> extends Keyed {
+@@ -1146,6 +1148,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla item tag representing all items enchantable with mace enchantments.
*/
@@ -881,7 +881,7 @@ index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..5ec7f1cae36189989db0a66ee05c2203
Tag<Material> ITEMS_ENCHANTABLE_MACE = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("enchantable/mace"), Material.class);
/**
* Vanilla item tag representing all items that confer freeze immunity on
-@@ -1234,6 +1238,8 @@ public interface Tag<T extends Keyed> extends Keyed {
+@@ -1239,6 +1243,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla tag representing entities which deflect projectiles.
*/
@@ -890,7 +890,7 @@ index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..5ec7f1cae36189989db0a66ee05c2203
Tag<EntityType> ENTITY_TYPES_DEFLECTS_PROJECTILES = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("deflects_projectiles"), EntityType.class);
/**
* Vanilla tag representing entities which deflect arrows.
-@@ -1244,6 +1250,8 @@ public interface Tag<T extends Keyed> extends Keyed {
+@@ -1249,6 +1255,8 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla tag representing entities which can turn in boats.
*/
@@ -899,7 +899,7 @@ index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..5ec7f1cae36189989db0a66ee05c2203
Tag<EntityType> ENTITY_TYPES_CAN_TURN_IN_BOATS = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("can_turn_in_boats"), EntityType.class);
/**
* Vanilla tag representing all entities sensitive to illager enchantments.
-@@ -1292,14 +1300,20 @@ public interface Tag<T extends Keyed> extends Keyed {
+@@ -1297,14 +1305,20 @@ public interface Tag<T extends Keyed> extends Keyed {
/**
* Vanilla tag representing all entities which do not receive anger from wind charges.
*/
diff --git a/patches/api/0443-Add-more-scoreboard-API.patch b/patches/api/0441-Add-more-scoreboard-API.patch
index 201af36b0c..201af36b0c 100644
--- a/patches/api/0443-Add-more-scoreboard-API.patch
+++ b/patches/api/0441-Add-more-scoreboard-API.patch
diff --git a/patches/api/0444-Improve-Registry.patch b/patches/api/0442-Improve-Registry.patch
index 61744f44e9..aa0646669b 100644
--- a/patches/api/0444-Improve-Registry.patch
+++ b/patches/api/0442-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 9a8be5c730802e5750de1fc31e65f254f5894e63..0f7f23738c57ebe37846714159bb49e5b61e9f3d 100644
+index f301f81817409f0a6799885d4f0972ed9bf3e4df..88bb3b9ae99fae97ec21972b75ec43cb6b7b22b5 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -335,6 +335,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -353,6 +353,49 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
@Nullable
T get(@NotNull NamespacedKey key);
@@ -84,9 +84,9 @@ index 9a8be5c730802e5750de1fc31e65f254f5894e63..0f7f23738c57ebe37846714159bb49e5
/**
* Returns a new stream, which contains all registry items, which are registered to the registry.
*
-@@ -401,5 +444,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
- public Iterator<T> iterator() {
- return map.values().iterator();
+@@ -427,5 +470,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ public Class<T> getType() {
+ return this.type;
}
+
+ // Paper start - improve Registry
diff --git a/patches/api/0445-Add-experience-points-API.patch b/patches/api/0443-Add-experience-points-API.patch
index a0add5e837..a0add5e837 100644
--- a/patches/api/0445-Add-experience-points-API.patch
+++ b/patches/api/0443-Add-experience-points-API.patch
diff --git a/patches/api/0446-Add-missing-InventoryType.patch b/patches/api/0444-Add-missing-InventoryType.patch
index 9c578e05a4..9c578e05a4 100644
--- a/patches/api/0446-Add-missing-InventoryType.patch
+++ b/patches/api/0444-Add-missing-InventoryType.patch
diff --git a/patches/api/0447-Add-drops-to-shear-events.patch b/patches/api/0445-Add-drops-to-shear-events.patch
index c87460e48d..c87460e48d 100644
--- a/patches/api/0447-Add-drops-to-shear-events.patch
+++ b/patches/api/0445-Add-drops-to-shear-events.patch
diff --git a/patches/api/0448-Add-HiddenPotionEffect-API.patch b/patches/api/0446-Add-HiddenPotionEffect-API.patch
index 30a7bc6c0e..8ac61db064 100644
--- a/patches/api/0448-Add-HiddenPotionEffect-API.patch
+++ b/patches/api/0446-Add-HiddenPotionEffect-API.patch
@@ -29,10 +29,10 @@ index 5f070c7563151c40cf4d691fc2a10d8a2766982a..b777e530122549455dcce6fac8d4a151
* @param effects the effects to add
* @return whether all of the effects could be added
diff --git a/src/main/java/org/bukkit/potion/PotionEffect.java b/src/main/java/org/bukkit/potion/PotionEffect.java
-index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703c7f1c66b 100644
+index 575156c089e45a3d6a43ca6b7adfbc7b473a60ab..704b6d615e7490d433b703f5a6a8d3c40aa6425e 100644
--- a/src/main/java/org/bukkit/potion/PotionEffect.java
+++ b/src/main/java/org/bukkit/potion/PotionEffect.java
-@@ -26,6 +26,7 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -28,6 +28,7 @@ public class PotionEffect implements ConfigurationSerializable {
*/
public static final int INFINITE_DURATION = -1;
@@ -40,7 +40,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
private static final String AMPLIFIER = "amplifier";
private static final String DURATION = "duration";
private static final String TYPE = "effect";
-@@ -38,6 +39,7 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -40,6 +41,7 @@ public class PotionEffect implements ConfigurationSerializable {
private final boolean ambient;
private final boolean particles;
private final boolean icon;
@@ -48,7 +48,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
/**
* Creates a potion effect.
-@@ -48,8 +50,11 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -50,8 +52,11 @@ public class PotionEffect implements ConfigurationSerializable {
* @param ambient the ambient status, see {@link PotionEffect#isAmbient()}
* @param particles the particle status, see {@link PotionEffect#hasParticles()}
* @param icon the icon status, see {@link PotionEffect#hasIcon()}
@@ -61,7 +61,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
Preconditions.checkArgument(type != null, "effect type cannot be null");
this.type = type;
this.duration = duration;
-@@ -57,6 +62,23 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -59,6 +64,23 @@ public class PotionEffect implements ConfigurationSerializable {
this.ambient = ambient;
this.particles = particles;
this.icon = icon;
@@ -85,7 +85,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
}
/**
-@@ -104,7 +126,7 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -106,7 +128,7 @@ public class PotionEffect implements ConfigurationSerializable {
* @param map the map to deserialize from
*/
public PotionEffect(@NotNull Map<String, Object> map) {
@@ -94,7 +94,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
}
// Paper start
-@@ -132,6 +154,19 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -134,6 +156,19 @@ public class PotionEffect implements ConfigurationSerializable {
public PotionEffect withIcon(boolean icon) {
return new PotionEffect(this.type, duration, amplifier, ambient, particles, icon);
}
@@ -114,7 +114,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
// Paper end
@NotNull
-@@ -169,19 +204,27 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -170,19 +205,27 @@ public class PotionEffect implements ConfigurationSerializable {
@Override
@NotNull
public Map<String, Object> serialize() {
@@ -145,7 +145,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
*
* @param entity The entity to add this effect to
* @return Whether the effect could be added
-@@ -200,7 +243,7 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -201,7 +244,7 @@ public class PotionEffect implements ConfigurationSerializable {
return false;
}
PotionEffect that = (PotionEffect) obj;
@@ -154,7 +154,7 @@ index 037af5fd6d71a526c0e6620f2db0cd6df9625261..c8ab330ef171795d08fa201cf8320703
}
/**
-@@ -305,11 +348,12 @@ public class PotionEffect implements ConfigurationSerializable {
+@@ -306,11 +349,12 @@ public class PotionEffect implements ConfigurationSerializable {
hash ^= 0x22222222 >> (ambient ? 1 : -1);
hash ^= 0x22222222 >> (particles ? 1 : -1);
hash ^= 0x22222222 >> (icon ? 1 : -1);
diff --git a/patches/api/0449-Add-PlayerShieldDisableEvent.patch b/patches/api/0447-Add-PlayerShieldDisableEvent.patch
index 29c7daa0e3..29c7daa0e3 100644
--- a/patches/api/0449-Add-PlayerShieldDisableEvent.patch
+++ b/patches/api/0447-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0448-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
index 93ba48c77c..93ba48c77c 100644
--- a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
+++ b/patches/api/0448-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
diff --git a/patches/api/0451-Add-BlockStateMeta-clearBlockState.patch b/patches/api/0449-Add-BlockStateMeta-clearBlockState.patch
index 1a81132aa8..7e8c47a8e2 100644
--- a/patches/api/0451-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/api/0449-Add-BlockStateMeta-clearBlockState.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockStateMeta#clearBlockState
diff --git a/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
-index e7d905b1146b2bdd2da5bdeb6bf3541fb181d59e..9f08ce5e89ecb4e335f7459a4e600e638e71f963 100644
+index c7d3041221742f6655155f19ef2addcaf2401015..dedb33e3d7f99e12fddba438af0874e6973d9372 100644
--- a/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/BlockStateMeta.java
@@ -14,6 +14,13 @@ public interface BlockStateMeta extends ItemMeta {
diff --git a/patches/api/0452-Expose-LootTable-of-DecoratedPot.patch b/patches/api/0450-Expose-LootTable-of-DecoratedPot.patch
index 42a8de4123..42a8de4123 100644
--- a/patches/api/0452-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/api/0450-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/api/0453-Add-ShulkerDuplicateEvent.patch b/patches/api/0451-Add-ShulkerDuplicateEvent.patch
index a0a81094ce..a0a81094ce 100644
--- a/patches/api/0453-Add-ShulkerDuplicateEvent.patch
+++ b/patches/api/0451-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0452-Add-api-for-spawn-egg-texture-colors.patch
index 6e3d91aff4..082f5a3005 100644
--- a/patches/api/0454-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/api/0452-Add-api-for-spawn-egg-texture-colors.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index e19434a0f5065987be087b6bd531c88be33d2917..80947c6862a906dec9c039b5dff993461d4d831b 100644
+index 289346bcd0ef42cfaf2afc270eeb7525e520ce80..ffb22192e08b9d47ac2667efa0d62a548f14d46b 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -250,4 +250,17 @@ public interface UnsafeValues {
+@@ -259,4 +259,17 @@ public interface UnsafeValues {
String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic);
// Paper end
diff --git a/patches/api/0455-Add-Lifecycle-Event-system.patch b/patches/api/0453-Add-Lifecycle-Event-system.patch
index 4b36ba4885..b40399205b 100644
--- a/patches/api/0455-Add-Lifecycle-Event-system.patch
+++ b/patches/api/0453-Add-Lifecycle-Event-system.patch
@@ -528,10 +528,10 @@ index 0000000000000000000000000000000000000000..304f978e40e1759bb19704cc5cec3995
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 80947c6862a906dec9c039b5dff993461d4d831b..7e6bdf3333537491b3421d196779a4eb502f7314 100644
+index ffb22192e08b9d47ac2667efa0d62a548f14d46b..6b67c32343876f345459300a4bb6b692412bfc52 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -263,4 +263,12 @@ public interface UnsafeValues {
+@@ -272,4 +272,12 @@ public interface UnsafeValues {
*/
@Nullable org.bukkit.Color getSpawnEggLayerColor(org.bukkit.entity.EntityType entityType, int layer);
// Paper end - spawn egg color visibility
diff --git a/patches/api/0456-ItemStack-Tooltip-API.patch b/patches/api/0454-ItemStack-Tooltip-API.patch
index aa6b6ddd15..3983a283cd 100644
--- a/patches/api/0456-ItemStack-Tooltip-API.patch
+++ b/patches/api/0454-ItemStack-Tooltip-API.patch
@@ -108,10 +108,10 @@ index 0000000000000000000000000000000000000000..1d9bed6691f581529c53b577b26f1d0f
+ }
+}
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 7e6bdf3333537491b3421d196779a4eb502f7314..a3ba9249e636d1fb8dad98fab413436009fe04df 100644
+index 6b67c32343876f345459300a4bb6b692412bfc52..0857a65ecbc36e0e4b8a7d0cda52be35f238f660 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
-@@ -271,4 +271,6 @@ public interface UnsafeValues {
+@@ -280,4 +280,6 @@ public interface UnsafeValues {
@org.jetbrains.annotations.ApiStatus.Internal
io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager<org.bukkit.plugin.Plugin> createPluginLifecycleEventManager(final org.bukkit.plugin.java.JavaPlugin plugin, final java.util.function.BooleanSupplier registrationCheck);
// Paper end - lifecycle event API
@@ -119,10 +119,10 @@ index 7e6bdf3333537491b3421d196779a4eb502f7314..a3ba9249e636d1fb8dad98fab4134360
+ @NotNull java.util.List<net.kyori.adventure.text.Component> computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index a1d0e479b9f28378f858f86ba8b0e9b7ddf71446..b669df4bd1ff0ecba575d42415973e81bccddbbe 100644
+index 8975f6e8004d2ed65e20bb5b71bdbfa45713f78a..8db71bd075b8ece36c6f0dc0339841df9257038b 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -1021,4 +1021,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -1027,4 +1027,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return type.isAir() || amount <= 0;
}
// Paper end
@@ -139,7 +139,7 @@ index a1d0e479b9f28378f858f86ba8b0e9b7ddf71446..b669df4bd1ff0ecba575d42415973e81
+ * @return an immutable list of components (can be empty)
+ */
+ @SuppressWarnings("deprecation") // abusing unsafe as a bridge
-+ public @NotNull @org.jetbrains.annotations.Unmodifiable List<net.kyori.adventure.text.Component> computeTooltipLines(final @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, final @Nullable org.bukkit.entity.Player player) {
++ public java.util.@NotNull @org.jetbrains.annotations.Unmodifiable List<net.kyori.adventure.text.Component> computeTooltipLines(final @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, final @Nullable org.bukkit.entity.Player player) {
+ return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player);
+ }
+ // Paper end - expose itemstack tooltip lines
diff --git a/patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0455-Add-getChunkSnapshot-includeLightData-parameter.patch
index 0437924b94..0437924b94 100644
--- a/patches/api/0457-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/api/0455-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/api/0458-Add-FluidState-API.patch b/patches/api/0456-Add-FluidState-API.patch
index 3235c393f5..3235c393f5 100644
--- a/patches/api/0458-Add-FluidState-API.patch
+++ b/patches/api/0456-Add-FluidState-API.patch
diff --git a/patches/api/0459-add-number-format-api.patch b/patches/api/0457-add-number-format-api.patch
index 6d32302ad0..6d32302ad0 100644
--- a/patches/api/0459-add-number-format-api.patch
+++ b/patches/api/0457-add-number-format-api.patch
diff --git a/patches/api/0460-improve-BanList-types.patch b/patches/api/0458-improve-BanList-types.patch
index 2236f8bf3e..cee321426a 100644
--- a/patches/api/0460-improve-BanList-types.patch
+++ b/patches/api/0458-improve-BanList-types.patch
@@ -68,7 +68,7 @@ index a77c0411a68a9bad33ddfb335b7a996a843e478c..0e0baadde9e34d28db56dc68e66aaf66
/**
* Banned player names
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index c9fbbf0287cd663080fc09ac83b439780cbfae85..687bd8f54c9bfb5f5ab1f7ad9d232daf2433cc76 100644
+index 81203ad1460f3b64413a8426fb58a051b7d78f03..5d1b55fdbcbe63f6b42b694d05211a3cc691a09d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1651,11 +1651,27 @@ public final class Bukkit {
@@ -100,7 +100,7 @@ index c9fbbf0287cd663080fc09ac83b439780cbfae85..687bd8f54c9bfb5f5ab1f7ad9d232daf
/**
* Gets a set containing all player operators.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index c8395c8707e696f1e6fc8b0fd03f07203e01c157..27084402cf0e46dcd171074629b7c4156e48aa44 100644
+index dc985b54e1582629dffeebc56152eedaedae56d3..c8595ffcfcbdd79794d464415287d46acef72b72 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1410,10 +1410,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0461-Suspicious-Effect-Entry-API.patch b/patches/api/0459-Suspicious-Effect-Entry-API.patch
index 7c9548be79..7c9548be79 100644
--- a/patches/api/0461-Suspicious-Effect-Entry-API.patch
+++ b/patches/api/0459-Suspicious-Effect-Entry-API.patch
diff --git a/patches/api/0462-Fix-DamageSource-API.patch b/patches/api/0460-Fix-DamageSource-API.patch
index efe4403e2c..efe4403e2c 100644
--- a/patches/api/0462-Fix-DamageSource-API.patch
+++ b/patches/api/0460-Fix-DamageSource-API.patch
diff --git a/patches/api/0463-Expanded-Hopper-API.patch b/patches/api/0461-Expanded-Hopper-API.patch
index 51cb6dfee2..51cb6dfee2 100644
--- a/patches/api/0463-Expanded-Hopper-API.patch
+++ b/patches/api/0461-Expanded-Hopper-API.patch
diff --git a/patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch b/patches/api/0462-Clone-mutables-to-prevent-unexpected-issues.patch
index e84ea7d3aa..e84ea7d3aa 100644
--- a/patches/api/0464-Clone-mutables-to-prevent-unexpected-issues.patch
+++ b/patches/api/0462-Clone-mutables-to-prevent-unexpected-issues.patch
diff --git a/patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch b/patches/api/0463-Add-BlockBreakProgressUpdateEvent.patch
index a2b5a83baf..a2b5a83baf 100644
--- a/patches/api/0465-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/api/0463-Add-BlockBreakProgressUpdateEvent.patch
diff --git a/patches/api/0466-Deprecate-ItemStack-setType.patch b/patches/api/0464-Deprecate-ItemStack-setType.patch
index 9f21ce5142..8883aeb309 100644
--- a/patches/api/0466-Deprecate-ItemStack-setType.patch
+++ b/patches/api/0464-Deprecate-ItemStack-setType.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate ItemStack#setType
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index b669df4bd1ff0ecba575d42415973e81bccddbbe..1294f7ce50977dfe72daf535b611386844c205e0 100644
+index 8db71bd075b8ece36c6f0dc0339841df9257038b..4818b4e6583414fa98194bb6f3c5dbd4bd95be3a 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -134,8 +134,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -136,8 +136,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
* {@link Material#isItem()} returns false.</b>
*
* @param type New type to set the items in this stack to
@@ -27,7 +27,7 @@ index b669df4bd1ff0ecba575d42415973e81bccddbbe..1294f7ce50977dfe72daf535b6113868
public void setType(@NotNull Material type) {
Preconditions.checkArgument(type != null, "Material cannot be null");
this.type = type;
-@@ -148,6 +158,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -150,6 +160,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
this.data = null;
}
}
diff --git a/patches/api/0467-Item-Mutation-Fixes.patch b/patches/api/0465-Item-Mutation-Fixes.patch
index c1c3508b78..c1c3508b78 100644
--- a/patches/api/0467-Item-Mutation-Fixes.patch
+++ b/patches/api/0465-Item-Mutation-Fixes.patch
diff --git a/patches/api/0468-API-for-checking-sent-chunks.patch b/patches/api/0466-API-for-checking-sent-chunks.patch
index 8d97e181b0..8d97e181b0 100644
--- a/patches/api/0468-API-for-checking-sent-chunks.patch
+++ b/patches/api/0466-API-for-checking-sent-chunks.patch
diff --git a/patches/api/0469-Add-CartographyItemEvent.patch b/patches/api/0467-Add-CartographyItemEvent.patch
index 1f19663c9f..1f19663c9f 100644
--- a/patches/api/0469-Add-CartographyItemEvent.patch
+++ b/patches/api/0467-Add-CartographyItemEvent.patch
diff --git a/patches/api/0470-More-Raid-API.patch b/patches/api/0468-More-Raid-API.patch
index 921bc9c6fb..921bc9c6fb 100644
--- a/patches/api/0470-More-Raid-API.patch
+++ b/patches/api/0468-More-Raid-API.patch
diff --git a/patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch b/patches/api/0469-Fix-SpawnerEntry-Equipment-API.patch
index 0a16b34cd5..0a16b34cd5 100644
--- a/patches/api/0471-Fix-SpawnerEntry-Equipment-API.patch
+++ b/patches/api/0469-Fix-SpawnerEntry-Equipment-API.patch
diff --git a/patches/api/0472-Fix-ItemFlags.patch b/patches/api/0470-Fix-ItemFlags.patch
index 007e003bc3..989af1fc2a 100644
--- a/patches/api/0472-Fix-ItemFlags.patch
+++ b/patches/api/0470-Fix-ItemFlags.patch
@@ -47,10 +47,10 @@ index a435f6c8947e4ac50b8c04f37b107055970937dd..92e30c281eab4801298b280bd388a039
/**
* Setting to show/hide item-specific information, including, but not limited to:
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 1294f7ce50977dfe72daf535b611386844c205e0..84a7bf0936d35bf42b5ed038d295d5c31740f472 100644
+index 4818b4e6583414fa98194bb6f3c5dbd4bd95be3a..c64413a6740b604282984dea2a8430a6e7478d68 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -575,6 +575,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -581,6 +581,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
Object raw = args.get("meta");
if (raw instanceof ItemMeta) {
((ItemMeta) raw).setVersion(version);
diff --git a/patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch b/patches/api/0471-Allow-modifying-library-loader-jars-bytecode.patch
index 0c0311e790..0c0311e790 100644
--- a/patches/api/0473-Allow-modifying-library-loader-jars-bytecode.patch
+++ b/patches/api/0471-Allow-modifying-library-loader-jars-bytecode.patch
diff --git a/patches/api/0474-Add-hook-to-remap-library-jars.patch b/patches/api/0472-Add-hook-to-remap-library-jars.patch
index fe1609629e..fe1609629e 100644
--- a/patches/api/0474-Add-hook-to-remap-library-jars.patch
+++ b/patches/api/0472-Add-hook-to-remap-library-jars.patch
diff --git a/patches/api/0475-Add-GameMode-isInvulnerable.patch b/patches/api/0473-Add-GameMode-isInvulnerable.patch
index b4b81c5f52..b4b81c5f52 100644
--- a/patches/api/0475-Add-GameMode-isInvulnerable.patch
+++ b/patches/api/0473-Add-GameMode-isInvulnerable.patch
diff --git a/patches/api/0476-Expose-hasColor-to-leather-armor.patch b/patches/api/0474-Expose-hasColor-to-leather-armor.patch
index df21a83f91..df21a83f91 100644
--- a/patches/api/0476-Expose-hasColor-to-leather-armor.patch
+++ b/patches/api/0474-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/api/0477-Add-missing-wind-charge-damage-type.patch b/patches/api/0475-Add-missing-wind-charge-damage-type.patch
index 8a77bddf2a..8a77bddf2a 100644
--- a/patches/api/0477-Add-missing-wind-charge-damage-type.patch
+++ b/patches/api/0475-Add-missing-wind-charge-damage-type.patch
diff --git a/patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0476-Added-API-to-get-player-ha-proxy-address.patch
index 66f3365768..66f3365768 100644
--- a/patches/api/0478-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/api/0476-Added-API-to-get-player-ha-proxy-address.patch
diff --git a/patches/api/0479-More-Chest-Block-API.patch b/patches/api/0477-More-Chest-Block-API.patch
index 1fc3614c74..1fc3614c74 100644
--- a/patches/api/0479-More-Chest-Block-API.patch
+++ b/patches/api/0477-More-Chest-Block-API.patch
diff --git a/patches/api/0480-Brigadier-based-command-API.patch b/patches/api/0478-Brigadier-based-command-API.patch
index 911d9fb384..911d9fb384 100644
--- a/patches/api/0480-Brigadier-based-command-API.patch
+++ b/patches/api/0478-Brigadier-based-command-API.patch