aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-06-14 14:11:52 +0200
committerNassim Jahnke <[email protected]>2024-06-14 14:11:52 +0200
commit0d3ce2d704f295b0e48795ea8145134bed9f4cb1 (patch)
treea2b93e2e167d2119feff6fe62007580ac662fd59
parent3c04f9f668c3a42cb294c5e55a846793894312e5 (diff)
downloadPaper-0d3ce2d704f295b0e48795ea8145134bed9f4cb1.tar.gz
Paper-0d3ce2d704f295b0e48795ea8145134bed9f4cb1.zip
Fix more compile issues
-rw-r--r--patches/api/0108-ItemStack-getMaxItemUseDuration.patch16
-rw-r--r--patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch4
-rw-r--r--patches/api/0171-Fix-Spigot-annotation-mistakes.patch8
-rw-r--r--patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/api/0207-Add-methods-to-get-translation-keys.patch8
-rw-r--r--patches/api/0259-Improve-Item-Rarity-API.patch4
-rw-r--r--patches/api/0277-ItemStack-repair-check-API.patch4
-rw-r--r--patches/api/0280-ItemStack-editMeta.patch4
-rw-r--r--patches/api/0319-Add-more-Campfire-API.patch (renamed from patches/api/0320-Add-more-Campfire-API.patch)0
-rw-r--r--patches/api/0319-Allow-delegation-to-vanilla-chunk-gen.patch89
-rw-r--r--patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch (renamed from patches/api/0321-Extend-VehicleCollisionEvent-move-HandlerList-up.patch)0
-rw-r--r--patches/api/0321-Improve-scoreboard-entries.patch (renamed from patches/api/0322-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/api/0322-Entity-powdered-snow-API.patch (renamed from patches/api/0323-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/api/0323-Add-API-for-item-entity-health.patch (renamed from patches/api/0324-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/api/0325-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/api/0325-Bucketable-API.patch (renamed from patches/api/0326-Bucketable-API.patch)0
-rw-r--r--patches/api/0326-System-prop-for-default-config-comment-parsing.patch (renamed from patches/api/0327-System-prop-for-default-config-comment-parsing.patch)0
-rw-r--r--patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/api/0328-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)0
-rw-r--r--patches/api/0328-Multiple-Entries-with-Scoreboards.patch (renamed from patches/api/0329-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/api/0329-Warn-on-strange-EventHandler-return-types.patch (renamed from patches/api/0330-Warn-on-strange-EventHandler-return-types.patch)0
-rw-r--r--patches/api/0330-Multi-Block-Change-API.patch (renamed from patches/api/0331-Multi-Block-Change-API.patch)0
-rw-r--r--patches/api/0331-Fix-NotePlayEvent.patch (renamed from patches/api/0332-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/api/0332-Freeze-Tick-Lock-API.patch (renamed from patches/api/0333-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/api/0333-Dolphin-API.patch (renamed from patches/api/0334-Dolphin-API.patch)0
-rw-r--r--patches/api/0334-More-PotionEffectType-API.patch (renamed from patches/api/0335-More-PotionEffectType-API.patch)0
-rw-r--r--patches/api/0335-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/api/0336-API-for-creating-command-sender-which-forwards-feedb.patch)4
-rw-r--r--patches/api/0336-Implement-regenerateChunk.patch (renamed from patches/api/0337-Implement-regenerateChunk.patch)0
-rw-r--r--patches/api/0337-Add-GameEvent-tags.patch (renamed from patches/api/0338-Add-GameEvent-tags.patch)0
-rw-r--r--patches/api/0338-Furnace-RecipesUsed-API.patch (renamed from patches/api/0339-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/api/0339-Configurable-sculk-sensor-listener-range.patch (renamed from patches/api/0340-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/api/0340-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/api/0341-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/api/0341-Custom-Potion-Mixes.patch (renamed from patches/api/0342-Custom-Potion-Mixes.patch)8
-rw-r--r--patches/api/0342-Expose-furnace-minecart-push-values.patch (renamed from patches/api/0343-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/api/0343-More-Projectile-API.patch (renamed from patches/api/0344-More-Projectile-API.patch)0
-rw-r--r--patches/api/0344-Add-getComputedBiome-API.patch (renamed from patches/api/0345-Add-getComputedBiome-API.patch)0
-rw-r--r--patches/api/0345-Add-enchantWithLevels-API.patch (renamed from patches/api/0346-Add-enchantWithLevels-API.patch)4
-rw-r--r--patches/api/0346-Add-TameableDeathMessageEvent.patch (renamed from patches/api/0347-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch (renamed from patches/api/0348-Allow-to-change-the-podium-of-the-EnderDragon.patch)0
-rw-r--r--patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch (renamed from patches/api/0349-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch)0
-rw-r--r--patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/api/0350-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/api/0350-WorldCreator-keepSpawnLoaded.patch (renamed from patches/api/0351-WorldCreator-keepSpawnLoaded.patch)0
-rw-r--r--patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/api/0352-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/api/0352-Add-PlayerStopUsingItemEvent.patch (renamed from patches/api/0353-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/api/0353-Expand-FallingBlock-API.patch (renamed from patches/api/0354-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/api/0354-Add-method-isTickingWorlds-to-Bukkit.patch (renamed from patches/api/0355-Add-method-isTickingWorlds-to-Bukkit.patch)4
-rw-r--r--patches/api/0355-Add-WardenAngerChangeEvent.patch (renamed from patches/api/0356-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/api/0356-Nameable-Banner-API.patch (renamed from patches/api/0357-Nameable-Banner-API.patch)0
-rw-r--r--patches/api/0357-Add-Player-getFishHook.patch (renamed from patches/api/0358-Add-Player-getFishHook.patch)0
-rw-r--r--patches/api/0358-More-Teleport-API.patch (renamed from patches/api/0359-More-Teleport-API.patch)0
-rw-r--r--patches/api/0359-Add-EntityPortalReadyEvent.patch (renamed from patches/api/0360-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/api/0361-Custom-Chat-Completion-Suggestions-API.patch)0
-rw-r--r--patches/api/0361-Collision-API.patch (renamed from patches/api/0362-Collision-API.patch)0
-rw-r--r--patches/api/0362-Block-Ticking-API.patch (renamed from patches/api/0363-Block-Ticking-API.patch)0
-rw-r--r--patches/api/0363-Add-NamespacedKey-biome-methods.patch (renamed from patches/api/0364-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/api/0364-Also-load-resources-from-LibraryLoader.patch (renamed from patches/api/0365-Also-load-resources-from-LibraryLoader.patch)0
-rw-r--r--patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/api/0366-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)0
-rw-r--r--patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch (renamed from patches/api/0368-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch)0
-rw-r--r--patches/api/0368-Add-getDrops-to-BlockState.patch (renamed from patches/api/0369-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/api/0370-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/api/0370-Elder-Guardian-appearance-API.patch (renamed from patches/api/0371-Elder-Guardian-appearance-API.patch)0
-rw-r--r--patches/api/0371-Allow-changing-bed-s-occupied-property.patch (renamed from patches/api/0372-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/api/0372-Add-EquipmentSlot-convenience-methods.patch (renamed from patches/api/0373-Add-EquipmentSlot-convenience-methods.patch)0
-rw-r--r--patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch (renamed from patches/api/0374-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch)0
-rw-r--r--patches/api/0374-Add-entity-knockback-API.patch (renamed from patches/api/0375-Add-entity-knockback-API.patch)0
-rw-r--r--patches/api/0375-Added-EntityToggleSitEvent.patch (renamed from patches/api/0376-Added-EntityToggleSitEvent.patch)0
-rw-r--r--patches/api/0376-Add-Moving-Piston-API.patch (renamed from patches/api/0377-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/api/0377-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/api/0378-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/api/0378-Add-Player-Warden-Warning-API.patch (renamed from patches/api/0379-Add-Player-Warden-Warning-API.patch)0
-rw-r--r--patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/api/0380-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/api/0380-Add-paper-dumplisteners-command.patch (renamed from patches/api/0381-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/api/0381-ItemStack-damage-API.patch (renamed from patches/api/0382-ItemStack-damage-API.patch)4
-rw-r--r--patches/api/0382-Add-Tick-TemporalUnit.patch (renamed from patches/api/0383-Add-Tick-TemporalUnit.patch)0
-rw-r--r--patches/api/0383-Friction-API.patch (renamed from patches/api/0384-Friction-API.patch)0
-rw-r--r--patches/api/0384-Player-Entity-Tracking-Events.patch (renamed from patches/api/0385-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/api/0385-Add-missing-Fluid-type.patch (renamed from patches/api/0386-Add-missing-Fluid-type.patch)0
-rw-r--r--patches/api/0386-fix-Instruments.patch (renamed from patches/api/0387-fix-Instruments.patch)0
-rw-r--r--patches/api/0387-Add-BlockLockCheckEvent.patch (renamed from patches/api/0388-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/api/0388-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0389-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/api/0389-Improve-PortalEvents.patch (renamed from patches/api/0390-Improve-PortalEvents.patch)0
-rw-r--r--patches/api/0390-Flying-Fall-Damage-API.patch (renamed from patches/api/0391-Flying-Fall-Damage-API.patch)0
-rw-r--r--patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0392-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch)0
-rw-r--r--patches/api/0392-Win-Screen-API.patch (renamed from patches/api/0393-Win-Screen-API.patch)0
-rw-r--r--patches/api/0393-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0394-Add-Entity-Body-Yaw-API.patch)0
-rw-r--r--patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0395-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch)0
-rw-r--r--patches/api/0395-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0396-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0397-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/api/0397-Add-Shearable-API.patch (renamed from patches/api/0398-Add-Shearable-API.patch)0
-rw-r--r--patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0399-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/api/0399-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0400-Add-Mob-Experience-reward-API.patch)0
-rw-r--r--patches/api/0400-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0401-Expand-PlayerItemMendEvent.patch)0
-rw-r--r--patches/api/0401-Add-transient-modifier-API.patch (renamed from patches/api/0402-Add-transient-modifier-API.patch)0
-rw-r--r--patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/api/0403-Properly-remove-the-experimental-smithing-inventory-.patch)0
-rw-r--r--patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/api/0404-Add-method-to-remove-all-active-potion-effects.patch)0
-rw-r--r--patches/api/0404-Folia-scheduler-and-owned-region-API.patch (renamed from patches/api/0405-Folia-scheduler-and-owned-region-API.patch)8
-rw-r--r--patches/api/0405-Add-event-for-player-editing-sign.patch (renamed from patches/api/0406-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/api/0406-Add-Sign-getInteractableSideFor.patch (renamed from patches/api/0407-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/api/0407-Fix-BanList-API.patch (renamed from patches/api/0408-Fix-BanList-API.patch)0
-rw-r--r--patches/api/0408-Add-whitelist-events.patch (renamed from patches/api/0409-Add-whitelist-events.patch)0
-rw-r--r--patches/api/0409-API-for-updating-recipes-on-clients.patch (renamed from patches/api/0410-API-for-updating-recipes-on-clients.patch)4
-rw-r--r--patches/api/0410-Add-PlayerFailMoveEvent.patch (renamed from patches/api/0411-Add-PlayerFailMoveEvent.patch)0
-rw-r--r--patches/api/0411-Fix-custom-statistic-criteria-creation.patch (renamed from patches/api/0412-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/api/0412-SculkCatalyst-bloom-API.patch (renamed from patches/api/0413-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/api/0413-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/api/0414-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/api/0414-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/api/0415-Deprecate-and-replace-methods-with-old-StructureType.patch)4
-rw-r--r--patches/api/0415-Add-Listing-API-for-Player.patch (renamed from patches/api/0416-Add-Listing-API-for-Player.patch)0
-rw-r--r--patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/api/0417-Expose-clicked-BlockFace-during-BlockDamageEvent.patch)0
-rw-r--r--patches/api/0417-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/api/0418-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/api/0418-Expand-Pose-API.patch (renamed from patches/api/0419-Expand-Pose-API.patch)0
-rw-r--r--patches/api/0419-MerchantRecipe-add-copy-constructor.patch (renamed from patches/api/0420-MerchantRecipe-add-copy-constructor.patch)0
-rw-r--r--patches/api/0420-More-DragonBattle-API.patch (renamed from patches/api/0421-More-DragonBattle-API.patch)0
-rw-r--r--patches/api/0421-Add-PlayerPickItemEvent.patch (renamed from patches/api/0422-Add-PlayerPickItemEvent.patch)0
-rw-r--r--patches/api/0422-Allow-trident-custom-damage.patch (renamed from patches/api/0423-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/api/0424-Expose-hand-during-BlockCanBuildEvent.patch)0
-rw-r--r--patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch (renamed from patches/api/0425-Limit-setBurnTime-to-valid-short-values.patch)0
-rw-r--r--patches/api/0425-Add-OfflinePlayer-isConnected.patch (renamed from patches/api/0426-Add-OfflinePlayer-isConnected.patch)0
-rw-r--r--patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/api/0427-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/api/0427-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch)4
-rw-r--r--patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch (renamed from patches/api/0429-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch)0
-rw-r--r--patches/api/0429-Add-player-idle-duration-API.patch (renamed from patches/api/0430-Add-player-idle-duration-API.patch)0
-rw-r--r--patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/api/0431-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/api/0432-Add-predicate-for-blocks-when-raytracing.patch)0
-rw-r--r--patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/api/0433-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/api/0433-Add-UUID-attribute-modifier-API.patch93
-rw-r--r--patches/api/0434-Add-UUID-attribute-modifier-API.patch34
-rw-r--r--patches/api/0434-Expand-LingeringPotion-API.patch (renamed from patches/api/0435-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/api/0435-Remove-unnecessary-durability-check-in-ItemStack-isS.patch (renamed from patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch)4
-rw-r--r--patches/api/0436-Add-Structure-check-API.patch (renamed from patches/api/0437-Add-Structure-check-API.patch)0
-rw-r--r--patches/api/0437-add-missing-Experimental-annotations.patch (renamed from patches/api/0438-add-missing-Experimental-annotations.patch)0
-rw-r--r--patches/api/0438-Add-more-scoreboard-API.patch (renamed from patches/api/0439-Add-more-scoreboard-API.patch)0
-rw-r--r--patches/api/0439-Improve-Registry.patch (renamed from patches/api/0440-Improve-Registry.patch)0
-rw-r--r--patches/api/0440-Add-experience-points-API.patch (renamed from patches/api/0441-Add-experience-points-API.patch)0
-rw-r--r--patches/api/0441-Add-missing-InventoryType.patch (renamed from patches/api/0442-Add-missing-InventoryType.patch)0
-rw-r--r--patches/api/0442-Add-drops-to-shear-events.patch (renamed from patches/api/0443-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/api/0443-Add-HiddenPotionEffect-API.patch (renamed from patches/api/0444-Add-HiddenPotionEffect-API.patch)0
-rw-r--r--patches/api/0444-Add-PlayerShieldDisableEvent.patch (renamed from patches/api/0445-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch (renamed from patches/api/0446-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch)0
-rw-r--r--patches/api/0446-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/api/0447-Add-BlockStateMeta-clearBlockState.patch)0
-rw-r--r--patches/api/0447-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/api/0448-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/api/0448-Add-ShulkerDuplicateEvent.patch (renamed from patches/api/0449-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/api/0450-Add-api-for-spawn-egg-texture-colors.patch)0
-rw-r--r--patches/api/0450-Add-Lifecycle-Event-system.patch (renamed from patches/api/0451-Add-Lifecycle-Event-system.patch)0
-rw-r--r--patches/api/0451-ItemStack-Tooltip-API.patch (renamed from patches/api/0452-ItemStack-Tooltip-API.patch)4
-rw-r--r--patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/api/0453-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/api/0453-Add-FluidState-API.patch (renamed from patches/api/0454-Add-FluidState-API.patch)0
-rw-r--r--patches/api/0454-add-number-format-api.patch (renamed from patches/api/0455-add-number-format-api.patch)0
-rw-r--r--patches/api/0455-improve-BanList-types.patch (renamed from patches/api/0456-improve-BanList-types.patch)4
-rw-r--r--patches/api/0456-Suspicious-Effect-Entry-API.patch (renamed from patches/api/0457-Suspicious-Effect-Entry-API.patch)0
-rw-r--r--patches/api/0457-Fix-DamageSource-API.patch (renamed from patches/api/0458-Fix-DamageSource-API.patch)0
-rw-r--r--patches/api/0458-Expanded-Hopper-API.patch (renamed from patches/api/0459-Expanded-Hopper-API.patch)0
-rw-r--r--patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch (renamed from patches/api/0460-Clone-mutables-to-prevent-unexpected-issues.patch)0
-rw-r--r--patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/api/0461-Add-BlockBreakProgressUpdateEvent.patch)0
-rw-r--r--patches/api/0461-Deprecate-ItemStack-setType.patch (renamed from patches/api/0462-Deprecate-ItemStack-setType.patch)6
-rw-r--r--patches/api/0462-Item-Mutation-Fixes.patch (renamed from patches/api/0463-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/api/0463-API-for-checking-sent-chunks.patch (renamed from patches/api/0464-API-for-checking-sent-chunks.patch)0
-rw-r--r--patches/api/0464-Add-CartographyItemEvent.patch (renamed from patches/api/0465-Add-CartographyItemEvent.patch)0
-rw-r--r--patches/api/0465-More-Raid-API.patch (renamed from patches/api/0466-More-Raid-API.patch)0
-rw-r--r--patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch (renamed from patches/api/0467-Fix-SpawnerEntry-Equipment-API.patch)0
-rw-r--r--patches/api/0467-Fix-ItemFlags.patch (renamed from patches/api/0468-Fix-ItemFlags.patch)4
-rw-r--r--patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch (renamed from patches/api/0469-Allow-modifying-library-loader-jars-bytecode.patch)0
-rw-r--r--patches/api/0469-Add-hook-to-remap-library-jars.patch (renamed from patches/api/0470-Add-hook-to-remap-library-jars.patch)0
-rw-r--r--patches/api/0470-Add-GameMode-isInvulnerable.patch (renamed from patches/api/0471-Add-GameMode-isInvulnerable.patch)0
-rw-r--r--patches/api/0471-Expose-hasColor-to-leather-armor.patch (renamed from patches/api/0472-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/api/0472-Add-missing-wind-charge-damage-type.patch (renamed from patches/api/0473-Add-missing-wind-charge-damage-type.patch)0
-rw-r--r--patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/api/0474-Added-API-to-get-player-ha-proxy-address.patch)0
-rw-r--r--patches/api/0474-More-Chest-Block-API.patch (renamed from patches/api/0475-More-Chest-Block-API.patch)0
-rw-r--r--patches/api/0475-Brigadier-based-command-API.patch (renamed from patches/api/0476-Brigadier-based-command-API.patch)0
-rw-r--r--patches/api/0476-Fix-issues-with-recipe-API.patch (renamed from patches/api/0477-Fix-issues-with-recipe-API.patch)0
-rw-r--r--patches/api/0477-Fix-equipment-slot-and-group-API.patch (renamed from patches/api/0478-Fix-equipment-slot-and-group-API.patch)2
-rw-r--r--patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/api/0479-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch)0
-rw-r--r--patches/api/0479-Allow-to-define-new-map-cursor-types.patch (renamed from patches/api/0480-Allow-to-define-new-map-cursor-types.patch)0
-rw-r--r--patches/api/0480-General-ItemMeta-fixes.patch (renamed from patches/api/0481-General-ItemMeta-fixes.patch)0
-rw-r--r--patches/api/0481-Add-missing-fishing-event-state.patch (renamed from patches/api/0482-Add-missing-fishing-event-state.patch)0
-rw-r--r--patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/api/0483-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch)0
-rw-r--r--patches/server/0005-Paper-config-files.patch4
-rw-r--r--patches/server/0010-Adventure.patch4
-rw-r--r--patches/server/0023-Timings-v2.patch2
-rw-r--r--patches/server/0035-Player-affects-spawning-API.patch2
-rw-r--r--patches/server/0036-Only-refresh-abilities-if-needed.patch2
-rw-r--r--patches/server/0049-Implement-PlayerLocaleChangeEvent.patch2
-rw-r--r--patches/server/0056-Improve-Player-chat-API-handling.patch2
-rw-r--r--patches/server/0060-Player-Tab-List-and-Title-APIs.patch2
-rw-r--r--patches/server/0063-Add-exception-reporting-event.patch4
-rw-r--r--patches/server/0067-Complete-resource-pack-API.patch2
-rw-r--r--patches/server/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch2
-rw-r--r--patches/server/0080-Configurable-Chunk-Inhabited-Time.patch2
-rw-r--r--patches/server/0120-String-based-Action-Bar-API.patch2
-rw-r--r--patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch2
-rw-r--r--patches/server/0164-Ability-to-apply-mending-to-XP-API.patch11
-rw-r--r--patches/server/0177-Player.setPlayerProfile-API.patch12
-rw-r--r--patches/server/0182-Flag-to-disable-the-channel-limit.patch4
-rw-r--r--patches/server/0205-LivingEntity-Active-Item-API.patch4
-rw-r--r--patches/server/0209-InventoryCloseEvent-Reason-API.patch2
-rw-r--r--patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch2
-rw-r--r--patches/server/0243-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0244-Improve-death-events.patch4
-rw-r--r--patches/server/0254-Add-LivingEntity-getTargetEntity.patch2
-rw-r--r--patches/server/0271-Book-Size-Limits.patch6
-rw-r--r--patches/server/0273-Replace-OfflinePlayer-getLastPlayed.patch8
-rw-r--r--patches/server/0275-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch2
-rw-r--r--patches/server/0278-Brigadier-Mojang-API.patch2
-rw-r--r--patches/server/0280-Limit-Client-Sign-length-more.patch2
-rw-r--r--patches/server/0320-Entity-Jump-API.patch2
-rw-r--r--patches/server/0327-Optimise-Chunk-getFluid.patch2
-rw-r--r--patches/server/0344-Implement-Player-Client-Options-API.patch2
-rw-r--r--patches/server/0353-Validate-PickItem-Packet-and-kick-for-invalid.patch4
-rw-r--r--patches/server/0355-misc-debugging-dumps.patch4
-rw-r--r--patches/server/0356-Prevent-teleporting-dead-entities.patch2
-rw-r--r--patches/server/0360-Fix-PotionEffect-ignores-icon-flag.patch2
-rw-r--r--patches/server/0363-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch4
-rw-r--r--patches/server/0371-Prevent-position-desync-causing-tp-exploit.patch2
-rw-r--r--patches/server/0373-Add-PlayerRecipeBookClickEvent.patch4
-rw-r--r--patches/server/0375-Add-permission-for-command-blocks.patch2
-rw-r--r--patches/server/0377-Fix-Per-World-Difficulty-Remembering-Difficulty.patch2
-rw-r--r--patches/server/0383-Do-not-accept-invalid-client-settings.patch4
-rw-r--r--patches/server/0396-Brand-support.patch4
-rw-r--r--patches/server/0397-Add-playPickupItemAnimation-to-LivingEntity.patch2
-rw-r--r--patches/server/0412-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch2
-rw-r--r--patches/server/0422-Fix-for-large-move-vectors-crashing-server.patch2
-rw-r--r--patches/server/0438-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0439-Add-LivingEntity-clearActiveItem.patch2
-rw-r--r--patches/server/0446-Limit-recipe-packets.patch2
-rw-r--r--patches/server/0450-Expose-LivingEntity-hurt-direction.patch2
-rw-r--r--patches/server/0461-Fix-interact-event-not-being-called-sometimes.patch2
-rw-r--r--patches/server/0475-Add-sendOpLevel-API.patch2
-rw-r--r--patches/server/0495-living-entity-allow-attribute-registration.patch2
-rw-r--r--patches/server/0505-Allow-using-signs-inside-spawn-protection.patch2
-rw-r--r--patches/server/0510-Don-t-ignore-result-of-PlayerEditBookEvent.patch2
-rw-r--r--patches/server/0520-fix-PlayerItemHeldEvent-firing-twice.patch2
-rw-r--r--patches/server/0537-Expand-PlayerGameModeChangeEvent.patch4
-rw-r--r--patches/server/0540-Move-range-check-for-block-placing-up.patch2
-rw-r--r--patches/server/0543-Add-Unix-domain-socket-support.patch2
-rw-r--r--patches/server/0549-Add-PlayerKickEvent-causes.patch16
-rw-r--r--patches/server/0558-Line-Of-Sight-Changes.patch2
-rw-r--r--patches/server/0563-Missing-Entity-API.patch2
-rw-r--r--patches/server/0564-Ensure-disconnect-for-book-edit-is-called-on-main.patch2
-rw-r--r--patches/server/0568-Add-PlayerArmSwingEvent.patch2
-rw-r--r--patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch17
-rw-r--r--patches/server/0572-Add-missing-forceDrop-toggles.patch2
-rw-r--r--patches/server/0573-Stinger-API.patch2
-rw-r--r--patches/server/0575-Prevent-AFK-kick-while-watching-end-credits.patch2
-rw-r--r--patches/server/0577-Add-PlayerSetSpawnEvent.patch2
-rw-r--r--patches/server/0594-Add-ItemFactory-getSpawnEgg-API.patch14
-rw-r--r--patches/server/0604-Improve-and-expand-AsyncCatcher.patch4
-rw-r--r--patches/server/0618-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch2
-rw-r--r--patches/server/0640-Allow-delegation-to-vanilla-chunk-gen.patch129
-rw-r--r--patches/server/0640-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0641-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch)0
-rw-r--r--patches/server/0641-Add-more-Campfire-API.patch (renamed from patches/server/0642-Add-more-Campfire-API.patch)0
-rw-r--r--patches/server/0642-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch)0
-rw-r--r--patches/server/0643-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0644-Forward-CraftEntity-in-teleport-command.patch)0
-rw-r--r--patches/server/0644-Improve-scoreboard-entries.patch (renamed from patches/server/0645-Improve-scoreboard-entries.patch)0
-rw-r--r--patches/server/0645-Entity-powdered-snow-API.patch (renamed from patches/server/0646-Entity-powdered-snow-API.patch)0
-rw-r--r--patches/server/0646-Add-API-for-item-entity-health.patch (renamed from patches/server/0647-Add-API-for-item-entity-health.patch)0
-rw-r--r--patches/server/0647-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0648-Configurable-max-block-light-for-monster-spawning.patch)0
-rw-r--r--patches/server/0648-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0649-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch)0
-rw-r--r--patches/server/0649-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0650-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch)0
-rw-r--r--patches/server/0650-Bucketable-API.patch (renamed from patches/server/0651-Bucketable-API.patch)0
-rw-r--r--patches/server/0651-Validate-usernames.patch (renamed from patches/server/0652-Validate-usernames.patch)0
-rw-r--r--patches/server/0652-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0653-Make-water-animal-spawn-height-configurable.patch)0
-rw-r--r--patches/server/0653-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0654-Expose-vanilla-BiomeProvider-from-WorldInfo.patch)2
-rw-r--r--patches/server/0654-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0655-Add-config-option-for-worlds-affected-by-time-cmd.patch)0
-rw-r--r--patches/server/0655-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (renamed from patches/server/0656-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch)0
-rw-r--r--patches/server/0656-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0657-Multiple-Entries-with-Scoreboards.patch)0
-rw-r--r--patches/server/0657-Reset-placed-block-on-exception.patch (renamed from patches/server/0658-Reset-placed-block-on-exception.patch)0
-rw-r--r--patches/server/0658-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0659-Add-configurable-height-for-slime-spawn.patch)0
-rw-r--r--patches/server/0659-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0660-Fix-xp-reward-for-baby-zombies.patch)0
-rw-r--r--patches/server/0660-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0661-Multi-Block-Change-API-Implementation.patch)2
-rw-r--r--patches/server/0661-Fix-NotePlayEvent.patch (renamed from patches/server/0662-Fix-NotePlayEvent.patch)0
-rw-r--r--patches/server/0662-Freeze-Tick-Lock-API.patch (renamed from patches/server/0663-Freeze-Tick-Lock-API.patch)0
-rw-r--r--patches/server/0663-More-PotionEffectType-API.patch (renamed from patches/server/0664-More-PotionEffectType-API.patch)0
-rw-r--r--patches/server/0664-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0665-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch)0
-rw-r--r--patches/server/0665-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0666-API-for-creating-command-sender-which-forwards-feedb.patch)2
-rw-r--r--patches/server/0666-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0667-Add-missing-structure-set-seed-configs.patch)0
-rw-r--r--patches/server/0667-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0669-Fix-cancelled-powdered-snow-bucket-placement.patch)0
-rw-r--r--patches/server/0668-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0670-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch)2
-rw-r--r--patches/server/0669-Add-GameEvent-tags.patch (renamed from patches/server/0671-Add-GameEvent-tags.patch)6
-rw-r--r--patches/server/0670-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0672-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch)0
-rw-r--r--patches/server/0671-Furnace-RecipesUsed-API.patch (renamed from patches/server/0673-Furnace-RecipesUsed-API.patch)0
-rw-r--r--patches/server/0672-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0674-Configurable-sculk-sensor-listener-range.patch)0
-rw-r--r--patches/server/0673-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/server/0675-Add-missing-block-data-mins-and-maxes.patch)0
-rw-r--r--patches/server/0674-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0676-Option-to-have-default-CustomSpawners-in-custom-worl.patch)0
-rw-r--r--patches/server/0675-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0677-Put-world-into-worldlist-before-initing-the-world.patch)2
-rw-r--r--patches/server/0676-Custom-Potion-Mixes.patch (renamed from patches/server/0678-Custom-Potion-Mixes.patch)4
-rw-r--r--patches/server/0677-Force-close-world-loading-screen.patch (renamed from patches/server/0679-Force-close-world-loading-screen.patch)0
-rw-r--r--patches/server/0678-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0680-Fix-falling-block-spawn-methods.patch)6
-rw-r--r--patches/server/0679-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0681-Expose-furnace-minecart-push-values.patch)0
-rw-r--r--patches/server/0680-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0682-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch)0
-rw-r--r--patches/server/0681-More-Projectile-API.patch (renamed from patches/server/0683-More-Projectile-API.patch)2
-rw-r--r--patches/server/0682-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0684-Fix-swamp-hut-cat-generation-deadlock.patch)0
-rw-r--r--patches/server/0683-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0685-Don-t-allow-vehicle-movement-from-players-while-tele.patch)2
-rw-r--r--patches/server/0684-Implement-getComputedBiome-API.patch (renamed from patches/server/0686-Implement-getComputedBiome-API.patch)0
-rw-r--r--patches/server/0685-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0687-Make-some-itemstacks-nonnull.patch)0
-rw-r--r--patches/server/0686-Implement-enchantWithLevels-API.patch (renamed from patches/server/0688-Implement-enchantWithLevels-API.patch)4
-rw-r--r--patches/server/0687-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0689-Fix-saving-in-unloadWorld.patch)2
-rw-r--r--patches/server/0688-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0690-Buffer-OOB-setBlock-calls.patch)0
-rw-r--r--patches/server/0689-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0691-Add-TameableDeathMessageEvent.patch)0
-rw-r--r--patches/server/0690-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0692-Fix-new-block-data-for-EntityChangeBlockEvent.patch)0
-rw-r--r--patches/server/0691-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch)0
-rw-r--r--patches/server/0692-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0694-Ensure-entity-passenger-world-matches-ridden-entity.patch)0
-rw-r--r--patches/server/0693-cache-resource-keys.patch (renamed from patches/server/0695-cache-resource-keys.patch)0
-rw-r--r--patches/server/0694-Allow-changing-the-EnderDragon-podium.patch (renamed from patches/server/0696-Allow-changing-the-EnderDragon-podium.patch)0
-rw-r--r--patches/server/0695-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0697-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch)0
-rw-r--r--patches/server/0696-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0698-Prevent-tile-entity-copies-loading-chunks.patch)2
-rw-r--r--patches/server/0697-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0699-Use-username-instead-of-display-name-in-PlayerList-g.patch)0
-rw-r--r--patches/server/0698-Expand-PlayerItemDamageEvent.patch (renamed from patches/server/0700-Expand-PlayerItemDamageEvent.patch)0
-rw-r--r--patches/server/0699-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0701-WorldCreator-keepSpawnLoaded.patch)2
-rw-r--r--patches/server/0700-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (renamed from patches/server/0702-Fix-CME-in-CraftPersistentDataTypeRegistry.patch)0
-rw-r--r--patches/server/0701-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0703-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch)0
-rw-r--r--patches/server/0702-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0704-Add-EntityDyeEvent-and-CollarColorable-interface.patch)0
-rw-r--r--patches/server/0703-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0705-Fire-CauldronLevelChange-on-initial-fill.patch)0
-rw-r--r--patches/server/0704-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0706-fix-powder-snow-cauldrons-not-turning-to-water.patch)0
-rw-r--r--patches/server/0705-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0707-Add-PlayerStopUsingItemEvent.patch)0
-rw-r--r--patches/server/0706-Don-t-tick-markers.patch (renamed from patches/server/0708-Don-t-tick-markers.patch)0
-rw-r--r--patches/server/0707-Expand-FallingBlock-API.patch (renamed from patches/server/0709-Expand-FallingBlock-API.patch)0
-rw-r--r--patches/server/0708-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0710-Add-support-for-Proxy-Protocol.patch)0
-rw-r--r--patches/server/0709-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0711-Fix-OfflinePlayer-getBedSpawnLocation.patch)0
-rw-r--r--patches/server/0710-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0712-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch)0
-rw-r--r--patches/server/0711-Sanitize-sent-BlockEntity-NBT.patch (renamed from patches/server/0713-Sanitize-sent-BlockEntity-NBT.patch)0
-rw-r--r--patches/server/0712-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0714-Disable-component-selector-resolving-in-books-by-def.patch)0
-rw-r--r--patches/server/0713-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0715-Prevent-entity-loading-causing-async-lookups.patch)0
-rw-r--r--patches/server/0714-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0716-Throw-exception-on-world-create-while-being-ticked.patch)2
-rw-r--r--patches/server/0715-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0717-Dont-resent-entity-on-art-update.patch)0
-rw-r--r--patches/server/0716-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0718-Add-WardenAngerChangeEvent.patch)0
-rw-r--r--patches/server/0717-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch)0
-rw-r--r--patches/server/0718-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0720-Add-missing-important-BlockStateListPopulator-method.patch)0
-rw-r--r--patches/server/0719-Nameable-Banner-API.patch (renamed from patches/server/0721-Nameable-Banner-API.patch)0
-rw-r--r--patches/server/0720-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0722-Don-t-broadcast-messages-to-command-blocks.patch)2
-rw-r--r--patches/server/0721-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0723-Prevent-empty-items-from-being-added-to-world.patch)0
-rw-r--r--patches/server/0722-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0724-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch)0
-rw-r--r--patches/server/0723-Add-Player-getFishHook.patch (renamed from patches/server/0725-Add-Player-getFishHook.patch)0
-rw-r--r--patches/server/0724-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0726-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch)0
-rw-r--r--patches/server/0725-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0727-Add-various-missing-EntityDropItemEvent-calls.patch)0
-rw-r--r--patches/server/0726-Fix-Bee-flower-NPE.patch (renamed from patches/server/0728-Fix-Bee-flower-NPE.patch)0
-rw-r--r--patches/server/0727-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (renamed from patches/server/0729-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch)2
-rw-r--r--patches/server/0728-More-Teleport-API.patch (renamed from patches/server/0730-More-Teleport-API.patch)6
-rw-r--r--patches/server/0729-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0731-Add-EntityPortalReadyEvent.patch)0
-rw-r--r--patches/server/0730-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0732-Don-t-use-level-random-in-entity-constructors.patch)0
-rw-r--r--patches/server/0731-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0733-Send-block-entities-after-destroy-prediction.patch)2
-rw-r--r--patches/server/0732-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0734-Warn-on-plugins-accessing-faraway-chunks.patch)28
-rw-r--r--patches/server/0733-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0735-Custom-Chat-Completion-Suggestions-API.patch)2
-rw-r--r--patches/server/0734-Add-and-fix-missing-BlockFadeEvents.patch (renamed from patches/server/0736-Add-and-fix-missing-BlockFadeEvents.patch)0
-rw-r--r--patches/server/0735-Collision-API.patch (renamed from patches/server/0737-Collision-API.patch)0
-rw-r--r--patches/server/0736-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0738-Fix-suggest-command-message-for-brigadier-syntax-exc.patch)0
-rw-r--r--patches/server/0737-Block-Ticking-API.patch (renamed from patches/server/0739-Block-Ticking-API.patch)0
-rw-r--r--patches/server/0738-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0740-Add-Velocity-IP-Forwarding-Support.patch)2
-rw-r--r--patches/server/0739-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0741-Add-NamespacedKey-biome-methods.patch)0
-rw-r--r--patches/server/0740-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0742-Fix-plugin-loggers-on-server-shutdown.patch)0
-rw-r--r--patches/server/0741-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch)0
-rw-r--r--patches/server/0742-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0744-Fire-EntityChangeBlockEvent-in-more-places.patch)0
-rw-r--r--patches/server/0743-Missing-eating-regain-reason.patch (renamed from patches/server/0745-Missing-eating-regain-reason.patch)0
-rw-r--r--patches/server/0744-Missing-effect-cause.patch (renamed from patches/server/0746-Missing-effect-cause.patch)0
-rw-r--r--patches/server/0745-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0747-Added-byte-array-serialization-deserialization-for-P.patch)0
-rw-r--r--patches/server/0746-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/server/0748-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch)2
-rw-r--r--patches/server/0747-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0749-Call-BlockPhysicsEvent-more-often.patch)0
-rw-r--r--patches/server/0748-Configurable-chat-thread-limit.patch (renamed from patches/server/0750-Configurable-chat-thread-limit.patch)0
-rw-r--r--patches/server/0749-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0751-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch)0
-rw-r--r--patches/server/0750-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0752-fix-Jigsaw-block-kicking-user.patch)0
-rw-r--r--patches/server/0751-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0753-use-BlockFormEvent-for-mud-converting-into-clay.patch)0
-rw-r--r--patches/server/0752-Add-getDrops-to-BlockState.patch (renamed from patches/server/0754-Add-getDrops-to-BlockState.patch)0
-rw-r--r--patches/server/0753-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch)0
-rw-r--r--patches/server/0754-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0756-Remove-unnecessary-onTrackingStart-during-navigation.patch)0
-rw-r--r--patches/server/0755-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0757-Fix-custom-piglin-loved-items.patch)0
-rw-r--r--patches/server/0756-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0758-EntityPickupItemEvent-fixes.patch)2
-rw-r--r--patches/server/0757-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0759-Correctly-handle-interactions-with-items-on-cooldown.patch)0
-rw-r--r--patches/server/0758-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch)0
-rw-r--r--patches/server/0759-Elder-Guardian-appearance-API.patch (renamed from patches/server/0761-Elder-Guardian-appearance-API.patch)4
-rw-r--r--patches/server/0760-Allow-changing-bed-s-occupied-property.patch (renamed from patches/server/0762-Allow-changing-bed-s-occupied-property.patch)0
-rw-r--r--patches/server/0761-Add-entity-knockback-API.patch (renamed from patches/server/0763-Add-entity-knockback-API.patch)2
-rw-r--r--patches/server/0762-Detect-headless-JREs.patch (renamed from patches/server/0764-Detect-headless-JREs.patch)0
-rw-r--r--patches/server/0763-fix-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0765-fix-entity-vehicle-collision-event-not-called.patch)0
-rw-r--r--patches/server/0764-Add-EntityToggleSitEvent.patch (renamed from patches/server/0766-Add-EntityToggleSitEvent.patch)0
-rw-r--r--patches/server/0765-Add-fire-tick-delay-option.patch (renamed from patches/server/0767-Add-fire-tick-delay-option.patch)0
-rw-r--r--patches/server/0766-Add-Moving-Piston-API.patch (renamed from patches/server/0768-Add-Moving-Piston-API.patch)0
-rw-r--r--patches/server/0767-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0769-Ignore-impossible-spawn-tick.patch)0
-rw-r--r--patches/server/0768-Fix-EntityArgument-suggestion-permissions-to-align-w.patch (renamed from patches/server/0770-Fix-EntityArgument-suggestion-permissions-to-align-w.patch)0
-rw-r--r--patches/server/0769-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0771-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch)0
-rw-r--r--patches/server/0770-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0772-Add-PrePlayerAttackEntityEvent.patch)0
-rw-r--r--patches/server/0771-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0773-ensure-reset-EnderDragon-boss-event-name.patch)0
-rw-r--r--patches/server/0772-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0774-Add-Player-Warden-Warning-API.patch)4
-rw-r--r--patches/server/0773-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0775-More-vanilla-friendly-methods-to-update-trades.patch)0
-rw-r--r--patches/server/0774-Add-paper-dumplisteners-command.patch (renamed from patches/server/0776-Add-paper-dumplisteners-command.patch)0
-rw-r--r--patches/server/0775-check-global-player-list-where-appropriate.patch (renamed from patches/server/0777-check-global-player-list-where-appropriate.patch)0
-rw-r--r--patches/server/0776-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0778-Fix-async-entity-add-due-to-fungus-trees.patch)0
-rw-r--r--patches/server/0777-ItemStack-damage-API.patch (renamed from patches/server/0779-ItemStack-damage-API.patch)2
-rw-r--r--patches/server/0778-Friction-API.patch (renamed from patches/server/0780-Friction-API.patch)2
-rw-r--r--patches/server/0779-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0781-Ability-to-control-player-s-insomnia-and-phantoms.patch)0
-rw-r--r--patches/server/0780-Fix-premature-player-kicks-on-shutdown.patch (renamed from patches/server/0782-Fix-premature-player-kicks-on-shutdown.patch)0
-rw-r--r--patches/server/0781-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0783-Sync-offhand-slot-in-menus.patch)0
-rw-r--r--patches/server/0782-Player-Entity-Tracking-Events.patch (renamed from patches/server/0784-Player-Entity-Tracking-Events.patch)0
-rw-r--r--patches/server/0783-Limit-pet-look-distance.patch (renamed from patches/server/0785-Limit-pet-look-distance.patch)0
-rw-r--r--patches/server/0784-Fixes-and-additions-to-the-SpawnReason-API.patch (renamed from patches/server/0786-Fixes-and-additions-to-the-SpawnReason-API.patch)0
-rw-r--r--patches/server/0785-fix-Instruments.patch (renamed from patches/server/0787-fix-Instruments.patch)2
-rw-r--r--patches/server/0786-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0788-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch)0
-rw-r--r--patches/server/0787-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/0789-Fix-inconsistencies-in-dispense-events-regarding-sta.patch)0
-rw-r--r--patches/server/0788-Add-BlockLockCheckEvent.patch (renamed from patches/server/0790-Add-BlockLockCheckEvent.patch)0
-rw-r--r--patches/server/0789-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0791-Add-Sneaking-API-for-Entities.patch)0
-rw-r--r--patches/server/0790-Improve-logging-and-errors.patch (renamed from patches/server/0792-Improve-logging-and-errors.patch)2
-rw-r--r--patches/server/0791-Improve-PortalEvents.patch (renamed from patches/server/0793-Improve-PortalEvents.patch)0
-rw-r--r--patches/server/0792-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0794-Add-config-option-for-spider-worldborder-climbing.patch)0
-rw-r--r--patches/server/0793-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0795-Add-missing-SpigotConfig-logCommands-check.patch)2
-rw-r--r--patches/server/0794-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0796-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch)0
-rw-r--r--patches/server/0795-Flying-Fall-Damage.patch (renamed from patches/server/0797-Flying-Fall-Damage.patch)4
-rw-r--r--patches/server/0796-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0798-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch)0
-rw-r--r--patches/server/0797-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0799-config-for-disabling-entity-tag-tags.patch)0
-rw-r--r--patches/server/0798-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0800-Use-single-player-info-update-packet-on-join.patch)2
-rw-r--r--patches/server/0799-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch)0
-rw-r--r--patches/server/0800-Win-Screen-API.patch (renamed from patches/server/0802-Win-Screen-API.patch)2
-rw-r--r--patches/server/0801-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch)0
-rw-r--r--patches/server/0802-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0804-Fix-force-opening-enchantment-tables.patch)0
-rw-r--r--patches/server/0803-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0805-Add-Entity-Body-Yaw-API.patch)2
-rw-r--r--patches/server/0804-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0806-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch)0
-rw-r--r--patches/server/0805-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0807-Add-EntityFertilizeEggEvent.patch)0
-rw-r--r--patches/server/0806-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0808-Fix-HumanEntity-drop-not-updating-the-client-inv.patch)0
-rw-r--r--patches/server/0807-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0809-Add-CompostItemEvent-and-EntityCompostItemEvent.patch)0
-rw-r--r--patches/server/0808-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0810-Correctly-handle-ArmorStand-invisibility.patch)0
-rw-r--r--patches/server/0809-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch)0
-rw-r--r--patches/server/0810-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0812-Fix-text-display-error-on-spawn.patch)0
-rw-r--r--patches/server/0811-Fix-inventories-returning-null-Locations.patch (renamed from patches/server/0813-Fix-inventories-returning-null-Locations.patch)0
-rw-r--r--patches/server/0812-Add-Shearable-API.patch (renamed from patches/server/0814-Add-Shearable-API.patch)0
-rw-r--r--patches/server/0813-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0815-Fix-SpawnEggMeta-get-setSpawnedType.patch)0
-rw-r--r--patches/server/0814-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0816-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch)0
-rw-r--r--patches/server/0815-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0817-Treat-sequence-violations-like-they-should-be.patch)4
-rw-r--r--patches/server/0816-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0818-Prevent-causing-expired-keys-from-impacting-new-join.patch)2
-rw-r--r--patches/server/0817-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0819-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch)0
-rw-r--r--patches/server/0818-Use-array-for-gamerule-storage.patch (renamed from patches/server/0820-Use-array-for-gamerule-storage.patch)0
-rw-r--r--patches/server/0819-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0821-Fix-a-couple-of-upstream-bed-issues.patch)0
-rw-r--r--patches/server/0820-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0822-Fix-demo-flag-not-enabling-demo-mode.patch)0
-rw-r--r--patches/server/0821-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0823-Add-Mob-Experience-reward-API.patch)14
-rw-r--r--patches/server/0822-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0824-Break-redstone-on-top-of-trap-doors-early.patch)0
-rw-r--r--patches/server/0823-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0825-Avoid-Lazy-Initialization-for-Enum-Fields.patch)0
-rw-r--r--patches/server/0824-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0826-More-accurate-isInOpenWater-impl.patch)0
-rw-r--r--patches/server/0825-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0827-Expand-PlayerItemMendEvent.patch)4
-rw-r--r--patches/server/0826-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0828-Refresh-ProjectileSource-for-projectiles.patch)0
-rw-r--r--patches/server/0827-Add-transient-modifier-API.patch (renamed from patches/server/0829-Add-transient-modifier-API.patch)0
-rw-r--r--patches/server/0828-Fix-block-place-logic.patch (renamed from patches/server/0830-Fix-block-place-logic.patch)0
-rw-r--r--patches/server/0829-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0831-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch)0
-rw-r--r--patches/server/0830-Call-BlockGrowEvent-for-missing-blocks.patch (renamed from patches/server/0832-Call-BlockGrowEvent-for-missing-blocks.patch)0
-rw-r--r--patches/server/0831-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (renamed from patches/server/0833-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch)2
-rw-r--r--patches/server/0832-fix-MapLike-spam-for-missing-key-selector.patch (renamed from patches/server/0834-fix-MapLike-spam-for-missing-key-selector.patch)0
-rw-r--r--patches/server/0833-Fix-sniffer-removeExploredLocation.patch (renamed from patches/server/0835-Fix-sniffer-removeExploredLocation.patch)0
-rw-r--r--patches/server/0834-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/server/0836-Add-method-to-remove-all-active-potion-effects.patch)2
-rw-r--r--patches/server/0835-Fix-incorrect-crafting-result-amount-for-fireworks.patch (renamed from patches/server/0837-Fix-incorrect-crafting-result-amount-for-fireworks.patch)0
-rw-r--r--patches/server/0836-Add-event-for-player-editing-sign.patch (renamed from patches/server/0838-Add-event-for-player-editing-sign.patch)0
-rw-r--r--patches/server/0837-Only-tick-item-frames-if-players-can-see-it.patch (renamed from patches/server/0839-Only-tick-item-frames-if-players-can-see-it.patch)0
-rw-r--r--patches/server/0838-Fix-cmd-permission-levels-for-command-blocks.patch (renamed from patches/server/0840-Fix-cmd-permission-levels-for-command-blocks.patch)0
-rw-r--r--patches/server/0839-Add-option-to-disable-block-updates.patch (renamed from patches/server/0841-Add-option-to-disable-block-updates.patch)0
-rw-r--r--patches/server/0840-Call-missing-BlockDispenseEvent.patch (renamed from patches/server/0842-Call-missing-BlockDispenseEvent.patch)0
-rw-r--r--patches/server/0841-Don-t-load-chunks-for-supporting-block-checks.patch (renamed from patches/server/0843-Don-t-load-chunks-for-supporting-block-checks.patch)0
-rw-r--r--patches/server/0842-Optimize-player-lookups-for-beacons.patch (renamed from patches/server/0844-Optimize-player-lookups-for-beacons.patch)0
-rw-r--r--patches/server/0843-Add-Sign-getInteractableSideFor.patch (renamed from patches/server/0845-Add-Sign-getInteractableSideFor.patch)0
-rw-r--r--patches/server/0844-fix-item-meta-for-tadpole-buckets.patch (renamed from patches/server/0846-fix-item-meta-for-tadpole-buckets.patch)4
-rw-r--r--patches/server/0845-Fix-BanList-API.patch (renamed from patches/server/0847-Fix-BanList-API.patch)2
-rw-r--r--patches/server/0846-Determine-lava-and-water-fluid-explosion-resistance-.patch (renamed from patches/server/0848-Determine-lava-and-water-fluid-explosion-resistance-.patch)0
-rw-r--r--patches/server/0847-Fix-possible-NPE-on-painting-creation.patch (renamed from patches/server/0849-Fix-possible-NPE-on-painting-creation.patch)0
-rw-r--r--patches/server/0848-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (renamed from patches/server/0850-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch)0
-rw-r--r--patches/server/0849-ExperienceOrb-should-call-EntitySpawnEvent.patch (renamed from patches/server/0851-ExperienceOrb-should-call-EntitySpawnEvent.patch)0
-rw-r--r--patches/server/0850-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (renamed from patches/server/0852-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch)0
-rw-r--r--patches/server/0851-Add-whitelist-events.patch (renamed from patches/server/0853-Add-whitelist-events.patch)0
-rw-r--r--patches/server/0852-Implement-PlayerFailMoveEvent.patch (renamed from patches/server/0854-Implement-PlayerFailMoveEvent.patch)2
-rw-r--r--patches/server/0853-Folia-scheduler-and-owned-region-API.patch (renamed from patches/server/0855-Folia-scheduler-and-owned-region-API.patch)2
-rw-r--r--patches/server/0854-Only-erase-allay-memory-on-non-item-targets.patch (renamed from patches/server/0856-Only-erase-allay-memory-on-non-item-targets.patch)0
-rw-r--r--patches/server/0855-API-for-updating-recipes-on-clients.patch (renamed from patches/server/0857-API-for-updating-recipes-on-clients.patch)2
-rw-r--r--patches/server/0856-Fix-rotation-when-spawning-display-entities.patch (renamed from patches/server/0858-Fix-rotation-when-spawning-display-entities.patch)0
-rw-r--r--patches/server/0857-Only-capture-actual-tree-growth.patch (renamed from patches/server/0859-Only-capture-actual-tree-growth.patch)0
-rw-r--r--patches/server/0858-Use-correct-source-for-mushroom-block-spread-event.patch (renamed from patches/server/0860-Use-correct-source-for-mushroom-block-spread-event.patch)0
-rw-r--r--patches/server/0859-Respect-randomizeData-on-more-entities-when-spawning.patch (renamed from patches/server/0861-Respect-randomizeData-on-more-entities-when-spawning.patch)0
-rw-r--r--patches/server/0860-Use-correct-seed-on-api-world-load.patch (renamed from patches/server/0862-Use-correct-seed-on-api-world-load.patch)2
-rw-r--r--patches/server/0861-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (renamed from patches/server/0863-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch)0
-rw-r--r--patches/server/0862-Cache-map-ids-on-item-frames.patch (renamed from patches/server/0864-Cache-map-ids-on-item-frames.patch)0
-rw-r--r--patches/server/0863-Fix-custom-statistic-criteria-creation.patch (renamed from patches/server/0865-Fix-custom-statistic-criteria-creation.patch)0
-rw-r--r--patches/server/0864-Bandaid-fix-for-Effect.patch (renamed from patches/server/0866-Bandaid-fix-for-Effect.patch)6
-rw-r--r--patches/server/0865-SculkCatalyst-bloom-API.patch (renamed from patches/server/0867-SculkCatalyst-bloom-API.patch)0
-rw-r--r--patches/server/0866-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/server/0868-API-for-an-entity-s-scoreboard-name.patch)0
-rw-r--r--patches/server/0867-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/server/0869-Deprecate-and-replace-methods-with-old-StructureType.patch)2
-rw-r--r--patches/server/0868-Don-t-tab-complete-namespaced-commands-if-send-names.patch (renamed from patches/server/0870-Don-t-tab-complete-namespaced-commands-if-send-names.patch)2
-rw-r--r--patches/server/0869-Properly-handle-BlockBreakEvent-isDropItems.patch (renamed from patches/server/0871-Properly-handle-BlockBreakEvent-isDropItems.patch)0
-rw-r--r--patches/server/0870-Fire-entity-death-event-for-ender-dragon.patch (renamed from patches/server/0872-Fire-entity-death-event-for-ender-dragon.patch)0
-rw-r--r--patches/server/0871-Configurable-entity-tracking-range-by-Y-coordinate.patch (renamed from patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch)0
-rw-r--r--patches/server/0872-Add-Listing-API-for-Player.patch (renamed from patches/server/0874-Add-Listing-API-for-Player.patch)6
-rw-r--r--patches/server/0873-Configurable-Region-Compression-Format.patch (renamed from patches/server/0875-Configurable-Region-Compression-Format.patch)0
-rw-r--r--patches/server/0874-Add-BlockFace-to-BlockDamageEvent.patch (renamed from patches/server/0876-Add-BlockFace-to-BlockDamageEvent.patch)0
-rw-r--r--patches/server/0875-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/server/0877-Fix-NPE-on-Boat-getStatus.patch)0
-rw-r--r--patches/server/0876-Expand-Pose-API.patch (renamed from patches/server/0878-Expand-Pose-API.patch)0
-rw-r--r--patches/server/0877-More-DragonBattle-API.patch (renamed from patches/server/0879-More-DragonBattle-API.patch)0
-rw-r--r--patches/server/0878-Add-PlayerPickItemEvent.patch (renamed from patches/server/0880-Add-PlayerPickItemEvent.patch)4
-rw-r--r--patches/server/0879-Allow-trident-custom-damage.patch (renamed from patches/server/0881-Allow-trident-custom-damage.patch)0
-rw-r--r--patches/server/0880-Expose-hand-in-BlockCanBuildEvent.patch (renamed from patches/server/0882-Expose-hand-in-BlockCanBuildEvent.patch)0
-rw-r--r--patches/server/0881-Optimize-nearest-structure-border-iteration.patch (renamed from patches/server/0883-Optimize-nearest-structure-border-iteration.patch)0
-rw-r--r--patches/server/0882-Implement-OfflinePlayer-isConnected.patch (renamed from patches/server/0884-Implement-OfflinePlayer-isConnected.patch)2
-rw-r--r--patches/server/0883-Fix-inventory-desync.patch (renamed from patches/server/0885-Fix-inventory-desync.patch)0
-rw-r--r--patches/server/0884-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch)0
-rw-r--r--patches/server/0885-Configure-sniffer-egg-hatch-time.patch (renamed from patches/server/0887-Configure-sniffer-egg-hatch-time.patch)0
-rw-r--r--patches/server/0886-Do-crystal-portal-proximity-check-before-entity-look.patch (renamed from patches/server/0888-Do-crystal-portal-proximity-check-before-entity-look.patch)0
-rw-r--r--patches/server/0887-Skip-POI-finding-if-stuck-in-vehicle.patch (renamed from patches/server/0889-Skip-POI-finding-if-stuck-in-vehicle.patch)0
-rw-r--r--patches/server/0888-Add-slot-sanity-checks-in-container-clicks.patch (renamed from patches/server/0890-Add-slot-sanity-checks-in-container-clicks.patch)2
-rw-r--r--patches/server/0889-Call-BlockRedstoneEvents-for-lecterns.patch (renamed from patches/server/0891-Call-BlockRedstoneEvents-for-lecterns.patch)0
-rw-r--r--patches/server/0890-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch)0
-rw-r--r--patches/server/0891-Fix-silent-equipment-change-for-mobs.patch (renamed from patches/server/0893-Fix-silent-equipment-change-for-mobs.patch)0
-rw-r--r--patches/server/0892-Fix-spigot-s-Forced-Stats.patch (renamed from patches/server/0894-Fix-spigot-s-Forced-Stats.patch)0
-rw-r--r--patches/server/0893-Add-missing-InventoryHolders-to-inventories.patch (renamed from patches/server/0895-Add-missing-InventoryHolders-to-inventories.patch)0
-rw-r--r--patches/server/0894-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (renamed from patches/server/0896-Do-not-read-tile-entities-in-chunks-that-are-positio.patch)0
-rw-r--r--patches/server/0895-Add-missing-logs-for-log-ips-config-option.patch (renamed from patches/server/0897-Add-missing-logs-for-log-ips-config-option.patch)0
-rw-r--r--patches/server/0896-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/0898-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/0897-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/0899-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/0898-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/0900-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/0899-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/0901-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/0900-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/0902-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/0901-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/0903-Fix-UnsafeValues-loadAdvancement.patch)0
-rw-r--r--patches/server/0902-Add-player-idle-duration-API.patch (renamed from patches/server/0904-Add-player-idle-duration-API.patch)4
-rw-r--r--patches/server/0903-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch)0
-rw-r--r--patches/server/0904-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/0906-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/0905-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/0907-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)2
-rw-r--r--patches/server/0906-Optimize-VarInts.patch (renamed from patches/server/0908-Optimize-VarInts.patch)0
-rw-r--r--patches/server/0907-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/0909-Add-API-to-get-the-collision-shape-of-a-block-before.patch)0
-rw-r--r--patches/server/0908-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/0910-Add-predicate-for-blocks-when-raytracing.patch)8
-rw-r--r--patches/server/0909-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch)0
-rw-r--r--patches/server/0910-Expand-LingeringPotion-API.patch (renamed from patches/server/0912-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/server/0911-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/0913-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)4
-rw-r--r--patches/server/0912-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/0914-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/server/0913-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/0915-Fix-several-issues-with-EntityBreedEvent.patch)0
-rw-r--r--patches/server/0914-Add-UUID-attribute-modifier-API.patch142
-rw-r--r--patches/server/0915-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/0917-Fix-missing-event-call-for-entity-teleport-API.patch)0
-rw-r--r--patches/server/0916-Add-UUID-attribute-modifier-API.patch56
-rw-r--r--patches/server/0916-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/0918-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/0917-Don-t-fire-sync-events-during-worldgen.patch (renamed from patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch)0
-rw-r--r--patches/server/0918-Add-Structure-check-API.patch (renamed from patches/server/0920-Add-Structure-check-API.patch)4
-rw-r--r--patches/server/0919-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/0921-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)0
-rw-r--r--patches/server/0920-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/0922-Restore-vanilla-entity-drops-behavior.patch)0
-rw-r--r--patches/server/0921-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/0923-Dont-resend-blocks-on-interactions.patch)0
-rw-r--r--patches/server/0922-add-more-scoreboard-API.patch (renamed from patches/server/0924-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/0923-Improve-Registry.patch (renamed from patches/server/0925-Improve-Registry.patch)0
-rw-r--r--patches/server/0924-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (renamed from patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch)0
-rw-r--r--patches/server/0925-Add-experience-points-API.patch (renamed from patches/server/0927-Add-experience-points-API.patch)4
-rw-r--r--patches/server/0926-Add-drops-to-shear-events.patch (renamed from patches/server/0928-Add-drops-to-shear-events.patch)0
-rw-r--r--patches/server/0927-Add-PlayerShieldDisableEvent.patch (renamed from patches/server/0929-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/server/0928-Validate-ResourceLocation-in-NBT-reading.patch (renamed from patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch)0
-rw-r--r--patches/server/0929-Properly-handle-experience-dropping-on-block-break.patch (renamed from patches/server/0931-Properly-handle-experience-dropping-on-block-break.patch)0
-rw-r--r--patches/server/0930-Fixup-NamespacedKey-handling.patch (renamed from patches/server/0932-Fixup-NamespacedKey-handling.patch)0
-rw-r--r--patches/server/0931-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/server/0933-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/server/0932-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (renamed from patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch)0
-rw-r--r--patches/server/0933-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/0935-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch)0
-rw-r--r--patches/server/0934-Add-ShulkerDuplicateEvent.patch (renamed from patches/server/0936-Add-ShulkerDuplicateEvent.patch)0
-rw-r--r--patches/server/0935-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/server/0937-Add-api-for-spawn-egg-texture-colors.patch)0
-rw-r--r--patches/server/0936-Add-Lifecycle-Event-system.patch (renamed from patches/server/0938-Add-Lifecycle-Event-system.patch)2
-rw-r--r--patches/server/0937-ItemStack-Tooltip-API.patch (renamed from patches/server/0939-ItemStack-Tooltip-API.patch)0
-rw-r--r--patches/server/0938-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/server/0940-Add-getChunkSnapshot-includeLightData-parameter.patch)0
-rw-r--r--patches/server/0939-Add-FluidState-API.patch (renamed from patches/server/0941-Add-FluidState-API.patch)0
-rw-r--r--patches/server/0940-add-number-format-api.patch (renamed from patches/server/0942-add-number-format-api.patch)0
-rw-r--r--patches/server/0941-improve-BanList-types.patch (renamed from patches/server/0943-improve-BanList-types.patch)2
-rw-r--r--patches/server/0942-Expanded-Hopper-API.patch (renamed from patches/server/0944-Expanded-Hopper-API.patch)0
-rw-r--r--patches/server/0943-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/server/0945-Add-BlockBreakProgressUpdateEvent.patch)0
-rw-r--r--patches/server/0944-Deprecate-ItemStack-setType.patch (renamed from patches/server/0946-Deprecate-ItemStack-setType.patch)0
-rw-r--r--patches/server/0945-Add-CartographyItemEvent.patch (renamed from patches/server/0947-Add-CartographyItemEvent.patch)2
-rw-r--r--patches/server/0946-More-Raid-API.patch (renamed from patches/server/0948-More-Raid-API.patch)4
-rw-r--r--patches/server/0947-Add-onboarding-message-for-initial-server-start.patch (renamed from patches/server/0949-Add-onboarding-message-for-initial-server-start.patch)2
-rw-r--r--patches/server/0948-Configurable-max-block-fluid-ticks.patch (renamed from patches/server/0950-Configurable-max-block-fluid-ticks.patch)0
-rw-r--r--patches/server/0949-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0951-Fix-bees-aging-inside-hives.patch)0
-rw-r--r--patches/server/0950-Disable-memory-reserve-allocating.patch (renamed from patches/server/0952-Disable-memory-reserve-allocating.patch)0
-rw-r--r--patches/server/0951-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch (renamed from patches/server/0953-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch)0
-rw-r--r--patches/server/0952-Fix-DamageSource-API.patch (renamed from patches/server/0954-Fix-DamageSource-API.patch)0
-rw-r--r--patches/server/0953-Fix-creation-of-invalid-block-entity-during-world-ge.patch (renamed from patches/server/0955-Fix-creation-of-invalid-block-entity-during-world-ge.patch)2
-rw-r--r--patches/server/0954-Fix-possible-StackOverflowError-for-some-dispenses.patch (renamed from patches/server/0956-Fix-possible-StackOverflowError-for-some-dispenses.patch)0
-rw-r--r--patches/server/0955-Improve-tag-parser-handling.patch (renamed from patches/server/0957-Improve-tag-parser-handling.patch)2
-rw-r--r--patches/server/0956-Item-Mutation-Fixes.patch (renamed from patches/server/0958-Item-Mutation-Fixes.patch)0
-rw-r--r--patches/server/0957-Per-world-ticks-per-spawn-settings.patch (renamed from patches/server/0959-Per-world-ticks-per-spawn-settings.patch)0
-rw-r--r--patches/server/0958-Properly-track-the-changed-item-from-dispense-events.patch (renamed from patches/server/0960-Properly-track-the-changed-item-from-dispense-events.patch)0
-rw-r--r--patches/server/0959-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/0961-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch)0
-rw-r--r--patches/server/0960-Fix-tripwire-disarming-not-working-as-intended.patch (renamed from patches/server/0962-Fix-tripwire-disarming-not-working-as-intended.patch)0
-rw-r--r--patches/server/0961-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0963-Add-config-for-mobs-immune-to-default-effects.patch)0
-rw-r--r--patches/server/0962-Deep-clone-nbt-tags-in-PDC.patch (renamed from patches/server/0964-Deep-clone-nbt-tags-in-PDC.patch)0
-rw-r--r--patches/server/0963-Support-old-UUID-format-for-NBT.patch (renamed from patches/server/0965-Support-old-UUID-format-for-NBT.patch)0
-rw-r--r--patches/server/0964-Fix-shield-disable-inconsistency.patch (renamed from patches/server/0966-Fix-shield-disable-inconsistency.patch)0
-rw-r--r--patches/server/0965-Don-t-lose-removed-data-components-in-ItemMeta.patch (renamed from patches/server/0967-Don-t-lose-removed-data-components-in-ItemMeta.patch)0
-rw-r--r--patches/server/0966-Handle-Large-Packets-disconnecting-client.patch (renamed from patches/server/0968-Handle-Large-Packets-disconnecting-client.patch)0
-rw-r--r--patches/server/0967-Fix-ItemFlags.patch (renamed from patches/server/0969-Fix-ItemFlags.patch)0
-rw-r--r--patches/server/0968-Fix-helmet-damage-reduction-inconsistencies.patch (renamed from patches/server/0970-Fix-helmet-damage-reduction-inconsistencies.patch)0
-rw-r--r--patches/server/0969-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch (renamed from patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch)0
-rw-r--r--patches/server/0970-improve-checking-handled-tags-in-itemmeta.patch (renamed from patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch)0
-rw-r--r--patches/server/0971-General-ItemMeta-fixes.patch (renamed from patches/server/0973-General-ItemMeta-fixes.patch)0
-rw-r--r--patches/server/0972-Expose-hasColor-to-leather-armor.patch (renamed from patches/server/0974-Expose-hasColor-to-leather-armor.patch)0
-rw-r--r--patches/server/0973-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/server/0975-Added-API-to-get-player-ha-proxy-address.patch)2
-rw-r--r--patches/server/0974-More-Chest-Block-API.patch (renamed from patches/server/0976-More-Chest-Block-API.patch)0
-rw-r--r--patches/server/0975-Print-data-component-type-on-encoding-error.patch (renamed from patches/server/0977-Print-data-component-type-on-encoding-error.patch)0
-rw-r--r--patches/server/0976-Brigadier-based-command-API.patch (renamed from patches/server/0978-Brigadier-based-command-API.patch)4
-rw-r--r--patches/server/0977-Fix-issues-with-Recipe-API.patch (renamed from patches/server/0979-Fix-issues-with-Recipe-API.patch)0
-rw-r--r--patches/server/0978-Fix-equipment-slot-and-group-API.patch (renamed from patches/server/0980-Fix-equipment-slot-and-group-API.patch)0
-rw-r--r--patches/server/0979-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/server/0981-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch)0
-rw-r--r--patches/server/0980-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch)2
-rw-r--r--patches/server/0981-Prevent-NPE-if-hooked-entity-was-cleared.patch (renamed from patches/server/0983-Prevent-NPE-if-hooked-entity-was-cleared.patch)0
-rw-r--r--patches/server/0982-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch (renamed from patches/server/0984-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch)2
-rw-r--r--patches/server/0983-Add-missing-fishing-event-state.patch (renamed from patches/server/0985-Add-missing-fishing-event-state.patch)0
-rw-r--r--patches/server/0984-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/server/0986-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch)2
-rw-r--r--patches/server/0985-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch (renamed from patches/server/0987-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch)0
-rw-r--r--patches/server/0986-Adopt-MaterialRerouting.patch (renamed from patches/server/0988-Adopt-MaterialRerouting.patch)0
-rw-r--r--patches/unapplied/server/0668-Implement-regenerateChunk.patch (renamed from patches/server/0668-Implement-regenerateChunk.patch)0
595 files changed, 544 insertions, 603 deletions
diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
index 8d422d216e..bb9d57e4e1 100644
--- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
+++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
@@ -6,31 +6,23 @@ 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 29bc12cb3095282a31f01f08ac66c15b24f42524..90cec86f6f75809e2c6e06313b1a96e77c992c18 100644
+index 29bc12cb3095282a31f01f08ac66c15b24f42524..f908c11ece7b3d1a52e21540999f36796237d590 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -13,6 +13,7 @@ import org.bukkit.Translatable;
- import org.bukkit.Utility;
- import org.bukkit.configuration.serialization.ConfigurationSerializable;
- import org.bukkit.enchantments.Enchantment;
-+import org.bukkit.entity.LivingEntity;
- import org.bukkit.inventory.meta.Damageable;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.material.MaterialData;
-@@ -670,5 +671,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -670,5 +670,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getI18NDisplayName() {
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
}
+
+ /**
-+ * @deprecated use {@link #getMaxItemUseDuration(LivingEntity)}; crossbows, later possibly more items require an entity parameter
++ * @deprecated use {@link #getMaxItemUseDuration(org.bukkit.entity.LivingEntity)}; crossbows, later possibly more items require an entity parameter
+ */
+ @Deprecated(forRemoval = true)
+ public int getMaxItemUseDuration() {
+ return getMaxItemUseDuration(null);
+ }
+
-+ public int getMaxItemUseDuration(@NotNull final LivingEntity entity) {
++ public int getMaxItemUseDuration(@NotNull final org.bukkit.entity.LivingEntity entity) {
+ if (type == null || type == Material.AIR || !type.isItem()) {
+ return 0;
+ }
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 532219c194..0bfbef94ea 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,10 +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 90cec86f6f75809e2c6e06313b1a96e77c992c18..93cce80df2c2c8d6379dbe1753748c3e10b73195 100644
+index f908c11ece7b3d1a52e21540999f36796237d590..d125d29759167996a90b7b69d92d944e80af22ab 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -687,5 +687,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -686,5 +686,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
// Requires access to NMS
return ensureServerConversions().getMaxItemUseDuration(entity);
}
diff --git a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
index a36bc077a7..7509e7982b 100644
--- a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch
@@ -1412,7 +1412,7 @@ index 3d08beee52f2247db6f6e679206ed6a965fbf9a8..1b4f9b93860e58762ac28715adad5a67
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 93cce80df2c2c8d6379dbe1753748c3e10b73195..2129243467b11e5599969a5b0d40ca354fbad467 100644
+index d125d29759167996a90b7b69d92d944e80af22ab..d5dd79c98f4d37b09d232214f06ed7dca3a7e6dd 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -10,6 +10,7 @@ import org.bukkit.Material;
@@ -1423,7 +1423,7 @@ index 93cce80df2c2c8d6379dbe1753748c3e10b73195..2129243467b11e5599969a5b0d40ca35
import org.bukkit.Utility;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.enchantments.Enchantment;
-@@ -180,8 +181,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -179,8 +180,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 93cce80df2c2c8d6379dbe1753748c3e10b73195..2129243467b11e5599969a5b0d40ca35
public MaterialData getData() {
Material mat = Bukkit.getUnsafe().toLegacy(getType());
if (data == null && mat != null && mat.getData() != null) {
-@@ -195,7 +198,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -194,7 +197,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 93cce80df2c2c8d6379dbe1753748c3e10b73195..2129243467b11e5599969a5b0d40ca35
public void setData(@Nullable MaterialData data) {
if (data == null) {
this.data = data;
-@@ -575,7 +580,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -574,7 +579,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*
* @return a copy of the current ItemStack's ItemData
*/
diff --git a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch
index 2fb50dece8..2d931c5392 100644
--- a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -20,10 +20,10 @@ index da997507b96908027c49dabc6daf7c787dcad95d..cb7aef53cbffc76dea9fec28445ea8ae
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 2129243467b11e5599969a5b0d40ca354fbad467..59de575055623f832a0775ffb7de742f5d6be402 100644
+index d5dd79c98f4d37b09d232214f06ed7dca3a7e6dd..abdb3b5d3bc96fc48ee53208f77ae0f9c295d771 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -662,6 +662,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -661,6 +661,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
}
diff --git a/patches/api/0207-Add-methods-to-get-translation-keys.patch b/patches/api/0207-Add-methods-to-get-translation-keys.patch
index 2d6f22cf69..292116000a 100644
--- a/patches/api/0207-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0207-Add-methods-to-get-translation-keys.patch
@@ -526,10 +526,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 59de575055623f832a0775ffb7de742f5d6be402..6a0f1d5996edb8217b24172466768c4be573873a 100644
+index abdb3b5d3bc96fc48ee53208f77ae0f9c295d771..03f50bcf60ce868d633912e53e804a2b25999f6e 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -28,7 +28,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>
*/
@@ -538,7 +538,7 @@ index 59de575055623f832a0775ffb7de742f5d6be402..6a0f1d5996edb8217b24172466768c4b
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
-@@ -629,6 +629,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -628,6 +628,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@Override
@NotNull
@@ -546,7 +546,7 @@ index 59de575055623f832a0775ffb7de742f5d6be402..6a0f1d5996edb8217b24172466768c4b
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
-@@ -896,5 +897,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -895,5 +896,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
ItemMeta itemMeta = getItemMeta();
return itemMeta != null && itemMeta.hasItemFlag(flag);
}
diff --git a/patches/api/0259-Improve-Item-Rarity-API.patch b/patches/api/0259-Improve-Item-Rarity-API.patch
index 1978ba0b55..f945efb2fe 100644
--- a/patches/api/0259-Improve-Item-Rarity-API.patch
+++ b/patches/api/0259-Improve-Item-Rarity-API.patch
@@ -110,10 +110,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 6a0f1d5996edb8217b24172466768c4be573873a..938dc055a78fb8959d03f1b89270cc4655e4def0 100644
+index 03f50bcf60ce868d633912e53e804a2b25999f6e..e2f8a0d3a9dcab3fce2d71221751434abc9ab94f 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -908,5 +908,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -907,5 +907,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull String translationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
diff --git a/patches/api/0277-ItemStack-repair-check-API.patch b/patches/api/0277-ItemStack-repair-check-API.patch
index e4d5879ddc..b918edcf35 100644
--- a/patches/api/0277-ItemStack-repair-check-API.patch
+++ b/patches/api/0277-ItemStack-repair-check-API.patch
@@ -25,10 +25,10 @@ index 8635846c9f672e39f0929eec7bf83b22536ed284..51f1a09164d501de6d2561ed90175f2c
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 938dc055a78fb8959d03f1b89270cc4655e4def0..bbc3a36c0a9f8688230fe63a27f5d9323c79ac32 100644
+index e2f8a0d3a9dcab3fce2d71221751434abc9ab94f..057c87bc25b23f5fb3c34d0de781b7e125921439 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -920,5 +920,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -919,5 +919,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/0280-ItemStack-editMeta.patch b/patches/api/0280-ItemStack-editMeta.patch
index 0cc2444972..a50fabf48e 100644
--- a/patches/api/0280-ItemStack-editMeta.patch
+++ b/patches/api/0280-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 bbc3a36c0a9f8688230fe63a27f5d9323c79ac32..d4178bc7a51bdcfb2446510de66e4fff1b0a86ec 100644
+index 057c87bc25b23f5fb3c34d0de781b7e125921439..7915521e3640ffc12d87dbbab4cd1a777e3801c9 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -575,6 +575,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -574,6 +574,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return result.ensureServerConversions(); // Paper
}
diff --git a/patches/api/0320-Add-more-Campfire-API.patch b/patches/api/0319-Add-more-Campfire-API.patch
index 80cdc0bb39..80cdc0bb39 100644
--- a/patches/api/0320-Add-more-Campfire-API.patch
+++ b/patches/api/0319-Add-more-Campfire-API.patch
diff --git a/patches/api/0319-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0319-Allow-delegation-to-vanilla-chunk-gen.patch
deleted file mode 100644
index 256eb6ed6a..0000000000
--- a/patches/api/0319-Allow-delegation-to-vanilla-chunk-gen.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: MiniDigger <[email protected]>
-Date: Wed, 29 Apr 2020 02:09:17 +0200
-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 913ab7ce4a754739ef786086d4da55c93d37a39e..acf382e75c11b8cf7bc06fbac7efe30673021c0c 100644
---- a/src/main/java/org/bukkit/Bukkit.java
-+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2114,6 +2114,24 @@ public final class Bukkit {
- return server.createChunkData(world);
- }
-
-+ // Paper start
-+ /**
-+ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world
-+ *
-+ * @param world the world to create the ChunkData for
-+ * @param x the x coordinate of the chunk
-+ * @param z the z coordinate of the chunk
-+ * @return a new ChunkData for the world
-+ * @deprecated The new multi-stage worldgen API allows a similar effect by overriding all of the "shouldGenerate..." methods to
-+ * return true, and then modifying the chunkdata in a later stage such as surface or bedrock generation.
-+ */
-+ @NotNull
-+ @Deprecated(forRemoval = true)
-+ public static ChunkGenerator.ChunkData createVanillaChunkData(@NotNull World world, int x, int z) {
-+ return server.createVanillaChunkData(world, x, z);
-+ }
-+ // Paper end
-+
- /**
- * 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 b383ca29be8f86e03e81dbb9962747c03aed1671..9118ae507b9744f142def8bec18b0861eb481820 100644
---- a/src/main/java/org/bukkit/Server.java
-+++ b/src/main/java/org/bukkit/Server.java
-@@ -1789,6 +1789,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
- @NotNull
- public ChunkGenerator.ChunkData createChunkData(@NotNull World world);
-
-+ // Paper start
-+ /**
-+ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world.
-+ *
-+ * @param world the world to create the ChunkData for
-+ * @param x the x coordinate of the chunk
-+ * @param z the z coordinate of the chunk
-+ * @return a new ChunkData for the world
-+ * @deprecated The new multi-stage worldgen API allows a similar effect by overriding all of the "shouldGenerate..." methods to
-+ * return true, and then modifying the chunkdata in a later stage such as surface or bedrock generation.
-+ */
-+ @NotNull
-+ @Deprecated(forRemoval = true)
-+ ChunkGenerator.ChunkData createVanillaChunkData(@NotNull World world, int x, int z);
-+ // Paper end
-+
- /**
- * Creates a boss bar instance to display to players. The progress
- * defaults to 1.0
-diff --git a/src/main/java/org/bukkit/generator/ChunkGenerator.java b/src/main/java/org/bukkit/generator/ChunkGenerator.java
-index 7e7a53b41013f1bf8956c0e278820f18d77b2f0d..c942b7101a38ac7dc70e11e87afa1f9210000bc1 100644
---- a/src/main/java/org/bukkit/generator/ChunkGenerator.java
-+++ b/src/main/java/org/bukkit/generator/ChunkGenerator.java
-@@ -577,6 +577,22 @@ public abstract class ChunkGenerator {
- return false;
- }
-
-+ // Paper start
-+ /**
-+ * Create a ChunkData for use in a generator, that is populated by the vanilla generator for that world
-+ *
-+ * @param world the world to create the ChunkData for
-+ * @param x the x coordinate of the chunk
-+ * @param z the z coordinate of the chunk
-+ * @return a new ChunkData for the world
-+ *
-+ */
-+ @NotNull
-+ public ChunkData createVanillaChunkData(@NotNull World world, int x, int z) {
-+ return Bukkit.getServer().createVanillaChunkData(world, x, z);
-+ }
-+ // Paper end
-+
- /**
- * Gets if the server should generate Vanilla structures after this
- * ChunkGenerator.
diff --git a/patches/api/0321-Extend-VehicleCollisionEvent-move-HandlerList-up.patch b/patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
index 5f5a4f4140..5f5a4f4140 100644
--- a/patches/api/0321-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
+++ b/patches/api/0320-Extend-VehicleCollisionEvent-move-HandlerList-up.patch
diff --git a/patches/api/0322-Improve-scoreboard-entries.patch b/patches/api/0321-Improve-scoreboard-entries.patch
index d6e077bd86..d6e077bd86 100644
--- a/patches/api/0322-Improve-scoreboard-entries.patch
+++ b/patches/api/0321-Improve-scoreboard-entries.patch
diff --git a/patches/api/0323-Entity-powdered-snow-API.patch b/patches/api/0322-Entity-powdered-snow-API.patch
index 648ddec205..648ddec205 100644
--- a/patches/api/0323-Entity-powdered-snow-API.patch
+++ b/patches/api/0322-Entity-powdered-snow-API.patch
diff --git a/patches/api/0324-Add-API-for-item-entity-health.patch b/patches/api/0323-Add-API-for-item-entity-health.patch
index 572034e557..572034e557 100644
--- a/patches/api/0324-Add-API-for-item-entity-health.patch
+++ b/patches/api/0323-Add-API-for-item-entity-health.patch
diff --git a/patches/api/0325-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index f094cdc255..f094cdc255 100644
--- a/patches/api/0325-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/api/0324-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/api/0326-Bucketable-API.patch b/patches/api/0325-Bucketable-API.patch
index 26dbdc9f5d..26dbdc9f5d 100644
--- a/patches/api/0326-Bucketable-API.patch
+++ b/patches/api/0325-Bucketable-API.patch
diff --git a/patches/api/0327-System-prop-for-default-config-comment-parsing.patch b/patches/api/0326-System-prop-for-default-config-comment-parsing.patch
index 632f71e519..632f71e519 100644
--- a/patches/api/0327-System-prop-for-default-config-comment-parsing.patch
+++ b/patches/api/0326-System-prop-for-default-config-comment-parsing.patch
diff --git a/patches/api/0328-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 9b189fc918..9b189fc918 100644
--- a/patches/api/0328-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/api/0327-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
diff --git a/patches/api/0329-Multiple-Entries-with-Scoreboards.patch b/patches/api/0328-Multiple-Entries-with-Scoreboards.patch
index 920c2f117e..920c2f117e 100644
--- a/patches/api/0329-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/api/0328-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/api/0330-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0329-Warn-on-strange-EventHandler-return-types.patch
index c7807b823b..c7807b823b 100644
--- a/patches/api/0330-Warn-on-strange-EventHandler-return-types.patch
+++ b/patches/api/0329-Warn-on-strange-EventHandler-return-types.patch
diff --git a/patches/api/0331-Multi-Block-Change-API.patch b/patches/api/0330-Multi-Block-Change-API.patch
index 9d93df8706..9d93df8706 100644
--- a/patches/api/0331-Multi-Block-Change-API.patch
+++ b/patches/api/0330-Multi-Block-Change-API.patch
diff --git a/patches/api/0332-Fix-NotePlayEvent.patch b/patches/api/0331-Fix-NotePlayEvent.patch
index d3f827bfd8..d3f827bfd8 100644
--- a/patches/api/0332-Fix-NotePlayEvent.patch
+++ b/patches/api/0331-Fix-NotePlayEvent.patch
diff --git a/patches/api/0333-Freeze-Tick-Lock-API.patch b/patches/api/0332-Freeze-Tick-Lock-API.patch
index c40323bc40..c40323bc40 100644
--- a/patches/api/0333-Freeze-Tick-Lock-API.patch
+++ b/patches/api/0332-Freeze-Tick-Lock-API.patch
diff --git a/patches/api/0334-Dolphin-API.patch b/patches/api/0333-Dolphin-API.patch
index 73beed437b..73beed437b 100644
--- a/patches/api/0334-Dolphin-API.patch
+++ b/patches/api/0333-Dolphin-API.patch
diff --git a/patches/api/0335-More-PotionEffectType-API.patch b/patches/api/0334-More-PotionEffectType-API.patch
index e247835a90..e247835a90 100644
--- a/patches/api/0335-More-PotionEffectType-API.patch
+++ b/patches/api/0334-More-PotionEffectType-API.patch
diff --git a/patches/api/0336-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0335-API-for-creating-command-sender-which-forwards-feedb.patch
index f8da9ce255..bca3814ad8 100644
--- a/patches/api/0336-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/api/0335-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 acf382e75c11b8cf7bc06fbac7efe30673021c0c..64bd6071d45d845a2e8e5565014036e7ce16a430 100644
+index 913ab7ce4a754739ef786086d4da55c93d37a39e..69b6c867961d4701a26e8efe048b5bef04c1bcd8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1581,6 +1581,20 @@ public final class Bukkit {
@@ -30,7 +30,7 @@ index acf382e75c11b8cf7bc06fbac7efe30673021c0c..64bd6071d45d845a2e8e5565014036e7
* 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 9118ae507b9744f142def8bec18b0861eb481820..d46999648b8770624d288709458cfbf400063037 100644
+index b383ca29be8f86e03e81dbb9962747c03aed1671..c79768c995e47470e781645b9e6062b35bb506fd 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1335,6 +1335,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0337-Implement-regenerateChunk.patch b/patches/api/0336-Implement-regenerateChunk.patch
index 429edcb2d7..429edcb2d7 100644
--- a/patches/api/0337-Implement-regenerateChunk.patch
+++ b/patches/api/0336-Implement-regenerateChunk.patch
diff --git a/patches/api/0338-Add-GameEvent-tags.patch b/patches/api/0337-Add-GameEvent-tags.patch
index 8af580d84b..8af580d84b 100644
--- a/patches/api/0338-Add-GameEvent-tags.patch
+++ b/patches/api/0337-Add-GameEvent-tags.patch
diff --git a/patches/api/0339-Furnace-RecipesUsed-API.patch b/patches/api/0338-Furnace-RecipesUsed-API.patch
index 7fed82db21..7fed82db21 100644
--- a/patches/api/0339-Furnace-RecipesUsed-API.patch
+++ b/patches/api/0338-Furnace-RecipesUsed-API.patch
diff --git a/patches/api/0340-Configurable-sculk-sensor-listener-range.patch b/patches/api/0339-Configurable-sculk-sensor-listener-range.patch
index b1ad0cdb5b..b1ad0cdb5b 100644
--- a/patches/api/0340-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/api/0339-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/api/0341-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0340-Add-missing-block-data-mins-and-maxes.patch
index 63a647706a..63a647706a 100644
--- a/patches/api/0341-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/api/0340-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/api/0342-Custom-Potion-Mixes.patch b/patches/api/0341-Custom-Potion-Mixes.patch
index e43d56d584..0d3feb9f09 100644
--- a/patches/api/0342-Custom-Potion-Mixes.patch
+++ b/patches/api/0341-Custom-Potion-Mixes.patch
@@ -155,10 +155,10 @@ index 0000000000000000000000000000000000000000..3ede1e8f7bf0436fdc5bf395c0f9eaf1
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 64bd6071d45d845a2e8e5565014036e7ce16a430..4cf3a4bdf6e76b73ce0f3acd06a10c129de7b309 100644
+index 69b6c867961d4701a26e8efe048b5bef04c1bcd8..0bb628f1ebfd6eaea23757d928a082afb24a30d1 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2645,6 +2645,15 @@ public final class Bukkit {
+@@ -2627,6 +2627,15 @@ public final class Bukkit {
public static io.papermc.paper.datapack.DatapackManager getDatapackManager() {
return server.getDatapackManager();
}
@@ -175,10 +175,10 @@ index 64bd6071d45d845a2e8e5565014036e7ce16a430..4cf3a4bdf6e76b73ce0f3acd06a10c12
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d46999648b8770624d288709458cfbf400063037..17ea9d6a508d77b449dd5ac6805074e8de42aadb 100644
+index c79768c995e47470e781645b9e6062b35bb506fd..85fd8980be1f1d878e9be1a823f1ad85fb4427c2 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2306,5 +2306,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2290,5 +2290,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
diff --git a/patches/api/0343-Expose-furnace-minecart-push-values.patch b/patches/api/0342-Expose-furnace-minecart-push-values.patch
index 3d8c2336e7..3d8c2336e7 100644
--- a/patches/api/0343-Expose-furnace-minecart-push-values.patch
+++ b/patches/api/0342-Expose-furnace-minecart-push-values.patch
diff --git a/patches/api/0344-More-Projectile-API.patch b/patches/api/0343-More-Projectile-API.patch
index fdec1b8add..fdec1b8add 100644
--- a/patches/api/0344-More-Projectile-API.patch
+++ b/patches/api/0343-More-Projectile-API.patch
diff --git a/patches/api/0345-Add-getComputedBiome-API.patch b/patches/api/0344-Add-getComputedBiome-API.patch
index fecc34acdf..fecc34acdf 100644
--- a/patches/api/0345-Add-getComputedBiome-API.patch
+++ b/patches/api/0344-Add-getComputedBiome-API.patch
diff --git a/patches/api/0346-Add-enchantWithLevels-API.patch b/patches/api/0345-Add-enchantWithLevels-API.patch
index 9aa2a3ee6d..8dbe2d7555 100644
--- a/patches/api/0346-Add-enchantWithLevels-API.patch
+++ b/patches/api/0345-Add-enchantWithLevels-API.patch
@@ -70,10 +70,10 @@ index 96546712f788e091749a1b4eebc6b1d6c3db7814..bd0e55562f1cabef3078573182e0cf9f
+ // 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 d4178bc7a51bdcfb2446510de66e4fff1b0a86ec..6fffdec6fa82f7aae901984dc0a844da02e6eb2e 100644
+index 7915521e3640ffc12d87dbbab4cd1a777e3801c9..c9fc93b2f4f3cf971ccb496cafce44c93c4b83c6 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -679,6 +679,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -678,6 +678,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
// Paper start
diff --git a/patches/api/0347-Add-TameableDeathMessageEvent.patch b/patches/api/0346-Add-TameableDeathMessageEvent.patch
index aec53f13ba..aec53f13ba 100644
--- a/patches/api/0347-Add-TameableDeathMessageEvent.patch
+++ b/patches/api/0346-Add-TameableDeathMessageEvent.patch
diff --git a/patches/api/0348-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch
index 08ffa1fdde..08ffa1fdde 100644
--- a/patches/api/0348-Allow-to-change-the-podium-of-the-EnderDragon.patch
+++ b/patches/api/0347-Allow-to-change-the-podium-of-the-EnderDragon.patch
diff --git a/patches/api/0349-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch b/patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
index 21b3f85c0b..21b3f85c0b 100644
--- a/patches/api/0349-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
+++ b/patches/api/0348-Fix-incorrect-new-blockstate-in-EntityBreakDoorEvent.patch
diff --git a/patches/api/0350-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
index 5775b6f33c..5775b6f33c 100644
--- a/patches/api/0350-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
+++ b/patches/api/0349-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff --git a/patches/api/0351-WorldCreator-keepSpawnLoaded.patch b/patches/api/0350-WorldCreator-keepSpawnLoaded.patch
index 287c313c58..287c313c58 100644
--- a/patches/api/0351-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/api/0350-WorldCreator-keepSpawnLoaded.patch
diff --git a/patches/api/0352-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index e7a4ad2089..e7a4ad2089 100644
--- a/patches/api/0352-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/api/0351-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/api/0353-Add-PlayerStopUsingItemEvent.patch b/patches/api/0352-Add-PlayerStopUsingItemEvent.patch
index c8de1f6ed0..c8de1f6ed0 100644
--- a/patches/api/0353-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/api/0352-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/api/0354-Expand-FallingBlock-API.patch b/patches/api/0353-Expand-FallingBlock-API.patch
index 42538dc688..42538dc688 100644
--- a/patches/api/0354-Expand-FallingBlock-API.patch
+++ b/patches/api/0353-Expand-FallingBlock-API.patch
diff --git a/patches/api/0355-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0354-Add-method-isTickingWorlds-to-Bukkit.patch
index 85d1d1ea5e..6092439044 100644
--- a/patches/api/0355-Add-method-isTickingWorlds-to-Bukkit.patch
+++ b/patches/api/0354-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 4cf3a4bdf6e76b73ce0f3acd06a10c129de7b309..3e774080b5877b25759d001520eacbfb7e49cba0 100644
+index 0bb628f1ebfd6eaea23757d928a082afb24a30d1..8028a9dd43e161556dcd97aa50648b05ae6ff188 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -806,12 +806,26 @@ public final class Bukkit {
@@ -56,7 +56,7 @@ index 4cf3a4bdf6e76b73ce0f3acd06a10c129de7b309..3e774080b5877b25759d001520eacbfb
* @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 17ea9d6a508d77b449dd5ac6805074e8de42aadb..ea6ba08e9016928dd5e5844161e6c99571a1f495 100644
+index 85fd8980be1f1d878e9be1a823f1ad85fb4427c2..65620c67da99af7e84357fe91d90878ebe84798b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -676,34 +676,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0356-Add-WardenAngerChangeEvent.patch b/patches/api/0355-Add-WardenAngerChangeEvent.patch
index 4291ccd615..4291ccd615 100644
--- a/patches/api/0356-Add-WardenAngerChangeEvent.patch
+++ b/patches/api/0355-Add-WardenAngerChangeEvent.patch
diff --git a/patches/api/0357-Nameable-Banner-API.patch b/patches/api/0356-Nameable-Banner-API.patch
index eba196daaf..eba196daaf 100644
--- a/patches/api/0357-Nameable-Banner-API.patch
+++ b/patches/api/0356-Nameable-Banner-API.patch
diff --git a/patches/api/0358-Add-Player-getFishHook.patch b/patches/api/0357-Add-Player-getFishHook.patch
index feae3b2e47..feae3b2e47 100644
--- a/patches/api/0358-Add-Player-getFishHook.patch
+++ b/patches/api/0357-Add-Player-getFishHook.patch
diff --git a/patches/api/0359-More-Teleport-API.patch b/patches/api/0358-More-Teleport-API.patch
index a464ab5388..a464ab5388 100644
--- a/patches/api/0359-More-Teleport-API.patch
+++ b/patches/api/0358-More-Teleport-API.patch
diff --git a/patches/api/0360-Add-EntityPortalReadyEvent.patch b/patches/api/0359-Add-EntityPortalReadyEvent.patch
index af86ef0a8f..af86ef0a8f 100644
--- a/patches/api/0360-Add-EntityPortalReadyEvent.patch
+++ b/patches/api/0359-Add-EntityPortalReadyEvent.patch
diff --git a/patches/api/0361-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch
index 83811edce4..83811edce4 100644
--- a/patches/api/0361-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0360-Custom-Chat-Completion-Suggestions-API.patch
diff --git a/patches/api/0362-Collision-API.patch b/patches/api/0361-Collision-API.patch
index ce2e084b64..ce2e084b64 100644
--- a/patches/api/0362-Collision-API.patch
+++ b/patches/api/0361-Collision-API.patch
diff --git a/patches/api/0363-Block-Ticking-API.patch b/patches/api/0362-Block-Ticking-API.patch
index d588899982..d588899982 100644
--- a/patches/api/0363-Block-Ticking-API.patch
+++ b/patches/api/0362-Block-Ticking-API.patch
diff --git a/patches/api/0364-Add-NamespacedKey-biome-methods.patch b/patches/api/0363-Add-NamespacedKey-biome-methods.patch
index 29bd350af8..29bd350af8 100644
--- a/patches/api/0364-Add-NamespacedKey-biome-methods.patch
+++ b/patches/api/0363-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/api/0365-Also-load-resources-from-LibraryLoader.patch b/patches/api/0364-Also-load-resources-from-LibraryLoader.patch
index c2a41c2e53..c2a41c2e53 100644
--- a/patches/api/0365-Also-load-resources-from-LibraryLoader.patch
+++ b/patches/api/0364-Also-load-resources-from-LibraryLoader.patch
diff --git a/patches/api/0366-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch
index 9b71f12681..9b71f12681 100644
--- a/patches/api/0366-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/api/0365-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index 291761dadb..291761dadb 100644
--- a/patches/api/0367-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/api/0366-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
diff --git a/patches/api/0368-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
index 9b5ef25cf4..9b5ef25cf4 100644
--- a/patches/api/0368-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
+++ b/patches/api/0367-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch
diff --git a/patches/api/0369-Add-getDrops-to-BlockState.patch b/patches/api/0368-Add-getDrops-to-BlockState.patch
index f9e8152229..f9e8152229 100644
--- a/patches/api/0369-Add-getDrops-to-BlockState.patch
+++ b/patches/api/0368-Add-getDrops-to-BlockState.patch
diff --git a/patches/api/0370-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch
index d76df6d87d..d76df6d87d 100644
--- a/patches/api/0370-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/api/0369-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/api/0371-Elder-Guardian-appearance-API.patch b/patches/api/0370-Elder-Guardian-appearance-API.patch
index 4c5b51b7a5..4c5b51b7a5 100644
--- a/patches/api/0371-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0370-Elder-Guardian-appearance-API.patch
diff --git a/patches/api/0372-Allow-changing-bed-s-occupied-property.patch b/patches/api/0371-Allow-changing-bed-s-occupied-property.patch
index 8dfafd6d33..8dfafd6d33 100644
--- a/patches/api/0372-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/api/0371-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/api/0373-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0372-Add-EquipmentSlot-convenience-methods.patch
index f7e2301f31..f7e2301f31 100644
--- a/patches/api/0373-Add-EquipmentSlot-convenience-methods.patch
+++ b/patches/api/0372-Add-EquipmentSlot-convenience-methods.patch
diff --git a/patches/api/0374-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
index b745878796..b745878796 100644
--- a/patches/api/0374-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
+++ b/patches/api/0373-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch
diff --git a/patches/api/0375-Add-entity-knockback-API.patch b/patches/api/0374-Add-entity-knockback-API.patch
index fe9d0a85bb..fe9d0a85bb 100644
--- a/patches/api/0375-Add-entity-knockback-API.patch
+++ b/patches/api/0374-Add-entity-knockback-API.patch
diff --git a/patches/api/0376-Added-EntityToggleSitEvent.patch b/patches/api/0375-Added-EntityToggleSitEvent.patch
index d5a8c46dc8..d5a8c46dc8 100644
--- a/patches/api/0376-Added-EntityToggleSitEvent.patch
+++ b/patches/api/0375-Added-EntityToggleSitEvent.patch
diff --git a/patches/api/0377-Add-Moving-Piston-API.patch b/patches/api/0376-Add-Moving-Piston-API.patch
index 8f889f1e3d..8f889f1e3d 100644
--- a/patches/api/0377-Add-Moving-Piston-API.patch
+++ b/patches/api/0376-Add-Moving-Piston-API.patch
diff --git a/patches/api/0378-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0377-Add-PrePlayerAttackEntityEvent.patch
index ac0ebedde7..ac0ebedde7 100644
--- a/patches/api/0378-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/api/0377-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/api/0379-Add-Player-Warden-Warning-API.patch b/patches/api/0378-Add-Player-Warden-Warning-API.patch
index d1728e9492..d1728e9492 100644
--- a/patches/api/0379-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0378-Add-Player-Warden-Warning-API.patch
diff --git a/patches/api/0380-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch
index f13fdb5601..f13fdb5601 100644
--- a/patches/api/0380-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/api/0379-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/api/0381-Add-paper-dumplisteners-command.patch b/patches/api/0380-Add-paper-dumplisteners-command.patch
index a5d858851f..a5d858851f 100644
--- a/patches/api/0381-Add-paper-dumplisteners-command.patch
+++ b/patches/api/0380-Add-paper-dumplisteners-command.patch
diff --git a/patches/api/0382-ItemStack-damage-API.patch b/patches/api/0381-ItemStack-damage-API.patch
index 64aba9c068..bd4ff35bcc 100644
--- a/patches/api/0382-ItemStack-damage-API.patch
+++ b/patches/api/0381-ItemStack-damage-API.patch
@@ -66,10 +66,10 @@ index 8dd993ce32686431e1c759d446a3620cb52f7ec1..0d665a31152c9a667576f2e9d91ffec5
+ // 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 6fffdec6fa82f7aae901984dc0a844da02e6eb2e..3c48ba63c62d44096762251e730c226f7e189b31 100644
+index c9fc93b2f4f3cf971ccb496cafce44c93c4b83c6..db128d14931ec2afea5205faa58fb5410ec9a54c 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -1004,5 +1004,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -1003,5 +1003,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/0383-Add-Tick-TemporalUnit.patch b/patches/api/0382-Add-Tick-TemporalUnit.patch
index 562eb00082..562eb00082 100644
--- a/patches/api/0383-Add-Tick-TemporalUnit.patch
+++ b/patches/api/0382-Add-Tick-TemporalUnit.patch
diff --git a/patches/api/0384-Friction-API.patch b/patches/api/0383-Friction-API.patch
index 23ae7abbae..23ae7abbae 100644
--- a/patches/api/0384-Friction-API.patch
+++ b/patches/api/0383-Friction-API.patch
diff --git a/patches/api/0385-Player-Entity-Tracking-Events.patch b/patches/api/0384-Player-Entity-Tracking-Events.patch
index 3dfa72c922..3dfa72c922 100644
--- a/patches/api/0385-Player-Entity-Tracking-Events.patch
+++ b/patches/api/0384-Player-Entity-Tracking-Events.patch
diff --git a/patches/api/0386-Add-missing-Fluid-type.patch b/patches/api/0385-Add-missing-Fluid-type.patch
index c260bf8497..c260bf8497 100644
--- a/patches/api/0386-Add-missing-Fluid-type.patch
+++ b/patches/api/0385-Add-missing-Fluid-type.patch
diff --git a/patches/api/0387-fix-Instruments.patch b/patches/api/0386-fix-Instruments.patch
index 468dc80a34..468dc80a34 100644
--- a/patches/api/0387-fix-Instruments.patch
+++ b/patches/api/0386-fix-Instruments.patch
diff --git a/patches/api/0388-Add-BlockLockCheckEvent.patch b/patches/api/0387-Add-BlockLockCheckEvent.patch
index c5d560192c..c5d560192c 100644
--- a/patches/api/0388-Add-BlockLockCheckEvent.patch
+++ b/patches/api/0387-Add-BlockLockCheckEvent.patch
diff --git a/patches/api/0389-Add-Sneaking-API-for-Entities.patch b/patches/api/0388-Add-Sneaking-API-for-Entities.patch
index 5419ce7d3c..5419ce7d3c 100644
--- a/patches/api/0389-Add-Sneaking-API-for-Entities.patch
+++ b/patches/api/0388-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/api/0390-Improve-PortalEvents.patch b/patches/api/0389-Improve-PortalEvents.patch
index f7f53b19fc..f7f53b19fc 100644
--- a/patches/api/0390-Improve-PortalEvents.patch
+++ b/patches/api/0389-Improve-PortalEvents.patch
diff --git a/patches/api/0391-Flying-Fall-Damage-API.patch b/patches/api/0390-Flying-Fall-Damage-API.patch
index 13493c2aa9..13493c2aa9 100644
--- a/patches/api/0391-Flying-Fall-Damage-API.patch
+++ b/patches/api/0390-Flying-Fall-Damage-API.patch
diff --git a/patches/api/0392-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
index 475ca65bbf..475ca65bbf 100644
--- a/patches/api/0392-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
+++ b/patches/api/0391-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch
diff --git a/patches/api/0393-Win-Screen-API.patch b/patches/api/0392-Win-Screen-API.patch
index cdeea2f4f9..cdeea2f4f9 100644
--- a/patches/api/0393-Win-Screen-API.patch
+++ b/patches/api/0392-Win-Screen-API.patch
diff --git a/patches/api/0394-Add-Entity-Body-Yaw-API.patch b/patches/api/0393-Add-Entity-Body-Yaw-API.patch
index c0186ee4f1..c0186ee4f1 100644
--- a/patches/api/0394-Add-Entity-Body-Yaw-API.patch
+++ b/patches/api/0393-Add-Entity-Body-Yaw-API.patch
diff --git a/patches/api/0395-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
index c375206bf7..c375206bf7 100644
--- a/patches/api/0395-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
+++ b/patches/api/0394-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch
diff --git a/patches/api/0396-Add-EntityFertilizeEggEvent.patch b/patches/api/0395-Add-EntityFertilizeEggEvent.patch
index 4ae6ff9f0f..4ae6ff9f0f 100644
--- a/patches/api/0396-Add-EntityFertilizeEggEvent.patch
+++ b/patches/api/0395-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/api/0397-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 9dee250212..9dee250212 100644
--- a/patches/api/0397-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/api/0396-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/api/0398-Add-Shearable-API.patch b/patches/api/0397-Add-Shearable-API.patch
index 06e4cefb44..06e4cefb44 100644
--- a/patches/api/0398-Add-Shearable-API.patch
+++ b/patches/api/0397-Add-Shearable-API.patch
diff --git a/patches/api/0399-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch
index 27abcd1f93..27abcd1f93 100644
--- a/patches/api/0399-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/api/0398-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/api/0400-Add-Mob-Experience-reward-API.patch b/patches/api/0399-Add-Mob-Experience-reward-API.patch
index 354d6d1eb4..354d6d1eb4 100644
--- a/patches/api/0400-Add-Mob-Experience-reward-API.patch
+++ b/patches/api/0399-Add-Mob-Experience-reward-API.patch
diff --git a/patches/api/0401-Expand-PlayerItemMendEvent.patch b/patches/api/0400-Expand-PlayerItemMendEvent.patch
index 223922e05e..223922e05e 100644
--- a/patches/api/0401-Expand-PlayerItemMendEvent.patch
+++ b/patches/api/0400-Expand-PlayerItemMendEvent.patch
diff --git a/patches/api/0402-Add-transient-modifier-API.patch b/patches/api/0401-Add-transient-modifier-API.patch
index a32e4c86a9..a32e4c86a9 100644
--- a/patches/api/0402-Add-transient-modifier-API.patch
+++ b/patches/api/0401-Add-transient-modifier-API.patch
diff --git a/patches/api/0403-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch
index 6448068df8..6448068df8 100644
--- a/patches/api/0403-Properly-remove-the-experimental-smithing-inventory-.patch
+++ b/patches/api/0402-Properly-remove-the-experimental-smithing-inventory-.patch
diff --git a/patches/api/0404-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch
index 2b9703cf94..2b9703cf94 100644
--- a/patches/api/0404-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/api/0403-Add-method-to-remove-all-active-potion-effects.patch
diff --git a/patches/api/0405-Folia-scheduler-and-owned-region-API.patch b/patches/api/0404-Folia-scheduler-and-owned-region-API.patch
index e64ac7f52f..35af43df05 100644
--- a/patches/api/0405-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/api/0404-Folia-scheduler-and-owned-region-API.patch
@@ -499,10 +499,10 @@ index 0000000000000000000000000000000000000000..a6b50c9d8af589cc4747e14d343d2045
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 3e774080b5877b25759d001520eacbfb7e49cba0..382421ca3a66ae18c00ff2ed46e4ada2cf5278ff 100644
+index 8028a9dd43e161556dcd97aa50648b05ae6ff188..53e86d17867e5c2eae2db6a10bfbed788019a1ad 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -2676,6 +2676,141 @@ public final class Bukkit {
+@@ -2658,6 +2658,141 @@ public final class Bukkit {
}
// Paper end
@@ -645,10 +645,10 @@ index 3e774080b5877b25759d001520eacbfb7e49cba0..382421ca3a66ae18c00ff2ed46e4ada2
public static Server.Spigot spigot() {
return server.spigot();
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index ea6ba08e9016928dd5e5844161e6c99571a1f495..9df85626142d8e7b704d378d76278e9b955f9687 100644
+index 65620c67da99af7e84357fe91d90878ebe84798b..e9773ebcc76fb637ed19dce203ae0dfe226b0066 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -2335,4 +2335,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
+@@ -2319,4 +2319,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull org.bukkit.potion.PotionBrewer getPotionBrewer();
// Paper end
diff --git a/patches/api/0406-Add-event-for-player-editing-sign.patch b/patches/api/0405-Add-event-for-player-editing-sign.patch
index ec38bf008b..ec38bf008b 100644
--- a/patches/api/0406-Add-event-for-player-editing-sign.patch
+++ b/patches/api/0405-Add-event-for-player-editing-sign.patch
diff --git a/patches/api/0407-Add-Sign-getInteractableSideFor.patch b/patches/api/0406-Add-Sign-getInteractableSideFor.patch
index 1e085323ca..1e085323ca 100644
--- a/patches/api/0407-Add-Sign-getInteractableSideFor.patch
+++ b/patches/api/0406-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/api/0408-Fix-BanList-API.patch b/patches/api/0407-Fix-BanList-API.patch
index a9640f44a2..a9640f44a2 100644
--- a/patches/api/0408-Fix-BanList-API.patch
+++ b/patches/api/0407-Fix-BanList-API.patch
diff --git a/patches/api/0409-Add-whitelist-events.patch b/patches/api/0408-Add-whitelist-events.patch
index 75458e78df..75458e78df 100644
--- a/patches/api/0409-Add-whitelist-events.patch
+++ b/patches/api/0408-Add-whitelist-events.patch
diff --git a/patches/api/0410-API-for-updating-recipes-on-clients.patch b/patches/api/0409-API-for-updating-recipes-on-clients.patch
index 6dfda16a0b..a3b3f4bb59 100644
--- a/patches/api/0410-API-for-updating-recipes-on-clients.patch
+++ b/patches/api/0409-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 382421ca3a66ae18c00ff2ed46e4ada2cf5278ff..801cd170bedaac84446a8687412e3efdae525d86 100644
+index 53e86d17867e5c2eae2db6a10bfbed788019a1ad..89b797c3468f401a208ef2351ba9f91b234455fd 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -990,6 +990,26 @@ public final class Bukkit {
@@ -82,7 +82,7 @@ index 382421ca3a66ae18c00ff2ed46e4ada2cf5278ff..801cd170bedaac84446a8687412e3efd
* 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 9df85626142d8e7b704d378d76278e9b955f9687..989ad0c2b86c47ccd644fd0a604e40db2dd66770 100644
+index e9773ebcc76fb637ed19dce203ae0dfe226b0066..f834dd696d3a40af72ab03f4bd03a784ff5ef23e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -839,6 +839,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0411-Add-PlayerFailMoveEvent.patch b/patches/api/0410-Add-PlayerFailMoveEvent.patch
index c0687e2ae0..c0687e2ae0 100644
--- a/patches/api/0411-Add-PlayerFailMoveEvent.patch
+++ b/patches/api/0410-Add-PlayerFailMoveEvent.patch
diff --git a/patches/api/0412-Fix-custom-statistic-criteria-creation.patch b/patches/api/0411-Fix-custom-statistic-criteria-creation.patch
index f4070d7bb4..f4070d7bb4 100644
--- a/patches/api/0412-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/api/0411-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/api/0413-SculkCatalyst-bloom-API.patch b/patches/api/0412-SculkCatalyst-bloom-API.patch
index 49d8c8c2bd..49d8c8c2bd 100644
--- a/patches/api/0413-SculkCatalyst-bloom-API.patch
+++ b/patches/api/0412-SculkCatalyst-bloom-API.patch
diff --git a/patches/api/0414-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0413-API-for-an-entity-s-scoreboard-name.patch
index 1fb9128be8..1fb9128be8 100644
--- a/patches/api/0414-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/api/0413-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/api/0415-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0414-Deprecate-and-replace-methods-with-old-StructureType.patch
index f4cfd76261..b1f1fc1cfc 100644
--- a/patches/api/0415-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/api/0414-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 801cd170bedaac84446a8687412e3efdae525d86..031e9a41b44bf405686d3b210a8354cb9520be2e 100644
+index 89b797c3468f401a208ef2351ba9f91b234455fd..50d6784c488041ce416845373efebce14321b1ec 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -935,9 +935,6 @@ public final class Bukkit {
@@ -84,7 +84,7 @@ index 801cd170bedaac84446a8687412e3efdae525d86..031e9a41b44bf405686d3b210a8354cb
/**
* 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 989ad0c2b86c47ccd644fd0a604e40db2dd66770..876267814d25da46f3596448b9036b5901d2c4e0 100644
+index f834dd696d3a40af72ab03f4bd03a784ff5ef23e..23af0b4fa239de8926a36346f38224a00f85284e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -803,16 +803,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0416-Add-Listing-API-for-Player.patch b/patches/api/0415-Add-Listing-API-for-Player.patch
index 47a8946b80..47a8946b80 100644
--- a/patches/api/0416-Add-Listing-API-for-Player.patch
+++ b/patches/api/0415-Add-Listing-API-for-Player.patch
diff --git a/patches/api/0417-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
index 34d1940866..34d1940866 100644
--- a/patches/api/0417-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
+++ b/patches/api/0416-Expose-clicked-BlockFace-during-BlockDamageEvent.patch
diff --git a/patches/api/0418-Fix-NPE-on-Boat-getStatus.patch b/patches/api/0417-Fix-NPE-on-Boat-getStatus.patch
index 1cf6096a92..1cf6096a92 100644
--- a/patches/api/0418-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/api/0417-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/api/0419-Expand-Pose-API.patch b/patches/api/0418-Expand-Pose-API.patch
index a7ac9f7567..a7ac9f7567 100644
--- a/patches/api/0419-Expand-Pose-API.patch
+++ b/patches/api/0418-Expand-Pose-API.patch
diff --git a/patches/api/0420-MerchantRecipe-add-copy-constructor.patch b/patches/api/0419-MerchantRecipe-add-copy-constructor.patch
index 1c5ba2803c..1c5ba2803c 100644
--- a/patches/api/0420-MerchantRecipe-add-copy-constructor.patch
+++ b/patches/api/0419-MerchantRecipe-add-copy-constructor.patch
diff --git a/patches/api/0421-More-DragonBattle-API.patch b/patches/api/0420-More-DragonBattle-API.patch
index e25208ec19..e25208ec19 100644
--- a/patches/api/0421-More-DragonBattle-API.patch
+++ b/patches/api/0420-More-DragonBattle-API.patch
diff --git a/patches/api/0422-Add-PlayerPickItemEvent.patch b/patches/api/0421-Add-PlayerPickItemEvent.patch
index 6dd0be80a8..6dd0be80a8 100644
--- a/patches/api/0422-Add-PlayerPickItemEvent.patch
+++ b/patches/api/0421-Add-PlayerPickItemEvent.patch
diff --git a/patches/api/0423-Allow-trident-custom-damage.patch b/patches/api/0422-Allow-trident-custom-damage.patch
index 870b735548..870b735548 100644
--- a/patches/api/0423-Allow-trident-custom-damage.patch
+++ b/patches/api/0422-Allow-trident-custom-damage.patch
diff --git a/patches/api/0424-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch
index 97d99a40d2..97d99a40d2 100644
--- a/patches/api/0424-Expose-hand-during-BlockCanBuildEvent.patch
+++ b/patches/api/0423-Expose-hand-during-BlockCanBuildEvent.patch
diff --git a/patches/api/0425-Limit-setBurnTime-to-valid-short-values.patch b/patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch
index 2faac56fd8..2faac56fd8 100644
--- a/patches/api/0425-Limit-setBurnTime-to-valid-short-values.patch
+++ b/patches/api/0424-Limit-setBurnTime-to-valid-short-values.patch
diff --git a/patches/api/0426-Add-OfflinePlayer-isConnected.patch b/patches/api/0425-Add-OfflinePlayer-isConnected.patch
index 08e2f91095..08e2f91095 100644
--- a/patches/api/0426-Add-OfflinePlayer-isConnected.patch
+++ b/patches/api/0425-Add-OfflinePlayer-isConnected.patch
diff --git a/patches/api/0427-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch
index 68e755f010..68e755f010 100644
--- a/patches/api/0427-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/api/0426-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0427-Allow-proper-checking-of-empty-item-stacks.patch
index ab2cc037cd..7c74a0781c 100644
--- a/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/api/0427-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 3c48ba63c62d44096762251e730c226f7e189b31..a6a066fee62c7a66b8fefd7eca550eaf3644815e 100644
+index db128d14931ec2afea5205faa58fb5410ec9a54c..9d397c395d777f337a421fac8fea064680065661 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -1018,5 +1018,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -1017,5 +1017,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/0429-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch b/patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
index e72f86be5d..e72f86be5d 100644
--- a/patches/api/0429-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
+++ b/patches/api/0428-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch
diff --git a/patches/api/0430-Add-player-idle-duration-API.patch b/patches/api/0429-Add-player-idle-duration-API.patch
index 2fbfc5dc58..2fbfc5dc58 100644
--- a/patches/api/0430-Add-player-idle-duration-API.patch
+++ b/patches/api/0429-Add-player-idle-duration-API.patch
diff --git a/patches/api/0431-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 0481690ad4..0481690ad4 100644
--- a/patches/api/0431-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/api/0430-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/api/0432-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch
index 77d36bec08..77d36bec08 100644
--- a/patches/api/0432-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/api/0431-Add-predicate-for-blocks-when-raytracing.patch
diff --git a/patches/api/0433-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch
index b431332b9a..b431332b9a 100644
--- a/patches/api/0433-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/api/0432-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/api/0433-Add-UUID-attribute-modifier-API.patch b/patches/api/0433-Add-UUID-attribute-modifier-API.patch
new file mode 100644
index 0000000000..64de52c83e
--- /dev/null
+++ b/patches/api/0433-Add-UUID-attribute-modifier-API.patch
@@ -0,0 +1,93 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: TonytheMacaroni <[email protected]>
+Date: Thu, 9 Nov 2023 20:35:35 -0500
+Subject: [PATCH] Add UUID attribute modifier API
+
+
+diff --git a/src/main/java/org/bukkit/attribute/AttributeInstance.java b/src/main/java/org/bukkit/attribute/AttributeInstance.java
+index 5513174ea545bb5b4fdc028cbaa4c1bb763e2c6d..f1fa86ddf1f50a357c9e94cc61261d8c96a2da6f 100644
+--- a/src/main/java/org/bukkit/attribute/AttributeInstance.java
++++ b/src/main/java/org/bukkit/attribute/AttributeInstance.java
+@@ -39,6 +39,42 @@ public interface AttributeInstance {
+ @NotNull
+ Collection<AttributeModifier> getModifiers();
+
++ // Paper start
++ /**
++ * Gets the modifier with the corresponding key.
++ *
++ * @param key the jey of the modifier
++ * @return the modifier, if it exists
++ */
++ @org.jetbrains.annotations.Nullable AttributeModifier getModifier(@NotNull net.kyori.adventure.key.Key key);
++
++ /**
++ * Remove a modifier with the corresponding key from this instance.
++ *
++ * @param key the key of the modifier
++ */
++ void removeModifier(@NotNull net.kyori.adventure.key.Key key);
++
++ /**
++ * Gets the modifier with the corresponding UUID.
++ *
++ * @param uuid the UUID of the modifier
++ * @return the modifier, if it exists
++ * @deprecated use {@link #getModifier(net.kyori.adventure.key.Key)}, modifiers are no longer stored by UUID
++ */
++ @Deprecated(forRemoval = true, since = "1.21")
++ @org.jetbrains.annotations.Nullable AttributeModifier getModifier(@NotNull java.util.UUID uuid);
++
++ /**
++ * Remove a modifier with the corresponding UUID from this instance.
++ *
++ * @param uuid the UUID of the modifier
++ * @deprecated use {@link #removeModifier(net.kyori.adventure.key.Key)}, modifiers are no longer stored by UUID
++ */
++ @Deprecated(forRemoval = true, since = "1.21")
++ void removeModifier(@NotNull java.util.UUID uuid);
++ // Paper end
++
+ /**
+ * Add a modifier to this instance.
+ *
+diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
+index d66502c9df2592cd18694481e7e90a71a5c3a359..90f18f355a6a236a7e4273cc1258e7c8034b8276 100644
+--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
++++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
+@@ -25,22 +25,22 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed {
+ private final Operation operation;
+ private final EquipmentSlotGroup slot;
+
+- @Deprecated
++ @Deprecated(forRemoval = true, since = "1.21")
+ public AttributeModifier(@NotNull String name, double amount, @NotNull Operation operation) {
+ this(UUID.randomUUID(), name, amount, operation);
+ }
+
+- @Deprecated
++ @Deprecated(forRemoval = true, since = "1.21")
+ public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation) {
+ this(uuid, name, amount, operation, (EquipmentSlot) null);
+ }
+
+- @Deprecated
++ @Deprecated(forRemoval = true, since = "1.21")
+ public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation, @Nullable EquipmentSlot slot) {
+ this(uuid, name, amount, operation, (slot) == null ? EquipmentSlotGroup.ANY : slot.getGroup());
+ }
+
+- @Deprecated
++ @Deprecated(forRemoval = true, since = "1.21")
+ public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation, @NotNull EquipmentSlotGroup slot) {
+ this(NamespacedKey.fromString(uuid.toString()), amount, operation, slot);
+ }
+@@ -63,7 +63,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed {
+ * @deprecated attributes are now identified by keys
+ */
+ @NotNull
+- @Deprecated
++ @Deprecated(forRemoval = true, since = "1.21")
+ public UUID getUniqueId() {
+ return UUID.fromString(getKey().toString());
+ }
diff --git a/patches/api/0434-Add-UUID-attribute-modifier-API.patch b/patches/api/0434-Add-UUID-attribute-modifier-API.patch
deleted file mode 100644
index 251ae6e425..0000000000
--- a/patches/api/0434-Add-UUID-attribute-modifier-API.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: TonytheMacaroni <[email protected]>
-Date: Thu, 9 Nov 2023 20:35:35 -0500
-Subject: [PATCH] Add UUID attribute modifier API
-
-
-diff --git a/src/main/java/org/bukkit/attribute/AttributeInstance.java b/src/main/java/org/bukkit/attribute/AttributeInstance.java
-index 5513174ea545bb5b4fdc028cbaa4c1bb763e2c6d..3cffffe8106387847b10ac39f96687bb075ef686 100644
---- a/src/main/java/org/bukkit/attribute/AttributeInstance.java
-+++ b/src/main/java/org/bukkit/attribute/AttributeInstance.java
-@@ -39,6 +39,23 @@ public interface AttributeInstance {
- @NotNull
- Collection<AttributeModifier> getModifiers();
-
-+ // Paper start
-+ /**
-+ * Gets the modifier with the corresponding UUID.
-+ *
-+ * @param uuid the UUID of the modifier
-+ * @return the modifier, if it exists
-+ */
-+ @org.jetbrains.annotations.Nullable AttributeModifier getModifier(@NotNull java.util.UUID uuid);
-+
-+ /**
-+ * Remove a modifier with the corresponding UUID from this instance.
-+ *
-+ * @param uuid the UUID of the modifier
-+ */
-+ void removeModifier(@NotNull java.util.UUID uuid);
-+ // Paper end
-+
- /**
- * Add a modifier to this instance.
- *
diff --git a/patches/api/0435-Expand-LingeringPotion-API.patch b/patches/api/0434-Expand-LingeringPotion-API.patch
index 40b5a5f547..40b5a5f547 100644
--- a/patches/api/0435-Expand-LingeringPotion-API.patch
+++ b/patches/api/0434-Expand-LingeringPotion-API.patch
diff --git a/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0435-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
index 1c5227e973..72deb7498e 100644
--- a/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch
+++ b/patches/api/0435-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 a6a066fee62c7a66b8fefd7eca550eaf3644815e..b413703266b5037b85c26089f2c3e208016fcf8b 100644
+index 9d397c395d777f337a421fac8fea064680065661..c5e22bca27f3199eb2a466f41aa82047f5fd0e44 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -308,7 +308,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -307,7 +307,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/0437-Add-Structure-check-API.patch b/patches/api/0436-Add-Structure-check-API.patch
index ee0adfe254..ee0adfe254 100644
--- a/patches/api/0437-Add-Structure-check-API.patch
+++ b/patches/api/0436-Add-Structure-check-API.patch
diff --git a/patches/api/0438-add-missing-Experimental-annotations.patch b/patches/api/0437-add-missing-Experimental-annotations.patch
index 9cd3d827a6..9cd3d827a6 100644
--- a/patches/api/0438-add-missing-Experimental-annotations.patch
+++ b/patches/api/0437-add-missing-Experimental-annotations.patch
diff --git a/patches/api/0439-Add-more-scoreboard-API.patch b/patches/api/0438-Add-more-scoreboard-API.patch
index 201af36b0c..201af36b0c 100644
--- a/patches/api/0439-Add-more-scoreboard-API.patch
+++ b/patches/api/0438-Add-more-scoreboard-API.patch
diff --git a/patches/api/0440-Improve-Registry.patch b/patches/api/0439-Improve-Registry.patch
index a106bba08d..a106bba08d 100644
--- a/patches/api/0440-Improve-Registry.patch
+++ b/patches/api/0439-Improve-Registry.patch
diff --git a/patches/api/0441-Add-experience-points-API.patch b/patches/api/0440-Add-experience-points-API.patch
index 9b489a9ded..9b489a9ded 100644
--- a/patches/api/0441-Add-experience-points-API.patch
+++ b/patches/api/0440-Add-experience-points-API.patch
diff --git a/patches/api/0442-Add-missing-InventoryType.patch b/patches/api/0441-Add-missing-InventoryType.patch
index 88ed48c3e6..88ed48c3e6 100644
--- a/patches/api/0442-Add-missing-InventoryType.patch
+++ b/patches/api/0441-Add-missing-InventoryType.patch
diff --git a/patches/api/0443-Add-drops-to-shear-events.patch b/patches/api/0442-Add-drops-to-shear-events.patch
index c87460e48d..c87460e48d 100644
--- a/patches/api/0443-Add-drops-to-shear-events.patch
+++ b/patches/api/0442-Add-drops-to-shear-events.patch
diff --git a/patches/api/0444-Add-HiddenPotionEffect-API.patch b/patches/api/0443-Add-HiddenPotionEffect-API.patch
index 94799bbf65..94799bbf65 100644
--- a/patches/api/0444-Add-HiddenPotionEffect-API.patch
+++ b/patches/api/0443-Add-HiddenPotionEffect-API.patch
diff --git a/patches/api/0445-Add-PlayerShieldDisableEvent.patch b/patches/api/0444-Add-PlayerShieldDisableEvent.patch
index 29c7daa0e3..29c7daa0e3 100644
--- a/patches/api/0445-Add-PlayerShieldDisableEvent.patch
+++ b/patches/api/0444-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/api/0446-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
index 93ba48c77c..93ba48c77c 100644
--- a/patches/api/0446-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
+++ b/patches/api/0445-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch
diff --git a/patches/api/0447-Add-BlockStateMeta-clearBlockState.patch b/patches/api/0446-Add-BlockStateMeta-clearBlockState.patch
index 7e8c47a8e2..7e8c47a8e2 100644
--- a/patches/api/0447-Add-BlockStateMeta-clearBlockState.patch
+++ b/patches/api/0446-Add-BlockStateMeta-clearBlockState.patch
diff --git a/patches/api/0448-Expose-LootTable-of-DecoratedPot.patch b/patches/api/0447-Expose-LootTable-of-DecoratedPot.patch
index 42a8de4123..42a8de4123 100644
--- a/patches/api/0448-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/api/0447-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/api/0449-Add-ShulkerDuplicateEvent.patch b/patches/api/0448-Add-ShulkerDuplicateEvent.patch
index a0a81094ce..a0a81094ce 100644
--- a/patches/api/0449-Add-ShulkerDuplicateEvent.patch
+++ b/patches/api/0448-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/api/0450-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch
index 23541c0b38..23541c0b38 100644
--- a/patches/api/0450-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/api/0449-Add-api-for-spawn-egg-texture-colors.patch
diff --git a/patches/api/0451-Add-Lifecycle-Event-system.patch b/patches/api/0450-Add-Lifecycle-Event-system.patch
index d4b3f0411e..d4b3f0411e 100644
--- a/patches/api/0451-Add-Lifecycle-Event-system.patch
+++ b/patches/api/0450-Add-Lifecycle-Event-system.patch
diff --git a/patches/api/0452-ItemStack-Tooltip-API.patch b/patches/api/0451-ItemStack-Tooltip-API.patch
index 91a7aacc6b..7fa28ddc99 100644
--- a/patches/api/0452-ItemStack-Tooltip-API.patch
+++ b/patches/api/0451-ItemStack-Tooltip-API.patch
@@ -119,10 +119,10 @@ index 3f1b48fd65df954e874e6dc6b9093cb12370e2c5..0e9ccfee7a03d341e7c4d271f53b4ed1
+ @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 b413703266b5037b85c26089f2c3e208016fcf8b..782dc4f31a391896c3d568fb9903e6e5e032c0a3 100644
+index c5e22bca27f3199eb2a466f41aa82047f5fd0e44..235d41b0078bb513470b17a0dad46fae3ac73a16 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -1038,4 +1038,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -1037,4 +1037,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return type.isAir() || amount <= 0;
}
// Paper end
diff --git a/patches/api/0453-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch
index 9b950f9493..9b950f9493 100644
--- a/patches/api/0453-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/api/0452-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/api/0454-Add-FluidState-API.patch b/patches/api/0453-Add-FluidState-API.patch
index 3235c393f5..3235c393f5 100644
--- a/patches/api/0454-Add-FluidState-API.patch
+++ b/patches/api/0453-Add-FluidState-API.patch
diff --git a/patches/api/0455-add-number-format-api.patch b/patches/api/0454-add-number-format-api.patch
index 6d32302ad0..6d32302ad0 100644
--- a/patches/api/0455-add-number-format-api.patch
+++ b/patches/api/0454-add-number-format-api.patch
diff --git a/patches/api/0456-improve-BanList-types.patch b/patches/api/0455-improve-BanList-types.patch
index fb48003a0d..f392d209de 100644
--- a/patches/api/0456-improve-BanList-types.patch
+++ b/patches/api/0455-improve-BanList-types.patch
@@ -68,7 +68,7 @@ index a77c0411a68a9bad33ddfb335b7a996a843e478c..739d9d3ec789e58c10c8d818a9ca59ce
/**
* Banned player names
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 031e9a41b44bf405686d3b210a8354cb9520be2e..3f0ead8b57a73c788b1cb0fc0799b8fa914e2519 100644
+index 50d6784c488041ce416845373efebce14321b1ec..b9b751ea0d11381e846d5f35f39f285c075c171a 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1649,11 +1649,27 @@ public final class Bukkit {
@@ -100,7 +100,7 @@ index 031e9a41b44bf405686d3b210a8354cb9520be2e..3f0ead8b57a73c788b1cb0fc0799b8fa
/**
* 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 876267814d25da46f3596448b9036b5901d2c4e0..b6b4bc19e8348096469fd47d93cc5ae6cae9e516 100644
+index 23af0b4fa239de8926a36346f38224a00f85284e..bbc4d7d3ca84642828f9a3f788ca26bba900d15b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1411,10 +1411,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
diff --git a/patches/api/0457-Suspicious-Effect-Entry-API.patch b/patches/api/0456-Suspicious-Effect-Entry-API.patch
index bcf3db2033..bcf3db2033 100644
--- a/patches/api/0457-Suspicious-Effect-Entry-API.patch
+++ b/patches/api/0456-Suspicious-Effect-Entry-API.patch
diff --git a/patches/api/0458-Fix-DamageSource-API.patch b/patches/api/0457-Fix-DamageSource-API.patch
index efe4403e2c..efe4403e2c 100644
--- a/patches/api/0458-Fix-DamageSource-API.patch
+++ b/patches/api/0457-Fix-DamageSource-API.patch
diff --git a/patches/api/0459-Expanded-Hopper-API.patch b/patches/api/0458-Expanded-Hopper-API.patch
index 51cb6dfee2..51cb6dfee2 100644
--- a/patches/api/0459-Expanded-Hopper-API.patch
+++ b/patches/api/0458-Expanded-Hopper-API.patch
diff --git a/patches/api/0460-Clone-mutables-to-prevent-unexpected-issues.patch b/patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch
index e84ea7d3aa..e84ea7d3aa 100644
--- a/patches/api/0460-Clone-mutables-to-prevent-unexpected-issues.patch
+++ b/patches/api/0459-Clone-mutables-to-prevent-unexpected-issues.patch
diff --git a/patches/api/0461-Add-BlockBreakProgressUpdateEvent.patch b/patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch
index a2b5a83baf..a2b5a83baf 100644
--- a/patches/api/0461-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/api/0460-Add-BlockBreakProgressUpdateEvent.patch
diff --git a/patches/api/0462-Deprecate-ItemStack-setType.patch b/patches/api/0461-Deprecate-ItemStack-setType.patch
index e9bee06119..910f35e09e 100644
--- a/patches/api/0462-Deprecate-ItemStack-setType.patch
+++ b/patches/api/0461-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 782dc4f31a391896c3d568fb9903e6e5e032c0a3..40802479d2238b832e99ca52b64bccd44c7436aa 100644
+index 235d41b0078bb513470b17a0dad46fae3ac73a16..2866f10f954f6d3fb1d58c216a2d5ae1372adbad 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -144,8 +144,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -143,8 +143,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 782dc4f31a391896c3d568fb9903e6e5e032c0a3..40802479d2238b832e99ca52b64bccd4
public void setType(@NotNull Material type) {
Preconditions.checkArgument(type != null, "Material cannot be null");
this.type = type;
-@@ -158,6 +168,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -157,6 +167,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
this.data = null;
}
}
diff --git a/patches/api/0463-Item-Mutation-Fixes.patch b/patches/api/0462-Item-Mutation-Fixes.patch
index ccd77b7fbc..ccd77b7fbc 100644
--- a/patches/api/0463-Item-Mutation-Fixes.patch
+++ b/patches/api/0462-Item-Mutation-Fixes.patch
diff --git a/patches/api/0464-API-for-checking-sent-chunks.patch b/patches/api/0463-API-for-checking-sent-chunks.patch
index a3844b5401..a3844b5401 100644
--- a/patches/api/0464-API-for-checking-sent-chunks.patch
+++ b/patches/api/0463-API-for-checking-sent-chunks.patch
diff --git a/patches/api/0465-Add-CartographyItemEvent.patch b/patches/api/0464-Add-CartographyItemEvent.patch
index 1f19663c9f..1f19663c9f 100644
--- a/patches/api/0465-Add-CartographyItemEvent.patch
+++ b/patches/api/0464-Add-CartographyItemEvent.patch
diff --git a/patches/api/0466-More-Raid-API.patch b/patches/api/0465-More-Raid-API.patch
index 9ea371ec7a..9ea371ec7a 100644
--- a/patches/api/0466-More-Raid-API.patch
+++ b/patches/api/0465-More-Raid-API.patch
diff --git a/patches/api/0467-Fix-SpawnerEntry-Equipment-API.patch b/patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch
index 0a16b34cd5..0a16b34cd5 100644
--- a/patches/api/0467-Fix-SpawnerEntry-Equipment-API.patch
+++ b/patches/api/0466-Fix-SpawnerEntry-Equipment-API.patch
diff --git a/patches/api/0468-Fix-ItemFlags.patch b/patches/api/0467-Fix-ItemFlags.patch
index 6b7fdf98b9..1b1eb619b9 100644
--- a/patches/api/0468-Fix-ItemFlags.patch
+++ b/patches/api/0467-Fix-ItemFlags.patch
@@ -47,10 +47,10 @@ index 5b8dac777bb1640dc00bbe98feb6460c36eebb98..1af15fd327e0613cd1a179bd7fef1e83
/**
* 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 40802479d2238b832e99ca52b64bccd44c7436aa..35338358aec881c30ba4e004ed5f36708366fc12 100644
+index 2866f10f954f6d3fb1d58c216a2d5ae1372adbad..7f5633e7689b82b937d5b985c3e6ae15dc94a20f 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -589,6 +589,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -588,6 +588,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/0469-Allow-modifying-library-loader-jars-bytecode.patch b/patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch
index 0c0311e790..0c0311e790 100644
--- a/patches/api/0469-Allow-modifying-library-loader-jars-bytecode.patch
+++ b/patches/api/0468-Allow-modifying-library-loader-jars-bytecode.patch
diff --git a/patches/api/0470-Add-hook-to-remap-library-jars.patch b/patches/api/0469-Add-hook-to-remap-library-jars.patch
index fe1609629e..fe1609629e 100644
--- a/patches/api/0470-Add-hook-to-remap-library-jars.patch
+++ b/patches/api/0469-Add-hook-to-remap-library-jars.patch
diff --git a/patches/api/0471-Add-GameMode-isInvulnerable.patch b/patches/api/0470-Add-GameMode-isInvulnerable.patch
index b4b81c5f52..b4b81c5f52 100644
--- a/patches/api/0471-Add-GameMode-isInvulnerable.patch
+++ b/patches/api/0470-Add-GameMode-isInvulnerable.patch
diff --git a/patches/api/0472-Expose-hasColor-to-leather-armor.patch b/patches/api/0471-Expose-hasColor-to-leather-armor.patch
index e2c609b4f0..e2c609b4f0 100644
--- a/patches/api/0472-Expose-hasColor-to-leather-armor.patch
+++ b/patches/api/0471-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/api/0473-Add-missing-wind-charge-damage-type.patch b/patches/api/0472-Add-missing-wind-charge-damage-type.patch
index 8b5bd35be7..8b5bd35be7 100644
--- a/patches/api/0473-Add-missing-wind-charge-damage-type.patch
+++ b/patches/api/0472-Add-missing-wind-charge-damage-type.patch
diff --git a/patches/api/0474-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch
index b1702bee61..b1702bee61 100644
--- a/patches/api/0474-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/api/0473-Added-API-to-get-player-ha-proxy-address.patch
diff --git a/patches/api/0475-More-Chest-Block-API.patch b/patches/api/0474-More-Chest-Block-API.patch
index 1fc3614c74..1fc3614c74 100644
--- a/patches/api/0475-More-Chest-Block-API.patch
+++ b/patches/api/0474-More-Chest-Block-API.patch
diff --git a/patches/api/0476-Brigadier-based-command-API.patch b/patches/api/0475-Brigadier-based-command-API.patch
index 20c58c3c82..20c58c3c82 100644
--- a/patches/api/0476-Brigadier-based-command-API.patch
+++ b/patches/api/0475-Brigadier-based-command-API.patch
diff --git a/patches/api/0477-Fix-issues-with-recipe-API.patch b/patches/api/0476-Fix-issues-with-recipe-API.patch
index 19c045290e..19c045290e 100644
--- a/patches/api/0477-Fix-issues-with-recipe-API.patch
+++ b/patches/api/0476-Fix-issues-with-recipe-API.patch
diff --git a/patches/api/0478-Fix-equipment-slot-and-group-API.patch b/patches/api/0477-Fix-equipment-slot-and-group-API.patch
index fe72e478bc..d79d0c3cd2 100644
--- a/patches/api/0478-Fix-equipment-slot-and-group-API.patch
+++ b/patches/api/0477-Fix-equipment-slot-and-group-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix equipment slot and group API
was missing the 'body' slot group
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
-index d66502c9df2592cd18694481e7e90a71a5c3a359..ed54c85c2370a47f4531eb1302ff82ddfc0f5672 100644
+index 90f18f355a6a236a7e4273cc1258e7c8034b8276..a0750d457a9cd7cf3ab9c45bb28ce5a2aef35298 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -112,6 +112,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed {
diff --git a/patches/api/0479-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
index 8a0f6e9468..8a0f6e9468 100644
--- a/patches/api/0479-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
+++ b/patches/api/0478-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
diff --git a/patches/api/0480-Allow-to-define-new-map-cursor-types.patch b/patches/api/0479-Allow-to-define-new-map-cursor-types.patch
index d80375bc03..d80375bc03 100644
--- a/patches/api/0480-Allow-to-define-new-map-cursor-types.patch
+++ b/patches/api/0479-Allow-to-define-new-map-cursor-types.patch
diff --git a/patches/api/0481-General-ItemMeta-fixes.patch b/patches/api/0480-General-ItemMeta-fixes.patch
index 22f1db839c..22f1db839c 100644
--- a/patches/api/0481-General-ItemMeta-fixes.patch
+++ b/patches/api/0480-General-ItemMeta-fixes.patch
diff --git a/patches/api/0482-Add-missing-fishing-event-state.patch b/patches/api/0481-Add-missing-fishing-event-state.patch
index 94cba543ec..94cba543ec 100644
--- a/patches/api/0482-Add-missing-fishing-event-state.patch
+++ b/patches/api/0481-Add-missing-fishing-event-state.patch
diff --git a/patches/api/0483-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index 3efcc02654..3efcc02654 100644
--- a/patches/api/0483-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/api/0482-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch
index 44c61dacc7..d958463393 100644
--- a/patches/server/0005-Paper-config-files.patch
+++ b/patches/server/0005-Paper-config-files.patch
@@ -121,7 +121,7 @@ index 0000000000000000000000000000000000000000..042478cf7ce150f1f1bc5cddd7fa40f8
+}
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
new file mode 100644
-index 0000000000000000000000000000000000000000..7684e71f802f3d19e5340713b45cc84860ce9495
+index 0000000000000000000000000000000000000000..d9502ba028a96f9cc846f9ed428bd8066b857ca3
--- /dev/null
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
@@ -0,0 +1,360 @@
@@ -164,7 +164,7 @@ index 0000000000000000000000000000000000000000..7684e71f802f3d19e5340713b45cc848
+
+ private static final Logger LOGGER = LogUtils.getClassLogger();
+ public static final String WORLD_DEFAULTS = "__world_defaults__";
-+ public static final ResourceLocation WORLD_DEFAULTS_KEY = new ResourceLocation("configurations", WORLD_DEFAULTS);
++ public static final ResourceLocation WORLD_DEFAULTS_KEY = ResourceLocation.fromNamespaceAndPath("configurations", WORLD_DEFAULTS);
+ protected final Path globalFolder;
+ protected final Class<G> globalConfigClass;
+ protected final Class<W> worldConfigClass;
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 66ee2a96b4..65b50c580d 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -4087,7 +4087,7 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c025542b1073ce7e6e30a43744276fd1fa1ca484..64aed98084aeb3f29db301adf3c8c49ee9236a0b 100644
+index c025542b1073ce7e6e30a43744276fd1fa1ca484..03c70d45941822239a0894f910cbaf114b939bec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -388,14 +388,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -4531,7 +4531,7 @@ index c025542b1073ce7e6e30a43744276fd1fa1ca484..64aed98084aeb3f29db301adf3c8c49e
+
+ @Override
+ public void playSound(final net.kyori.adventure.sound.Sound sound) {
-+ final Vec3 pos = this.getHandle().position();
++ final net.minecraft.world.phys.Vec3 pos = this.getHandle().position();
+ this.playSound(sound, pos.x, pos.y, pos.z);
+ }
+
diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch
index 5a6f57a089..ba6ee7f128 100644
--- a/patches/server/0023-Timings-v2.patch
+++ b/patches/server/0023-Timings-v2.patch
@@ -1805,7 +1805,7 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 64aed98084aeb3f29db301adf3c8c49ee9236a0b..0bea424418984e17193ff107d2b4cf13278a3d3e 100644
+index 03c70d45941822239a0894f910cbaf114b939bec..0a4d672adf9684b483964414cc14a58001aca508 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2781,6 +2781,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0035-Player-affects-spawning-API.patch b/patches/server/0035-Player-affects-spawning-API.patch
index 6b8ea7ffca..825077ccab 100644
--- a/patches/server/0035-Player-affects-spawning-API.patch
+++ b/patches/server/0035-Player-affects-spawning-API.patch
@@ -135,7 +135,7 @@ index f38f62e777d88a783e1e3b7e1a48da921cc67cf4..77ae7882a08441d9a80b50492be5e484
for (Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0bea424418984e17193ff107d2b4cf13278a3d3e..276b12f8451fd3e7922175980b24fb26a56572ef 100644
+index 0a4d672adf9684b483964414cc14a58001aca508..96300cb91f734f45ca9bcf8b7a8e727049325144 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2424,6 +2424,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0036-Only-refresh-abilities-if-needed.patch b/patches/server/0036-Only-refresh-abilities-if-needed.patch
index 4843159987..0a3babbee6 100644
--- a/patches/server/0036-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0036-Only-refresh-abilities-if-needed.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 276b12f8451fd3e7922175980b24fb26a56572ef..153bc2407de2acc4452aa7959b39669ddb66b4da 100644
+index 96300cb91f734f45ca9bcf8b7a8e727049325144..a9df824ae0a28256f3469e085c891a3a2af0fd30 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2092,12 +2092,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0049-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0049-Implement-PlayerLocaleChangeEvent.patch
index 4c300bff09..79548ab0a3 100644
--- a/patches/server/0049-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0049-Implement-PlayerLocaleChangeEvent.patch
@@ -39,7 +39,7 @@ index 2022667e631d0ae1c7e7ffcfeca81091aa7c57c7..de55fbbc92d180ca49427b134e6fc8e2
// CraftBukkit end
this.language = clientOptions.language();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 153bc2407de2acc4452aa7959b39669ddb66b4da..e42b928d7019b636d4fd092d4a222208a7787bcb 100644
+index a9df824ae0a28256f3469e085c891a3a2af0fd30..4079cf3d515718a18b41333fbdc96d0c8f56648a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2422,7 +2422,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0056-Improve-Player-chat-API-handling.patch b/patches/server/0056-Improve-Player-chat-API-handling.patch
index ddf0a3129b..301c60040f 100644
--- a/patches/server/0056-Improve-Player-chat-API-handling.patch
+++ b/patches/server/0056-Improve-Player-chat-API-handling.patch
@@ -53,7 +53,7 @@ index 7c97ec4aa57562a8383a40e493eaa8a3697208bb..78193f0d66c2755ed238824bcd24ced9
if (this.commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e42b928d7019b636d4fd092d4a222208a7787bcb..783db0dc65725c49ffc4af0f2ca7357ab051d12c 100644
+index 4079cf3d515718a18b41333fbdc96d0c8f56648a..5a8597eac762d311ee8e09f64392e41aee1f13bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -546,7 +546,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0060-Player-Tab-List-and-Title-APIs.patch b/patches/server/0060-Player-Tab-List-and-Title-APIs.patch
index dc13ad83d8..37dd1bc254 100644
--- a/patches/server/0060-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/server/0060-Player-Tab-List-and-Title-APIs.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Player Tab List and Title APIs
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 783db0dc65725c49ffc4af0f2ca7357ab051d12c..ecb17cffbec7d2630602b265660f7b9b3f317906 100644
+index 5a8597eac762d311ee8e09f64392e41aee1f13bc..bbc8f648fc8287d84a8948947e1321a47417fefa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -386,6 +386,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0063-Add-exception-reporting-event.patch b/patches/server/0063-Add-exception-reporting-event.patch
index a0c3f05e20..d4df43a405 100644
--- a/patches/server/0063-Add-exception-reporting-event.patch
+++ b/patches/server/0063-Add-exception-reporting-event.patch
@@ -123,7 +123,7 @@ index 6a80479554f0c860a8dd6baa1a6506858fca83e3..6324689f52363f19501143c1649f0885
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 329f2210b73a75fc91a5ba06a1ed7f66c5aa2680..791b7d3a606fddfe21b51258e9732b14381200f5 100644
+index 329f2210b73a75fc91a5ba06a1ed7f66c5aa2680..3df1ad6a4804832f4edb79a8c8fc60909a1aaa24 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -565,8 +565,13 @@ public class LevelChunk extends ChunkAccess {
@@ -146,7 +146,7 @@ index 329f2210b73a75fc91a5ba06a1ed7f66c5aa2680..791b7d3a606fddfe21b51258e9732b14
// Paper start - Prevent block entity and entity crashes
final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ());
net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable);
-+ net.minecraft.world.level.chunk.LevelChunk.this.level.getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
++ net.minecraft.world.level.chunk.LevelChunk.this.level.getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
LevelChunk.this.removeBlockEntity(this.getPos());
// Paper end - Prevent block entity and entity crashes
// Spigot start
diff --git a/patches/server/0067-Complete-resource-pack-API.patch b/patches/server/0067-Complete-resource-pack-API.patch
index 1b635ae17f..28173364ee 100644
--- a/patches/server/0067-Complete-resource-pack-API.patch
+++ b/patches/server/0067-Complete-resource-pack-API.patch
@@ -22,7 +22,7 @@ index 678f12679985c6fa9effe8beec306d95d5e0bdac..8520f0f2b4b4e758b2e2fae206b7fd81
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ecb17cffbec7d2630602b265660f7b9b3f317906..409607c68a1205094ae82e5384e8c13654e492da 100644
+index bbc8f648fc8287d84a8948947e1321a47417fefa..bb4bef4e2a13aebca543136d51aa8eefead8c329 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -208,6 +208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index 99a70f2c4a..70070cfdac 100644
--- a/patches/server/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0075-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,7 +44,7 @@ index d63d72d5cafdcdf3e8d8f5e837bf7aeb0ce18c74..ac0d3cc8c8a13921576a12fd7fb44498
protected void internalSetAbsorptionAmount(float absorptionAmount) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 409607c68a1205094ae82e5384e8c13654e492da..b6c5636f21bfbade1dc9d048579e513f43642eb6 100644
+index bb4bef4e2a13aebca543136d51aa8eefead8c329..a2c09546434ef8b8d8e304b83d902efd5fc36a70 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2337,6 +2337,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0080-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0080-Configurable-Chunk-Inhabited-Time.patch
index 5dd9319b35..8af41cf8f6 100644
--- a/patches/server/0080-Configurable-Chunk-Inhabited-Time.patch
+++ b/patches/server/0080-Configurable-Chunk-Inhabited-Time.patch
@@ -11,7 +11,7 @@ For people who want all chunks to be treated equally, you can chose a fixed valu
This allows to fine-tune vanilla gameplay.
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 791b7d3a606fddfe21b51258e9732b14381200f5..00f6ef5ffe33d6d45b5356e215324cbe0eadfda4 100644
+index 3df1ad6a4804832f4edb79a8c8fc60909a1aaa24..9a94b0513e8b75c8acf0117bc0fbf563655ec3d8 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -271,6 +271,13 @@ public class LevelChunk extends ChunkAccess {
diff --git a/patches/server/0120-String-based-Action-Bar-API.patch b/patches/server/0120-String-based-Action-Bar-API.patch
index 5da74157bd..e77bad7174 100644
--- a/patches/server/0120-String-based-Action-Bar-API.patch
+++ b/patches/server/0120-String-based-Action-Bar-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] String based Action Bar API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b6c5636f21bfbade1dc9d048579e513f43642eb6..591dac203a4b93630fd4b1a95f44aaa364571cd8 100644
+index a2c09546434ef8b8d8e304b83d902efd5fc36a70..935815a532725e391465baf6764224dec8d0bc9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -388,6 +388,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch
index c91ab4fbe8..81db745b82 100644
--- a/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch
+++ b/patches/server/0154-Expose-client-protocol-version-and-virtual-host.patch
@@ -90,7 +90,7 @@ index 7ae4279768b70a4fdc8f4438898871a17c8fe402..582bbb376c75ab5bf737f3015ce8ad45
private void beginLogin(ClientIntentionPacket packet, boolean transfer) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 591dac203a4b93630fd4b1a95f44aaa364571cd8..a62a00e7f60f1fef625131597ca39bd5a10f7331 100644
+index 935815a532725e391465baf6764224dec8d0bc9b..9eddc3ac16645e0a01cc5c2decc8e53f08e7e3dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -334,6 +334,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
index 11e7b1ad53..7a804ad0bd 100644
--- a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
@@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a62a00e7f60f1fef625131597ca39bd5a10f7331..a72a320b6dd7b4477f5764f5f32334b519ade294 100644
+index 9eddc3ac16645e0a01cc5c2decc8e53f08e7e3dc..44529bfbf7ee1b03bc1f35c0f536fa36dd72b5d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1637,7 +1637,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1637,7 +1637,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@@ -26,9 +26,10 @@ index a62a00e7f60f1fef625131597ca39bd5a10f7331..a72a320b6dd7b4477f5764f5f32334b5
+ public int applyMending(int amount) {
+ ServerPlayer handle = this.getHandle();
+ // Logic copied from EntityExperienceOrb and remapped to unobfuscated methods/properties
-+ final var stackEntry = net.minecraft.world.item.enchantment.EnchantmentHelper
-+ .getRandomItemWith(net.minecraft.world.item.enchantment.Enchantments.MENDING, handle, net.minecraft.world.item.ItemStack::isDamaged);
-+ final net.minecraft.world.item.ItemStack itemstack = stackEntry != null ? stackEntry.getValue() : net.minecraft.world.item.ItemStack.EMPTY;
++
++ final Optional<net.minecraft.world.item.enchantment.EnchantedItemInUse> stackEntry = net.minecraft.world.item.enchantment.EnchantmentHelper
++ .getRandomItemWith(net.minecraft.world.item.enchantment.EnchantmentEffectComponents.REPAIR_WITH_XP, handle, net.minecraft.world.item.ItemStack::isDamaged);
++ final net.minecraft.world.item.ItemStack itemstack = stackEntry.map(net.minecraft.world.item.enchantment.EnchantedItemInUse::itemStack).orElse(net.minecraft.world.item.ItemStack.EMPTY);
+ if (!itemstack.isEmpty() && itemstack.getItem().components().has(net.minecraft.core.component.DataComponents.MAX_DAMAGE)) {
+ net.minecraft.world.entity.ExperienceOrb orb = net.minecraft.world.entity.EntityType.EXPERIENCE_ORB.create(handle.level());
+ orb.value = amount;
diff --git a/patches/server/0177-Player.setPlayerProfile-API.patch b/patches/server/0177-Player.setPlayerProfile-API.patch
index b9c84d7202..ffb458d18e 100644
--- a/patches/server/0177-Player.setPlayerProfile-API.patch
+++ b/patches/server/0177-Player.setPlayerProfile-API.patch
@@ -77,7 +77,7 @@ index 818df09e9245b5d89b4180b1eaa51470b7539341..461656e1cb095243bfe7a9ee2906e5b0
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d208c4be9a 100644
+index 44529bfbf7ee1b03bc1f35c0f536fa36dd72b5d4..4220223a7282ab5588234497ef2d34128107676a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -249,11 +249,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -92,7 +92,7 @@ index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d2
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection.protocol() == null) return null;
-@@ -1787,8 +1782,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1788,8 +1783,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private void untrackAndHideEntity(org.bukkit.entity.Entity entity) {
// Remove this entity from the hidden player's EntityTrackerEntry
@@ -109,7 +109,7 @@ index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d2
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1801,8 +1803,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1802,8 +1804,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
}
}
@@ -118,7 +118,7 @@ index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d2
}
void resetAndHideEntity(org.bukkit.entity.Entity entity) {
-@@ -1867,12 +1867,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1868,12 +1868,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
private void trackAndShowEntity(org.bukkit.entity.Entity entity) {
@@ -144,7 +144,7 @@ index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d2
}
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
-@@ -1882,6 +1895,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1883,6 +1896,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity));
}
@@ -184,7 +184,7 @@ index a72a320b6dd7b4477f5764f5f32334b519ade294..286b060081fdc0912b52a29d2425d1d2
void resetAndShowEntity(org.bukkit.entity.Entity entity) {
// SPIGOT-7312: Can't show/hide self
-@@ -1893,6 +1939,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1894,6 +1940,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.trackAndShowEntity(entity);
}
}
diff --git a/patches/server/0182-Flag-to-disable-the-channel-limit.patch b/patches/server/0182-Flag-to-disable-the-channel-limit.patch
index 39732e0b2b..c1e62974c3 100644
--- a/patches/server/0182-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0182-Flag-to-disable-the-channel-limit.patch
@@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 286b060081fdc0912b52a29d2425d1d208c4be9a..a89bc6c124d05fd22848aaddac8ca496f3a324ca 100644
+index 4220223a7282ab5588234497ef2d34128107676a..0c182241125d9583a4956eb5f05969243aa35acb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -209,6 +209,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -20,7 +20,7 @@ index 286b060081fdc0912b52a29d2425d1d208c4be9a..a89bc6c124d05fd22848aaddac8ca496
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2264,7 +2265,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2265,7 +2266,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/patches/server/0205-LivingEntity-Active-Item-API.patch b/patches/server/0205-LivingEntity-Active-Item-API.patch
index fe963a091b..a39708f120 100644
--- a/patches/server/0205-LivingEntity-Active-Item-API.patch
+++ b/patches/server/0205-LivingEntity-Active-Item-API.patch
@@ -13,7 +13,7 @@ public net/minecraft/server/level/ServerPlayer completeUsingItem()V
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index bb81e0bfe0692e8f8421758cd21c003978853a08..8f43b8e3ba64ac150f35c6056178934e5de04b2d 100644
+index bb81e0bfe0692e8f8421758cd21c003978853a08..e77380686b9f0c5695be36b3e16e11b2646ac00a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -853,4 +853,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -50,7 +50,7 @@ index bb81e0bfe0692e8f8421758cd21c003978853a08..8f43b8e3ba64ac150f35c6056178934e
+ @Override
+ public void setActiveItemRemainingTime(final int ticks) {
+ Preconditions.checkArgument(ticks >= 0, "ticks must be >= 0");
-+ Preconditions.checkArgument(ticks <= this.getHandle().getUseItem().getUseDuration(), "ticks must be <= item use duration");
++ Preconditions.checkArgument(ticks <= this.getHandle().getUseItem().getUseDuration(this.getHandle()), "ticks must be <= item use duration");
+ this.getHandle().useItemRemaining = ticks;
+ }
+
diff --git a/patches/server/0209-InventoryCloseEvent-Reason-API.patch b/patches/server/0209-InventoryCloseEvent-Reason-API.patch
index fa629e4a55..9113d05db6 100644
--- a/patches/server/0209-InventoryCloseEvent-Reason-API.patch
+++ b/patches/server/0209-InventoryCloseEvent-Reason-API.patch
@@ -165,7 +165,7 @@ index dd3377a4f69e5ac10905e52d0eecc2427e72d856..c79607a2f45b7a487a95cf98b9b0eb6b
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index a89bc6c124d05fd22848aaddac8ca496f3a324ca..0bc5d64b167081ade57ee2b0dcf0aefe3b3c2d35 100644
+index 0c182241125d9583a4956eb5f05969243aa35acb..a02bae1c51bd6583dfb2bdb07cc589827e3092ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1273,7 +1273,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch
index bfb82ade0e..36b5210610 100644
--- a/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -29,7 +29,7 @@ index 170b4f796f0a495a635147dd62ad0ab51dd86a92..63c3bef55dae608ddd19cf6c8348b302
public int getShieldBlockingDelay() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 8f43b8e3ba64ac150f35c6056178934e5de04b2d..b34793c7b7dfb699139551e1b467dea4efa0b369 100644
+index e77380686b9f0c5695be36b3e16e11b2646ac00a..f58c9edd68b02bbca10897320fae63cee1562fe3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0243-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0243-Expose-attack-cooldown-methods-for-Player.patch
index 59fbcebdab..e170e19ee3 100644
--- a/patches/server/0243-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0243-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0bc5d64b167081ade57ee2b0dcf0aefe3b3c2d35..267d612ba89aa964a74a91aec6c27c8d454d39bd 100644
+index a02bae1c51bd6583dfb2bdb07cc589827e3092ac..55ccca419524fa74e8978962371d695b42b50d51 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2975,6 +2975,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2976,6 +2976,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0244-Improve-death-events.patch b/patches/server/0244-Improve-death-events.patch
index a289cb1361..5eacc67caa 100644
--- a/patches/server/0244-Improve-death-events.patch
+++ b/patches/server/0244-Improve-death-events.patch
@@ -423,10 +423,10 @@ index ee3902cbada46ffb78c42dbf6f00c859546c76e1..92bb0c63330ad3a4cb13b2dc65502071
// CraftBukkit end
this.gameEvent(GameEvent.ENTITY_DIE);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 267d612ba89aa964a74a91aec6c27c8d454d39bd..4d07f2c4a67a153f1613993590da4a9789d27e39 100644
+index 55ccca419524fa74e8978962371d695b42b50d51..0fb6c7b63ac15db4921e7c52f98c9070f403e4f3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2512,7 +2512,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2513,7 +2513,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
diff --git a/patches/server/0254-Add-LivingEntity-getTargetEntity.patch b/patches/server/0254-Add-LivingEntity-getTargetEntity.patch
index 3606293700..669cb9dedc 100644
--- a/patches/server/0254-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/server/0254-Add-LivingEntity-getTargetEntity.patch
@@ -56,7 +56,7 @@ index d8681ace0ba74a6eb3b6abafe4915b5e753c02f0..bf493378dca5f9ebb4e098c7552d9fdb
public int getShieldBlockingDelay() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index b34793c7b7dfb699139551e1b467dea4efa0b369..5de2da8f473b6ee59be1b49c5002a0161981136c 100644
+index f58c9edd68b02bbca10897320fae63cee1562fe3..9a159f0c7489d2924dabe3fd250d844899ae5761 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1,5 +1,6 @@
diff --git a/patches/server/0271-Book-Size-Limits.patch b/patches/server/0271-Book-Size-Limits.patch
index 9589beabd1..5e517ed05e 100644
--- a/patches/server/0271-Book-Size-Limits.patch
+++ b/patches/server/0271-Book-Size-Limits.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Book Size Limits
Puts some limits on the size of books.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5d81aa23c7b1810df5d70b9972f233d84f5154eb..1854bf833f357d2c92b5e6c79149db58550aead1 100644
+index 5d81aa23c7b1810df5d70b9972f233d84f5154eb..202994eca830b753dbe07fea21dfdc2326147c89 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1043,6 +1043,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -24,7 +24,7 @@ index 5d81aa23c7b1810df5d70b9972f233d84f5154eb..1854bf833f357d2c92b5e6c79149db58
+ int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
+ if (byteLength > 256 * 4) {
+ ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!");
-+ server.scheduleOnMain(() -> this.disconnect("Book too large!"));
++ server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!")));
+ return;
+ }
+ byteTotal += byteLength;
@@ -47,7 +47,7 @@ index 5d81aa23c7b1810df5d70b9972f233d84f5154eb..1854bf833f357d2c92b5e6c79149db58
+
+ if (byteTotal > byteAllowed) {
+ ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
-+ server.scheduleOnMain(() -> this.disconnect("Book too large!"));
++ server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!")));
+ return;
+ }
+ }
diff --git a/patches/server/0273-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0273-Replace-OfflinePlayer-getLastPlayed.patch
index 714e43f6b9..e59fe138f2 100644
--- a/patches/server/0273-Replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0273-Replace-OfflinePlayer-getLastPlayed.patch
@@ -106,7 +106,7 @@ index 461656e1cb095243bfe7a9ee2906e5b00574ae78..411b280ac3e27e72091db813c0c9b69b
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 4d07f2c4a67a153f1613993590da4a9789d27e39..835384edd522c94dd07ee6837697099bed5979a7 100644
+index 0fb6c7b63ac15db4921e7c52f98c9070f403e4f3..e5a3d0aa6e800007caea6b0c2ceffa473a40d080 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -210,6 +210,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -117,7 +117,7 @@ index 4d07f2c4a67a153f1613993590da4a9789d27e39..835384edd522c94dd07ee6837697099b
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2044,6 +2045,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2045,6 +2046,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index 4d07f2c4a67a153f1613993590da4a9789d27e39..835384edd522c94dd07ee6837697099b
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -2066,6 +2079,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2067,6 +2080,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index 4d07f2c4a67a153f1613993590da4a9789d27e39..835384edd522c94dd07ee6837697099b
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -2080,6 +2095,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2081,6 +2096,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("firstPlayed", this.getFirstPlayed());
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());
diff --git a/patches/server/0275-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/server/0275-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
index fb377d530d..9efe57e203 100644
--- a/patches/server/0275-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
+++ b/patches/server/0275-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch
@@ -8,7 +8,7 @@ We just add a check to ensure that the CraftPlayer's handle
is a ServerPlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 835384edd522c94dd07ee6837697099bed5979a7..b03813ebc9aa665f670767be9c37cbb84756838e 100644
+index e5a3d0aa6e800007caea6b0c2ceffa473a40d080..70b1acee956247e80f7afdbe7cb91ff01a00af81 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -224,8 +224,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0278-Brigadier-Mojang-API.patch b/patches/server/0278-Brigadier-Mojang-API.patch
index 5d63df835d..b738c0155a 100644
--- a/patches/server/0278-Brigadier-Mojang-API.patch
+++ b/patches/server/0278-Brigadier-Mojang-API.patch
@@ -119,7 +119,7 @@ index a05aea8561ac102476ee1b3068942b095950a86a..2b5235aea933462ca711abb5b59b6715
if (commandnode2.canUse(source)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1854bf833f357d2c92b5e6c79149db58550aead1..26228dbf1830134c185e884b22487e3e40ccf3aa 100644
+index 202994eca830b753dbe07fea21dfdc2326147c89..e8be3b9f538c688b510a490aee94628681d2f546 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -769,19 +769,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0280-Limit-Client-Sign-length-more.patch b/patches/server/0280-Limit-Client-Sign-length-more.patch
index 833f505b24..f19f2bc59d 100644
--- a/patches/server/0280-Limit-Client-Sign-length-more.patch
+++ b/patches/server/0280-Limit-Client-Sign-length-more.patch
@@ -22,7 +22,7 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 26228dbf1830134c185e884b22487e3e40ccf3aa..528c902b5434875b111812ff3a8099f945404d3c 100644
+index e8be3b9f538c688b510a490aee94628681d2f546..0d6cdd7e52bffe392a668a0885855b9ca7cb4368 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -299,6 +299,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0320-Entity-Jump-API.patch b/patches/server/0320-Entity-Jump-API.patch
index 88d2bc6214..6e26dbe6c5 100644
--- a/patches/server/0320-Entity-Jump-API.patch
+++ b/patches/server/0320-Entity-Jump-API.patch
@@ -50,7 +50,7 @@ index 4d91bc4b90a208fec789325dbcec8cc56d1a2a8b..aa4111eef22546f8aa630228c51ef576
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 5de2da8f473b6ee59be1b49c5002a0161981136c..ccb779066fb5f3ebf9e4bdabdffc9c18c1a75cbb 100644
+index 9a159f0c7489d2924dabe3fd250d844899ae5761..94f2b0fa94ebc2572c33623fa5883dd7ed56c55a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -963,4 +963,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0327-Optimise-Chunk-getFluid.patch b/patches/server/0327-Optimise-Chunk-getFluid.patch
index 751bc009c7..955f6f3ed8 100644
--- a/patches/server/0327-Optimise-Chunk-getFluid.patch
+++ b/patches/server/0327-Optimise-Chunk-getFluid.patch
@@ -8,7 +8,7 @@ faster on its own, however removing the try catch makes it
easier to inline due to code size
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 00f6ef5ffe33d6d45b5356e215324cbe0eadfda4..cda4413901fb465a855396e42356adaadefd4195 100644
+index 9a94b0513e8b75c8acf0117bc0fbf563655ec3d8..46a5d9270aaaccb2df7131fb9c921cccf914085c 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -369,18 +369,20 @@ public class LevelChunk extends ChunkAccess {
diff --git a/patches/server/0344-Implement-Player-Client-Options-API.patch b/patches/server/0344-Implement-Player-Client-Options-API.patch
index a1b22b9ec7..ee28bb7991 100644
--- a/patches/server/0344-Implement-Player-Client-Options-API.patch
+++ b/patches/server/0344-Implement-Player-Client-Options-API.patch
@@ -136,7 +136,7 @@ index a5291e17ab08d1ceeca0bb73f4c8fe433fcbd536..8110cdcdcf9513a71caae38abd235b69
this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper
this.requestedViewDistance = clientOptions.viewDistance();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b03813ebc9aa665f670767be9c37cbb84756838e..e837939d35ee168f5640b28fae07675817492cb9 100644
+index 70b1acee956247e80f7afdbe7cb91ff01a00af81..490724ddb5fda7c7f0e1ba10d9be1457e3c51a53 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -653,6 +653,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0353-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0353-Validate-PickItem-Packet-and-kick-for-invalid.patch
index 385eee6011..41621adc9a 100644
--- a/patches/server/0353-Validate-PickItem-Packet-and-kick-for-invalid.patch
+++ b/patches/server/0353-Validate-PickItem-Packet-and-kick-for-invalid.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 528c902b5434875b111812ff3a8099f945404d3c..0e89021e44a5d9d3fd0169199839dbcc33e283d5 100644
+index 0d6cdd7e52bffe392a668a0885855b9ca7cb4368..ca4dd5aa34188e121eb92d58305a2979b3797a12 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -895,7 +895,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -16,7 +16,7 @@ index 528c902b5434875b111812ff3a8099f945404d3c..0e89021e44a5d9d3fd0169199839dbcc
+ // Paper start - validate pick item position
+ if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) {
+ ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
-+ this.disconnect("Invalid hotbar selection (Hacking?)");
++ this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"));
+ return;
+ }
+ this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed
diff --git a/patches/server/0355-misc-debugging-dumps.patch b/patches/server/0355-misc-debugging-dumps.patch
index 0d84f146d1..20aae10362 100644
--- a/patches/server/0355-misc-debugging-dumps.patch
+++ b/patches/server/0355-misc-debugging-dumps.patch
@@ -78,7 +78,7 @@ index 2a2b5205692573c9886a2696f376958809b899ac..15938074ad20133f5ccdab0c8566556d
this.running = false;
if (waitForShutdown) {
diff --git a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
-index 5457358bc76889153036818fdfd70a043ec4e40f..f0701ff9be510e6bed7767f154832eb80797b565 100644
+index 5457358bc76889153036818fdfd70a043ec4e40f..880e5c52746e9e3a9a1f42ec6461be54e3ee136c 100644
--- a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
@@ -70,6 +70,10 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis
@@ -87,7 +87,7 @@ index 5457358bc76889153036818fdfd70a043ec4e40f..f0701ff9be510e6bed7767f154832eb8
public void onDisconnect(DisconnectionDetails info) {
+ // Paper start - Debugging
+ if (net.minecraft.server.MinecraftServer.getServer().isDebugging()) {
-+ ServerConfigurationPacketListenerImpl.LOGGER.info("{} lost connection: {}, while in configuration phase {}", this.gameProfile, reason.getString(), currentTask != null ? currentTask.type().id() : "null");
++ ServerConfigurationPacketListenerImpl.LOGGER.info("{} lost connection: {}, while in configuration phase {}", this.gameProfile, info.reason().getString(), currentTask != null ? currentTask.type().id() : "null");
+ } else // Paper end
ServerConfigurationPacketListenerImpl.LOGGER.info("{} lost connection: {}", this.gameProfile, info.reason().getString());
super.onDisconnect(info);
diff --git a/patches/server/0356-Prevent-teleporting-dead-entities.patch b/patches/server/0356-Prevent-teleporting-dead-entities.patch
index f2d5343c65..0f97cd7b32 100644
--- a/patches/server/0356-Prevent-teleporting-dead-entities.patch
+++ b/patches/server/0356-Prevent-teleporting-dead-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent teleporting dead entities
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0e89021e44a5d9d3fd0169199839dbcc33e283d5..05033408070a08c7b982a675dc3acb79db392229 100644
+index ca4dd5aa34188e121eb92d58305a2979b3797a12..081d916a82a456ebbb56e7255768f4631e0ec797 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1553,6 +1553,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0360-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0360-Fix-PotionEffect-ignores-icon-flag.patch
index f2f8e45056..59845e22d4 100644
--- a/patches/server/0360-Fix-PotionEffect-ignores-icon-flag.patch
+++ b/patches/server/0360-Fix-PotionEffect-ignores-icon-flag.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag
Co-authored-by: Tamion <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index ccb779066fb5f3ebf9e4bdabdffc9c18c1a75cbb..1544242abfbd0f9accf5fe515a95d9ac0db50d4f 100644
+index 94f2b0fa94ebc2572c33623fa5883dd7ed56c55a..9cf3e1e20799caf4ba469ef6d5d86bfe176641f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -484,7 +484,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0363-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/server/0363-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
index 87cff3afa2..dfe8e5260b 100644
--- a/patches/server/0363-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
+++ b/patches/server/0363-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch
@@ -6,14 +6,14 @@ Subject: [PATCH] Ensure EntityRaider respects game and entity rules for
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
-index 6fb56c826f0eaf76ab7896f784084b4fb1b3d105..e5dff812dc979ecf71939a85b2213965d15e7954 100644
+index 6fb56c826f0eaf76ab7896f784084b4fb1b3d105..f9bd6f5e54bdb4e2fe4cc73e54961721f440ef07 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -292,6 +292,7 @@ public abstract class Raider extends PatrollingMonster {
@Override
public boolean canUse() {
-+ if (!this.mob.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items
++ if (!this.mob.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items
Raid raid = this.mob.getCurrentRaid();
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance(this.mob.registryAccess().lookupOrThrow(Registries.BANNER_PATTERN)))) {
diff --git a/patches/server/0371-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0371-Prevent-position-desync-causing-tp-exploit.patch
index 07dbf5484e..fc79db536a 100644
--- a/patches/server/0371-Prevent-position-desync-causing-tp-exploit.patch
+++ b/patches/server/0371-Prevent-position-desync-causing-tp-exploit.patch
@@ -13,7 +13,7 @@ behaviour, we need to move all of this dangerous logic outside
of the move call and into an appropriate place in the tick method.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 05033408070a08c7b982a675dc3acb79db392229..c8464b67c0133af18ba750f2b02d5494becbc7b3 100644
+index 081d916a82a456ebbb56e7255768f4631e0ec797..b6895f7f6df5519f6cc550f154ecc2c3b9043b8f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1350,6 +1350,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0373-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0373-Add-PlayerRecipeBookClickEvent.patch
index c4927d5cab..b625834ac3 100644
--- a/patches/server/0373-Add-PlayerRecipeBookClickEvent.patch
+++ b/patches/server/0373-Add-PlayerRecipeBookClickEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerRecipeBookClickEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c8464b67c0133af18ba750f2b02d5494becbc7b3..231575a2ed7decdb99b7b4368cad257556328d7d 100644
+index b6895f7f6df5519f6cc550f154ecc2c3b9043b8f..5e27b8c2ba4ba009f4c1f155760d0c1d93e220c5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3058,16 +3058,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -37,7 +37,7 @@ index c8464b67c0133af18ba750f2b02d5494becbc7b3..231575a2ed7decdb99b7b4368cad2575
+ recipeName = CraftNamespacedKey.toMinecraft(((org.bukkit.Keyed) event.getRecipe()).getKey());
+ makeAll = event.isShiftClick();
+ }
-+ if (!(this.player.containerMenu instanceof RecipeBookMenu<?> recipeBookMenu)) {
++ if (!(this.player.containerMenu instanceof RecipeBookMenu<?, ?> recipeBookMenu)) {
+ return;
+ }
+ // Paper end - Add PlayerRecipeBookClickEvent
diff --git a/patches/server/0375-Add-permission-for-command-blocks.patch b/patches/server/0375-Add-permission-for-command-blocks.patch
index ba14123ba3..fb8720b998 100644
--- a/patches/server/0375-Add-permission-for-command-blocks.patch
+++ b/patches/server/0375-Add-permission-for-command-blocks.patch
@@ -18,7 +18,7 @@ index da9e864520150acd8027545672aa476be414bb4d..d4bd44210d58b30696feeea48e190947
return false;
} else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 231575a2ed7decdb99b7b4368cad257556328d7d..ddaf4cfda6ddd4173e96c79a0f01b42386ffeaf1 100644
+index 5e27b8c2ba4ba009f4c1f155760d0c1d93e220c5..9c59b0f1945bb767d2040e86fe935e77bf89cd3c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -806,7 +806,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0377-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0377-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
index e385d192d6..454cf22a3f 100644
--- a/patches/server/0377-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
+++ b/patches/server/0377-Fix-Per-World-Difficulty-Remembering-Difficulty.patch
@@ -76,7 +76,7 @@ index d6dc8c983d26ce89f17a990be4284fdc78ad164b..2b1d7a2360a9ee7bca9d93a2dc8c61d1
@Override
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ddaf4cfda6ddd4173e96c79a0f01b42386ffeaf1..8a7aca02181a5c8762fb01c66f66f7d913f56ebe 100644
+index 9c59b0f1945bb767d2040e86fe935e77bf89cd3c..73119348397ee18d43f84faafd62926379608328 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3261,7 +3261,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0383-Do-not-accept-invalid-client-settings.patch b/patches/server/0383-Do-not-accept-invalid-client-settings.patch
index a8178aebb1..adb4669019 100644
--- a/patches/server/0383-Do-not-accept-invalid-client-settings.patch
+++ b/patches/server/0383-Do-not-accept-invalid-client-settings.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Do not accept invalid client settings
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8a7aca02181a5c8762fb01c66f66f7d913f56ebe..3387622f107a46efa7fda14d5994f192c6854dc2 100644
+index 73119348397ee18d43f84faafd62926379608328..07e517d7a01f80afd85a1fe2cfb40d5c0821cd98 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3253,6 +3253,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -15,7 +15,7 @@ index 8a7aca02181a5c8762fb01c66f66f7d913f56ebe..3387622f107a46efa7fda14d5994f192
+ // Paper start - do not accept invalid information
+ if (packet.information().viewDistance() < 0) {
+ LOGGER.warn("Disconnecting " + this.player.getScoreboardName() + " for invalid view distance: " + packet.information().viewDistance());
-+ this.disconnect("Invalid client settings", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION);
++ this.disconnect(Component.literal("Invalid client settings"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION);
+ return;
+ }
+ // Paper end - do not accept invalid information
diff --git a/patches/server/0396-Brand-support.patch b/patches/server/0396-Brand-support.patch
index 44eb18e93f..383881834a 100644
--- a/patches/server/0396-Brand-support.patch
+++ b/patches/server/0396-Brand-support.patch
@@ -57,10 +57,10 @@ index 2d1fad00ee084841618f0da8113c7aac8c0e2b0d..a3c67bdc2c08b3550534f37d15b0db90
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index e837939d35ee168f5640b28fae07675817492cb9..8b89959fa688f17ea9f16597cc0cc49f1d94a0ff 100644
+index 490724ddb5fda7c7f0e1ba10d9be1457e3c51a53..cbcca58a88b383435b949e0ee3e284635afcb5f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3134,6 +3134,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3135,6 +3135,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0397-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0397-Add-playPickupItemAnimation-to-LivingEntity.patch
index d7cbebee88..0fcb956c33 100644
--- a/patches/server/0397-Add-playPickupItemAnimation-to-LivingEntity.patch
+++ b/patches/server/0397-Add-playPickupItemAnimation-to-LivingEntity.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 1544242abfbd0f9accf5fe515a95d9ac0db50d4f..7c5f873ed2962244d8a17583b26c29b7caffe5d4 100644
+index 9cf3e1e20799caf4ba469ef6d5d86bfe176641f7..344ef786330d1247fdfb56ef04be130c9ffb7d8f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -979,4 +979,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0412-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0412-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 45f73786e6..8793d95a79 100644
--- a/patches/server/0412-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0412-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -9,7 +9,7 @@ as this is how Vanilla teleports entities.
Cancel any pending motion when teleported.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 3387622f107a46efa7fda14d5994f192c6854dc2..25b82b15d67f1c37d6897aaeefa00ee2852d0865 100644
+index 07e517d7a01f80afd85a1fe2cfb40d5c0821cd98..ee552bc754010c0f64ae67848c1ed6038e7e3746 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -679,7 +679,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0422-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0422-Fix-for-large-move-vectors-crashing-server.patch
index f67f2b3368..4215392549 100644
--- a/patches/server/0422-Fix-for-large-move-vectors-crashing-server.patch
+++ b/patches/server/0422-Fix-for-large-move-vectors-crashing-server.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server
Check movement distance also based on current position.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 25b82b15d67f1c37d6897aaeefa00ee2852d0865..2e71e9fa378d6ffe641aa691a1e65f8a9063a875 100644
+index ee552bc754010c0f64ae67848c1ed6038e7e3746..509cad3fe33a35ee22db173d84f7d8d35df4910c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -492,9 +492,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0438-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0438-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index b845d58398..64b4f85775 100644
--- a/patches/server/0438-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0438-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8b89959fa688f17ea9f16597cc0cc49f1d94a0ff..721f4fb6bc18fc3ca6a22e8a42f564220042fa42 100644
+index cbcca58a88b383435b949e0ee3e284635afcb5f1..057206959ba3f05bb4baad5ab5b1bd420dcf607b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2702,7 +2702,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2703,7 +2703,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/patches/server/0439-Add-LivingEntity-clearActiveItem.patch b/patches/server/0439-Add-LivingEntity-clearActiveItem.patch
index 4a037aa1eb..b910c1c70b 100644
--- a/patches/server/0439-Add-LivingEntity-clearActiveItem.patch
+++ b/patches/server/0439-Add-LivingEntity-clearActiveItem.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 7c5f873ed2962244d8a17583b26c29b7caffe5d4..671fb1d1bffd7cdffcb56193e0b4f08a0eda0682 100644
+index 344ef786330d1247fdfb56ef04be130c9ffb7d8f..69917c67228ccf51ebee8965e4fb8e58c9b7e8ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -936,6 +936,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0446-Limit-recipe-packets.patch b/patches/server/0446-Limit-recipe-packets.patch
index ed864ac2fe..a4c87098fa 100644
--- a/patches/server/0446-Limit-recipe-packets.patch
+++ b/patches/server/0446-Limit-recipe-packets.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 2e71e9fa378d6ffe641aa691a1e65f8a9063a875..9029bc0df227a1dbfab0ab337efa4087d57e7f08 100644
+index 509cad3fe33a35ee22db173d84f7d8d35df4910c..e7a683ee53e44815d262a0d8c7a9c2ce2ca7a2b3 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -266,6 +266,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0450-Expose-LivingEntity-hurt-direction.patch b/patches/server/0450-Expose-LivingEntity-hurt-direction.patch
index 32452b749b..de27c1fb39 100644
--- a/patches/server/0450-Expose-LivingEntity-hurt-direction.patch
+++ b/patches/server/0450-Expose-LivingEntity-hurt-direction.patch
@@ -36,7 +36,7 @@ index 9393e9d21fcc41cb0f20b98d9f28c95b0e523f62..796945fb1a8b43987ed9f01375113b2c
public int getSleepTicks() {
return this.getHandle().sleepCounter;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 671fb1d1bffd7cdffcb56193e0b4f08a0eda0682..aad17b34fedd7030939f3b834b313b7f79b69ce1 100644
+index 69917c67228ccf51ebee8965e4fb8e58c9b7e8ec..d29de162033aaa59b8f9861e0657ee8717291a71 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -993,4 +993,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0461-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0461-Fix-interact-event-not-being-called-sometimes.patch
index 12805c473b..579eae9915 100644
--- a/patches/server/0461-Fix-interact-event-not-being-called-sometimes.patch
+++ b/patches/server/0461-Fix-interact-event-not-being-called-sometimes.patch
@@ -11,7 +11,7 @@ Subject: [PATCH] Fix interact event not being called sometimes
Co-authored-by: Moulberry <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9029bc0df227a1dbfab0ab337efa4087d57e7f08..1725451dcd7c62319b282ee7543202e56ca49b26 100644
+index e7a683ee53e44815d262a0d8c7a9c2ce2ca7a2b3..98661e4aba2112fec2f2beaf6b719f38de1551ed 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1771,7 +1771,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0475-Add-sendOpLevel-API.patch b/patches/server/0475-Add-sendOpLevel-API.patch
index adc3b60e1c..bae2137a16 100644
--- a/patches/server/0475-Add-sendOpLevel-API.patch
+++ b/patches/server/0475-Add-sendOpLevel-API.patch
@@ -32,7 +32,7 @@ index 5a709e301b336ee2fc62b422a2f3d878b81f9743..f9ecdb537b7cbf4a97888a88a61686d9
public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 721f4fb6bc18fc3ca6a22e8a42f564220042fa42..0c224de84b797856814f5378c87e6d048205e8d9 100644
+index 057206959ba3f05bb4baad5ab5b1bd420dcf607b..f74a2808699824a4911363b9ab07eb4a93d8d111 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -677,6 +677,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0495-living-entity-allow-attribute-registration.patch b/patches/server/0495-living-entity-allow-attribute-registration.patch
index ee375e6fe4..995d796169 100644
--- a/patches/server/0495-living-entity-allow-attribute-registration.patch
+++ b/patches/server/0495-living-entity-allow-attribute-registration.patch
@@ -38,7 +38,7 @@ index 5678d2007d5adf45dec0638c5dd848b601801814..0a7ed5a4f1644a70d8f98ad7a6962b81
+ // Paper end - living entity allow attribute registration
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index aad17b34fedd7030939f3b834b313b7f79b69ce1..36ec4032ade4b0f7ae9428e7871354ef9527f0c8 100644
+index d29de162033aaa59b8f9861e0657ee8717291a71..fe827bd8c847e6a4dccf6af5f5e7e73ed40e0beb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -756,6 +756,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0505-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0505-Allow-using-signs-inside-spawn-protection.patch
index b676c6da54..9350df5f61 100644
--- a/patches/server/0505-Allow-using-signs-inside-spawn-protection.patch
+++ b/patches/server/0505-Allow-using-signs-inside-spawn-protection.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow using signs inside spawn protection
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1725451dcd7c62319b282ee7543202e56ca49b26..c6382cb0fb56e3c1ffc37545fbe3e592f9a31b55 100644
+index 98661e4aba2112fec2f2beaf6b719f38de1551ed..6d00c6931f5d52d037ff84242426772b73d58fd8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1759,8 +1759,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0510-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0510-Don-t-ignore-result-of-PlayerEditBookEvent.patch
index a6c5f23943..086d9c426c 100644
--- a/patches/server/0510-Don-t-ignore-result-of-PlayerEditBookEvent.patch
+++ b/patches/server/0510-Don-t-ignore-result-of-PlayerEditBookEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c6382cb0fb56e3c1ffc37545fbe3e592f9a31b55..404de2d141c7c436a04d82c637648922c3290ac2 100644
+index 6d00c6931f5d52d037ff84242426772b73d58fd8..2d7d6f0bdac54d23ed6ba718c16f99c7d1fc86b6 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1155,7 +1155,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0520-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0520-fix-PlayerItemHeldEvent-firing-twice.patch
index a98fa0c83d..98082daee6 100644
--- a/patches/server/0520-fix-PlayerItemHeldEvent-firing-twice.patch
+++ b/patches/server/0520-fix-PlayerItemHeldEvent-firing-twice.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 404de2d141c7c436a04d82c637648922c3290ac2..b1b833383c5196c2aee07fb7118cfef069abc3cd 100644
+index 2d7d6f0bdac54d23ed6ba718c16f99c7d1fc86b6..756be0985dad9cd52394ec0144be20d1d34f9d7a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1934,6 +1934,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch
index 4a75b94d12..82712c2770 100644
--- a/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch
@@ -134,7 +134,7 @@ index 5de472df78940d1b8320f73d18b2edf3a796227e..073cf184a0e7af41048ae67a9b17b4cd
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b1b833383c5196c2aee07fb7118cfef069abc3cd..498104eb1509e0f8389c07d1573a6b496b0bcd41 100644
+index 756be0985dad9cd52394ec0144be20d1d34f9d7a..644cf792a1d04b8674d54be627f1fafc759fcb22 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2732,7 +2732,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -147,7 +147,7 @@ index b1b833383c5196c2aee07fb7118cfef069abc3cd..498104eb1509e0f8389c07d1573a6b49
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0c224de84b797856814f5378c87e6d048205e8d9..ed08f30d7163d01b5c280d20ea721da8d7f4b41e 100644
+index f74a2808699824a4911363b9ab07eb4a93d8d111..d1c224a21aa707f4e2876d2dd70dbab767cd3afd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1653,7 +1653,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0540-Move-range-check-for-block-placing-up.patch b/patches/server/0540-Move-range-check-for-block-placing-up.patch
index 84a1ccd001..eb20c018aa 100644
--- a/patches/server/0540-Move-range-check-for-block-placing-up.patch
+++ b/patches/server/0540-Move-range-check-for-block-placing-up.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 498104eb1509e0f8389c07d1573a6b496b0bcd41..71a1b5108847b6284482ce33cdc07b944adeadba 100644
+index 644cf792a1d04b8674d54be627f1fafc759fcb22..2adca0a31845c1e01591b4d486514c77f7531389 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1746,6 +1746,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0543-Add-Unix-domain-socket-support.patch b/patches/server/0543-Add-Unix-domain-socket-support.patch
index 4b76967918..a2b93364e7 100644
--- a/patches/server/0543-Add-Unix-domain-socket-support.patch
+++ b/patches/server/0543-Add-Unix-domain-socket-support.patch
@@ -87,7 +87,7 @@ index d6d7f1c446ba5507f67038ff27775ba75156f4a7..c63c194c44646e6bc1a5942655278701
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 71a1b5108847b6284482ce33cdc07b944adeadba..4a3f6197aae50e35584e3e2134551a955e4b6729 100644
+index 2adca0a31845c1e01591b4d486514c77f7531389..54a370e3cf9f7fd1fa32ee8c76d45f0769a6e612 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2551,6 +2551,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0549-Add-PlayerKickEvent-causes.patch b/patches/server/0549-Add-PlayerKickEvent-causes.patch
index 9b753e688b..eb487705f4 100644
--- a/patches/server/0549-Add-PlayerKickEvent-causes.patch
+++ b/patches/server/0549-Add-PlayerKickEvent-causes.patch
@@ -218,7 +218,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246
if (this.cserver.getServer().isRunning()) {
this.cserver.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 4a3f6197aae50e35584e3e2134551a955e4b6729..b9db64ac1a3a3e179adf08157a4dbe9c2d1e9682 100644
+index 54a370e3cf9f7fd1fa32ee8c76d45f0769a6e612..472e46503df2d3f330e2f8a7f987255d883ba10c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -349,7 +349,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -279,8 +279,8 @@ index 4a3f6197aae50e35584e3e2134551a955e4b6729..b9db64ac1a3a3e179adf08157a4dbe9c
// Paper start - validate pick item position
if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) {
ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString());
-- this.disconnect("Invalid hotbar selection (Hacking?)");
-+ this.disconnect("Invalid hotbar selection (Hacking?)", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
+- this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"));
++ this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
return;
}
this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed
@@ -288,8 +288,8 @@ index 4a3f6197aae50e35584e3e2134551a955e4b6729..b9db64ac1a3a3e179adf08157a4dbe9c
int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
if (byteLength > 256 * 4) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!");
-- server.scheduleOnMain(() -> this.disconnect("Book too large!"));
-+ server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
+- server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!")));
++ server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
byteTotal += byteLength;
@@ -297,8 +297,8 @@ index 4a3f6197aae50e35584e3e2134551a955e4b6729..b9db64ac1a3a3e179adf08157a4dbe9c
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
-- server.scheduleOnMain(() -> this.disconnect("Book too large!"));
-+ server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
+- server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!")));
++ server.scheduleOnMain(() -> this.disconnect(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
}
@@ -480,7 +480,7 @@ index f472dea0bd4f834c0c8f0aa59ae7cdae082b14af..2fa51c3a70f43cd23b8f494fc643d66c
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ed08f30d7163d01b5c280d20ea721da8d7f4b41e..26a8006a1daa9eecb226732a5a33d2a5d1cdedf9 100644
+index d1c224a21aa707f4e2876d2dd70dbab767cd3afd..9f9d6eb6f0d3f51b32a8232a16cd784268d2764a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -635,7 +635,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0558-Line-Of-Sight-Changes.patch b/patches/server/0558-Line-Of-Sight-Changes.patch
index 3d75be636c..d9f57b6dfd 100644
--- a/patches/server/0558-Line-Of-Sight-Changes.patch
+++ b/patches/server/0558-Line-Of-Sight-Changes.patch
@@ -45,7 +45,7 @@ index 04a39cb6c13c26e2cb1d73a9da98df5d04df69bc..5d137f8c42356359701e1bea7525f82c
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 36ec4032ade4b0f7ae9428e7871354ef9527f0c8..c23f60a6a3bc294a6ce68b6e72f8eda30812a8f8 100644
+index fe827bd8c847e6a4dccf6af5f5e7e73ed40e0beb..f68754e2ca352583f09e1d80cebf6eb11eb71eeb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -629,6 +629,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0563-Missing-Entity-API.patch b/patches/server/0563-Missing-Entity-API.patch
index c7cb2e0db5..a22e49b567 100644
--- a/patches/server/0563-Missing-Entity-API.patch
+++ b/patches/server/0563-Missing-Entity-API.patch
@@ -828,7 +828,7 @@ index 2cec61a1bb050c1ef81c5fc3d0afafe9ff29d459..97fa4e1e70203194bd939618b2fad926
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index c23f60a6a3bc294a6ce68b6e72f8eda30812a8f8..af0a44df65277dae72dfb3496c9296bf4ac73da3 100644
+index f68754e2ca352583f09e1d80cebf6eb11eb71eeb..ba1a9726ca269d9eda29aa3c3661c380fc099041 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -123,6 +123,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0564-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0564-Ensure-disconnect-for-book-edit-is-called-on-main.patch
index 738bfeec26..fdbd6154ca 100644
--- a/patches/server/0564-Ensure-disconnect-for-book-edit-is-called-on-main.patch
+++ b/patches/server/0564-Ensure-disconnect-for-book-edit-is-called-on-main.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b9db64ac1a3a3e179adf08157a4dbe9c2d1e9682..13d052ae4661b6d725d016cc35437a0125e098d7 100644
+index 472e46503df2d3f330e2f8a7f987255d883ba10c..c8d99f686aa498ab34189888597166a255a659c2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1118,7 +1118,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0568-Add-PlayerArmSwingEvent.patch b/patches/server/0568-Add-PlayerArmSwingEvent.patch
index 73dc2eeb99..14199e4997 100644
--- a/patches/server/0568-Add-PlayerArmSwingEvent.patch
+++ b/patches/server/0568-Add-PlayerArmSwingEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmSwingEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 13d052ae4661b6d725d016cc35437a0125e098d7..0a21e25e7a7771e1c86a857af8133cf7203333e3 100644
+index c8d99f686aa498ab34189888597166a255a659c2..d4917f507b5602bd1cc5e0cc6dc1ca166888f21e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2413,7 +2413,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch
index 99330c396b..5455f31072 100644
--- a/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch
+++ b/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch
@@ -17,7 +17,7 @@ index 997bea27d9aba6b10352e25f84b06caec4d56e01..1bcaf0c663070364c36f00a912c85fe0
public boolean isRealPlayer; // Paper
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
-index feb529adf2168025c785ab92d95a3246e73c0236..7ab900fcb949962d226b8293360bb42f7cb0836b 100644
+index feb529adf2168025c785ab92d95a3246e73c0236..b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -110,6 +110,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -32,25 +32,30 @@ index feb529adf2168025c785ab92d95a3246e73c0236..7ab900fcb949962d226b8293360bb42f
if (this.isSingleplayerOwner()) {
ServerCommonPacketListenerImpl.LOGGER.info("Stopping singleplayer server as player logged out");
this.server.halt(false);
-@@ -374,7 +379,6 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
+@@ -374,18 +379,17 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
// Do not kick the player
return;
}
- this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent
// Send the possibly modified leave message
- this.disconnect0(new DisconnectionDetails(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.reason()), disconnectionInfo.report(), disconnectionInfo.bugReportLink())); // Paper - Adventure
+- this.disconnect0(new DisconnectionDetails(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.reason()), disconnectionInfo.report(), disconnectionInfo.bugReportLink())); // Paper - Adventure
++ this.disconnect0(new DisconnectionDetails(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.reason()), disconnectionInfo.report(), disconnectionInfo.bugReportLink()), event.leaveMessage()); // Paper - Adventure & use kick event leave message
}
-@@ -385,7 +389,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
+
+- private void disconnect0(DisconnectionDetails disconnectiondetails) {
++ private void disconnect0(DisconnectionDetails disconnectiondetails, @Nullable net.kyori.adventure.text.Component leaveMessage) { // Paper - use kick event leave message
+ // CraftBukkit end
+ this.player.quitReason = org.bukkit.event.player.PlayerQuitEvent.QuitReason.KICKED; // Paper - Add API for quit reason
this.connection.send(new ClientboundDisconnectPacket(disconnectiondetails.reason()), PacketSendListener.thenRun(() -> {
this.connection.disconnect(disconnectiondetails);
}));
- this.onDisconnect(disconnectiondetails); // CraftBukkit - fire quit instantly
-+ this.onDisconnect(disconnectiondetails, event.leaveMessage()); // CraftBukkit - fire quit instantly // Paper - use kick event leave message
++ this.onDisconnect(disconnectiondetails, leaveMessage); // CraftBukkit - fire quit instantly // Paper - use kick event leave message
this.connection.setReadOnly();
MinecraftServer minecraftserver = this.server;
Connection networkmanager = this.connection;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 0a21e25e7a7771e1c86a857af8133cf7203333e3..1aad9232786994b89d08fb36ca877ceffcf98d2c 100644
+index d4917f507b5602bd1cc5e0cc6dc1ca166888f21e..63830e8dd1a91836b8b6830f0f5758e5d0e9956f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1895,6 +1895,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0572-Add-missing-forceDrop-toggles.patch b/patches/server/0572-Add-missing-forceDrop-toggles.patch
index ee356401e0..d7c261ea7c 100644
--- a/patches/server/0572-Add-missing-forceDrop-toggles.patch
+++ b/patches/server/0572-Add-missing-forceDrop-toggles.patch
@@ -109,7 +109,7 @@ index 545e20e558d3bb934ec4bf32847c9fd83edfd85e..3ca643747535bf7b71e5877ca47f730a
}
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
-index e5dff812dc979ecf71939a85b2213965d15e7954..b4ba60c9cb69bb139d603a5c0506c8fd425b22e3 100644
+index f9bd6f5e54bdb4e2fe4cc73e54961721f440ef07..174d246b0a4d0fc9d769aad08da627ca8487bdf2 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -230,7 +230,9 @@ public abstract class Raider extends PatrollingMonster {
diff --git a/patches/server/0573-Stinger-API.patch b/patches/server/0573-Stinger-API.patch
index cb91a9978a..2690191442 100644
--- a/patches/server/0573-Stinger-API.patch
+++ b/patches/server/0573-Stinger-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Stinger API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index af0a44df65277dae72dfb3496c9296bf4ac73da3..f37fe6724b8a85c7fd8eb3b08c7d5a412ca2263d 100644
+index ba1a9726ca269d9eda29aa3c3661c380fc099041..d1e578ef86f730a3294fdc6330e3ad25572cd6b1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -361,6 +361,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0575-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0575-Prevent-AFK-kick-while-watching-end-credits.patch
index d0eec6fa13..ec264e9e98 100644
--- a/patches/server/0575-Prevent-AFK-kick-while-watching-end-credits.patch
+++ b/patches/server/0575-Prevent-AFK-kick-while-watching-end-credits.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1aad9232786994b89d08fb36ca877ceffcf98d2c..83b0df341f4be1191191718e871dac6842d4a31a 100644
+index 63830e8dd1a91836b8b6830f0f5758e5d0e9956f..a241e4dfd8ca37365a4fa64f66cc57059492cef1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -397,7 +397,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0577-Add-PlayerSetSpawnEvent.patch b/patches/server/0577-Add-PlayerSetSpawnEvent.patch
index 7f17515fc9..21164d6d40 100644
--- a/patches/server/0577-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0577-Add-PlayerSetSpawnEvent.patch
@@ -187,7 +187,7 @@ index ba22ad1e4253477572d10d71db6db0ebc14d6755..94d067e9eeee73183de25165d8c97043
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 26a8006a1daa9eecb226732a5a33d2a5d1cdedf9..9c1205b6b3cae33e735e5d64735935e8396db7d8 100644
+index 9f9d6eb6f0d3f51b32a8232a16cd784268d2764a..fe22b3e26498cb08cac1e461b6cb23b181788fb9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1412,9 +1412,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0594-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0594-Add-ItemFactory-getSpawnEgg-API.patch
index 925a23a50d..6b1d0721f9 100644
--- a/patches/server/0594-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0594-Add-ItemFactory-getSpawnEgg-API.patch
@@ -5,10 +5,18 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index a96a09bb39fc35f3c4dfcd0da0ce1fe283b8377e..31a33e329ee06860f8845d201d32ee86a274a657 100644
+index a96a09bb39fc35f3c4dfcd0da0ce1fe283b8377e..cd0b6819da81978b9186c83ee926e1fed5ee6fe4 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -590,4 +590,19 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -9,6 +9,7 @@ import net.minecraft.core.HolderSet;
+ import net.minecraft.core.RegistryAccess;
+ import net.minecraft.core.component.DataComponentPatch;
+ import net.minecraft.core.registries.Registries;
++import net.minecraft.resources.ResourceLocation;
+ import net.minecraft.server.MinecraftServer;
+ import net.minecraft.tags.EnchantmentTags;
+ import net.minecraft.util.RandomSource;
+@@ -590,4 +591,19 @@ public final class CraftItemFactory implements ItemFactory {
new net.md_5.bungee.api.chat.TextComponent(customName));
}
// Paper end - bungee hover events
@@ -21,7 +29,7 @@ index a96a09bb39fc35f3c4dfcd0da0ce1fe283b8377e..31a33e329ee06860f8845d201d32ee86
+ return null;
+ }
+ String typeId = type.getKey().toString();
-+ net.minecraft.resources.ResourceLocation typeKey = new net.minecraft.resources.ResourceLocation(typeId);
++ net.minecraft.resources.ResourceLocation typeKey = ResourceLocation.parse(typeId);
+ net.minecraft.world.entity.EntityType<?> nmsType = net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(typeKey);
+ net.minecraft.world.item.SpawnEggItem eggItem = net.minecraft.world.item.SpawnEggItem.byId(nmsType);
+ return eggItem == null ? null : new net.minecraft.world.item.ItemStack(eggItem).asBukkitMirror();
diff --git a/patches/server/0604-Improve-and-expand-AsyncCatcher.patch b/patches/server/0604-Improve-and-expand-AsyncCatcher.patch
index 91741ab2cc..4566a450b7 100644
--- a/patches/server/0604-Improve-and-expand-AsyncCatcher.patch
+++ b/patches/server/0604-Improve-and-expand-AsyncCatcher.patch
@@ -17,7 +17,7 @@ Async catch modifications to critical entity state
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 83b0df341f4be1191191718e871dac6842d4a31a..c501f30418767678f9da2b54666da0d38cd594ff 100644
+index a241e4dfd8ca37365a4fa64f66cc57059492cef1..84ca8fbab4a7ef905a312d4bdee6182bb5ffeafd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1578,6 +1578,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -202,7 +202,7 @@ index e6adac1897902dfefe18bd67f903b4a524efdf59..13d7ecd67a94b4651624df3c24d0ae6f
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(Holder.direct(SoundEvent.createVariableRangeEvent(ResourceLocation.parse(sound))), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index f37fe6724b8a85c7fd8eb3b08c7d5a412ca2263d..fe3304a40f2aaf84db825374f4b3d495d31f91ad 100644
+index d1e578ef86f730a3294fdc6330e3ad25572cd6b1..77330142a8c771befd473784ca90608ccd8d4c0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -524,6 +524,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0618-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0618-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
index 4cc2e4a267..940ce06e1e 100644
--- a/patches/server/0618-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
+++ b/patches/server/0618-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c501f30418767678f9da2b54666da0d38cd594ff..c616ebd8d5c2b2e580772f87174cb22827cc5e90 100644
+index 84ca8fbab4a7ef905a312d4bdee6182bb5ffeafd..24ca951ed7b5b6a38e54893902a899409f0c7888 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -748,6 +748,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0640-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0640-Allow-delegation-to-vanilla-chunk-gen.patch
deleted file mode 100644
index 700254e639..0000000000
--- a/patches/server/0640-Allow-delegation-to-vanilla-chunk-gen.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: MiniDigger <[email protected]>
-Date: Wed, 29 Apr 2020 02:10:32 +0200
-Subject: [PATCH] Allow delegation to vanilla chunk gen
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3c9a9103783495c9015a8cea415620839f140f9c..ad5dc323e03dfae8670ebf9fad629e76c2106af7 100644
---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2510,6 +2510,90 @@ public final class CraftServer implements Server {
- return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME));
- }
-
-+ // Paper start - Allow delegation to vanilla chunk gen
-+ private static final List<net.minecraft.world.level.chunk.status.ChunkStatus> VANILLA_GEN_STATUSES = List.of(
-+ net.minecraft.world.level.chunk.status.ChunkStatus.EMPTY,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.STRUCTURE_STARTS,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.STRUCTURE_REFERENCES,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.BIOMES,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.NOISE,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.SURFACE,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.CARVERS,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.FEATURES,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.INITIALIZE_LIGHT,
-+ net.minecraft.world.level.chunk.status.ChunkStatus.LIGHT
-+ );
-+
-+ @Override
-+ @Deprecated(forRemoval = true)
-+ public ChunkGenerator.ChunkData createVanillaChunkData(World world, int x, int z) {
-+ // do bunch of vanilla shit
-+ final net.minecraft.server.level.ServerLevel serverLevel = ((CraftWorld) world).getHandle();
-+ final net.minecraft.core.Registry<net.minecraft.world.level.biome.Biome> biomeRegistry = serverLevel.getServer().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME);
-+ final net.minecraft.world.level.chunk.ProtoChunk protoChunk = new net.minecraft.world.level.chunk.ProtoChunk(
-+ new net.minecraft.world.level.ChunkPos(x, z),
-+ net.minecraft.world.level.chunk.UpgradeData.EMPTY,
-+ serverLevel,
-+ biomeRegistry,
-+ null
-+ );
-+
-+ final net.minecraft.world.level.chunk.ChunkGenerator chunkGenerator;
-+ if (serverLevel.chunkSource.getGenerator() instanceof org.bukkit.craftbukkit.generator.CustomChunkGenerator bukkit) {
-+ chunkGenerator = bukkit.getDelegate();
-+ } else {
-+ chunkGenerator = serverLevel.chunkSource.getGenerator();
-+ }
-+
-+ final net.minecraft.world.level.ChunkPos chunkPos = new net.minecraft.world.level.ChunkPos(x, z);
-+ final net.minecraft.util.thread.ProcessorMailbox<Runnable> mailbox = net.minecraft.util.thread.ProcessorMailbox.create(
-+ net.minecraft.Util.backgroundExecutor(),
-+ "CraftServer#createVanillaChunkData(worldName='" + world.getName() + "', x='" + x + "', z='" + z + "')"
-+ );
-+ for (final net.minecraft.world.level.chunk.status.ChunkStatus chunkStatus : VANILLA_GEN_STATUSES) {
-+ final List<net.minecraft.world.level.chunk.ChunkAccess> chunks = Lists.newArrayList();
-+ final int statusRange = Math.max(1, chunkStatus.getRange());
-+
-+ for (int zz = chunkPos.z - statusRange; zz <= chunkPos.z + statusRange; ++zz) {
-+ for (int xx = chunkPos.x - statusRange; xx <= chunkPos.x + statusRange; ++xx) {
-+ if (xx == chunkPos.x && zz == chunkPos.z) {
-+ chunks.add(protoChunk);
-+ } else {
-+ final net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeHolder = serverLevel.registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.world.level.biome.Biomes.PLAINS);
-+ final net.minecraft.world.level.chunk.ChunkAccess chunk = new net.minecraft.world.level.chunk.EmptyLevelChunk(serverLevel, new net.minecraft.world.level.ChunkPos(xx, zz), biomeHolder);
-+ chunks.add(chunk);
-+ }
-+ }
-+ }
-+
-+ chunkStatus.generate(
-+ new net.minecraft.world.level.chunk.status.WorldGenContext(
-+ serverLevel,
-+ chunkGenerator,
-+ serverLevel.getStructureManager(),
-+ serverLevel.chunkSource.getLightEngine()
-+ ),
-+ mailbox::tell,
-+ chunk -> {
-+ throw new UnsupportedOperationException("Not creating full chunks here");
-+ },
-+ chunks
-+ ).thenAccept(chunk -> {
-+ if (chunk != null && chunkStatus == net.minecraft.world.level.chunk.status.ChunkStatus.NOISE) {
-+ net.minecraft.world.level.levelgen.Heightmap.primeHeightmaps(chunk, net.minecraft.world.level.chunk.status.ChunkStatus.POST_FEATURES);
-+ }
-+ }).join();
-+ }
-+
-+ // get empty object
-+ OldCraftChunkData data = (OldCraftChunkData) this.createChunkData(world);
-+ // copy over generated sections
-+ data.setRawChunkData(protoChunk.getSections());
-+ // hooray!
-+ return data;
-+ }
-+ // Paper end - Allow delegation to vanilla chunk gen
-+
- @Override
- public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags) {
- return new CraftBossBar(title, color, style, flags);
-diff --git a/src/main/java/org/bukkit/craftbukkit/generator/OldCraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/OldCraftChunkData.java
-index e7f7a246e9c03e676dadfee59de87b8b2ac55ba3..9b640705f2c810160aa7fea5006429ec41d0c858 100644
---- a/src/main/java/org/bukkit/craftbukkit/generator/OldCraftChunkData.java
-+++ b/src/main/java/org/bukkit/craftbukkit/generator/OldCraftChunkData.java
-@@ -23,7 +23,7 @@ import org.bukkit.material.MaterialData;
- public final class OldCraftChunkData implements ChunkGenerator.ChunkData {
- private final int minHeight;
- private final int maxHeight;
-- private final LevelChunkSection[] sections;
-+ private LevelChunkSection[] sections; // Paper - Allow delegation to vanilla chunk gen
- private final Registry<net.minecraft.world.level.biome.Biome> biomes;
- private Set<BlockPos> tiles;
- private final Set<BlockPos> lights = new HashSet<>();
-@@ -189,7 +189,13 @@ public final class OldCraftChunkData implements ChunkGenerator.ChunkData {
- return this.tiles;
- }
-
-- Set<BlockPos> getLights() {
-+ public Set<BlockPos> getLights() { // Paper - Allow delegation to vanilla chunk gen
- return this.lights;
- }
-+
-+ // Paper start - Allow delegation to vanilla chunk gen
-+ public void setRawChunkData(LevelChunkSection[] sections) {
-+ this.sections = sections;
-+ }
-+ // Paper end - Allow delegation to vanilla chunk gen
- }
diff --git a/patches/server/0641-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0640-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
index 8f7f6be080..8f7f6be080 100644
--- a/patches/server/0641-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
+++ b/patches/server/0640-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch
diff --git a/patches/server/0642-Add-more-Campfire-API.patch b/patches/server/0641-Add-more-Campfire-API.patch
index 012ca1cc7d..012ca1cc7d 100644
--- a/patches/server/0642-Add-more-Campfire-API.patch
+++ b/patches/server/0641-Add-more-Campfire-API.patch
diff --git a/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0642-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
index 148e6899d1..148e6899d1 100644
--- a/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
+++ b/patches/server/0642-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch
diff --git a/patches/server/0644-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0643-Forward-CraftEntity-in-teleport-command.patch
index 0471bae893..0471bae893 100644
--- a/patches/server/0644-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0643-Forward-CraftEntity-in-teleport-command.patch
diff --git a/patches/server/0645-Improve-scoreboard-entries.patch b/patches/server/0644-Improve-scoreboard-entries.patch
index 8acac86ce3..8acac86ce3 100644
--- a/patches/server/0645-Improve-scoreboard-entries.patch
+++ b/patches/server/0644-Improve-scoreboard-entries.patch
diff --git a/patches/server/0646-Entity-powdered-snow-API.patch b/patches/server/0645-Entity-powdered-snow-API.patch
index adef89850e..adef89850e 100644
--- a/patches/server/0646-Entity-powdered-snow-API.patch
+++ b/patches/server/0645-Entity-powdered-snow-API.patch
diff --git a/patches/server/0647-Add-API-for-item-entity-health.patch b/patches/server/0646-Add-API-for-item-entity-health.patch
index cd2757b544..cd2757b544 100644
--- a/patches/server/0647-Add-API-for-item-entity-health.patch
+++ b/patches/server/0646-Add-API-for-item-entity-health.patch
diff --git a/patches/server/0648-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0647-Configurable-max-block-light-for-monster-spawning.patch
index 421d176050..421d176050 100644
--- a/patches/server/0648-Configurable-max-block-light-for-monster-spawning.patch
+++ b/patches/server/0647-Configurable-max-block-light-for-monster-spawning.patch
diff --git a/patches/server/0649-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0648-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
index 2ee001a77a..2ee001a77a 100644
--- a/patches/server/0649-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
+++ b/patches/server/0648-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch
diff --git a/patches/server/0650-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0649-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
index d7ccde8439..d7ccde8439 100644
--- a/patches/server/0650-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
+++ b/patches/server/0649-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch
diff --git a/patches/server/0651-Bucketable-API.patch b/patches/server/0650-Bucketable-API.patch
index 274ccde059..274ccde059 100644
--- a/patches/server/0651-Bucketable-API.patch
+++ b/patches/server/0650-Bucketable-API.patch
diff --git a/patches/server/0652-Validate-usernames.patch b/patches/server/0651-Validate-usernames.patch
index 8ba85fd205..8ba85fd205 100644
--- a/patches/server/0652-Validate-usernames.patch
+++ b/patches/server/0651-Validate-usernames.patch
diff --git a/patches/server/0653-Make-water-animal-spawn-height-configurable.patch b/patches/server/0652-Make-water-animal-spawn-height-configurable.patch
index 14f75d9b89..14f75d9b89 100644
--- a/patches/server/0653-Make-water-animal-spawn-height-configurable.patch
+++ b/patches/server/0652-Make-water-animal-spawn-height-configurable.patch
diff --git a/patches/server/0654-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0653-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
index 5acd477ff4..7a32d3fd79 100644
--- a/patches/server/0654-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
+++ b/patches/server/0653-Expose-vanilla-BiomeProvider-from-WorldInfo.patch
@@ -18,7 +18,7 @@ index ee212ed5538357830ea8b69da650ab67d67634bb..22f8e49536658fabe6136dbeec6b77ea
biomeProvider = gen.getDefaultBiomeProvider(worldInfo);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index ad5dc323e03dfae8670ebf9fad629e76c2106af7..7707ecca5318e35533de93d4451cb62ba9b425b0 100644
+index 3c9a9103783495c9015a8cea415620839f140f9c..b3c6ecff971cc6fbff463d17f49f090712c6f9bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1297,7 +1297,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0655-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0654-Add-config-option-for-worlds-affected-by-time-cmd.patch
index 156eacada9..156eacada9 100644
--- a/patches/server/0655-Add-config-option-for-worlds-affected-by-time-cmd.patch
+++ b/patches/server/0654-Add-config-option-for-worlds-affected-by-time-cmd.patch
diff --git a/patches/server/0656-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0655-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
index be0eedab93..be0eedab93 100644
--- a/patches/server/0656-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
+++ b/patches/server/0655-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch
diff --git a/patches/server/0657-Multiple-Entries-with-Scoreboards.patch b/patches/server/0656-Multiple-Entries-with-Scoreboards.patch
index c286ca9e4b..c286ca9e4b 100644
--- a/patches/server/0657-Multiple-Entries-with-Scoreboards.patch
+++ b/patches/server/0656-Multiple-Entries-with-Scoreboards.patch
diff --git a/patches/server/0658-Reset-placed-block-on-exception.patch b/patches/server/0657-Reset-placed-block-on-exception.patch
index c5b6f9f135..c5b6f9f135 100644
--- a/patches/server/0658-Reset-placed-block-on-exception.patch
+++ b/patches/server/0657-Reset-placed-block-on-exception.patch
diff --git a/patches/server/0659-Add-configurable-height-for-slime-spawn.patch b/patches/server/0658-Add-configurable-height-for-slime-spawn.patch
index 5ed7f1549d..5ed7f1549d 100644
--- a/patches/server/0659-Add-configurable-height-for-slime-spawn.patch
+++ b/patches/server/0658-Add-configurable-height-for-slime-spawn.patch
diff --git a/patches/server/0660-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0659-Fix-xp-reward-for-baby-zombies.patch
index a4fec4e0f2..a4fec4e0f2 100644
--- a/patches/server/0660-Fix-xp-reward-for-baby-zombies.patch
+++ b/patches/server/0659-Fix-xp-reward-for-baby-zombies.patch
diff --git a/patches/server/0661-Multi-Block-Change-API-Implementation.patch b/patches/server/0660-Multi-Block-Change-API-Implementation.patch
index 5894de4690..66c5449365 100644
--- a/patches/server/0661-Multi-Block-Change-API-Implementation.patch
+++ b/patches/server/0660-Multi-Block-Change-API-Implementation.patch
@@ -24,7 +24,7 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213
buf.writeLong(this.sectionPos.asLong());
buf.writeVarInt(this.positions.length);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9c1205b6b3cae33e735e5d64735935e8396db7d8..7716d990ee193e920fc14e52404afdeab12c62b5 100644
+index fe22b3e26498cb08cac1e461b6cb23b181788fb9..f39c5c8e99671b6d36ffe118fa9d912eae72e7fc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -930,6 +930,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0662-Fix-NotePlayEvent.patch b/patches/server/0661-Fix-NotePlayEvent.patch
index 4a601d8f1b..4a601d8f1b 100644
--- a/patches/server/0662-Fix-NotePlayEvent.patch
+++ b/patches/server/0661-Fix-NotePlayEvent.patch
diff --git a/patches/server/0663-Freeze-Tick-Lock-API.patch b/patches/server/0662-Freeze-Tick-Lock-API.patch
index b8d9e5813b..b8d9e5813b 100644
--- a/patches/server/0663-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0662-Freeze-Tick-Lock-API.patch
diff --git a/patches/server/0664-More-PotionEffectType-API.patch b/patches/server/0663-More-PotionEffectType-API.patch
index a83ffc4130..a83ffc4130 100644
--- a/patches/server/0664-More-PotionEffectType-API.patch
+++ b/patches/server/0663-More-PotionEffectType-API.patch
diff --git a/patches/server/0665-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0664-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
index 82d25835a6..82d25835a6 100644
--- a/patches/server/0665-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
+++ b/patches/server/0664-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch
diff --git a/patches/server/0666-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0665-API-for-creating-command-sender-which-forwards-feedb.patch
index 0ba22a1ffa..0bd41db0fa 100644
--- a/patches/server/0666-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0665-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7707ecca5318e35533de93d4451cb62ba9b425b0..2e9f17fec09e060a2029a896d5d961a93a53118a 100644
+index b3c6ecff971cc6fbff463d17f49f090712c6f9bf..551ae9e529727d84722a0b27d3e3dcc121f51767 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2151,6 +2151,13 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0667-Add-missing-structure-set-seed-configs.patch b/patches/server/0666-Add-missing-structure-set-seed-configs.patch
index d97d88a95d..d97d88a95d 100644
--- a/patches/server/0667-Add-missing-structure-set-seed-configs.patch
+++ b/patches/server/0666-Add-missing-structure-set-seed-configs.patch
diff --git a/patches/server/0669-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0667-Fix-cancelled-powdered-snow-bucket-placement.patch
index d4169a6e7a..d4169a6e7a 100644
--- a/patches/server/0669-Fix-cancelled-powdered-snow-bucket-placement.patch
+++ b/patches/server/0667-Fix-cancelled-powdered-snow-bucket-placement.patch
diff --git a/patches/server/0670-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0668-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
index 7a5076f3ce..d797848359 100644
--- a/patches/server/0670-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
+++ b/patches/server/0668-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit
Copies appropriate checks from CraftWorld#getSpawnLimit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 2e9f17fec09e060a2029a896d5d961a93a53118a..01b37bc15d525f4a5ed4f9c45997c0029c032b3b 100644
+index 551ae9e529727d84722a0b27d3e3dcc121f51767..1ffef484192ea535482d42909bdb169892058441 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2328,6 +2328,8 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0671-Add-GameEvent-tags.patch b/patches/server/0669-Add-GameEvent-tags.patch
index f236b77d42..7bd38c77bb 100644
--- a/patches/server/0671-Add-GameEvent-tags.patch
+++ b/patches/server/0669-Add-GameEvent-tags.patch
@@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 01b37bc15d525f4a5ed4f9c45997c0029c032b3b..59bbc8dc5e5eb6cb87d15324bfad0a4014e47105 100644
+index 1ffef484192ea535482d42909bdb169892058441..bce783d63dc5d1ed9cda135b22bb78aa1be3ea17 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -2761,6 +2761,15 @@ public final class CraftServer implements Server {
+@@ -2677,6 +2677,15 @@ public final class CraftServer implements Server {
return (org.bukkit.Tag<T>) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey);
}
}
@@ -65,7 +65,7 @@ index 01b37bc15d525f4a5ed4f9c45997c0029c032b3b..59bbc8dc5e5eb6cb87d15324bfad0a40
default -> throw new IllegalArgumentException();
}
-@@ -2793,6 +2802,13 @@ public final class CraftServer implements Server {
+@@ -2709,6 +2718,13 @@ public final class CraftServer implements Server {
net.minecraft.core.Registry<EntityType<?>> entityTags = BuiltInRegistries.ENTITY_TYPE;
return entityTags.getTags().map(pair -> (org.bukkit.Tag<T>) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList());
}
diff --git a/patches/server/0672-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0670-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
index 351cec2218..351cec2218 100644
--- a/patches/server/0672-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
+++ b/patches/server/0670-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch
diff --git a/patches/server/0673-Furnace-RecipesUsed-API.patch b/patches/server/0671-Furnace-RecipesUsed-API.patch
index d8224fe839..d8224fe839 100644
--- a/patches/server/0673-Furnace-RecipesUsed-API.patch
+++ b/patches/server/0671-Furnace-RecipesUsed-API.patch
diff --git a/patches/server/0674-Configurable-sculk-sensor-listener-range.patch b/patches/server/0672-Configurable-sculk-sensor-listener-range.patch
index 99ff902efa..99ff902efa 100644
--- a/patches/server/0674-Configurable-sculk-sensor-listener-range.patch
+++ b/patches/server/0672-Configurable-sculk-sensor-listener-range.patch
diff --git a/patches/server/0675-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0673-Add-missing-block-data-mins-and-maxes.patch
index fe8170196d..fe8170196d 100644
--- a/patches/server/0675-Add-missing-block-data-mins-and-maxes.patch
+++ b/patches/server/0673-Add-missing-block-data-mins-and-maxes.patch
diff --git a/patches/server/0676-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0674-Option-to-have-default-CustomSpawners-in-custom-worl.patch
index eed2fe11bf..eed2fe11bf 100644
--- a/patches/server/0676-Option-to-have-default-CustomSpawners-in-custom-worl.patch
+++ b/patches/server/0674-Option-to-have-default-CustomSpawners-in-custom-worl.patch
diff --git a/patches/server/0677-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0675-Put-world-into-worldlist-before-initing-the-world.patch
index f1e210c831..28d59a5fbf 100644
--- a/patches/server/0677-Put-world-into-worldlist-before-initing-the-world.patch
+++ b/patches/server/0675-Put-world-into-worldlist-before-initing-the-world.patch
@@ -23,7 +23,7 @@ index f979bfd78e2d19b525e973be0ffef5bda0068c4b..833ec409e3f79e1ae2b664418f219adb
if (worlddata.getCustomBossEvents() != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 59bbc8dc5e5eb6cb87d15324bfad0a4014e47105..7d63eaff7fb788b5b5052fe24a1f14c9542bcce3 100644
+index bce783d63dc5d1ed9cda135b22bb78aa1be3ea17..dace717d426c1af257ea2f7728d5e5b7850ba568 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1323,10 +1323,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0678-Custom-Potion-Mixes.patch b/patches/server/0676-Custom-Potion-Mixes.patch
index c2c181e280..62f7870ba8 100644
--- a/patches/server/0678-Custom-Potion-Mixes.patch
+++ b/patches/server/0676-Custom-Potion-Mixes.patch
@@ -282,7 +282,7 @@ index c8f9972ad1c2330908cc840d426f29c20b242ca8..a2fafef89d5354e2cb02f56728109099
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7d63eaff7fb788b5b5052fe24a1f14c9542bcce3..89163d43fcf16c39721da9925beb8a7a23daf291 100644
+index dace717d426c1af257ea2f7728d5e5b7850ba568..958d790d48861871784607a8042e9cf4eaf51d5e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -308,6 +308,7 @@ public final class CraftServer implements Server {
@@ -301,7 +301,7 @@ index 7d63eaff7fb788b5b5052fe24a1f14c9542bcce3..89163d43fcf16c39721da9925beb8a7a
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
}
-@@ -3124,5 +3126,9 @@ public final class CraftServer implements Server {
+@@ -3040,5 +3042,9 @@ public final class CraftServer implements Server {
return datapackManager;
}
diff --git a/patches/server/0679-Force-close-world-loading-screen.patch b/patches/server/0677-Force-close-world-loading-screen.patch
index 5cfd6fbb41..5cfd6fbb41 100644
--- a/patches/server/0679-Force-close-world-loading-screen.patch
+++ b/patches/server/0677-Force-close-world-loading-screen.patch
diff --git a/patches/server/0680-Fix-falling-block-spawn-methods.patch b/patches/server/0678-Fix-falling-block-spawn-methods.patch
index dca2e62e92..033430dbd9 100644
--- a/patches/server/0680-Fix-falling-block-spawn-methods.patch
+++ b/patches/server/0678-Fix-falling-block-spawn-methods.patch
@@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server
public net.minecraft.world.entity.item.FallingBlockEntity <init>(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 365a23218c57f9685c79b520d7721e5a49b7771c..339c2d844126b287adf613a5be1b90f2056dabd9 100644
+index 8d41492cd6305331deca3748eb24d689f23e280b..7fc3343217a98f136bd188e1a65fc92dd0766237 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1450,7 +1450,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1406,7 +1406,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(material != null, "Material cannot be null");
Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material);
@@ -28,7 +28,7 @@ index 365a23218c57f9685c79b520d7721e5a49b7771c..339c2d844126b287adf613a5be1b90f2
return (FallingBlock) entity.getBukkitEntity();
}
-@@ -1459,7 +1464,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1415,7 +1420,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(location != null, "Location cannot be null");
Preconditions.checkArgument(data != null, "BlockData cannot be null");
diff --git a/patches/server/0681-Expose-furnace-minecart-push-values.patch b/patches/server/0679-Expose-furnace-minecart-push-values.patch
index 6245e14b4e..6245e14b4e 100644
--- a/patches/server/0681-Expose-furnace-minecart-push-values.patch
+++ b/patches/server/0679-Expose-furnace-minecart-push-values.patch
diff --git a/patches/server/0682-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0680-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
index 46d0d117c4..46d0d117c4 100644
--- a/patches/server/0682-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
+++ b/patches/server/0680-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch
diff --git a/patches/server/0683-More-Projectile-API.patch b/patches/server/0681-More-Projectile-API.patch
index 673260ed45..e2fe2ef187 100644
--- a/patches/server/0683-More-Projectile-API.patch
+++ b/patches/server/0681-More-Projectile-API.patch
@@ -500,7 +500,7 @@ index 6e2f91423371ead9890095cf4b1e2299c4dcba28..9d8f4b7176e60180565e3134a14ecf19
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index fe3304a40f2aaf84db825374f4b3d495d31f91ad..2afa23d5e98e618b7220c9203d24ca5628db2efc 100644
+index 77330142a8c771befd473784ca90608ccd8d4c0d..7a673ed23eb4aec1dd3d558ad1fd81ceb899ca92 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -649,7 +649,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0684-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0682-Fix-swamp-hut-cat-generation-deadlock.patch
index 6aa68bdd5c..6aa68bdd5c 100644
--- a/patches/server/0684-Fix-swamp-hut-cat-generation-deadlock.patch
+++ b/patches/server/0682-Fix-swamp-hut-cat-generation-deadlock.patch
diff --git a/patches/server/0685-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0683-Don-t-allow-vehicle-movement-from-players-while-tele.patch
index 04df002f84..1e7c828a4a 100644
--- a/patches/server/0685-Don-t-allow-vehicle-movement-from-players-while-tele.patch
+++ b/patches/server/0683-Don-t-allow-vehicle-movement-from-players-while-tele.patch
@@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the
regular player move packet.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index c616ebd8d5c2b2e580772f87174cb22827cc5e90..68571261c7095b9477d09536b69272eea7137e64 100644
+index 24ca951ed7b5b6a38e54893902a899409f0c7888..dfbff79f8ae30ad17b80096aa93c7355655b2d35 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -484,6 +484,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0686-Implement-getComputedBiome-API.patch b/patches/server/0684-Implement-getComputedBiome-API.patch
index 41624673a7..41624673a7 100644
--- a/patches/server/0686-Implement-getComputedBiome-API.patch
+++ b/patches/server/0684-Implement-getComputedBiome-API.patch
diff --git a/patches/server/0687-Make-some-itemstacks-nonnull.patch b/patches/server/0685-Make-some-itemstacks-nonnull.patch
index 4679d4a859..4679d4a859 100644
--- a/patches/server/0687-Make-some-itemstacks-nonnull.patch
+++ b/patches/server/0685-Make-some-itemstacks-nonnull.patch
diff --git a/patches/server/0688-Implement-enchantWithLevels-API.patch b/patches/server/0686-Implement-enchantWithLevels-API.patch
index 4c31c65f6b..0c2c92c381 100644
--- a/patches/server/0688-Implement-enchantWithLevels-API.patch
+++ b/patches/server/0686-Implement-enchantWithLevels-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement enchantWithLevels API
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 31a33e329ee06860f8845d201d32ee86a274a657..e1605d97bbcdbb8903d78848c7b98b44fec34705 100644
+index cd0b6819da81978b9186c83ee926e1fed5ee6fe4..01c441bcede88ce663c6b47b027c6239381c62c8 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -605,4 +605,26 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -606,4 +606,26 @@ public final class CraftItemFactory implements ItemFactory {
return eggItem == null ? null : new net.minecraft.world.item.ItemStack(eggItem).asBukkitMirror();
}
// Paper end - old getSpawnEgg API
diff --git a/patches/server/0689-Fix-saving-in-unloadWorld.patch b/patches/server/0687-Fix-saving-in-unloadWorld.patch
index 6f74a7c5a5..6148bbda3c 100644
--- a/patches/server/0689-Fix-saving-in-unloadWorld.patch
+++ b/patches/server/0687-Fix-saving-in-unloadWorld.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix saving in unloadWorld
Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 89163d43fcf16c39721da9925beb8a7a23daf291..9744e466489be575ac736aaba4b6a48f40b74d62 100644
+index 958d790d48861871784607a8042e9cf4eaf51d5e..52e90dda0b0b2ac476db540243972519ade022f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1372,7 +1372,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0690-Buffer-OOB-setBlock-calls.patch b/patches/server/0688-Buffer-OOB-setBlock-calls.patch
index 7bc7bd4823..7bc7bd4823 100644
--- a/patches/server/0690-Buffer-OOB-setBlock-calls.patch
+++ b/patches/server/0688-Buffer-OOB-setBlock-calls.patch
diff --git a/patches/server/0691-Add-TameableDeathMessageEvent.patch b/patches/server/0689-Add-TameableDeathMessageEvent.patch
index e683289da1..e683289da1 100644
--- a/patches/server/0691-Add-TameableDeathMessageEvent.patch
+++ b/patches/server/0689-Add-TameableDeathMessageEvent.patch
diff --git a/patches/server/0692-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0690-Fix-new-block-data-for-EntityChangeBlockEvent.patch
index 4311488b01..4311488b01 100644
--- a/patches/server/0692-Fix-new-block-data-for-EntityChangeBlockEvent.patch
+++ b/patches/server/0690-Fix-new-block-data-for-EntityChangeBlockEvent.patch
diff --git a/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0691-fix-player-loottables-running-when-mob-loot-gamerule.patch
index e0e016beb1..e0e016beb1 100644
--- a/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch
+++ b/patches/server/0691-fix-player-loottables-running-when-mob-loot-gamerule.patch
diff --git a/patches/server/0694-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0692-Ensure-entity-passenger-world-matches-ridden-entity.patch
index ec690057bb..ec690057bb 100644
--- a/patches/server/0694-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0692-Ensure-entity-passenger-world-matches-ridden-entity.patch
diff --git a/patches/server/0695-cache-resource-keys.patch b/patches/server/0693-cache-resource-keys.patch
index 7f3b6ce992..7f3b6ce992 100644
--- a/patches/server/0695-cache-resource-keys.patch
+++ b/patches/server/0693-cache-resource-keys.patch
diff --git a/patches/server/0696-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0694-Allow-changing-the-EnderDragon-podium.patch
index 7c00628ca0..7c00628ca0 100644
--- a/patches/server/0696-Allow-changing-the-EnderDragon-podium.patch
+++ b/patches/server/0694-Allow-changing-the-EnderDragon-podium.patch
diff --git a/patches/server/0697-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0695-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
index 265f2bbdbb..265f2bbdbb 100644
--- a/patches/server/0697-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
+++ b/patches/server/0695-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch
diff --git a/patches/server/0698-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0696-Prevent-tile-entity-copies-loading-chunks.patch
index 70c8b5f7ec..b695517b43 100644
--- a/patches/server/0698-Prevent-tile-entity-copies-loading-chunks.patch
+++ b/patches/server/0696-Prevent-tile-entity-copies-loading-chunks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Prevent tile entity copies loading chunks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 68571261c7095b9477d09536b69272eea7137e64..cd3556878990d0dca36373c5482afb83a241e102 100644
+index dfbff79f8ae30ad17b80096aa93c7355655b2d35..eb00ba3bf983093917b5872d56415838f38c042d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3202,7 +3202,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0699-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0697-Use-username-instead-of-display-name-in-PlayerList-g.patch
index b18fcc5683..b18fcc5683 100644
--- a/patches/server/0699-Use-username-instead-of-display-name-in-PlayerList-g.patch
+++ b/patches/server/0697-Use-username-instead-of-display-name-in-PlayerList-g.patch
diff --git a/patches/server/0700-Expand-PlayerItemDamageEvent.patch b/patches/server/0698-Expand-PlayerItemDamageEvent.patch
index bf458d8c9b..bf458d8c9b 100644
--- a/patches/server/0700-Expand-PlayerItemDamageEvent.patch
+++ b/patches/server/0698-Expand-PlayerItemDamageEvent.patch
diff --git a/patches/server/0701-WorldCreator-keepSpawnLoaded.patch b/patches/server/0699-WorldCreator-keepSpawnLoaded.patch
index 04db336209..ce6b29605a 100644
--- a/patches/server/0701-WorldCreator-keepSpawnLoaded.patch
+++ b/patches/server/0699-WorldCreator-keepSpawnLoaded.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9744e466489be575ac736aaba4b6a48f40b74d62..35a216823738ae9634388023ff76b35fdb7f1038 100644
+index 52e90dda0b0b2ac476db540243972519ade022f7..5a56e2b05f993dc1333ffb6e280d7bba97e305d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1315,7 +1315,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0702-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0700-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
index ed8adb4503..ed8adb4503 100644
--- a/patches/server/0702-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
+++ b/patches/server/0700-Fix-CME-in-CraftPersistentDataTypeRegistry.patch
diff --git a/patches/server/0703-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0701-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
index ed6f344427..ed6f344427 100644
--- a/patches/server/0703-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
+++ b/patches/server/0701-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch
diff --git a/patches/server/0704-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0702-Add-EntityDyeEvent-and-CollarColorable-interface.patch
index 16f87ae350..16f87ae350 100644
--- a/patches/server/0704-Add-EntityDyeEvent-and-CollarColorable-interface.patch
+++ b/patches/server/0702-Add-EntityDyeEvent-and-CollarColorable-interface.patch
diff --git a/patches/server/0705-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0703-Fire-CauldronLevelChange-on-initial-fill.patch
index 07f836b363..07f836b363 100644
--- a/patches/server/0705-Fire-CauldronLevelChange-on-initial-fill.patch
+++ b/patches/server/0703-Fire-CauldronLevelChange-on-initial-fill.patch
diff --git a/patches/server/0706-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0704-fix-powder-snow-cauldrons-not-turning-to-water.patch
index f277b93aa1..f277b93aa1 100644
--- a/patches/server/0706-fix-powder-snow-cauldrons-not-turning-to-water.patch
+++ b/patches/server/0704-fix-powder-snow-cauldrons-not-turning-to-water.patch
diff --git a/patches/server/0707-Add-PlayerStopUsingItemEvent.patch b/patches/server/0705-Add-PlayerStopUsingItemEvent.patch
index fde5fa1e6a..fde5fa1e6a 100644
--- a/patches/server/0707-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0705-Add-PlayerStopUsingItemEvent.patch
diff --git a/patches/server/0708-Don-t-tick-markers.patch b/patches/server/0706-Don-t-tick-markers.patch
index c8a214b154..c8a214b154 100644
--- a/patches/server/0708-Don-t-tick-markers.patch
+++ b/patches/server/0706-Don-t-tick-markers.patch
diff --git a/patches/server/0709-Expand-FallingBlock-API.patch b/patches/server/0707-Expand-FallingBlock-API.patch
index 84c7821142..84c7821142 100644
--- a/patches/server/0709-Expand-FallingBlock-API.patch
+++ b/patches/server/0707-Expand-FallingBlock-API.patch
diff --git a/patches/server/0710-Add-support-for-Proxy-Protocol.patch b/patches/server/0708-Add-support-for-Proxy-Protocol.patch
index 9fb1a82dd2..9fb1a82dd2 100644
--- a/patches/server/0710-Add-support-for-Proxy-Protocol.patch
+++ b/patches/server/0708-Add-support-for-Proxy-Protocol.patch
diff --git a/patches/server/0711-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0709-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 61c9b7dd07..61c9b7dd07 100644
--- a/patches/server/0711-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0709-Fix-OfflinePlayer-getBedSpawnLocation.patch
diff --git a/patches/server/0712-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0710-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
index 7158b83635..7158b83635 100644
--- a/patches/server/0712-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
+++ b/patches/server/0710-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch
diff --git a/patches/server/0713-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0711-Sanitize-sent-BlockEntity-NBT.patch
index 0f97b535cc..0f97b535cc 100644
--- a/patches/server/0713-Sanitize-sent-BlockEntity-NBT.patch
+++ b/patches/server/0711-Sanitize-sent-BlockEntity-NBT.patch
diff --git a/patches/server/0714-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0712-Disable-component-selector-resolving-in-books-by-def.patch
index 796fcc7f2a..796fcc7f2a 100644
--- a/patches/server/0714-Disable-component-selector-resolving-in-books-by-def.patch
+++ b/patches/server/0712-Disable-component-selector-resolving-in-books-by-def.patch
diff --git a/patches/server/0715-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0713-Prevent-entity-loading-causing-async-lookups.patch
index 107aabb196..107aabb196 100644
--- a/patches/server/0715-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0713-Prevent-entity-loading-causing-async-lookups.patch
diff --git a/patches/server/0716-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0714-Throw-exception-on-world-create-while-being-ticked.patch
index d8d6d5f265..5d2cb89f00 100644
--- a/patches/server/0716-Throw-exception-on-world-create-while-being-ticked.patch
+++ b/patches/server/0714-Throw-exception-on-world-create-while-being-ticked.patch
@@ -45,7 +45,7 @@ index 29011d222434cbb2c71797786b8376ea37c8023a..4b44447360b75b6dbe93d8176dcba2db
this.profiler.popPush("connection");
MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 35a216823738ae9634388023ff76b35fdb7f1038..c0f6b96e9aaf52d8141f31c46035f09fa2a12caa 100644
+index 5a56e2b05f993dc1333ffb6e280d7bba97e305d7..986bbc91b82d3062ef1bf1542dd264f4154a7ea1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -907,6 +907,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0717-Dont-resent-entity-on-art-update.patch b/patches/server/0715-Dont-resent-entity-on-art-update.patch
index 38d1a4ca58..38d1a4ca58 100644
--- a/patches/server/0717-Dont-resent-entity-on-art-update.patch
+++ b/patches/server/0715-Dont-resent-entity-on-art-update.patch
diff --git a/patches/server/0718-Add-WardenAngerChangeEvent.patch b/patches/server/0716-Add-WardenAngerChangeEvent.patch
index 41f4251548..41f4251548 100644
--- a/patches/server/0718-Add-WardenAngerChangeEvent.patch
+++ b/patches/server/0716-Add-WardenAngerChangeEvent.patch
diff --git a/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0717-Add-option-for-strict-advancement-dimension-checks.patch
index 565ab435d6..565ab435d6 100644
--- a/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch
+++ b/patches/server/0717-Add-option-for-strict-advancement-dimension-checks.patch
diff --git a/patches/server/0720-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0718-Add-missing-important-BlockStateListPopulator-method.patch
index ecf565ebf6..ecf565ebf6 100644
--- a/patches/server/0720-Add-missing-important-BlockStateListPopulator-method.patch
+++ b/patches/server/0718-Add-missing-important-BlockStateListPopulator-method.patch
diff --git a/patches/server/0721-Nameable-Banner-API.patch b/patches/server/0719-Nameable-Banner-API.patch
index 21ca7151b4..21ca7151b4 100644
--- a/patches/server/0721-Nameable-Banner-API.patch
+++ b/patches/server/0719-Nameable-Banner-API.patch
diff --git a/patches/server/0722-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0720-Don-t-broadcast-messages-to-command-blocks.patch
index 2a9b9d3a17..5a89b4427f 100644
--- a/patches/server/0722-Don-t-broadcast-messages-to-command-blocks.patch
+++ b/patches/server/0720-Don-t-broadcast-messages-to-command-blocks.patch
@@ -20,7 +20,7 @@ index 8c2dcc4134d96351cee75773214f3f47e71533e9..e6bfcc50cdf728216084bc00a5bb8b6b
Date date = new Date();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c0f6b96e9aaf52d8141f31c46035f09fa2a12caa..873daccd9c9521e75dcca5e5070ffcbbac00956a 100644
+index 986bbc91b82d3062ef1bf1542dd264f4154a7ea1..5e3488c3d318d8728238f0dc1ccde76817ac7716 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1914,7 +1914,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0723-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0721-Prevent-empty-items-from-being-added-to-world.patch
index 5659cfbcab..5659cfbcab 100644
--- a/patches/server/0723-Prevent-empty-items-from-being-added-to-world.patch
+++ b/patches/server/0721-Prevent-empty-items-from-being-added-to-world.patch
diff --git a/patches/server/0724-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0722-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
index 56d5a7ad9e..56d5a7ad9e 100644
--- a/patches/server/0724-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
+++ b/patches/server/0722-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch
diff --git a/patches/server/0725-Add-Player-getFishHook.patch b/patches/server/0723-Add-Player-getFishHook.patch
index d87fa21619..d87fa21619 100644
--- a/patches/server/0725-Add-Player-getFishHook.patch
+++ b/patches/server/0723-Add-Player-getFishHook.patch
diff --git a/patches/server/0726-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0724-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
index 32aaf6dc6e..32aaf6dc6e 100644
--- a/patches/server/0726-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
+++ b/patches/server/0724-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch
diff --git a/patches/server/0727-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0725-Add-various-missing-EntityDropItemEvent-calls.patch
index d3b522d0fb..d3b522d0fb 100644
--- a/patches/server/0727-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0725-Add-various-missing-EntityDropItemEvent-calls.patch
diff --git a/patches/server/0728-Fix-Bee-flower-NPE.patch b/patches/server/0726-Fix-Bee-flower-NPE.patch
index db6e1b0ad9..db6e1b0ad9 100644
--- a/patches/server/0728-Fix-Bee-flower-NPE.patch
+++ b/patches/server/0726-Fix-Bee-flower-NPE.patch
diff --git a/patches/server/0729-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0727-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
index 8239526395..1d13098f80 100644
--- a/patches/server/0729-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
+++ b/patches/server/0727-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index cd3556878990d0dca36373c5482afb83a241e102..07126be6e292e9b5d29265817d00d651dda5fd07 100644
+index eb00ba3bf983093917b5872d56415838f38c042d..c3acf78c9df1108ea89d84d135b1784f6c96418d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2384,7 +2384,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0730-More-Teleport-API.patch b/patches/server/0728-More-Teleport-API.patch
index 6014278151..a25d78f96d 100644
--- a/patches/server/0730-More-Teleport-API.patch
+++ b/patches/server/0728-More-Teleport-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] More Teleport API
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 07126be6e292e9b5d29265817d00d651dda5fd07..1e39ec69c0ec26dfac6512bb04587801bbea687e 100644
+index c3acf78c9df1108ea89d84d135b1784f6c96418d..3f452f8f5e85a4f86ff53420ceae237abf97643b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1566,11 +1566,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -112,7 +112,7 @@ index 47f24e390efd8eb4cb7f62b5203825f4160772b7..243ac4253a1541dba52126bad96682e4
private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7716d990ee193e920fc14e52404afdeab12c62b5..48c1af4bfa97d2c4e8fd695af5b9cefb5398db97 100644
+index f39c5c8e99671b6d36ffe118fa9d912eae72e7fc..2951da226070e04b8bd28e1a2165db74321ebf87 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1286,13 +1286,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -145,7 +145,7 @@ index 7716d990ee193e920fc14e52404afdeab12c62b5..48c1af4bfa97d2c4e8fd695af5b9cefb
+
+ @Override
+ public void lookAt(double x, double y, double z, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor) {
-+ this.getHandle().lookAt(toNmsAnchor(playerAnchor), new Vec3(x, y, z));
++ this.getHandle().lookAt(toNmsAnchor(playerAnchor), new net.minecraft.world.phys.Vec3(x, y, z));
+ }
+
+ public static net.minecraft.commands.arguments.EntityAnchorArgument.Anchor toNmsAnchor(io.papermc.paper.entity.LookAnchor nmsAnchor) {
diff --git a/patches/server/0731-Add-EntityPortalReadyEvent.patch b/patches/server/0729-Add-EntityPortalReadyEvent.patch
index 72e8f57726..72e8f57726 100644
--- a/patches/server/0731-Add-EntityPortalReadyEvent.patch
+++ b/patches/server/0729-Add-EntityPortalReadyEvent.patch
diff --git a/patches/server/0732-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0730-Don-t-use-level-random-in-entity-constructors.patch
index cb41bd38c5..cb41bd38c5 100644
--- a/patches/server/0732-Don-t-use-level-random-in-entity-constructors.patch
+++ b/patches/server/0730-Don-t-use-level-random-in-entity-constructors.patch
diff --git a/patches/server/0733-Send-block-entities-after-destroy-prediction.patch b/patches/server/0731-Send-block-entities-after-destroy-prediction.patch
index 7a5062146d..9ae630db23 100644
--- a/patches/server/0733-Send-block-entities-after-destroy-prediction.patch
+++ b/patches/server/0731-Send-block-entities-after-destroy-prediction.patch
@@ -57,7 +57,7 @@ index 4d024956156aefde7df308642dfd0a40779e0633..6abecaac8407b992d208a9108e11fd49
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1e39ec69c0ec26dfac6512bb04587801bbea687e..8564c00ff68148a657fa8ee27e9d92430d6b6389 100644
+index 3f452f8f5e85a4f86ff53420ceae237abf97643b..df30166a5b1b8b2c43bbe96406452fa7630b5bba 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1712,8 +1712,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0734-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0732-Warn-on-plugins-accessing-faraway-chunks.patch
index ac49cb6ed9..01414937ed 100644
--- a/patches/server/0734-Warn-on-plugins-accessing-faraway-chunks.patch
+++ b/patches/server/0732-Warn-on-plugins-accessing-faraway-chunks.patch
@@ -18,10 +18,10 @@ index 481248ef82d4257ca4cc88ab28a1a7946e22aef6..b97427789d6162e16b9c3a56b89b2dd0
private static boolean isOutsideSpawnableHeight(int y) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617aa57871a 100644
+index 7fc3343217a98f136bd188e1a65fc92dd0766237..38a24517e30007d3077b48b8b0401c8c361710ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -319,9 +319,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -318,9 +318,24 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public boolean setSpawnLocation(int x, int y, int z) {
return this.setSpawnLocation(x, y, z, 0.0F);
}
@@ -46,15 +46,15 @@ index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617
// Paper start - add ticket to hold chunk for a little while longer if plugin accesses it
net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z);
if (chunk == null) {
-@@ -422,6 +437,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
- @Override
- public boolean regenerateChunk(int x, int z) {
- org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot
+@@ -426,6 +441,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+ if (!unloadChunk0(x, z, false)) {
+ return false;
+ }
+ warnUnsafeChunk("regenerating a faraway chunk", x, z); // Paper
- // Paper start - implement regenerateChunk method
- final ServerLevel serverLevel = this.world;
- final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource();
-@@ -543,6 +559,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+
+ final long chunkKey = ChunkCoordIntPair.pair(x, z);
+ world.getChunkProvider().unloadQueue.remove(chunkKey);
+@@ -499,6 +515,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot
@@ -62,7 +62,7 @@ index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
// If generate = false, but the chunk already exists, we will get this back.
-@@ -575,6 +592,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -531,6 +548,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean addPluginChunkTicket(int x, int z, Plugin plugin) {
@@ -70,7 +70,7 @@ index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617
Preconditions.checkArgument(plugin != null, "null plugin");
Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled");
-@@ -675,6 +693,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -631,6 +649,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setChunkForceLoaded(int x, int z, boolean forced) {
@@ -78,7 +78,7 @@ index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617
this.getHandle().setChunkForced(x, z, forced);
}
-@@ -1003,6 +1022,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -959,6 +978,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@@ -86,7 +86,7 @@ index 339c2d844126b287adf613a5be1b90f2056dabd9..9391259ffbee1da5c92ad4a253d99617
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
}
-@@ -2425,6 +2445,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2381,6 +2401,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Spigot end
// Paper start
public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
diff --git a/patches/server/0735-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0733-Custom-Chat-Completion-Suggestions-API.patch
index a0a0708957..063aa866fb 100644
--- a/patches/server/0735-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/server/0733-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 48c1af4bfa97d2c4e8fd695af5b9cefb5398db97..fadfa40fff32b0299d642c89b2dbc3cf4082adb9 100644
+index 2951da226070e04b8bd28e1a2165db74321ebf87..4fe0a41729a07b3a36b81652f17f53e781850026 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -691,6 +691,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0736-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0734-Add-and-fix-missing-BlockFadeEvents.patch
index 055406ea3e..055406ea3e 100644
--- a/patches/server/0736-Add-and-fix-missing-BlockFadeEvents.patch
+++ b/patches/server/0734-Add-and-fix-missing-BlockFadeEvents.patch
diff --git a/patches/server/0737-Collision-API.patch b/patches/server/0735-Collision-API.patch
index 6bd05181ad..6bd05181ad 100644
--- a/patches/server/0737-Collision-API.patch
+++ b/patches/server/0735-Collision-API.patch
diff --git a/patches/server/0738-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0736-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
index 1a84359dae..1a84359dae 100644
--- a/patches/server/0738-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
+++ b/patches/server/0736-Fix-suggest-command-message-for-brigadier-syntax-exc.patch
diff --git a/patches/server/0739-Block-Ticking-API.patch b/patches/server/0737-Block-Ticking-API.patch
index f9900a3d65..f9900a3d65 100644
--- a/patches/server/0739-Block-Ticking-API.patch
+++ b/patches/server/0737-Block-Ticking-API.patch
diff --git a/patches/server/0740-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0738-Add-Velocity-IP-Forwarding-Support.patch
index a1df897f75..d264329e2d 100644
--- a/patches/server/0740-Add-Velocity-IP-Forwarding-Support.patch
+++ b/patches/server/0738-Add-Velocity-IP-Forwarding-Support.patch
@@ -228,7 +228,7 @@ index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e38
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 873daccd9c9521e75dcca5e5070ffcbbac00956a..0aebc39477e4302c2660786011633164b6e7cc9d 100644
+index 5e3488c3d318d8728238f0dc1ccde76817ac7716..32d2e6a4ce092fee061b65d3c839c2da83865908 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -836,7 +836,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0741-Add-NamespacedKey-biome-methods.patch b/patches/server/0739-Add-NamespacedKey-biome-methods.patch
index d981229c6f..d981229c6f 100644
--- a/patches/server/0741-Add-NamespacedKey-biome-methods.patch
+++ b/patches/server/0739-Add-NamespacedKey-biome-methods.patch
diff --git a/patches/server/0742-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0740-Fix-plugin-loggers-on-server-shutdown.patch
index 6914ddec62..6914ddec62 100644
--- a/patches/server/0742-Fix-plugin-loggers-on-server-shutdown.patch
+++ b/patches/server/0740-Fix-plugin-loggers-on-server-shutdown.patch
diff --git a/patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0741-Stop-large-look-changes-from-crashing-the-server.patch
index 83fe0e5640..83fe0e5640 100644
--- a/patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0741-Stop-large-look-changes-from-crashing-the-server.patch
diff --git a/patches/server/0744-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0742-Fire-EntityChangeBlockEvent-in-more-places.patch
index d281ac226e..d281ac226e 100644
--- a/patches/server/0744-Fire-EntityChangeBlockEvent-in-more-places.patch
+++ b/patches/server/0742-Fire-EntityChangeBlockEvent-in-more-places.patch
diff --git a/patches/server/0745-Missing-eating-regain-reason.patch b/patches/server/0743-Missing-eating-regain-reason.patch
index ac2e750c71..ac2e750c71 100644
--- a/patches/server/0745-Missing-eating-regain-reason.patch
+++ b/patches/server/0743-Missing-eating-regain-reason.patch
diff --git a/patches/server/0746-Missing-effect-cause.patch b/patches/server/0744-Missing-effect-cause.patch
index a56cd781d5..a56cd781d5 100644
--- a/patches/server/0746-Missing-effect-cause.patch
+++ b/patches/server/0744-Missing-effect-cause.patch
diff --git a/patches/server/0747-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0745-Added-byte-array-serialization-deserialization-for-P.patch
index f2a4d437f0..f2a4d437f0 100644
--- a/patches/server/0747-Added-byte-array-serialization-deserialization-for-P.patch
+++ b/patches/server/0745-Added-byte-array-serialization-deserialization-for-P.patch
diff --git a/patches/server/0748-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0746-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
index fdc64e50a4..c20eb336eb 100644
--- a/patches/server/0748-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
+++ b/patches/server/0746-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 2afa23d5e98e618b7220c9203d24ca5628db2efc..a6177df2fcc203641b5cc6628793ba9dfdfb428f 100644
+index 7a673ed23eb4aec1dd3d558ad1fd81ceb899ca92..790f274948d5a9563ab222cffa6e6df1410d1cf0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -569,8 +569,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0749-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0747-Call-BlockPhysicsEvent-more-often.patch
index 1839fbe711..1839fbe711 100644
--- a/patches/server/0749-Call-BlockPhysicsEvent-more-often.patch
+++ b/patches/server/0747-Call-BlockPhysicsEvent-more-often.patch
diff --git a/patches/server/0750-Configurable-chat-thread-limit.patch b/patches/server/0748-Configurable-chat-thread-limit.patch
index fa5e60fd33..fa5e60fd33 100644
--- a/patches/server/0750-Configurable-chat-thread-limit.patch
+++ b/patches/server/0748-Configurable-chat-thread-limit.patch
diff --git a/patches/server/0751-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0749-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index 4d07ca9402..4d07ca9402 100644
--- a/patches/server/0751-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0749-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
diff --git a/patches/server/0752-fix-Jigsaw-block-kicking-user.patch b/patches/server/0750-fix-Jigsaw-block-kicking-user.patch
index 6e1aef94c8..6e1aef94c8 100644
--- a/patches/server/0752-fix-Jigsaw-block-kicking-user.patch
+++ b/patches/server/0750-fix-Jigsaw-block-kicking-user.patch
diff --git a/patches/server/0753-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0751-use-BlockFormEvent-for-mud-converting-into-clay.patch
index 8653ffd786..8653ffd786 100644
--- a/patches/server/0753-use-BlockFormEvent-for-mud-converting-into-clay.patch
+++ b/patches/server/0751-use-BlockFormEvent-for-mud-converting-into-clay.patch
diff --git a/patches/server/0754-Add-getDrops-to-BlockState.patch b/patches/server/0752-Add-getDrops-to-BlockState.patch
index ea12f69bde..ea12f69bde 100644
--- a/patches/server/0754-Add-getDrops-to-BlockState.patch
+++ b/patches/server/0752-Add-getDrops-to-BlockState.patch
diff --git a/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0753-Fix-a-bunch-of-vanilla-bugs.patch
index 881132c6fa..881132c6fa 100644
--- a/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch
+++ b/patches/server/0753-Fix-a-bunch-of-vanilla-bugs.patch
diff --git a/patches/server/0756-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0754-Remove-unnecessary-onTrackingStart-during-navigation.patch
index 382d4cc3a7..382d4cc3a7 100644
--- a/patches/server/0756-Remove-unnecessary-onTrackingStart-during-navigation.patch
+++ b/patches/server/0754-Remove-unnecessary-onTrackingStart-during-navigation.patch
diff --git a/patches/server/0757-Fix-custom-piglin-loved-items.patch b/patches/server/0755-Fix-custom-piglin-loved-items.patch
index a09a51f7ea..a09a51f7ea 100644
--- a/patches/server/0757-Fix-custom-piglin-loved-items.patch
+++ b/patches/server/0755-Fix-custom-piglin-loved-items.patch
diff --git a/patches/server/0758-EntityPickupItemEvent-fixes.patch b/patches/server/0756-EntityPickupItemEvent-fixes.patch
index 0b1957bdd1..375a09d01d 100644
--- a/patches/server/0758-EntityPickupItemEvent-fixes.patch
+++ b/patches/server/0756-EntityPickupItemEvent-fixes.patch
@@ -47,7 +47,7 @@ index d3d50ec0f4466464c048449d8a844569c447d59b..0192b62fd66621a72fcf2f20896647e5
itemstack = PiglinAi.removeOneItemFromItemEntity(drop);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
-index b4ba60c9cb69bb139d603a5c0506c8fd425b22e3..1526a542d8ae0711b5ae4a5ad1f23992156fcb30 100644
+index 174d246b0a4d0fc9d769aad08da627ca8487bdf2..bbf21ea433f9e3963aac0ede597ed8d3c8e50ed8 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -225,6 +225,11 @@ public abstract class Raider extends PatrollingMonster {
diff --git a/patches/server/0759-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0757-Correctly-handle-interactions-with-items-on-cooldown.patch
index 96df3be322..96df3be322 100644
--- a/patches/server/0759-Correctly-handle-interactions-with-items-on-cooldown.patch
+++ b/patches/server/0757-Correctly-handle-interactions-with-items-on-cooldown.patch
diff --git a/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0758-Add-PlayerInventorySlotChangeEvent.patch
index b8b08a3592..b8b08a3592 100644
--- a/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch
+++ b/patches/server/0758-Add-PlayerInventorySlotChangeEvent.patch
diff --git a/patches/server/0761-Elder-Guardian-appearance-API.patch b/patches/server/0759-Elder-Guardian-appearance-API.patch
index 1d381aab38..29219766fe 100644
--- a/patches/server/0761-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0759-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index fadfa40fff32b0299d642c89b2dbc3cf4082adb9..efe70188f6679ee3ec77327834191b20489a96c5 100644
+index 4fe0a41729a07b3a36b81652f17f53e781850026..27358c55ce2dcaeba41deac4b1bc1913ae95b8e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3293,6 +3293,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3294,6 +3294,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0762-Allow-changing-bed-s-occupied-property.patch b/patches/server/0760-Allow-changing-bed-s-occupied-property.patch
index d8b51d7f0b..d8b51d7f0b 100644
--- a/patches/server/0762-Allow-changing-bed-s-occupied-property.patch
+++ b/patches/server/0760-Allow-changing-bed-s-occupied-property.patch
diff --git a/patches/server/0763-Add-entity-knockback-API.patch b/patches/server/0761-Add-entity-knockback-API.patch
index 15e730b9ec..f18cd45c36 100644
--- a/patches/server/0763-Add-entity-knockback-API.patch
+++ b/patches/server/0761-Add-entity-knockback-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add entity knockback API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index a6177df2fcc203641b5cc6628793ba9dfdfb428f..e51a217f839b3b71d6a412b9fdb1ea7fd6ec1f32 100644
+index 790f274948d5a9563ab222cffa6e6df1410d1cf0..af1aa0a488fba542954b5d86b19e96e74e458e31 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1097,4 +1097,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0764-Detect-headless-JREs.patch b/patches/server/0762-Detect-headless-JREs.patch
index 5ba28913a8..5ba28913a8 100644
--- a/patches/server/0764-Detect-headless-JREs.patch
+++ b/patches/server/0762-Detect-headless-JREs.patch
diff --git a/patches/server/0765-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0763-fix-entity-vehicle-collision-event-not-called.patch
index e39b0eaf22..e39b0eaf22 100644
--- a/patches/server/0765-fix-entity-vehicle-collision-event-not-called.patch
+++ b/patches/server/0763-fix-entity-vehicle-collision-event-not-called.patch
diff --git a/patches/server/0766-Add-EntityToggleSitEvent.patch b/patches/server/0764-Add-EntityToggleSitEvent.patch
index 66349ee5a3..66349ee5a3 100644
--- a/patches/server/0766-Add-EntityToggleSitEvent.patch
+++ b/patches/server/0764-Add-EntityToggleSitEvent.patch
diff --git a/patches/server/0767-Add-fire-tick-delay-option.patch b/patches/server/0765-Add-fire-tick-delay-option.patch
index 848f831f0e..848f831f0e 100644
--- a/patches/server/0767-Add-fire-tick-delay-option.patch
+++ b/patches/server/0765-Add-fire-tick-delay-option.patch
diff --git a/patches/server/0768-Add-Moving-Piston-API.patch b/patches/server/0766-Add-Moving-Piston-API.patch
index e3d3955822..e3d3955822 100644
--- a/patches/server/0768-Add-Moving-Piston-API.patch
+++ b/patches/server/0766-Add-Moving-Piston-API.patch
diff --git a/patches/server/0769-Ignore-impossible-spawn-tick.patch b/patches/server/0767-Ignore-impossible-spawn-tick.patch
index f046102ceb..f046102ceb 100644
--- a/patches/server/0769-Ignore-impossible-spawn-tick.patch
+++ b/patches/server/0767-Ignore-impossible-spawn-tick.patch
diff --git a/patches/server/0770-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0768-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
index c42422ceca..c42422ceca 100644
--- a/patches/server/0770-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
+++ b/patches/server/0768-Fix-EntityArgument-suggestion-permissions-to-align-w.patch
diff --git a/patches/server/0771-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0769-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index aeff32467f..aeff32467f 100644
--- a/patches/server/0771-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0769-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
diff --git a/patches/server/0772-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0770-Add-PrePlayerAttackEntityEvent.patch
index da2cbed41e..da2cbed41e 100644
--- a/patches/server/0772-Add-PrePlayerAttackEntityEvent.patch
+++ b/patches/server/0770-Add-PrePlayerAttackEntityEvent.patch
diff --git a/patches/server/0773-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0771-ensure-reset-EnderDragon-boss-event-name.patch
index 854c391fc5..854c391fc5 100644
--- a/patches/server/0773-ensure-reset-EnderDragon-boss-event-name.patch
+++ b/patches/server/0771-ensure-reset-EnderDragon-boss-event-name.patch
diff --git a/patches/server/0774-Add-Player-Warden-Warning-API.patch b/patches/server/0772-Add-Player-Warden-Warning-API.patch
index 8155722e14..2325910c59 100644
--- a/patches/server/0774-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0772-Add-Player-Warden-Warning-API.patch
@@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index efe70188f6679ee3ec77327834191b20489a96c5..684cbe281a57335086ce8db2d7fdd36a60286dc7 100644
+index 27358c55ce2dcaeba41deac4b1bc1913ae95b8e3..688fd24b4b43117173d034d1bcf2ffa2e08e4d1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3298,6 +3298,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3299,6 +3299,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}
diff --git a/patches/server/0775-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0773-More-vanilla-friendly-methods-to-update-trades.patch
index 79a6b155bd..79a6b155bd 100644
--- a/patches/server/0775-More-vanilla-friendly-methods-to-update-trades.patch
+++ b/patches/server/0773-More-vanilla-friendly-methods-to-update-trades.patch
diff --git a/patches/server/0776-Add-paper-dumplisteners-command.patch b/patches/server/0774-Add-paper-dumplisteners-command.patch
index aabb60033d..aabb60033d 100644
--- a/patches/server/0776-Add-paper-dumplisteners-command.patch
+++ b/patches/server/0774-Add-paper-dumplisteners-command.patch
diff --git a/patches/server/0777-check-global-player-list-where-appropriate.patch b/patches/server/0775-check-global-player-list-where-appropriate.patch
index 412ae0a7f3..412ae0a7f3 100644
--- a/patches/server/0777-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0775-check-global-player-list-where-appropriate.patch
diff --git a/patches/server/0778-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0776-Fix-async-entity-add-due-to-fungus-trees.patch
index 2a7830d952..2a7830d952 100644
--- a/patches/server/0778-Fix-async-entity-add-due-to-fungus-trees.patch
+++ b/patches/server/0776-Fix-async-entity-add-due-to-fungus-trees.patch
diff --git a/patches/server/0779-ItemStack-damage-API.patch b/patches/server/0777-ItemStack-damage-API.patch
index 8abe444e1f..4dd87b1f24 100644
--- a/patches/server/0779-ItemStack-damage-API.patch
+++ b/patches/server/0777-ItemStack-damage-API.patch
@@ -51,7 +51,7 @@ index d825c2e3808e44db9935dab4e7b528146c6d83c2..96a7e80e3efab1bf626fb7aff61e095c
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index e51a217f839b3b71d6a412b9fdb1ea7fd6ec1f32..26c874d36757bc23aec83d8e6309a28f6f462fd3 100644
+index af1aa0a488fba542954b5d86b19e96e74e458e31..557628f9a2868788e7b265445b01a38f6fd99a31 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1105,4 +1105,48 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0780-Friction-API.patch b/patches/server/0778-Friction-API.patch
index b52a8fdcd1..b7a6ac55da 100644
--- a/patches/server/0780-Friction-API.patch
+++ b/patches/server/0778-Friction-API.patch
@@ -133,7 +133,7 @@ index 1a291dd8a287db30e71dcb315599fc4b038764c4..30d62ee4d5cd2ddacb8783b5bbbf475d
public int getHealth() {
return this.getHandle().health;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 26c874d36757bc23aec83d8e6309a28f6f462fd3..78bcec3f51563bf242da53392478eac4c498082a 100644
+index 557628f9a2868788e7b265445b01a38f6fd99a31..195cbff1253ed864fb18984ff6db928aac2bf8aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1149,4 +1149,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0781-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0779-Ability-to-control-player-s-insomnia-and-phantoms.patch
index 5bc45a7af4..5bc45a7af4 100644
--- a/patches/server/0781-Ability-to-control-player-s-insomnia-and-phantoms.patch
+++ b/patches/server/0779-Ability-to-control-player-s-insomnia-and-phantoms.patch
diff --git a/patches/server/0782-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0780-Fix-premature-player-kicks-on-shutdown.patch
index 7f465faed2..7f465faed2 100644
--- a/patches/server/0782-Fix-premature-player-kicks-on-shutdown.patch
+++ b/patches/server/0780-Fix-premature-player-kicks-on-shutdown.patch
diff --git a/patches/server/0783-Sync-offhand-slot-in-menus.patch b/patches/server/0781-Sync-offhand-slot-in-menus.patch
index 02fc790cef..02fc790cef 100644
--- a/patches/server/0783-Sync-offhand-slot-in-menus.patch
+++ b/patches/server/0781-Sync-offhand-slot-in-menus.patch
diff --git a/patches/server/0784-Player-Entity-Tracking-Events.patch b/patches/server/0782-Player-Entity-Tracking-Events.patch
index 4b16731def..4b16731def 100644
--- a/patches/server/0784-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0782-Player-Entity-Tracking-Events.patch
diff --git a/patches/server/0785-Limit-pet-look-distance.patch b/patches/server/0783-Limit-pet-look-distance.patch
index 983f861539..983f861539 100644
--- a/patches/server/0785-Limit-pet-look-distance.patch
+++ b/patches/server/0783-Limit-pet-look-distance.patch
diff --git a/patches/server/0786-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0784-Fixes-and-additions-to-the-SpawnReason-API.patch
index e66bfd2b7d..e66bfd2b7d 100644
--- a/patches/server/0786-Fixes-and-additions-to-the-SpawnReason-API.patch
+++ b/patches/server/0784-Fixes-and-additions-to-the-SpawnReason-API.patch
diff --git a/patches/server/0787-fix-Instruments.patch b/patches/server/0785-fix-Instruments.patch
index 768ff87e64..60e0478cd1 100644
--- a/patches/server/0787-fix-Instruments.patch
+++ b/patches/server/0785-fix-Instruments.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] fix Instruments
properly handle Player#playNote
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 684cbe281a57335086ce8db2d7fdd36a60286dc7..3fcd440ffa00bbed5cdc19f999644e32d3b24aed 100644
+index 688fd24b4b43117173d034d1bcf2ffa2e08e4d1c..869377713260cbaccf8cbcc98ef225d62f381495 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -768,7 +768,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0788-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0786-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
index 3a64891f6a..3a64891f6a 100644
--- a/patches/server/0788-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
+++ b/patches/server/0786-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch
diff --git a/patches/server/0789-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0787-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
index 8b797606ed..8b797606ed 100644
--- a/patches/server/0789-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
+++ b/patches/server/0787-Fix-inconsistencies-in-dispense-events-regarding-sta.patch
diff --git a/patches/server/0790-Add-BlockLockCheckEvent.patch b/patches/server/0788-Add-BlockLockCheckEvent.patch
index deeeae6839..deeeae6839 100644
--- a/patches/server/0790-Add-BlockLockCheckEvent.patch
+++ b/patches/server/0788-Add-BlockLockCheckEvent.patch
diff --git a/patches/server/0791-Add-Sneaking-API-for-Entities.patch b/patches/server/0789-Add-Sneaking-API-for-Entities.patch
index a8db30ee3c..a8db30ee3c 100644
--- a/patches/server/0791-Add-Sneaking-API-for-Entities.patch
+++ b/patches/server/0789-Add-Sneaking-API-for-Entities.patch
diff --git a/patches/server/0792-Improve-logging-and-errors.patch b/patches/server/0790-Improve-logging-and-errors.patch
index 445bdad633..f0f15d3d4f 100644
--- a/patches/server/0792-Improve-logging-and-errors.patch
+++ b/patches/server/0790-Improve-logging-and-errors.patch
@@ -52,7 +52,7 @@ index aa39bdb0a4ba8fedf5052ea9700afa7d4d2a4300..b4af03c4bdd1ce0861f36c3b75fc7e89
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 8564c00ff68148a657fa8ee27e9d92430d6b6389..b7a432d743d749d3da213779428c2e12f3f808dd 100644
+index df30166a5b1b8b2c43bbe96406452fa7630b5bba..5c53ea359f84db08170b951d8b683f7cac2b4d3a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3400,7 +3400,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0793-Improve-PortalEvents.patch b/patches/server/0791-Improve-PortalEvents.patch
index 99cd6ef169..99cd6ef169 100644
--- a/patches/server/0793-Improve-PortalEvents.patch
+++ b/patches/server/0791-Improve-PortalEvents.patch
diff --git a/patches/server/0794-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0792-Add-config-option-for-spider-worldborder-climbing.patch
index b10bcacd3c..b10bcacd3c 100644
--- a/patches/server/0794-Add-config-option-for-spider-worldborder-climbing.patch
+++ b/patches/server/0792-Add-config-option-for-spider-worldborder-climbing.patch
diff --git a/patches/server/0795-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0793-Add-missing-SpigotConfig-logCommands-check.patch
index 66087e876b..34b8d7f80a 100644
--- a/patches/server/0795-Add-missing-SpigotConfig-logCommands-check.patch
+++ b/patches/server/0793-Add-missing-SpigotConfig-logCommands-check.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check
Co-authored-by: david <[email protected]>
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index b7a432d743d749d3da213779428c2e12f3f808dd..209392dbaa5248de1235807c01395f0ec6b924f8 100644
+index 5c53ea359f84db08170b951d8b683f7cac2b4d3a..70ad2f0370ec1d5b4f829d0b624e31a54ba53e64 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2058,7 +2058,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0796-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0794-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
index 581ad00ec1..581ad00ec1 100644
--- a/patches/server/0796-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
+++ b/patches/server/0794-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch
diff --git a/patches/server/0797-Flying-Fall-Damage.patch b/patches/server/0795-Flying-Fall-Damage.patch
index 57affbe250..b8509d547e 100644
--- a/patches/server/0797-Flying-Fall-Damage.patch
+++ b/patches/server/0795-Flying-Fall-Damage.patch
@@ -26,10 +26,10 @@ index 4ff41cc3e2ff69c6f0c3cd7be3e22d6948010599..9706b0df7d0c617a181ba9f78b010e2e
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3fcd440ffa00bbed5cdc19f999644e32d3b24aed..3702000d7fb9af078b39f2fb16cf9c494b51f590 100644
+index 869377713260cbaccf8cbcc98ef225d62f381495..38929c8a5e5304e9719c44fb7ac3353359a56602 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2576,6 +2576,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2577,6 +2577,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().onUpdateAbilities();
}
diff --git a/patches/server/0798-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0796-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index d2369905d5..d2369905d5 100644
--- a/patches/server/0798-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0796-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
diff --git a/patches/server/0799-config-for-disabling-entity-tag-tags.patch b/patches/server/0797-config-for-disabling-entity-tag-tags.patch
index aabc1e1a31..aabc1e1a31 100644
--- a/patches/server/0799-config-for-disabling-entity-tag-tags.patch
+++ b/patches/server/0797-config-for-disabling-entity-tag-tags.patch
diff --git a/patches/server/0800-Use-single-player-info-update-packet-on-join.patch b/patches/server/0798-Use-single-player-info-update-packet-on-join.patch
index 60f082dff6..1ef54d3257 100644
--- a/patches/server/0800-Use-single-player-info-update-packet-on-join.patch
+++ b/patches/server/0798-Use-single-player-info-update-packet-on-join.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use single player info update packet on join
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 209392dbaa5248de1235807c01395f0ec6b924f8..106dd38a73c0cd9095066ba23342865931483ccd 100644
+index 70ad2f0370ec1d5b4f829d0b624e31a54ba53e64..4950d3a1abe346680e4047bad835c7bfb848664b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3438,7 +3438,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0799-Correctly-shrink-items-during-EntityResurrectEvent.patch
index 2bb49f6ef4..2bb49f6ef4 100644
--- a/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch
+++ b/patches/server/0799-Correctly-shrink-items-during-EntityResurrectEvent.patch
diff --git a/patches/server/0802-Win-Screen-API.patch b/patches/server/0800-Win-Screen-API.patch
index 1d1ff622d4..de8f6cbf6f 100644
--- a/patches/server/0802-Win-Screen-API.patch
+++ b/patches/server/0800-Win-Screen-API.patch
@@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API
public net.minecraft.server.level.ServerPlayer seenCredits
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3702000d7fb9af078b39f2fb16cf9c494b51f590..512137a80e6cdcf52c1bde11c86a28663d5b3609 100644
+index 38929c8a5e5304e9719c44fb7ac3353359a56602..850994ea4e9eccb573ab7b6de1fac5edcbe8bbda 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1305,6 +1305,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0801-Remove-CraftItemStack-setAmount-null-assignment.patch
index 04050cfc0f..04050cfc0f 100644
--- a/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch
+++ b/patches/server/0801-Remove-CraftItemStack-setAmount-null-assignment.patch
diff --git a/patches/server/0804-Fix-force-opening-enchantment-tables.patch b/patches/server/0802-Fix-force-opening-enchantment-tables.patch
index eac3ab63ee..eac3ab63ee 100644
--- a/patches/server/0804-Fix-force-opening-enchantment-tables.patch
+++ b/patches/server/0802-Fix-force-opening-enchantment-tables.patch
diff --git a/patches/server/0805-Add-Entity-Body-Yaw-API.patch b/patches/server/0803-Add-Entity-Body-Yaw-API.patch
index e1ac93b45d..4b118801d5 100644
--- a/patches/server/0805-Add-Entity-Body-Yaw-API.patch
+++ b/patches/server/0803-Add-Entity-Body-Yaw-API.patch
@@ -43,7 +43,7 @@ index 3c1e199316ae283210529d4d27b4f9d70b4d9404..d8b1cdc78eb234023a42d74059900973
@Override
public boolean isInvisible() { // Paper - moved up from LivingEntity
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 78bcec3f51563bf242da53392478eac4c498082a..28fe6c8a4a73caa39c8a265814d050b74e8b9715 100644
+index 195cbff1253ed864fb18984ff6db928aac2bf8aa..292e1701694b0cb0cb9103244e6e59e07b5838b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1162,4 +1162,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0806-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0804-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
index 962917dab8..962917dab8 100644
--- a/patches/server/0806-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
+++ b/patches/server/0804-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch
diff --git a/patches/server/0807-Add-EntityFertilizeEggEvent.patch b/patches/server/0805-Add-EntityFertilizeEggEvent.patch
index 1ab7ad4432..1ab7ad4432 100644
--- a/patches/server/0807-Add-EntityFertilizeEggEvent.patch
+++ b/patches/server/0805-Add-EntityFertilizeEggEvent.patch
diff --git a/patches/server/0808-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0806-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
index a3e0925b49..a3e0925b49 100644
--- a/patches/server/0808-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
+++ b/patches/server/0806-Fix-HumanEntity-drop-not-updating-the-client-inv.patch
diff --git a/patches/server/0809-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0807-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
index 85321a4a5b..85321a4a5b 100644
--- a/patches/server/0809-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
+++ b/patches/server/0807-Add-CompostItemEvent-and-EntityCompostItemEvent.patch
diff --git a/patches/server/0810-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0808-Correctly-handle-ArmorStand-invisibility.patch
index 34b66d686a..34b66d686a 100644
--- a/patches/server/0810-Correctly-handle-ArmorStand-invisibility.patch
+++ b/patches/server/0808-Correctly-handle-ArmorStand-invisibility.patch
diff --git a/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0809-Fix-advancement-triggers-for-entity-damage.patch
index 3ad297e9ed..3ad297e9ed 100644
--- a/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0809-Fix-advancement-triggers-for-entity-damage.patch
diff --git a/patches/server/0812-Fix-text-display-error-on-spawn.patch b/patches/server/0810-Fix-text-display-error-on-spawn.patch
index 7f64cfe6d9..7f64cfe6d9 100644
--- a/patches/server/0812-Fix-text-display-error-on-spawn.patch
+++ b/patches/server/0810-Fix-text-display-error-on-spawn.patch
diff --git a/patches/server/0813-Fix-inventories-returning-null-Locations.patch b/patches/server/0811-Fix-inventories-returning-null-Locations.patch
index eabfae28c5..eabfae28c5 100644
--- a/patches/server/0813-Fix-inventories-returning-null-Locations.patch
+++ b/patches/server/0811-Fix-inventories-returning-null-Locations.patch
diff --git a/patches/server/0814-Add-Shearable-API.patch b/patches/server/0812-Add-Shearable-API.patch
index 675a1bf358..675a1bf358 100644
--- a/patches/server/0814-Add-Shearable-API.patch
+++ b/patches/server/0812-Add-Shearable-API.patch
diff --git a/patches/server/0815-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0813-Fix-SpawnEggMeta-get-setSpawnedType.patch
index c0fda16f78..c0fda16f78 100644
--- a/patches/server/0815-Fix-SpawnEggMeta-get-setSpawnedType.patch
+++ b/patches/server/0813-Fix-SpawnEggMeta-get-setSpawnedType.patch
diff --git a/patches/server/0816-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0814-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
index d79f50d130..d79f50d130 100644
--- a/patches/server/0816-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
+++ b/patches/server/0814-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch
diff --git a/patches/server/0817-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0815-Treat-sequence-violations-like-they-should-be.patch
index 5e5e9345f4..4fb5d800bb 100644
--- a/patches/server/0817-Treat-sequence-violations-like-they-should-be.patch
+++ b/patches/server/0815-Treat-sequence-violations-like-they-should-be.patch
@@ -5,14 +5,14 @@ Subject: [PATCH] Treat sequence violations like they should be
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 106dd38a73c0cd9095066ba23342865931483ccd..67b756ec3cc955d3d9c23defc63bd0df29af3d10 100644
+index 4950d3a1abe346680e4047bad835c7bfb848664b..ad01869fdf83b1678c336e88549c910ee86071a4 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1977,6 +1977,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
public void ackBlockChangesUpTo(int sequence) {
if (sequence < 0) {
-+ this.disconnect("Expected packet sequence nr >= 0", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - Treat sequence violations like they should be
++ this.disconnect(Component.literal("Expected packet sequence nr >= 0"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - Treat sequence violations like they should be
throw new IllegalArgumentException("Expected packet sequence nr >= 0");
} else {
this.ackBlockChangesUpTo = Math.max(sequence, this.ackBlockChangesUpTo);
diff --git a/patches/server/0818-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0816-Prevent-causing-expired-keys-from-impacting-new-join.patch
index 0bedbfee25..b30fcefb55 100644
--- a/patches/server/0818-Prevent-causing-expired-keys-from-impacting-new-join.patch
+++ b/patches/server/0816-Prevent-causing-expired-keys-from-impacting-new-join.patch
@@ -26,7 +26,7 @@ index 68c062cbaa030d62d97c9c003651f8fc17a00a6b..6247a21c9c391abf1f6db3482c659593
UPDATE_GAME_MODE((serialized, buf) -> serialized.gameMode = GameType.byId(buf.readVarInt()), (buf, entry) -> buf.writeVarInt(entry.gameMode().getId())),
UPDATE_LISTED((serialized, buf) -> serialized.listed = buf.readBoolean(), (buf, entry) -> buf.writeBoolean(entry.listed())),
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 67b756ec3cc955d3d9c23defc63bd0df29af3d10..e56d73fffaa0da4813aaa0fa08554cfbb0f72279 100644
+index ad01869fdf83b1678c336e88549c910ee86071a4..730c7d28e3a3494feec6a94492b2b1b00412d94e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -295,6 +295,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0819-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0817-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
index 9f9f6c26b3..9f9f6c26b3 100644
--- a/patches/server/0819-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
+++ b/patches/server/0817-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch
diff --git a/patches/server/0820-Use-array-for-gamerule-storage.patch b/patches/server/0818-Use-array-for-gamerule-storage.patch
index 194ff8f15b..194ff8f15b 100644
--- a/patches/server/0820-Use-array-for-gamerule-storage.patch
+++ b/patches/server/0818-Use-array-for-gamerule-storage.patch
diff --git a/patches/server/0821-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0819-Fix-a-couple-of-upstream-bed-issues.patch
index 665db524c5..665db524c5 100644
--- a/patches/server/0821-Fix-a-couple-of-upstream-bed-issues.patch
+++ b/patches/server/0819-Fix-a-couple-of-upstream-bed-issues.patch
diff --git a/patches/server/0822-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0820-Fix-demo-flag-not-enabling-demo-mode.patch
index d64dd23e37..d64dd23e37 100644
--- a/patches/server/0822-Fix-demo-flag-not-enabling-demo-mode.patch
+++ b/patches/server/0820-Fix-demo-flag-not-enabling-demo-mode.patch
diff --git a/patches/server/0823-Add-Mob-Experience-reward-API.patch b/patches/server/0821-Add-Mob-Experience-reward-API.patch
index 487fe9e567..f82f765beb 100644
--- a/patches/server/0823-Add-Mob-Experience-reward-API.patch
+++ b/patches/server/0821-Add-Mob-Experience-reward-API.patch
@@ -5,10 +5,18 @@ Subject: [PATCH] Add Mob Experience reward API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
-index 921594a78ea511337434b29b5bc1a037eb30992c..e155501fb3a88edf3ddac3aa0aae1b6a5a84962e 100644
+index 921594a78ea511337434b29b5bc1a037eb30992c..deb66c04abefb4a88521483db1612e494bd27164 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
-@@ -167,4 +167,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
+@@ -1,6 +1,7 @@
+ package org.bukkit.craftbukkit.entity;
+
+ import com.google.common.base.Preconditions;
++import net.minecraft.server.level.ServerLevel;
+ import net.minecraft.sounds.SoundEvent;
+ import org.bukkit.Sound;
+ import org.bukkit.craftbukkit.CraftLootTable;
+@@ -167,4 +168,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob {
this.getHandle().setAggressive(aggressive);
}
// Paper end
@@ -16,7 +24,7 @@ index 921594a78ea511337434b29b5bc1a037eb30992c..e155501fb3a88edf3ddac3aa0aae1b6a
+ // Paper start
+ @Override
+ public int getPossibleExperienceReward() {
-+ return getHandle().getExperienceReward();
++ return getHandle().getExperienceReward((ServerLevel) this.getHandle().level(), null);
+ }
+ // Paper end
}
diff --git a/patches/server/0824-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0822-Break-redstone-on-top-of-trap-doors-early.patch
index 11c427e808..11c427e808 100644
--- a/patches/server/0824-Break-redstone-on-top-of-trap-doors-early.patch
+++ b/patches/server/0822-Break-redstone-on-top-of-trap-doors-early.patch
diff --git a/patches/server/0825-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0823-Avoid-Lazy-Initialization-for-Enum-Fields.patch
index becde16ce8..becde16ce8 100644
--- a/patches/server/0825-Avoid-Lazy-Initialization-for-Enum-Fields.patch
+++ b/patches/server/0823-Avoid-Lazy-Initialization-for-Enum-Fields.patch
diff --git a/patches/server/0826-More-accurate-isInOpenWater-impl.patch b/patches/server/0824-More-accurate-isInOpenWater-impl.patch
index 6e110094dd..6e110094dd 100644
--- a/patches/server/0826-More-accurate-isInOpenWater-impl.patch
+++ b/patches/server/0824-More-accurate-isInOpenWater-impl.patch
diff --git a/patches/server/0827-Expand-PlayerItemMendEvent.patch b/patches/server/0825-Expand-PlayerItemMendEvent.patch
index 1e05090989..3c890f081f 100644
--- a/patches/server/0827-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0825-Expand-PlayerItemMendEvent.patch
@@ -35,10 +35,10 @@ index a758b2456acac23095fe4619ae10300a034cb460..8eacfbc45f68fb01926c3e6363641dfb
if (l > 0) {
// this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 512137a80e6cdcf52c1bde11c86a28663d5b3609..5163c979f086dac9111419d7bb3b624b0faa3a5b 100644
+index 850994ea4e9eccb573ab7b6de1fac5edcbe8bbda..ea1171ed7442feaea488a02a8cbe3e3019c409c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1848,11 +1848,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1849,11 +1849,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ());
int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue());
diff --git a/patches/server/0828-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0826-Refresh-ProjectileSource-for-projectiles.patch
index 4762f3cc7b..4762f3cc7b 100644
--- a/patches/server/0828-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0826-Refresh-ProjectileSource-for-projectiles.patch
diff --git a/patches/server/0829-Add-transient-modifier-API.patch b/patches/server/0827-Add-transient-modifier-API.patch
index 36cc0a030a..36cc0a030a 100644
--- a/patches/server/0829-Add-transient-modifier-API.patch
+++ b/patches/server/0827-Add-transient-modifier-API.patch
diff --git a/patches/server/0830-Fix-block-place-logic.patch b/patches/server/0828-Fix-block-place-logic.patch
index de31264ab7..de31264ab7 100644
--- a/patches/server/0830-Fix-block-place-logic.patch
+++ b/patches/server/0828-Fix-block-place-logic.patch
diff --git a/patches/server/0831-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0829-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
index ba85bd867f..ba85bd867f 100644
--- a/patches/server/0831-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
+++ b/patches/server/0829-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch
diff --git a/patches/server/0832-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0830-Call-BlockGrowEvent-for-missing-blocks.patch
index 895a528de8..895a528de8 100644
--- a/patches/server/0832-Call-BlockGrowEvent-for-missing-blocks.patch
+++ b/patches/server/0830-Call-BlockGrowEvent-for-missing-blocks.patch
diff --git a/patches/server/0833-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0831-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
index 7d7b13d23b..5c55e8560a 100644
--- a/patches/server/0833-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
+++ b/patches/server/0831-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0aebc39477e4302c2660786011633164b6e7cc9d..571b569b6ce8c29c038a1af6429eced5c0b64ff7 100644
+index 32d2e6a4ce092fee061b65d3c839c2da83865908..7197cbf15ff9382cbc59c4a58e2f189c8cacbaaa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -355,7 +355,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0834-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0832-fix-MapLike-spam-for-missing-key-selector.patch
index 2bd3b889f1..2bd3b889f1 100644
--- a/patches/server/0834-fix-MapLike-spam-for-missing-key-selector.patch
+++ b/patches/server/0832-fix-MapLike-spam-for-missing-key-selector.patch
diff --git a/patches/server/0835-Fix-sniffer-removeExploredLocation.patch b/patches/server/0833-Fix-sniffer-removeExploredLocation.patch
index e8b1703090..e8b1703090 100644
--- a/patches/server/0835-Fix-sniffer-removeExploredLocation.patch
+++ b/patches/server/0833-Fix-sniffer-removeExploredLocation.patch
diff --git a/patches/server/0836-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0834-Add-method-to-remove-all-active-potion-effects.patch
index 674f07239a..0acdf4ee22 100644
--- a/patches/server/0836-Add-method-to-remove-all-active-potion-effects.patch
+++ b/patches/server/0834-Add-method-to-remove-all-active-potion-effects.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 28fe6c8a4a73caa39c8a265814d050b74e8b9715..0adeb3d7d2e322137f343f380a8efbcceaf55730 100644
+index 292e1701694b0cb0cb9103244e6e59e07b5838b2..a1e715629313346f670bce92483996122b0f1d7b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -563,6 +563,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/patches/server/0837-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0835-Fix-incorrect-crafting-result-amount-for-fireworks.patch
index ed5525cfda..ed5525cfda 100644
--- a/patches/server/0837-Fix-incorrect-crafting-result-amount-for-fireworks.patch
+++ b/patches/server/0835-Fix-incorrect-crafting-result-amount-for-fireworks.patch
diff --git a/patches/server/0838-Add-event-for-player-editing-sign.patch b/patches/server/0836-Add-event-for-player-editing-sign.patch
index a7fbf6addc..a7fbf6addc 100644
--- a/patches/server/0838-Add-event-for-player-editing-sign.patch
+++ b/patches/server/0836-Add-event-for-player-editing-sign.patch
diff --git a/patches/server/0839-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0837-Only-tick-item-frames-if-players-can-see-it.patch
index bf73ba4a5c..bf73ba4a5c 100644
--- a/patches/server/0839-Only-tick-item-frames-if-players-can-see-it.patch
+++ b/patches/server/0837-Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/server/0840-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0838-Fix-cmd-permission-levels-for-command-blocks.patch
index 0c24048293..0c24048293 100644
--- a/patches/server/0840-Fix-cmd-permission-levels-for-command-blocks.patch
+++ b/patches/server/0838-Fix-cmd-permission-levels-for-command-blocks.patch
diff --git a/patches/server/0841-Add-option-to-disable-block-updates.patch b/patches/server/0839-Add-option-to-disable-block-updates.patch
index 8fe599472e..8fe599472e 100644
--- a/patches/server/0841-Add-option-to-disable-block-updates.patch
+++ b/patches/server/0839-Add-option-to-disable-block-updates.patch
diff --git a/patches/server/0842-Call-missing-BlockDispenseEvent.patch b/patches/server/0840-Call-missing-BlockDispenseEvent.patch
index da4b09af57..da4b09af57 100644
--- a/patches/server/0842-Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/0840-Call-missing-BlockDispenseEvent.patch
diff --git a/patches/server/0843-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0841-Don-t-load-chunks-for-supporting-block-checks.patch
index f674b02e68..f674b02e68 100644
--- a/patches/server/0843-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0841-Don-t-load-chunks-for-supporting-block-checks.patch
diff --git a/patches/server/0844-Optimize-player-lookups-for-beacons.patch b/patches/server/0842-Optimize-player-lookups-for-beacons.patch
index 1c203c23a6..1c203c23a6 100644
--- a/patches/server/0844-Optimize-player-lookups-for-beacons.patch
+++ b/patches/server/0842-Optimize-player-lookups-for-beacons.patch
diff --git a/patches/server/0845-Add-Sign-getInteractableSideFor.patch b/patches/server/0843-Add-Sign-getInteractableSideFor.patch
index 2833829ce4..2833829ce4 100644
--- a/patches/server/0845-Add-Sign-getInteractableSideFor.patch
+++ b/patches/server/0843-Add-Sign-getInteractableSideFor.patch
diff --git a/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0844-fix-item-meta-for-tadpole-buckets.patch
index 5305d85742..00c52e632f 100644
--- a/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0844-fix-item-meta-for-tadpole-buckets.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] fix item meta for tadpole buckets
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index e1605d97bbcdbb8903d78848c7b98b44fec34705..5f8dd54596aa90e45ed430be699b1d41ebf8827e 100644
+index 01c441bcede88ce663c6b47b027c6239381c62c8..06af600a82f16c54f0774d93266deb8dd1c662cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-@@ -376,6 +376,7 @@ public final class CraftItemFactory implements ItemFactory {
+@@ -377,6 +377,7 @@ public final class CraftItemFactory implements ItemFactory {
case COD_BUCKET:
case PUFFERFISH_BUCKET:
case SALMON_BUCKET:
diff --git a/patches/server/0847-Fix-BanList-API.patch b/patches/server/0845-Fix-BanList-API.patch
index a790d500c1..9f158d149c 100644
--- a/patches/server/0847-Fix-BanList-API.patch
+++ b/patches/server/0845-Fix-BanList-API.patch
@@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5163c979f086dac9111419d7bb3b624b0faa3a5b..f4ccaa880177c73b64df65db6b0b40e968629152 100644
+index ea1171ed7442feaea488a02a8cbe3e3019c409c0..7ab19653310daf43900ec34def0b1930d12ce542 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1746,23 +1746,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0848-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0846-Determine-lava-and-water-fluid-explosion-resistance-.patch
index 5f51eb317c..5f51eb317c 100644
--- a/patches/server/0848-Determine-lava-and-water-fluid-explosion-resistance-.patch
+++ b/patches/server/0846-Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/server/0849-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0847-Fix-possible-NPE-on-painting-creation.patch
index dc3838be94..dc3838be94 100644
--- a/patches/server/0849-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0847-Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/server/0850-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0848-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index 6785f755ab..6785f755ab 100644
--- a/patches/server/0850-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/0848-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
diff --git a/patches/server/0851-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0849-ExperienceOrb-should-call-EntitySpawnEvent.patch
index 000f4cb95b..000f4cb95b 100644
--- a/patches/server/0851-ExperienceOrb-should-call-EntitySpawnEvent.patch
+++ b/patches/server/0849-ExperienceOrb-should-call-EntitySpawnEvent.patch
diff --git a/patches/server/0852-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0850-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
index 301b345fb9..301b345fb9 100644
--- a/patches/server/0852-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
+++ b/patches/server/0850-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/server/0853-Add-whitelist-events.patch b/patches/server/0851-Add-whitelist-events.patch
index 96884032fb..96884032fb 100644
--- a/patches/server/0853-Add-whitelist-events.patch
+++ b/patches/server/0851-Add-whitelist-events.patch
diff --git a/patches/server/0854-Implement-PlayerFailMoveEvent.patch b/patches/server/0852-Implement-PlayerFailMoveEvent.patch
index 5087b57ce5..179c8b53b4 100644
--- a/patches/server/0854-Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/0852-Implement-PlayerFailMoveEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerFailMoveEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index e56d73fffaa0da4813aaa0fa08554cfbb0f72279..1502f080e65a942b36fb16c87a409d9e1a53edfe 100644
+index 730c7d28e3a3494feec6a94492b2b1b00412d94e..97c0fe8b90776ba8335bf322e8a74872468aae58 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1261,8 +1261,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0855-Folia-scheduler-and-owned-region-API.patch b/patches/server/0853-Folia-scheduler-and-owned-region-API.patch
index 36d68815f5..c0f04707ea 100644
--- a/patches/server/0855-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0853-Folia-scheduler-and-owned-region-API.patch
@@ -1251,7 +1251,7 @@ index 880546f6727b90ebb021bb0939283739adaa93f6..94c5dcfdf1dae1f4764c3c7287e4b519
public void setLevelCallback(EntityInLevelCallback changeListener) {
this.levelCallback = changeListener;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 571b569b6ce8c29c038a1af6429eced5c0b64ff7..70f1e1cf83c99b2c3cea8d02c744ce68f8335c8b 100644
+index 7197cbf15ff9382cbc59c4a58e2f189c8cacbaaa..24097256203990a818aab2716fdb8a4a672a1daa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -310,6 +310,76 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0856-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0854-Only-erase-allay-memory-on-non-item-targets.patch
index 4afac36fc3..4afac36fc3 100644
--- a/patches/server/0856-Only-erase-allay-memory-on-non-item-targets.patch
+++ b/patches/server/0854-Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/server/0857-API-for-updating-recipes-on-clients.patch b/patches/server/0855-API-for-updating-recipes-on-clients.patch
index 741557aad1..4d2861d204 100644
--- a/patches/server/0857-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0855-API-for-updating-recipes-on-clients.patch
@@ -39,7 +39,7 @@ index c6316960e9765239fbf117702b3c81c542839643..b2fab1e6a83b2603aeb8565b25022f9e
Iterator iterator1 = this.players.iterator();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 70f1e1cf83c99b2c3cea8d02c744ce68f8335c8b..b4ae7630d5cdbe97d6050f6a2c6c679b26e6ddc7 100644
+index 24097256203990a818aab2716fdb8a4a672a1daa..5400493e48b508310adfb51c23b63ff53aeda49f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1165,6 +1165,18 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0858-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0856-Fix-rotation-when-spawning-display-entities.patch
index 7491ff60fe..7491ff60fe 100644
--- a/patches/server/0858-Fix-rotation-when-spawning-display-entities.patch
+++ b/patches/server/0856-Fix-rotation-when-spawning-display-entities.patch
diff --git a/patches/server/0859-Only-capture-actual-tree-growth.patch b/patches/server/0857-Only-capture-actual-tree-growth.patch
index 1cba6ddee8..1cba6ddee8 100644
--- a/patches/server/0859-Only-capture-actual-tree-growth.patch
+++ b/patches/server/0857-Only-capture-actual-tree-growth.patch
diff --git a/patches/server/0860-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0858-Use-correct-source-for-mushroom-block-spread-event.patch
index a295e29bcb..a295e29bcb 100644
--- a/patches/server/0860-Use-correct-source-for-mushroom-block-spread-event.patch
+++ b/patches/server/0858-Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/server/0861-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0859-Respect-randomizeData-on-more-entities-when-spawning.patch
index d04e8bf4f6..d04e8bf4f6 100644
--- a/patches/server/0861-Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/0859-Respect-randomizeData-on-more-entities-when-spawning.patch
diff --git a/patches/server/0862-Use-correct-seed-on-api-world-load.patch b/patches/server/0860-Use-correct-seed-on-api-world-load.patch
index 77e1f061bd..f29dbe4467 100644
--- a/patches/server/0862-Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/0860-Use-correct-seed-on-api-world-load.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Use correct seed on api world load
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index b4ae7630d5cdbe97d6050f6a2c6c679b26e6ddc7..9a8d64e43264605737c43e2a3512e9addc770db4 100644
+index 5400493e48b508310adfb51c23b63ff53aeda49f..2e0c07ab0f89043a97bcb15b6c507f6c052d2a4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1387,7 +1387,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0863-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0861-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
index 2f19c9d94a..2f19c9d94a 100644
--- a/patches/server/0863-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
+++ b/patches/server/0861-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/server/0864-Cache-map-ids-on-item-frames.patch b/patches/server/0862-Cache-map-ids-on-item-frames.patch
index 65e3e3499f..65e3e3499f 100644
--- a/patches/server/0864-Cache-map-ids-on-item-frames.patch
+++ b/patches/server/0862-Cache-map-ids-on-item-frames.patch
diff --git a/patches/server/0865-Fix-custom-statistic-criteria-creation.patch b/patches/server/0863-Fix-custom-statistic-criteria-creation.patch
index f399187f50..f399187f50 100644
--- a/patches/server/0865-Fix-custom-statistic-criteria-creation.patch
+++ b/patches/server/0863-Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/server/0866-Bandaid-fix-for-Effect.patch b/patches/server/0864-Bandaid-fix-for-Effect.patch
index 8b0cbf2228..b05a66d209 100644
--- a/patches/server/0866-Bandaid-fix-for-Effect.patch
+++ b/patches/server/0864-Bandaid-fix-for-Effect.patch
@@ -68,10 +68,10 @@ index 71733f918ed84b9879ac1b142ef6205c5e768a9c..c856384019eff2f2d0bb831ebe1ccb0f
break;
case BONE_MEAL_USE:
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 9391259ffbee1da5c92ad4a253d99617aa57871a..8708f0df623e82074ecf858c8d1389b33ded07a1 100644
+index 38a24517e30007d3077b48b8b0401c8c361710ca..7927b702f8ce1e170f96a8150c5a76413a9fd918 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1427,7 +1427,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1383,7 +1383,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public <T> void playEffect(Location loc, Effect effect, T data, int radius) {
if (data != null) {
Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect);
@@ -81,7 +81,7 @@ index 9391259ffbee1da5c92ad4a253d99617aa57871a..8708f0df623e82074ecf858c8d1389b3
// Special case: the axis is optional for ELECTRIC_SPARK
Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f4ccaa880177c73b64df65db6b0b40e968629152..9a2e626c280e3dcdb1ef950afa5829daf2d0f073 100644
+index 7ab19653310daf43900ec34def0b1930d12ce542..62de0a48329d75855466cab5499b72ec09a872a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -917,7 +917,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0867-SculkCatalyst-bloom-API.patch b/patches/server/0865-SculkCatalyst-bloom-API.patch
index ba050f6086..ba050f6086 100644
--- a/patches/server/0867-SculkCatalyst-bloom-API.patch
+++ b/patches/server/0865-SculkCatalyst-bloom-API.patch
diff --git a/patches/server/0868-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0866-API-for-an-entity-s-scoreboard-name.patch
index a7d3664dd4..a7d3664dd4 100644
--- a/patches/server/0868-API-for-an-entity-s-scoreboard-name.patch
+++ b/patches/server/0866-API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/server/0869-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0867-Deprecate-and-replace-methods-with-old-StructureType.patch
index 79caac1a3a..7eeb4db8f2 100644
--- a/patches/server/0869-Deprecate-and-replace-methods-with-old-StructureType.patch
+++ b/patches/server/0867-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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 9a8d64e43264605737c43e2a3512e9addc770db4..4aa8c742411fe9ae1312f3663859eb107fcf68ef 100644
+index 2e0c07ab0f89043a97bcb15b6c507f6c052d2a4e..56f9b69b5a30c4ee5bcbcb8ae33e26f75b477475 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1992,6 +1992,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0870-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0868-Don-t-tab-complete-namespaced-commands-if-send-names.patch
index 1a7da29ef8..9e3d20928c 100644
--- a/patches/server/0870-Don-t-tab-complete-namespaced-commands-if-send-names.patch
+++ b/patches/server/0868-Don-t-tab-complete-namespaced-commands-if-send-names.patch
@@ -11,7 +11,7 @@ This patch prevents server from sending namespaced commands when player
requests tab-complete only commands.
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 1502f080e65a942b36fb16c87a409d9e1a53edfe..9206806204862e7b50f5c520660a07bdd7604480 100644
+index 97c0fe8b90776ba8335bf322e8a74872468aae58..d78f760d220869f83ab5f7576d69d637150a9e82 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -820,6 +820,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0871-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0869-Properly-handle-BlockBreakEvent-isDropItems.patch
index 75a746ca81..75a746ca81 100644
--- a/patches/server/0871-Properly-handle-BlockBreakEvent-isDropItems.patch
+++ b/patches/server/0869-Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/server/0872-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0870-Fire-entity-death-event-for-ender-dragon.patch
index 7f6054281d..7f6054281d 100644
--- a/patches/server/0872-Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/0870-Fire-entity-death-event-for-ender-dragon.patch
diff --git a/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0871-Configurable-entity-tracking-range-by-Y-coordinate.patch
index 3c28b2c60f..3c28b2c60f 100644
--- a/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch
+++ b/patches/server/0871-Configurable-entity-tracking-range-by-Y-coordinate.patch
diff --git a/patches/server/0874-Add-Listing-API-for-Player.patch b/patches/server/0872-Add-Listing-API-for-Player.patch
index 97bb4bc855..4cdf0f279a 100644
--- a/patches/server/0874-Add-Listing-API-for-Player.patch
+++ b/patches/server/0872-Add-Listing-API-for-Player.patch
@@ -119,7 +119,7 @@ index b2fab1e6a83b2603aeb8565b25022f9e99a61029..8ba99f6ef2b50ceb8e279ed559a375ad
// Paper end - Use single player info update packet on join
player.sentListPacket = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9a2e626c280e3dcdb1ef950afa5829daf2d0f073..42c35d628744db8e715cf72c17803e2e1a94697b 100644
+index 62de0a48329d75855466cab5499b72ec09a872a6..1e660aa6039ed6065b2d5ccfe2c04930651e3b86 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -201,6 +201,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -130,7 +130,7 @@ index 9a2e626c280e3dcdb1ef950afa5829daf2d0f073..42c35d628744db8e715cf72c17803e2e
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
private double health = 20;
-@@ -2086,7 +2087,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2087,7 +2088,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
otherPlayer.setUUID(uuidOverride);
}
// Paper end
@@ -139,7 +139,7 @@ index 9a2e626c280e3dcdb1ef950afa5829daf2d0f073..42c35d628744db8e715cf72c17803e2e
if (original != null) otherPlayer.setUUID(original); // Paper - uuid override
}
-@@ -2190,6 +2191,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2191,6 +2192,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (entity != null) ? this.canSee(entity) : false; // If we can't find it, we can't see it
}
diff --git a/patches/server/0875-Configurable-Region-Compression-Format.patch b/patches/server/0873-Configurable-Region-Compression-Format.patch
index 64a52a4ea2..64a52a4ea2 100644
--- a/patches/server/0875-Configurable-Region-Compression-Format.patch
+++ b/patches/server/0873-Configurable-Region-Compression-Format.patch
diff --git a/patches/server/0876-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0874-Add-BlockFace-to-BlockDamageEvent.patch
index efbc14f784..efbc14f784 100644
--- a/patches/server/0876-Add-BlockFace-to-BlockDamageEvent.patch
+++ b/patches/server/0874-Add-BlockFace-to-BlockDamageEvent.patch
diff --git a/patches/server/0877-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0875-Fix-NPE-on-Boat-getStatus.patch
index 70323a4352..70323a4352 100644
--- a/patches/server/0877-Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/0875-Fix-NPE-on-Boat-getStatus.patch
diff --git a/patches/server/0878-Expand-Pose-API.patch b/patches/server/0876-Expand-Pose-API.patch
index 59a2bc1a09..59a2bc1a09 100644
--- a/patches/server/0878-Expand-Pose-API.patch
+++ b/patches/server/0876-Expand-Pose-API.patch
diff --git a/patches/server/0879-More-DragonBattle-API.patch b/patches/server/0877-More-DragonBattle-API.patch
index a6e0c111c0..a6e0c111c0 100644
--- a/patches/server/0879-More-DragonBattle-API.patch
+++ b/patches/server/0877-More-DragonBattle-API.patch
diff --git a/patches/server/0880-Add-PlayerPickItemEvent.patch b/patches/server/0878-Add-PlayerPickItemEvent.patch
index c8a0647018..542c0e535f 100644
--- a/patches/server/0880-Add-PlayerPickItemEvent.patch
+++ b/patches/server/0878-Add-PlayerPickItemEvent.patch
@@ -5,11 +5,11 @@ Subject: [PATCH] Add PlayerPickItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9206806204862e7b50f5c520660a07bdd7604480..122244a37872a21fe0df5f6ab8f4cad941b59479 100644
+index d78f760d220869f83ab5f7576d69d637150a9e82..f2ecbaa180029eb52602b81d1e351721cc2ddf3b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -935,8 +935,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
- this.disconnect("Invalid hotbar selection (Hacking?)", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
+ this.disconnect(Component.literal("Invalid hotbar selection (Hacking?)"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause
return;
}
- this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed
diff --git a/patches/server/0881-Allow-trident-custom-damage.patch b/patches/server/0879-Allow-trident-custom-damage.patch
index 75570ca360..75570ca360 100644
--- a/patches/server/0881-Allow-trident-custom-damage.patch
+++ b/patches/server/0879-Allow-trident-custom-damage.patch
diff --git a/patches/server/0882-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0880-Expose-hand-in-BlockCanBuildEvent.patch
index 4abc7e9fc5..4abc7e9fc5 100644
--- a/patches/server/0882-Expose-hand-in-BlockCanBuildEvent.patch
+++ b/patches/server/0880-Expose-hand-in-BlockCanBuildEvent.patch
diff --git a/patches/server/0883-Optimize-nearest-structure-border-iteration.patch b/patches/server/0881-Optimize-nearest-structure-border-iteration.patch
index df5f60c52c..df5f60c52c 100644
--- a/patches/server/0883-Optimize-nearest-structure-border-iteration.patch
+++ b/patches/server/0881-Optimize-nearest-structure-border-iteration.patch
diff --git a/patches/server/0884-Implement-OfflinePlayer-isConnected.patch b/patches/server/0882-Implement-OfflinePlayer-isConnected.patch
index 471869e451..abd75b44c5 100644
--- a/patches/server/0884-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0882-Implement-OfflinePlayer-isConnected.patch
@@ -23,7 +23,7 @@ index 4d654c4f0b6210a9841427789ba70ce5d1d308be..9d93130f23addb18b97d7f5ec013faef
public String getName() {
Player player = this.getPlayer();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 42c35d628744db8e715cf72c17803e2e1a94697b..de031ff4b976db173eae55294f598cad9c052df7 100644
+index 1e660aa6039ed6065b2d5ccfe2c04930651e3b86..7ad3a0605be9d89bf7618f2ed8767fdebf25a178 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -256,6 +256,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0885-Fix-inventory-desync.patch b/patches/server/0883-Fix-inventory-desync.patch
index 4163acd104..4163acd104 100644
--- a/patches/server/0885-Fix-inventory-desync.patch
+++ b/patches/server/0883-Fix-inventory-desync.patch
diff --git a/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0884-Add-titleOverride-to-InventoryOpenEvent.patch
index f238f3db79..f238f3db79 100644
--- a/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch
+++ b/patches/server/0884-Add-titleOverride-to-InventoryOpenEvent.patch
diff --git a/patches/server/0887-Configure-sniffer-egg-hatch-time.patch b/patches/server/0885-Configure-sniffer-egg-hatch-time.patch
index 7def55b1f7..7def55b1f7 100644
--- a/patches/server/0887-Configure-sniffer-egg-hatch-time.patch
+++ b/patches/server/0885-Configure-sniffer-egg-hatch-time.patch
diff --git a/patches/server/0888-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0886-Do-crystal-portal-proximity-check-before-entity-look.patch
index 67d506a715..67d506a715 100644
--- a/patches/server/0888-Do-crystal-portal-proximity-check-before-entity-look.patch
+++ b/patches/server/0886-Do-crystal-portal-proximity-check-before-entity-look.patch
diff --git a/patches/server/0889-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0887-Skip-POI-finding-if-stuck-in-vehicle.patch
index a4dcac44ac..a4dcac44ac 100644
--- a/patches/server/0889-Skip-POI-finding-if-stuck-in-vehicle.patch
+++ b/patches/server/0887-Skip-POI-finding-if-stuck-in-vehicle.patch
diff --git a/patches/server/0890-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0888-Add-slot-sanity-checks-in-container-clicks.patch
index a1b9d2a84c..4f1058e85b 100644
--- a/patches/server/0890-Add-slot-sanity-checks-in-container-clicks.patch
+++ b/patches/server/0888-Add-slot-sanity-checks-in-container-clicks.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add slot sanity checks in container clicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 122244a37872a21fe0df5f6ab8f4cad941b59479..9e57d0b1222b7dd4b9dd1d9f82b4c2f7fc7bcc3c 100644
+index f2ecbaa180029eb52602b81d1e351721cc2ddf3b..518b64a3c18ea003109c9b1a1bfe12e29c78e099 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2987,6 +2987,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0891-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/0889-Call-BlockRedstoneEvents-for-lecterns.patch
index b2cf0ce209..b2cf0ce209 100644
--- a/patches/server/0891-Call-BlockRedstoneEvents-for-lecterns.patch
+++ b/patches/server/0889-Call-BlockRedstoneEvents-for-lecterns.patch
diff --git a/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0890-Allow-proper-checking-of-empty-item-stacks.patch
index 62401e7f99..62401e7f99 100644
--- a/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/server/0890-Allow-proper-checking-of-empty-item-stacks.patch
diff --git a/patches/server/0893-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0891-Fix-silent-equipment-change-for-mobs.patch
index edc3ea39f0..edc3ea39f0 100644
--- a/patches/server/0893-Fix-silent-equipment-change-for-mobs.patch
+++ b/patches/server/0891-Fix-silent-equipment-change-for-mobs.patch
diff --git a/patches/server/0894-Fix-spigot-s-Forced-Stats.patch b/patches/server/0892-Fix-spigot-s-Forced-Stats.patch
index 554f1f8844..554f1f8844 100644
--- a/patches/server/0894-Fix-spigot-s-Forced-Stats.patch
+++ b/patches/server/0892-Fix-spigot-s-Forced-Stats.patch
diff --git a/patches/server/0895-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0893-Add-missing-InventoryHolders-to-inventories.patch
index ae956d4693..ae956d4693 100644
--- a/patches/server/0895-Add-missing-InventoryHolders-to-inventories.patch
+++ b/patches/server/0893-Add-missing-InventoryHolders-to-inventories.patch
diff --git a/patches/server/0896-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0894-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
index ab4d61b97a..ab4d61b97a 100644
--- a/patches/server/0896-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
+++ b/patches/server/0894-Do-not-read-tile-entities-in-chunks-that-are-positio.patch
diff --git a/patches/server/0897-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0895-Add-missing-logs-for-log-ips-config-option.patch
index 2898d66615..2898d66615 100644
--- a/patches/server/0897-Add-missing-logs-for-log-ips-config-option.patch
+++ b/patches/server/0895-Add-missing-logs-for-log-ips-config-option.patch
diff --git a/patches/server/0898-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0896-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index e1f2934daa..e1f2934daa 100644
--- a/patches/server/0898-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/0896-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/0899-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0897-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/0899-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/0897-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/0900-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0898-Fix-team-sidebar-objectives-not-being-cleared.patch
index 88a39d0b20..88a39d0b20 100644
--- a/patches/server/0900-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/0898-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/0901-Fix-missing-map-initialize-event-call.patch b/patches/server/0899-Fix-missing-map-initialize-event-call.patch
index 214c9bce18..214c9bce18 100644
--- a/patches/server/0901-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/0899-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/0902-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0900-Update-entity-data-when-attaching-firework-to-entity.patch
index 35494c32ed..35494c32ed 100644
--- a/patches/server/0902-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/0900-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/0903-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0901-Fix-UnsafeValues-loadAdvancement.patch
index 205c42df23..205c42df23 100644
--- a/patches/server/0903-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0901-Fix-UnsafeValues-loadAdvancement.patch
diff --git a/patches/server/0904-Add-player-idle-duration-API.patch b/patches/server/0902-Add-player-idle-duration-API.patch
index 1530af67b1..97ef3281a4 100644
--- a/patches/server/0904-Add-player-idle-duration-API.patch
+++ b/patches/server/0902-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index de031ff4b976db173eae55294f598cad9c052df7..1deaaf99d09cd46bcc4d609e6015cc1a288d5029 100644
+index 7ad3a0605be9d89bf7618f2ed8767fdebf25a178..651d59330fdbdaf2bdeab5795808ceaabc3dbddb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3413,6 +3413,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3414,6 +3414,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0903-Don-t-check-if-we-can-see-non-visible-entities.patch
index 43404ba162..43404ba162 100644
--- a/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/0903-Don-t-check-if-we-can-see-non-visible-entities.patch
diff --git a/patches/server/0906-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0904-Fix-NPE-in-SculkBloomEvent-world-access.patch
index 5abf7cda2c..5abf7cda2c 100644
--- a/patches/server/0906-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/0904-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/0907-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0905-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 6750ca6340..8bc6f2ccca 100644
--- a/patches/server/0907-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0905-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 1deaaf99d09cd46bcc4d609e6015cc1a288d5029..0865e088357757a253f73b492b43b6075b237e4f 100644
+index 651d59330fdbdaf2bdeab5795808ceaabc3dbddb..bb2c41e56b6913c9564e0eac99182cc9c2ea4be4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1127,7 +1127,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0908-Optimize-VarInts.patch b/patches/server/0906-Optimize-VarInts.patch
index b96957d432..b96957d432 100644
--- a/patches/server/0908-Optimize-VarInts.patch
+++ b/patches/server/0906-Optimize-VarInts.patch
diff --git a/patches/server/0909-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0907-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 48e81c5809..48e81c5809 100644
--- a/patches/server/0909-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0907-Add-API-to-get-the-collision-shape-of-a-block-before.patch
diff --git a/patches/server/0910-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0908-Add-predicate-for-blocks-when-raytracing.patch
index 81e484a04f..afc0a1a6e4 100644
--- a/patches/server/0910-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0908-Add-predicate-for-blocks-when-raytracing.patch
@@ -47,10 +47,10 @@ index c978f3b2d42f512e982f289e76c2422e41b7eec6..bb8e962e63c7a2d931f9bd7f7c002aa3
Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 8708f0df623e82074ecf858c8d1389b33ded07a1..a9e4b6fb0f93e65b1a309abb5911b1b72d521f23 100644
+index 7927b702f8ce1e170f96a8150c5a76413a9fd918..ee3e8e3b766f7cc363001fb44ae1eb98679cbcc9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1161,9 +1161,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1117,9 +1117,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate<? super Entity> filter) {
@@ -68,7 +68,7 @@ index 8708f0df623e82074ecf858c8d1389b33ded07a1..a9e4b6fb0f93e65b1a309abb5911b1b7
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1213,9 +1219,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1169,9 +1175,16 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public RayTraceResult rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) {
@@ -87,7 +87,7 @@ index 8708f0df623e82074ecf858c8d1389b33ded07a1..a9e4b6fb0f93e65b1a309abb5911b1b7
Preconditions.checkArgument(direction != null, "Vector direction cannot be null");
direction.checkFinite();
-@@ -1228,16 +1241,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -1184,16 +1197,23 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
Vector dir = direction.clone().normalize().multiply(maxDistance);
diff --git a/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0909-Broadcast-take-item-packets-with-collector-as-source.patch
index dc40dd2151..dc40dd2151 100644
--- a/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0909-Broadcast-take-item-packets-with-collector-as-source.patch
diff --git a/patches/server/0912-Expand-LingeringPotion-API.patch b/patches/server/0910-Expand-LingeringPotion-API.patch
index fdd0abf668..fdd0abf668 100644
--- a/patches/server/0912-Expand-LingeringPotion-API.patch
+++ b/patches/server/0910-Expand-LingeringPotion-API.patch
diff --git a/patches/server/0913-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0911-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index eaca74543d..1945ea0379 100644
--- a/patches/server/0913-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0911-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
@@ -45,10 +45,10 @@ index 0471d9c85af02133f99cca4e181b83b58a3f1abc..4f701788bd21b61cad251a3a88f9bc41
BlockState iblockdata = BaseFireBlock.getState(this.level(), blockposition);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index a9e4b6fb0f93e65b1a309abb5911b1b72d521f23..d6cdbe44cfddecc2a28c28892431aaa45f73cb8a 100644
+index ee3e8e3b766f7cc363001fb44ae1eb98679cbcc9..c1642dd60531494d173ac08aa90791143f5bd99a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -793,7 +793,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -749,7 +749,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
LightningBolt lightning = EntityType.LIGHTNING_BOLT.create(this.world);
lightning.moveTo(loc.getX(), loc.getY(), loc.getZ());
diff --git a/patches/server/0914-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0912-Add-hand-to-fish-event-for-all-player-interactions.patch
index dd3e5bba44..dd3e5bba44 100644
--- a/patches/server/0914-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/0912-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/server/0915-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0913-Fix-several-issues-with-EntityBreedEvent.patch
index 9e82a901a0..9e82a901a0 100644
--- a/patches/server/0915-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/0913-Fix-several-issues-with-EntityBreedEvent.patch
diff --git a/patches/server/0914-Add-UUID-attribute-modifier-API.patch b/patches/server/0914-Add-UUID-attribute-modifier-API.patch
new file mode 100644
index 0000000000..4b5e695553
--- /dev/null
+++ b/patches/server/0914-Add-UUID-attribute-modifier-API.patch
@@ -0,0 +1,142 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: TonytheMacaroni <[email protected]>
+Date: Thu, 9 Nov 2023 20:34:44 -0500
+Subject: [PATCH] Add UUID attribute modifier API
+
+
+diff --git a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
+index 52439f4b959c74027eb191a3af960c70beb978e8..a2c057d92ea34368c7efc538b6e5b15ef342c54e 100644
+--- a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
++++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
+@@ -5,6 +5,7 @@ import org.bukkit.attribute.Attribute;
+ import org.bukkit.attribute.AttributeModifier;
+ import org.bukkit.craftbukkit.attribute.CraftAttributeInstance;
+
++import java.util.UUID;
+ import java.util.Collection;
+
+ public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
+@@ -18,6 +19,11 @@ public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
+ throw new UnsupportedOperationException("Cannot modify default attributes");
+ }
+
++ @Override
++ public void removeModifier(UUID uuid) {
++ throw new UnsupportedOperationException("Cannot modify default attributes");
++ }
++
+ @Override
+ public void addModifier(AttributeModifier modifier) {
+ throw new UnsupportedOperationException("Cannot modify default attributes");
+diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/AttributeMappings.java b/src/main/java/org/bukkit/craftbukkit/attribute/AttributeMappings.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..ce23ac9bcf5b043a07130da39cc8804f0d0be1e5
+--- /dev/null
++++ b/src/main/java/org/bukkit/craftbukkit/attribute/AttributeMappings.java
+@@ -0,0 +1,68 @@
++package org.bukkit.craftbukkit.attribute;
++
++import java.util.HashMap;
++import java.util.Map;
++import java.util.UUID;
++import org.bukkit.NamespacedKey;
++import org.jetbrains.annotations.NotNull;
++
++final class AttributeMappings {
++ private static final Map<UUID, NamespacedKey> ATTRIBUTE_MODIFIER_IDS = new HashMap<>();
++
++ static {
++ add(-4483571535397864886L, -5989644940537681742L, "armor.body");
++ add(8144722948526719024L, -7778190119041365872L, "effect.slowness");
++ add(6967552254039378640L, -9116175396973475259L, "enchantment.aqua_affinity");
++ add(5279725409867744698L, -5150363631200102632L, "attacking");
++ add(148071211714102867L, -7685811609035173472L, "attacking");
++ add(6196088217904236654L, -7493791321850887290L, "effect.minining_fatigue");
++ add(-5084161844451524480L, -8859020046251006329L, "enchantment.soul_speed");
++ add(-7907339078496465106L, -8112074600724210224L, "enchantment.swift_sneak");
++ add(6688265815086220243L, -6545541163342161890L, "drinking");
++ add(8315164243412860989L, -6631520853640075966L, "creative_mode_block_range");
++ add(4389663563256579765L, -4827163546944004714L, "enchantment.efficiency");
++ add(6732612758648800940L, -5145707699103688244L, "effect.health_boost");
++ add(9079981369298536661L, -6728494925450710401L, "covered");
++ add(-1521481167610687786L, -8630419745734927691L, "effect.absorption");
++ add(-7473408062188862076L, -5872005994337939597L, "creative_mode_entity_range");
++ add(-3721396875562958315L, -5317020504214661337L, "effect.unluck");
++ add(-2861585646493481178L, -6113244764726669811L, "armor.leggings");
++ add(6718535547217657911L, -5386630269401489641L, "enchantment.sweeping_edge");
++ add(-7949229004988660584L, -7828611303000832459L, "effect.speed");
++ add(-8650171790042118250L, -5749650997644763080L, "enchantment.soul_speed");
++ add(551224288813600377L, -8734740027710371860L, "enchantment.respiration");
++ add(-7046399332347654691L, -6723081531683397260L, "suffocating");
++ add(7361814797886573596L, -8641397326606817395L, "sprinting");
++ add(-6972338111383059132L, -8978659762232839026L, "armor.chestplate");
++ add(-5371971015925809039L, -6062243582569928137L, "enchantment.fire_protection");
++ add(7245570952092733273L, -8449101711440750679L, "effect.strength");
++ add(-422425648963762075L, -5756800103171642205L, "base_attack_speed");
++ add(-4607081316629330256L, -7008565754814018370L, "effect.jump_boost");
++ add(271280981090454338L, -8746077033958322898L, "effect.luck");
++ add(2211131075215181206L, -5513857709499300658L, "powder_snow");
++ add(-8908768238899017377L, -8313820693701227669L, "armor.boots");
++ add(-5797418877589107702L, -6181652684028920077L, "effect.haste");
++ add(3086076556416732775L, -5150312587563650736L, "armor.helmet");
++ add(-5082757096938257406L, -4891139119377885130L, "baby");
++ add(2478452629826324956L, -7247530463494186011L, "effect.weakness");
++ add(4659420831966187055L, -5191473055587376048L, "enchantment.blast_protection");
++ add(7301951777949303281L, -6753860660653972126L, "evil");
++ add(8533189226688352746L, -8254757081029716377L, "baby");
++ add(1286946037536540352L, -5768092872487507967L, "enchantment.depth_strider");
++ add(-3801225194067177672L, -6586624321849018929L, "base_attack_damage");
++ }
++
++ public static @NotNull NamespacedKey uuidToKey(final UUID uuid) {
++ final NamespacedKey key = ATTRIBUTE_MODIFIER_IDS.get(uuid);
++ if (key != null) {
++ return key;
++ } else {
++ return NamespacedKey.minecraft(uuid.toString());
++ }
++ }
++
++ private static void add(final long msb, final long lsb, final String id) {
++ final UUID uuid = new UUID(msb, lsb);
++ ATTRIBUTE_MODIFIER_IDS.put(uuid, NamespacedKey.minecraft(id));
++ }
++}
+diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
+index cd6a492f56b3dee5985c068e20009b6c833e143b..34b9d79fd1a4aa7395b3383fa721f5689494aa12 100644
+--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
++++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
+@@ -45,6 +45,33 @@ public class CraftAttributeInstance implements AttributeInstance {
+ return result;
+ }
+
++ // Paper start
++ @Override
++ public AttributeModifier getModifier(final net.kyori.adventure.key.Key key) {
++ Preconditions.checkArgument(key != null, "Key cannot be null");
++ net.minecraft.world.entity.ai.attributes.AttributeModifier modifier = this.handle.getModifier(io.papermc.paper.adventure.PaperAdventure.asVanilla(key));
++ return modifier == null ? null : CraftAttributeInstance.convert(modifier);
++ }
++
++ @Override
++ public void removeModifier(final net.kyori.adventure.key.Key key) {
++ Preconditions.checkArgument(key != null, "Key cannot be null");
++ this.handle.removeModifier(io.papermc.paper.adventure.PaperAdventure.asVanilla(key));
++ }
++
++ @Override
++ public AttributeModifier getModifier(java.util.UUID uuid) {
++ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
++ return this.getModifier(AttributeMappings.uuidToKey(uuid));
++ }
++
++ @Override
++ public void removeModifier(java.util.UUID uuid) {
++ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
++ this.removeModifier(AttributeMappings.uuidToKey(uuid));
++ }
++ // Paper end
++
+ @Override
+ public void addModifier(AttributeModifier modifier) {
+ Preconditions.checkArgument(modifier != null, "modifier");
diff --git a/patches/server/0917-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0915-Fix-missing-event-call-for-entity-teleport-API.patch
index 79cebb8989..79cebb8989 100644
--- a/patches/server/0917-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/0915-Fix-missing-event-call-for-entity-teleport-API.patch
diff --git a/patches/server/0916-Add-UUID-attribute-modifier-API.patch b/patches/server/0916-Add-UUID-attribute-modifier-API.patch
deleted file mode 100644
index 2b4be75ab6..0000000000
--- a/patches/server/0916-Add-UUID-attribute-modifier-API.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: TonytheMacaroni <[email protected]>
-Date: Thu, 9 Nov 2023 20:34:44 -0500
-Subject: [PATCH] Add UUID attribute modifier API
-
-
-diff --git a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
-index 52439f4b959c74027eb191a3af960c70beb978e8..a2c057d92ea34368c7efc538b6e5b15ef342c54e 100644
---- a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
-+++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
-@@ -5,6 +5,7 @@ import org.bukkit.attribute.Attribute;
- import org.bukkit.attribute.AttributeModifier;
- import org.bukkit.craftbukkit.attribute.CraftAttributeInstance;
-
-+import java.util.UUID;
- import java.util.Collection;
-
- public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
-@@ -18,6 +19,11 @@ public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
- throw new UnsupportedOperationException("Cannot modify default attributes");
- }
-
-+ @Override
-+ public void removeModifier(UUID uuid) {
-+ throw new UnsupportedOperationException("Cannot modify default attributes");
-+ }
-+
- @Override
- public void addModifier(AttributeModifier modifier) {
- throw new UnsupportedOperationException("Cannot modify default attributes");
-diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
-index cd6a492f56b3dee5985c068e20009b6c833e143b..64cef8aaecbc96bdcebd461feb72cdd5398492f7 100644
---- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
-+++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
-@@ -45,6 +45,21 @@ public class CraftAttributeInstance implements AttributeInstance {
- return result;
- }
-
-+ // Paper start
-+ @Override
-+ public AttributeModifier getModifier(java.util.UUID uuid) {
-+ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
-+ net.minecraft.world.entity.ai.attributes.AttributeModifier modifier = this.handle.getModifier(uuid);
-+ return modifier == null ? null : CraftAttributeInstance.convert(modifier);
-+ }
-+
-+ @Override
-+ public void removeModifier(java.util.UUID uuid) {
-+ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
-+ this.handle.removeModifier(uuid);
-+ }
-+ // Paper end
-+
- @Override
- public void addModifier(AttributeModifier modifier) {
- Preconditions.checkArgument(modifier != null, "modifier");
diff --git a/patches/server/0918-Lazily-create-LootContext-for-criterions.patch b/patches/server/0916-Lazily-create-LootContext-for-criterions.patch
index d1033bf7e7..d1033bf7e7 100644
--- a/patches/server/0918-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/0916-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0917-Don-t-fire-sync-events-during-worldgen.patch
index 29872895d1..29872895d1 100644
--- a/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0917-Don-t-fire-sync-events-during-worldgen.patch
diff --git a/patches/server/0920-Add-Structure-check-API.patch b/patches/server/0918-Add-Structure-check-API.patch
index b32e809785..891759cee9 100644
--- a/patches/server/0920-Add-Structure-check-API.patch
+++ b/patches/server/0918-Add-Structure-check-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d6cdbe44cfddecc2a28c28892431aaa45f73cb8a..cb0f59def0d5ad6e2f80ebe024f12efad9a8d164 100644
+index c1642dd60531494d173ac08aa90791143f5bd99a..395da7e8ca0971610f06bf5b8357ef05f2247da6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -237,6 +237,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -236,6 +236,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
};
}
// Paper end
diff --git a/patches/server/0921-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0919-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index fd122481de..fd122481de 100644
--- a/patches/server/0921-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/0919-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
diff --git a/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0920-Restore-vanilla-entity-drops-behavior.patch
index 258b8c23f3..258b8c23f3 100644
--- a/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0920-Restore-vanilla-entity-drops-behavior.patch
diff --git a/patches/server/0923-Dont-resend-blocks-on-interactions.patch b/patches/server/0921-Dont-resend-blocks-on-interactions.patch
index f522a08097..f522a08097 100644
--- a/patches/server/0923-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/0921-Dont-resend-blocks-on-interactions.patch
diff --git a/patches/server/0924-add-more-scoreboard-API.patch b/patches/server/0922-add-more-scoreboard-API.patch
index 3365b53a36..3365b53a36 100644
--- a/patches/server/0924-add-more-scoreboard-API.patch
+++ b/patches/server/0922-add-more-scoreboard-API.patch
diff --git a/patches/server/0925-Improve-Registry.patch b/patches/server/0923-Improve-Registry.patch
index 32f844a5d8..32f844a5d8 100644
--- a/patches/server/0925-Improve-Registry.patch
+++ b/patches/server/0923-Improve-Registry.patch
diff --git a/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0924-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index 1c9f726e07..1c9f726e07 100644
--- a/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0924-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
diff --git a/patches/server/0927-Add-experience-points-API.patch b/patches/server/0925-Add-experience-points-API.patch
index 56db1d5b69..c3e7bd7755 100644
--- a/patches/server/0927-Add-experience-points-API.patch
+++ b/patches/server/0925-Add-experience-points-API.patch
@@ -18,10 +18,10 @@ index 9706b0df7d0c617a181ba9f78b010e2e58c84454..a77c2847a3bc161f0bf25eb4c78305ce
// Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 0865e088357757a253f73b492b43b6075b237e4f..35ff3eae4f68fd1fe9bacbeacfd826a5022f8899 100644
+index bb2c41e56b6913c9564e0eac99182cc9c2ea4be4..ee937b6b6ee1e4b2fcedd7b200a749ded169eea4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1915,6 +1915,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1916,6 +1916,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(exp >= 0, "Total experience points must not be negative (%s)", exp);
this.getHandle().totalExperience = exp;
}
diff --git a/patches/server/0928-Add-drops-to-shear-events.patch b/patches/server/0926-Add-drops-to-shear-events.patch
index fad646e19c..fad646e19c 100644
--- a/patches/server/0928-Add-drops-to-shear-events.patch
+++ b/patches/server/0926-Add-drops-to-shear-events.patch
diff --git a/patches/server/0929-Add-PlayerShieldDisableEvent.patch b/patches/server/0927-Add-PlayerShieldDisableEvent.patch
index f9d5404f63..f9d5404f63 100644
--- a/patches/server/0929-Add-PlayerShieldDisableEvent.patch
+++ b/patches/server/0927-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0928-Validate-ResourceLocation-in-NBT-reading.patch
index 3500a62b66..3500a62b66 100644
--- a/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/0928-Validate-ResourceLocation-in-NBT-reading.patch
diff --git a/patches/server/0931-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0929-Properly-handle-experience-dropping-on-block-break.patch
index 471a743c29..471a743c29 100644
--- a/patches/server/0931-Properly-handle-experience-dropping-on-block-break.patch
+++ b/patches/server/0929-Properly-handle-experience-dropping-on-block-break.patch
diff --git a/patches/server/0932-Fixup-NamespacedKey-handling.patch b/patches/server/0930-Fixup-NamespacedKey-handling.patch
index 95e2943521..95e2943521 100644
--- a/patches/server/0932-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0930-Fixup-NamespacedKey-handling.patch
diff --git a/patches/server/0933-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0931-Expose-LootTable-of-DecoratedPot.patch
index afa86977a9..afa86977a9 100644
--- a/patches/server/0933-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/server/0931-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0932-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
index 357d185f0a..357d185f0a 100644
--- a/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
+++ b/patches/server/0932-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
diff --git a/patches/server/0935-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0933-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
index a58beffec5..a58beffec5 100644
--- a/patches/server/0935-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
+++ b/patches/server/0933-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
diff --git a/patches/server/0936-Add-ShulkerDuplicateEvent.patch b/patches/server/0934-Add-ShulkerDuplicateEvent.patch
index de864137e2..de864137e2 100644
--- a/patches/server/0936-Add-ShulkerDuplicateEvent.patch
+++ b/patches/server/0934-Add-ShulkerDuplicateEvent.patch
diff --git a/patches/server/0937-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0935-Add-api-for-spawn-egg-texture-colors.patch
index 2462562bb0..2462562bb0 100644
--- a/patches/server/0937-Add-api-for-spawn-egg-texture-colors.patch
+++ b/patches/server/0935-Add-api-for-spawn-egg-texture-colors.patch
diff --git a/patches/server/0938-Add-Lifecycle-Event-system.patch b/patches/server/0936-Add-Lifecycle-Event-system.patch
index dca02a9b63..89149b0c71 100644
--- a/patches/server/0938-Add-Lifecycle-Event-system.patch
+++ b/patches/server/0936-Add-Lifecycle-Event-system.patch
@@ -707,7 +707,7 @@ index 2e96308696e131f3f013469a395e5ddda2c5d529..65a66e484c1c39c5f41d97db52f31c67
} catch (Throwable e) {
LOGGER.error("Failed to run bootstrapper for %s. This plugin will not be loaded.".formatted(provider.getSource()), e);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 4aa8c742411fe9ae1312f3663859eb107fcf68ef..6509b1026980abce194c2703dc2c6243fd5d37b4 100644
+index 56f9b69b5a30c4ee5bcbcb8ae33e26f75b477475..1699f091839eb30fffc064a83ad369b8aee3ed4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1038,6 +1038,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0939-ItemStack-Tooltip-API.patch b/patches/server/0937-ItemStack-Tooltip-API.patch
index 6b01a6f311..6b01a6f311 100644
--- a/patches/server/0939-ItemStack-Tooltip-API.patch
+++ b/patches/server/0937-ItemStack-Tooltip-API.patch
diff --git a/patches/server/0940-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/0938-Add-getChunkSnapshot-includeLightData-parameter.patch
index 54aa35539f..54aa35539f 100644
--- a/patches/server/0940-Add-getChunkSnapshot-includeLightData-parameter.patch
+++ b/patches/server/0938-Add-getChunkSnapshot-includeLightData-parameter.patch
diff --git a/patches/server/0941-Add-FluidState-API.patch b/patches/server/0939-Add-FluidState-API.patch
index aac0912819..aac0912819 100644
--- a/patches/server/0941-Add-FluidState-API.patch
+++ b/patches/server/0939-Add-FluidState-API.patch
diff --git a/patches/server/0942-add-number-format-api.patch b/patches/server/0940-add-number-format-api.patch
index d412b5f929..d412b5f929 100644
--- a/patches/server/0942-add-number-format-api.patch
+++ b/patches/server/0940-add-number-format-api.patch
diff --git a/patches/server/0943-improve-BanList-types.patch b/patches/server/0941-improve-BanList-types.patch
index 92d5d49063..c63e72309a 100644
--- a/patches/server/0943-improve-BanList-types.patch
+++ b/patches/server/0941-improve-BanList-types.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] improve BanList types
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6509b1026980abce194c2703dc2c6243fd5d37b4..3374795786ff6a50e56678a1b3b5098812936439 100644
+index 1699f091839eb30fffc064a83ad369b8aee3ed4f..edd3fc01c3e4f8eeedf9b6e646cd31c3db7a89dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2245,6 +2245,21 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0944-Expanded-Hopper-API.patch b/patches/server/0942-Expanded-Hopper-API.patch
index 2b59ac9974..2b59ac9974 100644
--- a/patches/server/0944-Expanded-Hopper-API.patch
+++ b/patches/server/0942-Expanded-Hopper-API.patch
diff --git a/patches/server/0945-Add-BlockBreakProgressUpdateEvent.patch b/patches/server/0943-Add-BlockBreakProgressUpdateEvent.patch
index 125844c5b6..125844c5b6 100644
--- a/patches/server/0945-Add-BlockBreakProgressUpdateEvent.patch
+++ b/patches/server/0943-Add-BlockBreakProgressUpdateEvent.patch
diff --git a/patches/server/0946-Deprecate-ItemStack-setType.patch b/patches/server/0944-Deprecate-ItemStack-setType.patch
index a909fcfb22..a909fcfb22 100644
--- a/patches/server/0946-Deprecate-ItemStack-setType.patch
+++ b/patches/server/0944-Deprecate-ItemStack-setType.patch
diff --git a/patches/server/0947-Add-CartographyItemEvent.patch b/patches/server/0945-Add-CartographyItemEvent.patch
index 4eb506e6b6..56311c8376 100644
--- a/patches/server/0947-Add-CartographyItemEvent.patch
+++ b/patches/server/0945-Add-CartographyItemEvent.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add CartographyItemEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9e57d0b1222b7dd4b9dd1d9f82b4c2f7fc7bcc3c..42d3bbfc39444e2a26adb0c72e5895acba0a45ed 100644
+index 518b64a3c18ea003109c9b1a1bfe12e29c78e099..dbf67171da1c9eeef65daec6607214174c9d2f64 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3109,6 +3109,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0948-More-Raid-API.patch b/patches/server/0946-More-Raid-API.patch
index a1aa19dfcb..bf5d4e7fc9 100644
--- a/patches/server/0948-More-Raid-API.patch
+++ b/patches/server/0946-More-Raid-API.patch
@@ -86,10 +86,10 @@ index b8ce1c1c2447f9cff1717bfcfd6eb911ade0d4b3..51f21af9d75769abdcba713b9aa33392
+ // Paper end - more Raid API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index cb0f59def0d5ad6e2f80ebe024f12efad9a8d164..951130f8d530b84c96fb8df15122fc570cfe2a47 100644
+index 395da7e8ca0971610f06bf5b8357ef05f2247da6..fc38d65914143aaf93aa85badf3adcdfe4dda1b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2398,6 +2398,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
+@@ -2354,6 +2354,14 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (raid == null) ? null : new CraftRaid(raid);
}
diff --git a/patches/server/0949-Add-onboarding-message-for-initial-server-start.patch b/patches/server/0947-Add-onboarding-message-for-initial-server-start.patch
index af83047339..ca3fd81590 100644
--- a/patches/server/0949-Add-onboarding-message-for-initial-server-start.patch
+++ b/patches/server/0947-Add-onboarding-message-for-initial-server-start.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add onboarding message for initial server start
diff --git a/src/main/java/io/papermc/paper/configuration/Configurations.java b/src/main/java/io/papermc/paper/configuration/Configurations.java
-index 7684e71f802f3d19e5340713b45cc84860ce9495..96142deb42700f888ea08689ab62c27ef2b881fd 100644
+index d9502ba028a96f9cc846f9ed428bd8066b857ca3..87e5f614ba988547a827486740db217e28585773 100644
--- a/src/main/java/io/papermc/paper/configuration/Configurations.java
+++ b/src/main/java/io/papermc/paper/configuration/Configurations.java
@@ -129,6 +129,7 @@ public abstract class Configurations<G, W> {
diff --git a/patches/server/0950-Configurable-max-block-fluid-ticks.patch b/patches/server/0948-Configurable-max-block-fluid-ticks.patch
index 02e6a701ce..02e6a701ce 100644
--- a/patches/server/0950-Configurable-max-block-fluid-ticks.patch
+++ b/patches/server/0948-Configurable-max-block-fluid-ticks.patch
diff --git a/patches/server/0951-Fix-bees-aging-inside-hives.patch b/patches/server/0949-Fix-bees-aging-inside-hives.patch
index ae6a0ff63d..ae6a0ff63d 100644
--- a/patches/server/0951-Fix-bees-aging-inside-hives.patch
+++ b/patches/server/0949-Fix-bees-aging-inside-hives.patch
diff --git a/patches/server/0952-Disable-memory-reserve-allocating.patch b/patches/server/0950-Disable-memory-reserve-allocating.patch
index ea801f5092..ea801f5092 100644
--- a/patches/server/0952-Disable-memory-reserve-allocating.patch
+++ b/patches/server/0950-Disable-memory-reserve-allocating.patch
diff --git a/patches/server/0953-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0951-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
index d98b3aeccc..d98b3aeccc 100644
--- a/patches/server/0953-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
+++ b/patches/server/0951-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch
diff --git a/patches/server/0954-Fix-DamageSource-API.patch b/patches/server/0952-Fix-DamageSource-API.patch
index 483d163cac..483d163cac 100644
--- a/patches/server/0954-Fix-DamageSource-API.patch
+++ b/patches/server/0952-Fix-DamageSource-API.patch
diff --git a/patches/server/0955-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0953-Fix-creation-of-invalid-block-entity-during-world-ge.patch
index fe74841e18..8769e0adaf 100644
--- a/patches/server/0955-Fix-creation-of-invalid-block-entity-during-world-ge.patch
+++ b/patches/server/0953-Fix-creation-of-invalid-block-entity-during-world-ge.patch
@@ -36,7 +36,7 @@ index 682c8cfbd917c086072f1756861a340800ea40da..b26a4a38144ec1b171db911bbf949b53
nbttagcompound.putInt("x", pos.getX());
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index cda4413901fb465a855396e42356adaadefd4195..849efe41ff14be1fc95789b083e340363cbc93ab 100644
+index 46a5d9270aaaccb2df7131fb9c921cccf914085c..8ae6a4311aa52f84130a1eba61a1ad84e2272350 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -1081,9 +1081,14 @@ public class LevelChunk extends ChunkAccess {
diff --git a/patches/server/0956-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/server/0954-Fix-possible-StackOverflowError-for-some-dispenses.patch
index 5a6627392e..5a6627392e 100644
--- a/patches/server/0956-Fix-possible-StackOverflowError-for-some-dispenses.patch
+++ b/patches/server/0954-Fix-possible-StackOverflowError-for-some-dispenses.patch
diff --git a/patches/server/0957-Improve-tag-parser-handling.patch b/patches/server/0955-Improve-tag-parser-handling.patch
index b0e14e3bf0..b89772ccad 100644
--- a/patches/server/0957-Improve-tag-parser-handling.patch
+++ b/patches/server/0955-Improve-tag-parser-handling.patch
@@ -169,7 +169,7 @@ index 898b19887ed34c87003fc63cb5905df2ba6234a5..b47eeb23055b135d5567552ba983bfbc
private void write(FriendlyByteBuf buf) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 42d3bbfc39444e2a26adb0c72e5895acba0a45ed..9116d0c89fc84ee79d2d0b81ade77264c362c25d 100644
+index dbf67171da1c9eeef65daec6607214174c9d2f64..c5b25c70ed435deafcee0a64b4260090b4cfc2e7 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -766,6 +766,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0958-Item-Mutation-Fixes.patch b/patches/server/0956-Item-Mutation-Fixes.patch
index 0e20a90a87..0e20a90a87 100644
--- a/patches/server/0958-Item-Mutation-Fixes.patch
+++ b/patches/server/0956-Item-Mutation-Fixes.patch
diff --git a/patches/server/0959-Per-world-ticks-per-spawn-settings.patch b/patches/server/0957-Per-world-ticks-per-spawn-settings.patch
index bfd6fd26af..bfd6fd26af 100644
--- a/patches/server/0959-Per-world-ticks-per-spawn-settings.patch
+++ b/patches/server/0957-Per-world-ticks-per-spawn-settings.patch
diff --git a/patches/server/0960-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0958-Properly-track-the-changed-item-from-dispense-events.patch
index f0c05e1f86..f0c05e1f86 100644
--- a/patches/server/0960-Properly-track-the-changed-item-from-dispense-events.patch
+++ b/patches/server/0958-Properly-track-the-changed-item-from-dispense-events.patch
diff --git a/patches/server/0961-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0959-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
index 0fd49bd9ed..0fd49bd9ed 100644
--- a/patches/server/0961-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
+++ b/patches/server/0959-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
diff --git a/patches/server/0962-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/server/0960-Fix-tripwire-disarming-not-working-as-intended.patch
index fa7f6bde06..fa7f6bde06 100644
--- a/patches/server/0962-Fix-tripwire-disarming-not-working-as-intended.patch
+++ b/patches/server/0960-Fix-tripwire-disarming-not-working-as-intended.patch
diff --git a/patches/server/0963-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0961-Add-config-for-mobs-immune-to-default-effects.patch
index 5989f9bd5f..5989f9bd5f 100644
--- a/patches/server/0963-Add-config-for-mobs-immune-to-default-effects.patch
+++ b/patches/server/0961-Add-config-for-mobs-immune-to-default-effects.patch
diff --git a/patches/server/0964-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0962-Deep-clone-nbt-tags-in-PDC.patch
index 6a8a671064..6a8a671064 100644
--- a/patches/server/0964-Deep-clone-nbt-tags-in-PDC.patch
+++ b/patches/server/0962-Deep-clone-nbt-tags-in-PDC.patch
diff --git a/patches/server/0965-Support-old-UUID-format-for-NBT.patch b/patches/server/0963-Support-old-UUID-format-for-NBT.patch
index a38c2a7f7b..a38c2a7f7b 100644
--- a/patches/server/0965-Support-old-UUID-format-for-NBT.patch
+++ b/patches/server/0963-Support-old-UUID-format-for-NBT.patch
diff --git a/patches/server/0966-Fix-shield-disable-inconsistency.patch b/patches/server/0964-Fix-shield-disable-inconsistency.patch
index 5653036c7f..5653036c7f 100644
--- a/patches/server/0966-Fix-shield-disable-inconsistency.patch
+++ b/patches/server/0964-Fix-shield-disable-inconsistency.patch
diff --git a/patches/server/0967-Don-t-lose-removed-data-components-in-ItemMeta.patch b/patches/server/0965-Don-t-lose-removed-data-components-in-ItemMeta.patch
index a46f8877b4..a46f8877b4 100644
--- a/patches/server/0967-Don-t-lose-removed-data-components-in-ItemMeta.patch
+++ b/patches/server/0965-Don-t-lose-removed-data-components-in-ItemMeta.patch
diff --git a/patches/server/0968-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0966-Handle-Large-Packets-disconnecting-client.patch
index ea20a101a7..ea20a101a7 100644
--- a/patches/server/0968-Handle-Large-Packets-disconnecting-client.patch
+++ b/patches/server/0966-Handle-Large-Packets-disconnecting-client.patch
diff --git a/patches/server/0969-Fix-ItemFlags.patch b/patches/server/0967-Fix-ItemFlags.patch
index 249bd1854a..249bd1854a 100644
--- a/patches/server/0969-Fix-ItemFlags.patch
+++ b/patches/server/0967-Fix-ItemFlags.patch
diff --git a/patches/server/0970-Fix-helmet-damage-reduction-inconsistencies.patch b/patches/server/0968-Fix-helmet-damage-reduction-inconsistencies.patch
index 1eecc61d78..1eecc61d78 100644
--- a/patches/server/0970-Fix-helmet-damage-reduction-inconsistencies.patch
+++ b/patches/server/0968-Fix-helmet-damage-reduction-inconsistencies.patch
diff --git a/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0969-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
index 4e3efb9b25..4e3efb9b25 100644
--- a/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
+++ b/patches/server/0969-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
diff --git a/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0970-improve-checking-handled-tags-in-itemmeta.patch
index 955dfaca5d..955dfaca5d 100644
--- a/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch
+++ b/patches/server/0970-improve-checking-handled-tags-in-itemmeta.patch
diff --git a/patches/server/0973-General-ItemMeta-fixes.patch b/patches/server/0971-General-ItemMeta-fixes.patch
index ee7ee45e11..ee7ee45e11 100644
--- a/patches/server/0973-General-ItemMeta-fixes.patch
+++ b/patches/server/0971-General-ItemMeta-fixes.patch
diff --git a/patches/server/0974-Expose-hasColor-to-leather-armor.patch b/patches/server/0972-Expose-hasColor-to-leather-armor.patch
index 0cdf66fe04..0cdf66fe04 100644
--- a/patches/server/0974-Expose-hasColor-to-leather-armor.patch
+++ b/patches/server/0972-Expose-hasColor-to-leather-armor.patch
diff --git a/patches/server/0975-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0973-Added-API-to-get-player-ha-proxy-address.patch
index 90f7a32331..b4ce94348c 100644
--- a/patches/server/0975-Added-API-to-get-player-ha-proxy-address.patch
+++ b/patches/server/0973-Added-API-to-get-player-ha-proxy-address.patch
@@ -35,7 +35,7 @@ index 96355e1da8feb6687ea0069dda4a82fcd7e25e8a..1f696644b958538e9f5d568a2e4bba69
} else {
super.channelRead(ctx, msg);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 35ff3eae4f68fd1fe9bacbeacfd826a5022f8899..744ddef0ee833fc5caebe4036638812383f126f3 100644
+index ee937b6b6ee1e4b2fcedd7b200a749ded169eea4..7aa8da8be9007e2c5037a27f53d25037693ed45c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -275,6 +275,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0976-More-Chest-Block-API.patch b/patches/server/0974-More-Chest-Block-API.patch
index 020d97d086..020d97d086 100644
--- a/patches/server/0976-More-Chest-Block-API.patch
+++ b/patches/server/0974-More-Chest-Block-API.patch
diff --git a/patches/server/0977-Print-data-component-type-on-encoding-error.patch b/patches/server/0975-Print-data-component-type-on-encoding-error.patch
index a60bdfee87..a60bdfee87 100644
--- a/patches/server/0977-Print-data-component-type-on-encoding-error.patch
+++ b/patches/server/0975-Print-data-component-type-on-encoding-error.patch
diff --git a/patches/server/0978-Brigadier-based-command-API.patch b/patches/server/0976-Brigadier-based-command-API.patch
index be6bba86f9..e551e947aa 100644
--- a/patches/server/0978-Brigadier-based-command-API.patch
+++ b/patches/server/0976-Brigadier-based-command-API.patch
@@ -2327,7 +2327,7 @@ index b4af03c4bdd1ce0861f36c3b75fc7e89d701c46a..0761d5bc5f2813bb4a9f664ac7a05b97
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 9116d0c89fc84ee79d2d0b81ade77264c362c25d..addf6f02980f0089763c8119623dff6c01259950 100644
+index c5b25c70ed435deafcee0a64b4260090b4cfc2e7..9a558ff3498f13d56156356d286f6c356c9a7afc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2408,33 +2408,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2377,7 +2377,7 @@ index 9116d0c89fc84ee79d2d0b81ade77264c362c25d..addf6f02980f0089763c8119623dff6c
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3374795786ff6a50e56678a1b3b5098812936439..b9bacf85d6e385afb5e0482374998ab598926021 100644
+index edd3fc01c3e4f8eeedf9b6e646cd31c3db7a89dc..77f3ac4e45a691181a94831cf49f7840c9f88e3a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -272,11 +272,11 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0979-Fix-issues-with-Recipe-API.patch b/patches/server/0977-Fix-issues-with-Recipe-API.patch
index b6f0cb1a91..b6f0cb1a91 100644
--- a/patches/server/0979-Fix-issues-with-Recipe-API.patch
+++ b/patches/server/0977-Fix-issues-with-Recipe-API.patch
diff --git a/patches/server/0980-Fix-equipment-slot-and-group-API.patch b/patches/server/0978-Fix-equipment-slot-and-group-API.patch
index eaaf981851..eaaf981851 100644
--- a/patches/server/0980-Fix-equipment-slot-and-group-API.patch
+++ b/patches/server/0978-Fix-equipment-slot-and-group-API.patch
diff --git a/patches/server/0981-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0979-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
index 980c3dc8a0..980c3dc8a0 100644
--- a/patches/server/0981-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
+++ b/patches/server/0979-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch
diff --git a/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0980-Prevent-sending-oversized-item-data-in-equipment-and.patch
index b1d8b519d5..b686bee3b0 100644
--- a/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0980-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -201,7 +201,7 @@ index 0e7ace92522fbd4cef7b2c2b8a0f8b86c2cce192..1d849ce4e2c85f149af25318b8ffb6dc
((LivingEntity) this.entity).detectEquipmentUpdatesPublic(); // CraftBukkit - SPIGOT-3789: sync again immediately after sending
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index addf6f02980f0089763c8119623dff6c01259950..ea0fc33d12a2147db71347c88df1df6cddc52e84 100644
+index 9a558ff3498f13d56156356d286f6c356c9a7afc..a21d4fc368f57023c00f9d114a3a43b032f3d8cb 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2732,7 +2732,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0983-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0981-Prevent-NPE-if-hooked-entity-was-cleared.patch
index 8d3547db93..8d3547db93 100644
--- a/patches/server/0983-Prevent-NPE-if-hooked-entity-was-cleared.patch
+++ b/patches/server/0981-Prevent-NPE-if-hooked-entity-was-cleared.patch
diff --git a/patches/server/0984-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0982-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
index cb3b39105d..7c3afdd7bb 100644
--- a/patches/server/0984-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
+++ b/patches/server/0982-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch
@@ -33,7 +33,7 @@ index dd519eacd6d4bea5447bea471f0ac6540d9bb49c..6f822e9487bef5b9766d5ae86ebbd687
public Map<BlockPos, BlockEntity> capturedTileEntities = new java.util.LinkedHashMap<>(); // Paper - Retain block place order when capturing blockstates
public List<ItemEntity> captureDrops;
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
-index 849efe41ff14be1fc95789b083e340363cbc93ab..f0e88f4613eb22d6685fe010da01daef573f8079 100644
+index 8ae6a4311aa52f84130a1eba61a1ad84e2272350..6c0e12c9c9c0fb8377cd1f48a43ca75c9fc3e58e 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -444,7 +444,7 @@ public class LevelChunk extends ChunkAccess {
diff --git a/patches/server/0985-Add-missing-fishing-event-state.patch b/patches/server/0983-Add-missing-fishing-event-state.patch
index 6ad1a92dd0..6ad1a92dd0 100644
--- a/patches/server/0985-Add-missing-fishing-event-state.patch
+++ b/patches/server/0983-Add-missing-fishing-event-state.patch
diff --git a/patches/server/0986-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0984-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
index 3f1ad82c43..b0f57581f4 100644
--- a/patches/server/0986-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
+++ b/patches/server/0984-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate InvAction#HOTBAR_MOVE_AND_READD
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index ea0fc33d12a2147db71347c88df1df6cddc52e84..258d0193d23041fb4be0e5b4b1eb31d8a4011331 100644
+index a21d4fc368f57023c00f9d114a3a43b032f3d8cb..60f6f17aea41ffaa277bff380924cc752eb3e62a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2998,14 +2998,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/0987-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0985-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
index 1abf467e7e..1abf467e7e 100644
--- a/patches/server/0987-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
+++ b/patches/server/0985-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch
diff --git a/patches/server/0988-Adopt-MaterialRerouting.patch b/patches/server/0986-Adopt-MaterialRerouting.patch
index c1057b6bc1..c1057b6bc1 100644
--- a/patches/server/0988-Adopt-MaterialRerouting.patch
+++ b/patches/server/0986-Adopt-MaterialRerouting.patch
diff --git a/patches/server/0668-Implement-regenerateChunk.patch b/patches/unapplied/server/0668-Implement-regenerateChunk.patch
index bb3ae478ae..bb3ae478ae 100644
--- a/patches/server/0668-Implement-regenerateChunk.patch
+++ b/patches/unapplied/server/0668-Implement-regenerateChunk.patch