diff options
-rw-r--r-- | patches/api/0006-Adventure.patch | 4 | ||||
-rw-r--r-- | patches/api/0009-Paper-Plugins.patch | 6 | ||||
-rw-r--r-- | patches/api/0015-Expose-server-build-information.patch | 4 | ||||
-rw-r--r-- | patches/api/0053-Fix-upstream-javadocs.patch | 8 | ||||
-rw-r--r-- | patches/api/0142-Improve-death-events.patch | 4 | ||||
-rw-r--r-- | patches/api/0166-Fix-Spigot-annotation-mistakes.patch | 6 | ||||
-rw-r--r-- | patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch | 4 | ||||
-rw-r--r-- | patches/api/0202-Add-methods-to-get-translation-keys.patch | 53 | ||||
-rw-r--r-- | patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch | 4 | ||||
-rw-r--r-- | patches/api/0236-Add-RegistryAccess-for-managing-registries.patch | 48 | ||||
-rw-r--r-- | patches/api/0253-Expand-world-key-API.patch | 4 | ||||
-rw-r--r-- | patches/api/0255-Expose-protocol-version.patch | 4 | ||||
-rw-r--r-- | patches/api/0270-Add-basic-Datapack-API.patch | 4 | ||||
-rw-r--r-- | patches/api/0272-ItemStack-repair-check-API.patch | 4 | ||||
-rw-r--r-- | patches/api/0304-Get-entity-default-attributes.patch | 8 | ||||
-rw-r--r-- | patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch | 4 | ||||
-rw-r--r-- | patches/api/0329-More-PotionEffectType-API.patch | 4 | ||||
-rw-r--r-- | patches/api/0358-Add-NamespacedKey-biome-methods.patch | 8 | ||||
-rw-r--r-- | patches/api/0378-Add-missing-Fluid-type.patch | 23 | ||||
-rw-r--r-- | patches/api/0378-fix-Instruments.patch (renamed from patches/api/0379-fix-Instruments.patch) | 0 | ||||
-rw-r--r-- | patches/api/0379-Add-BlockLockCheckEvent.patch (renamed from patches/api/0380-Add-BlockLockCheckEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0380-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0381-Add-Sneaking-API-for-Entities.patch) | 0 | ||||
-rw-r--r-- | patches/api/0381-Improve-PortalEvents.patch (renamed from patches/api/0382-Improve-PortalEvents.patch) | 0 | ||||
-rw-r--r-- | patches/api/0382-Flying-Fall-Damage-API.patch (renamed from patches/api/0383-Flying-Fall-Damage-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0383-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0384-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch) | 0 | ||||
-rw-r--r-- | patches/api/0384-Win-Screen-API.patch (renamed from patches/api/0385-Win-Screen-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0385-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0386-Add-Entity-Body-Yaw-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0386-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0387-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch) | 0 | ||||
-rw-r--r-- | patches/api/0387-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0388-Add-EntityFertilizeEggEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0388-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0389-Add-CompostItemEvent-and-EntityCompostItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0389-Add-Shearable-API.patch (renamed from patches/api/0390-Add-Shearable-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0391-Fix-SpawnEggMeta-get-setSpawnedType.patch) | 0 | ||||
-rw-r--r-- | patches/api/0391-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0392-Add-Mob-Experience-reward-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0392-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0393-Expand-PlayerItemMendEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0393-Add-method-to-remove-all-active-potion-effects.patch (renamed from patches/api/0394-Add-method-to-remove-all-active-potion-effects.patch) | 0 | ||||
-rw-r--r-- | patches/api/0394-Folia-scheduler-and-owned-region-API.patch (renamed from patches/api/0395-Folia-scheduler-and-owned-region-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0395-Add-event-for-player-editing-sign.patch (renamed from patches/api/0396-Add-event-for-player-editing-sign.patch) | 0 | ||||
-rw-r--r-- | patches/api/0396-More-Sign-Block-API.patch (renamed from patches/api/0397-More-Sign-Block-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0397-Fix-BanList-API.patch (renamed from patches/api/0398-Fix-BanList-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0398-Add-whitelist-events.patch (renamed from patches/api/0399-Add-whitelist-events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0399-API-for-updating-recipes-on-clients.patch (renamed from patches/api/0400-API-for-updating-recipes-on-clients.patch) | 0 | ||||
-rw-r--r-- | patches/api/0400-Add-PlayerFailMoveEvent.patch (renamed from patches/api/0401-Add-PlayerFailMoveEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0401-Fix-custom-statistic-criteria-creation.patch (renamed from patches/api/0402-Fix-custom-statistic-criteria-creation.patch) | 6 | ||||
-rw-r--r-- | patches/api/0402-SculkCatalyst-bloom-API.patch (renamed from patches/api/0403-SculkCatalyst-bloom-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0403-API-for-an-entity-s-scoreboard-name.patch (renamed from patches/api/0404-API-for-an-entity-s-scoreboard-name.patch) | 0 | ||||
-rw-r--r-- | patches/api/0404-Deprecate-and-replace-methods-with-old-StructureType.patch (renamed from patches/api/0405-Deprecate-and-replace-methods-with-old-StructureType.patch) | 0 | ||||
-rw-r--r-- | patches/api/0405-Add-Listing-API-for-Player.patch (renamed from patches/api/0406-Add-Listing-API-for-Player.patch) | 0 | ||||
-rw-r--r-- | patches/api/0406-Expose-clicked-BlockFace-during-BlockDamageEvent.patch (renamed from patches/api/0407-Expose-clicked-BlockFace-during-BlockDamageEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0407-Fix-NPE-on-Boat-getStatus.patch (renamed from patches/api/0408-Fix-NPE-on-Boat-getStatus.patch) | 0 | ||||
-rw-r--r-- | patches/api/0408-Expand-Pose-API.patch (renamed from patches/api/0409-Expand-Pose-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0409-MerchantRecipe-add-copy-constructor.patch (renamed from patches/api/0410-MerchantRecipe-add-copy-constructor.patch) | 0 | ||||
-rw-r--r-- | patches/api/0410-More-DragonBattle-API.patch (renamed from patches/api/0411-More-DragonBattle-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0411-Add-PlayerPickItemEvent.patch (renamed from patches/api/0412-Add-PlayerPickItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0412-Allow-trident-custom-damage.patch (renamed from patches/api/0413-Allow-trident-custom-damage.patch) | 0 | ||||
-rw-r--r-- | patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch (renamed from patches/api/0414-Expose-hand-during-BlockCanBuildEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0414-Limit-setBurnTime-to-valid-short-values.patch (renamed from patches/api/0415-Limit-setBurnTime-to-valid-short-values.patch) | 0 | ||||
-rw-r--r-- | patches/api/0415-Add-OfflinePlayer-isConnected.patch (renamed from patches/api/0416-Add-OfflinePlayer-isConnected.patch) | 0 | ||||
-rw-r--r-- | patches/api/0416-Add-titleOverride-to-InventoryOpenEvent.patch (renamed from patches/api/0417-Add-titleOverride-to-InventoryOpenEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0417-Allow-proper-checking-of-empty-item-stacks.patch (renamed from patches/api/0418-Allow-proper-checking-of-empty-item-stacks.patch) | 0 | ||||
-rw-r--r-- | patches/api/0418-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch (renamed from patches/api/0419-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch) | 0 | ||||
-rw-r--r-- | patches/api/0419-Add-player-idle-duration-API.patch (renamed from patches/api/0420-Add-player-idle-duration-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0420-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/api/0421-Add-API-to-get-the-collision-shape-of-a-block-before.patch) | 0 | ||||
-rw-r--r-- | patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/api/0422-Add-predicate-for-blocks-when-raytracing.patch) | 0 | ||||
-rw-r--r-- | patches/api/0422-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/api/0423-Add-hand-to-fish-event-for-all-player-interactions.patch) | 0 | ||||
-rw-r--r-- | patches/api/0423-Attribute-Modifier-API-improvements.patch (renamed from patches/api/0424-Attribute-Modifier-API-improvements.patch) | 0 | ||||
-rw-r--r-- | patches/api/0424-Expand-LingeringPotion-API.patch (renamed from patches/api/0425-Expand-LingeringPotion-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0425-Remove-unnecessary-durability-check-in-ItemStack-isS.patch (renamed from patches/api/0426-Remove-unnecessary-durability-check-in-ItemStack-isS.patch) | 0 | ||||
-rw-r--r-- | patches/api/0426-Add-Structure-check-API.patch (renamed from patches/api/0427-Add-Structure-check-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0427-Experimental-annotations-change.patch (renamed from patches/api/0428-Experimental-annotations-change.patch) | 0 | ||||
-rw-r--r-- | patches/api/0428-Add-more-scoreboard-API.patch (renamed from patches/api/0429-Add-more-scoreboard-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0429-Improve-Registry.patch (renamed from patches/api/0430-Improve-Registry.patch) | 6 | ||||
-rw-r--r-- | patches/api/0430-Add-experience-points-API.patch (renamed from patches/api/0431-Add-experience-points-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0431-Add-missing-InventoryType.patch (renamed from patches/api/0432-Add-missing-InventoryType.patch) | 0 | ||||
-rw-r--r-- | patches/api/0432-Add-drops-to-shear-events.patch (renamed from patches/api/0433-Add-drops-to-shear-events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0433-Add-HiddenPotionEffect-API.patch (renamed from patches/api/0434-Add-HiddenPotionEffect-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0434-Add-PlayerShieldDisableEvent.patch (renamed from patches/api/0435-Add-PlayerShieldDisableEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0435-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch (renamed from patches/api/0436-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch) | 0 | ||||
-rw-r--r-- | patches/api/0436-Add-BlockStateMeta-clearBlockState.patch (renamed from patches/api/0437-Add-BlockStateMeta-clearBlockState.patch) | 0 | ||||
-rw-r--r-- | patches/api/0437-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/api/0438-Expose-LootTable-of-DecoratedPot.patch) | 0 | ||||
-rw-r--r-- | patches/api/0438-Add-ShulkerDuplicateEvent.patch (renamed from patches/api/0439-Add-ShulkerDuplicateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0439-Add-api-for-spawn-egg-texture-colors.patch (renamed from patches/api/0440-Add-api-for-spawn-egg-texture-colors.patch) | 4 | ||||
-rw-r--r-- | patches/api/0440-Add-Lifecycle-Event-system.patch (renamed from patches/api/0441-Add-Lifecycle-Event-system.patch) | 4 | ||||
-rw-r--r-- | patches/api/0441-ItemStack-Tooltip-API.patch (renamed from patches/api/0442-ItemStack-Tooltip-API.patch) | 4 | ||||
-rw-r--r-- | patches/api/0442-Add-getChunkSnapshot-includeLightData-parameter.patch (renamed from patches/api/0443-Add-getChunkSnapshot-includeLightData-parameter.patch) | 0 | ||||
-rw-r--r-- | patches/api/0443-Add-FluidState-API.patch (renamed from patches/api/0444-Add-FluidState-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0444-add-number-format-api.patch (renamed from patches/api/0445-add-number-format-api.patch) | 0 | ||||
-rw-r--r-- | patches/api/0445-improve-BanList-types.patch (renamed from patches/api/0446-improve-BanList-types.patch) | 0 | ||||
-rw-r--r-- | patches/api/0446-Suspicious-Effect-Entry-API.patch (renamed from patches/api/0447-Suspicious-Effect-Entry-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0447-Fix-DamageSource-API.patch (renamed from patches/api/0448-Fix-DamageSource-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0448-Expanded-Hopper-API.patch (renamed from patches/api/0449-Expanded-Hopper-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0449-Clone-mutables-to-prevent-unexpected-issues.patch (renamed from patches/api/0450-Clone-mutables-to-prevent-unexpected-issues.patch) | 0 | ||||
-rw-r--r-- | patches/api/0450-Add-BlockBreakProgressUpdateEvent.patch (renamed from patches/api/0451-Add-BlockBreakProgressUpdateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0451-Deprecate-ItemStack-setType.patch (renamed from patches/api/0452-Deprecate-ItemStack-setType.patch) | 0 | ||||
-rw-r--r-- | patches/api/0452-Item-Mutation-Fixes.patch (renamed from patches/api/0453-Item-Mutation-Fixes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0453-API-for-checking-sent-chunks.patch (renamed from patches/api/0454-API-for-checking-sent-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/api/0454-Add-CartographyItemEvent.patch (renamed from patches/api/0455-Add-CartographyItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0455-More-Raid-API.patch (renamed from patches/api/0456-More-Raid-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0456-Fix-SpawnerEntry-Equipment-API.patch (renamed from patches/api/0457-Fix-SpawnerEntry-Equipment-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0457-Fix-ItemFlags.patch (renamed from patches/api/0458-Fix-ItemFlags.patch) | 0 | ||||
-rw-r--r-- | patches/api/0458-Allow-modifying-library-loader-jars-bytecode.patch (renamed from patches/api/0459-Allow-modifying-library-loader-jars-bytecode.patch) | 0 | ||||
-rw-r--r-- | patches/api/0459-Add-hook-to-remap-library-jars.patch (renamed from patches/api/0460-Add-hook-to-remap-library-jars.patch) | 0 | ||||
-rw-r--r-- | patches/api/0460-Add-GameMode-isInvulnerable.patch (renamed from patches/api/0461-Add-GameMode-isInvulnerable.patch) | 0 | ||||
-rw-r--r-- | patches/api/0461-Expose-hasColor-to-leather-armor.patch (renamed from patches/api/0462-Expose-hasColor-to-leather-armor.patch) | 0 | ||||
-rw-r--r-- | patches/api/0462-Added-API-to-get-player-ha-proxy-address.patch (renamed from patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch) | 0 | ||||
-rw-r--r-- | patches/api/0463-More-Chest-Block-API.patch (renamed from patches/api/0464-More-Chest-Block-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0464-Brigadier-based-command-API.patch (renamed from patches/api/0465-Brigadier-based-command-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0465-Fix-issues-with-recipe-API.patch (renamed from patches/api/0466-Fix-issues-with-recipe-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0466-Fix-equipment-slot-and-group-API.patch (renamed from patches/api/0467-Fix-equipment-slot-and-group-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0467-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (renamed from patches/api/0468-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0468-General-ItemMeta-fixes.patch (renamed from patches/api/0469-General-ItemMeta-fixes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0469-Add-missing-fishing-event-state.patch (renamed from patches/api/0470-Add-missing-fishing-event-state.patch) | 0 | ||||
-rw-r--r-- | patches/api/0470-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (renamed from patches/api/0471-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch) | 0 | ||||
-rw-r--r-- | patches/api/0471-Registry-Modification-API.patch (renamed from patches/api/0472-Registry-Modification-API.patch) | 12 | ||||
-rw-r--r-- | patches/api/0472-Introduce-registry-entry-and-builders.patch (renamed from patches/api/0473-Introduce-registry-entry-and-builders.patch) | 0 | ||||
-rw-r--r-- | patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch (renamed from patches/api/0474-Proxy-ItemStack-to-CraftItemStack.patch) | 4 | ||||
-rw-r--r-- | patches/api/0474-Make-a-PDC-view-accessible-directly-from-ItemStack.patch (renamed from patches/api/0475-Make-a-PDC-view-accessible-directly-from-ItemStack.patch) | 0 | ||||
-rw-r--r-- | patches/api/0475-Fix-HelpCommand-searching.patch (renamed from patches/api/0476-Fix-HelpCommand-searching.patch) | 0 | ||||
-rw-r--r-- | patches/api/0476-add-Plugin-getDataPath.patch (renamed from patches/api/0477-add-Plugin-getDataPath.patch) | 0 | ||||
-rw-r--r-- | patches/api/0477-Fix-PickupStatus-getting-reset.patch (renamed from patches/api/0478-Fix-PickupStatus-getting-reset.patch) | 0 | ||||
-rw-r--r-- | patches/api/0478-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch (renamed from patches/api/0479-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch) | 0 | ||||
-rw-r--r-- | patches/api/0479-Improve-StandardMessenger-exception-messages.patch (renamed from patches/api/0480-Improve-StandardMessenger-exception-messages.patch) | 0 | ||||
-rw-r--r-- | patches/api/0480-Add-even-more-Enchantment-API.patch (renamed from patches/api/0481-Add-even-more-Enchantment-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0481-Leashable-API.patch (renamed from patches/api/0482-Leashable-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0482-Add-enchantment-seed-update-API.patch (renamed from patches/api/0483-Add-enchantment-seed-update-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch (renamed from patches/api/0484-Deprecate-for-removal-all-OldEnum-related-methods.patch) | 0 | ||||
-rw-r--r-- | patches/api/0484-Add-FeatureFlag-API.patch (renamed from patches/api/0485-Add-FeatureFlag-API.patch) | 8 | ||||
-rw-r--r-- | patches/api/0485-Tag-Lifecycle-Events.patch (renamed from patches/api/0486-Tag-Lifecycle-Events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0486-Item-serialization-as-json.patch (renamed from patches/api/0487-Item-serialization-as-json.patch) | 4 | ||||
-rw-r--r-- | patches/api/0487-create-TileStateInventoryHolder.patch (renamed from patches/api/0488-create-TileStateInventoryHolder.patch) | 0 | ||||
-rw-r--r-- | patches/api/0488-Add-enchantWithLevels-with-enchantment-registry-set.patch (renamed from patches/api/0489-Add-enchantWithLevels-with-enchantment-registry-set.patch) | 0 | ||||
-rw-r--r-- | patches/api/0489-Improve-entity-effect-API.patch (renamed from patches/api/0490-Improve-entity-effect-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0490-Add-recipeBrewTime.patch (renamed from patches/api/0491-Add-recipeBrewTime.patch) | 0 | ||||
-rw-r--r-- | patches/api/0491-Add-PlayerInsertLecternBookEvent.patch (renamed from patches/api/0492-Add-PlayerInsertLecternBookEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0492-Void-damage-configuration-API.patch (renamed from patches/api/0493-Void-damage-configuration-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0493-Add-Offline-PDC-API.patch (renamed from patches/api/0494-Add-Offline-PDC-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0494-Add-AnvilView-bypassEnchantmentLevelRestriction.patch (renamed from patches/api/0495-Add-AnvilView-bypassEnchantmentLevelRestriction.patch) | 0 | ||||
-rw-r--r-- | patches/api/0495-fix-DamageTypeTags-init.patch (renamed from patches/api/0496-fix-DamageTypeTags-init.patch) | 0 | ||||
-rw-r--r-- | patches/server/0008-CB-fixes.patch | 17 | ||||
-rw-r--r-- | patches/server/0010-Adventure.patch | 8 | ||||
-rw-r--r-- | patches/server/0019-Paper-Plugins.patch | 6 | ||||
-rw-r--r-- | patches/server/0021-Hook-into-CB-plugin-rewrites.patch | 16 | ||||
-rw-r--r-- | patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch | 14 | ||||
-rw-r--r-- | patches/server/0033-Expose-server-build-information.patch | 8 | ||||
-rw-r--r-- | patches/server/0176-Player.setPlayerProfile-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0241-Improve-death-events.patch | 4 | ||||
-rw-r--r-- | patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch | 4 | ||||
-rw-r--r-- | patches/server/0401-Add-methods-to-get-translation-keys.patch | 16 | ||||
-rw-r--r-- | patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch | 4 | ||||
-rw-r--r-- | patches/server/0424-Fix-client-lag-on-advancement-loading.patch | 4 | ||||
-rw-r--r-- | patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch | 53 | ||||
-rw-r--r-- | patches/server/0496-Expand-world-key-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0501-Expose-protocol-version.patch | 4 | ||||
-rw-r--r-- | patches/server/0528-ItemStack-repair-check-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0535-Improve-item-default-attribute-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0580-Get-entity-default-attributes.patch | 10 | ||||
-rw-r--r-- | patches/server/0582-Add-more-advancement-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch | 4 | ||||
-rw-r--r-- | patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch | 28 | ||||
-rw-r--r-- | patches/server/0726-Add-NamespacedKey-biome-methods.patch | 11 | ||||
-rw-r--r-- | patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch | 4 | ||||
-rw-r--r-- | patches/server/0845-Fix-custom-statistic-criteria-creation.patch | 8 | ||||
-rw-r--r-- | patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch | 4 | ||||
-rw-r--r-- | patches/server/0905-Improve-Registry.patch | 8 | ||||
-rw-r--r-- | patches/server/0912-Fixup-NamespacedKey-handling.patch | 8 | ||||
-rw-r--r-- | patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch | 4 | ||||
-rw-r--r-- | patches/server/0918-Add-Lifecycle-Event-system.patch | 6 | ||||
-rw-r--r-- | patches/server/0919-ItemStack-Tooltip-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch | 6 | ||||
-rw-r--r-- | patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch | 16 | ||||
-rw-r--r-- | patches/server/0953-General-ItemMeta-fixes.patch | 11 | ||||
-rw-r--r-- | patches/server/0993-Registry-Modification-API.patch | 16 | ||||
-rw-r--r-- | patches/server/0994-Add-registry-entry-and-builders.patch | 8 | ||||
-rw-r--r-- | patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch | 4 | ||||
-rw-r--r-- | patches/server/1020-Add-FeatureFlag-API.patch | 12 | ||||
-rw-r--r-- | patches/server/1022-Item-serialization-as-json.patch | 4 | ||||
-rw-r--r-- | patches/server/1037-Rewrite-dataconverter-system.patch | 6 | ||||
m--------- | work/Bukkit | 0 | ||||
m--------- | work/CraftBukkit | 0 |
179 files changed, 301 insertions, 321 deletions
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index da57b44ba1..db5ecc6561 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -1555,10 +1555,10 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68 + // Paper end } diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 0bb3637d73132f1882af38ca7ad6864a44812edc..9ba1a4e838538ecd55f4f8e50ffb0c5f1f474382 100644 +index 752fef0205d7edc09a7072e4ca63152b12eb28ec..1ed3f8dae84c10cb3245d08fa776396a695b5c2f 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -30,6 +30,15 @@ import org.jetbrains.annotations.Nullable; +@@ -31,6 +31,15 @@ import org.jetbrains.annotations.Nullable; */ @Deprecated public interface UnsafeValues { diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch index b9fcf1aeb9..74ff26e12a 100644 --- a/patches/api/0009-Paper-Plugins.patch +++ b/patches/api/0009-Paper-Plugins.patch @@ -1325,13 +1325,13 @@ index 0000000000000000000000000000000000000000..48a67c1b6070292dbf4ea3081f89b530 + +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 9ba1a4e838538ecd55f4f8e50ffb0c5f1f474382..d8b346fe0f9634218954fe818d53272a0896af9c 100644 +index 1ed3f8dae84c10cb3245d08fa776396a695b5c2f..e320729782245b5511cd744c417141508020fd26 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -141,4 +141,14 @@ public interface UnsafeValues { +@@ -146,4 +146,14 @@ public interface UnsafeValues { @ApiStatus.Internal - <B extends Keyed> B get(Registry<B> registry, NamespacedKey key); + Biome getCustomBiome(); + + // Paper start + @Deprecated(forRemoval = true) diff --git a/patches/api/0015-Expose-server-build-information.patch b/patches/api/0015-Expose-server-build-information.patch index 2853b45626..1865aaa0f5 100644 --- a/patches/api/0015-Expose-server-build-information.patch +++ b/patches/api/0015-Expose-server-build-information.patch @@ -316,10 +316,10 @@ index ba28d9f3213ca4b5f15178dc637bff37a8896edc..8a07f21eeb04fb54032ce377a1478f60 * Gets a view of all currently logged in players. This {@linkplain * Collections#unmodifiableCollection(Collection) view} is a reused diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index d8b346fe0f9634218954fe818d53272a0896af9c..45ed0007d6de20b98794b3ccaef57aed213e72d4 100644 +index e320729782245b5511cd744c417141508020fd26..8b5e4756d1c80e55be166dbe1faf57799f9cc03b 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -151,4 +151,13 @@ public interface UnsafeValues { +@@ -156,4 +156,13 @@ public interface UnsafeValues { return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion()); } // Paper end diff --git a/patches/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch index 151552e5d6..cb77c4cd82 100644 --- a/patches/api/0053-Fix-upstream-javadocs.patch +++ b/patches/api/0053-Fix-upstream-javadocs.patch @@ -590,7 +590,7 @@ index 9513ce004101bd1bef90ca4a558f6b7c28d97adb..c8ba70f787a3460c1f9faaeaab086e9e * not provided. This might result in newer versions not loading the * pack correctly. diff --git a/src/main/java/org/bukkit/entity/Slime.java b/src/main/java/org/bukkit/entity/Slime.java -index a5ad3250cebfeb302c58e0bfd6db1295913c927e..bfac874840cf1f36afba16ae4d176c5821a68cfb 100644 +index a5ad3250cebfeb302c58e0bfd6db1295913c927e..0a2d603bf6a3f60d3fa7d85df6ef2373fc93d848 100644 --- a/src/main/java/org/bukkit/entity/Slime.java +++ b/src/main/java/org/bukkit/entity/Slime.java @@ -11,6 +11,16 @@ public interface Slime extends Mob, Enemy { @@ -600,9 +600,9 @@ index a5ad3250cebfeb302c58e0bfd6db1295913c927e..bfac874840cf1f36afba16ae4d176c58 + * Setting the size of the slime (regardless of previous size) + * will set the following attributes: + * <ul> -+ * <li>{@link org.bukkit.attribute.Attribute#GENERIC_MAX_HEALTH}</li> -+ * <li>{@link org.bukkit.attribute.Attribute#GENERIC_MOVEMENT_SPEED}</li> -+ * <li>{@link org.bukkit.attribute.Attribute#GENERIC_ATTACK_DAMAGE}</li> ++ * <li>{@link org.bukkit.attribute.Attribute#MAX_HEALTH}</li> ++ * <li>{@link org.bukkit.attribute.Attribute#MOVEMENT_SPEED}</li> ++ * <li>{@link org.bukkit.attribute.Attribute#ATTACK_DAMAGE}</li> + * </ul> + * to their per-size defaults and heal the + * slime to its max health (assuming it's alive). diff --git a/patches/api/0142-Improve-death-events.patch b/patches/api/0142-Improve-death-events.patch index 3f91458a84..1ddc0abdba 100644 --- a/patches/api/0142-Improve-death-events.patch +++ b/patches/api/0142-Improve-death-events.patch @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java b/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java -index b0c069f65da29c6e9eff8e0490fda43a6bed307c..81a3067ff5ae22943b66051f4613ab9fe095720c 100644 +index b0c069f65da29c6e9eff8e0490fda43a6bed307c..086bec9daa89315b1d4719ab74de0e889f93e340 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDeathEvent.java @@ -6,15 +6,25 @@ import org.bukkit.entity.LivingEntity; @@ -79,7 +79,7 @@ index b0c069f65da29c6e9eff8e0490fda43a6bed307c..81a3067ff5ae22943b66051f4613ab9f + * @throws IllegalArgumentException Thrown if the health is {@literal <= 0 or >} max health + */ + public void setReviveHealth(double reviveHealth) throws IllegalArgumentException { -+ double maxHealth = ((LivingEntity) entity).getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).getValue(); ++ double maxHealth = ((LivingEntity) entity).getAttribute(org.bukkit.attribute.Attribute.MAX_HEALTH).getValue(); + if ((maxHealth != 0 && reviveHealth <= 0) || (reviveHealth > maxHealth)) { + throw new IllegalArgumentException("Health must be between 0 (exclusive) and " + maxHealth + " (inclusive), but was " + reviveHealth); + } diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch index bcff5eb5a0..300cf32990 100644 --- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch @@ -453,7 +453,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f return note; } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 30ba3daba730c2994b589cc321d66b503da2fe8b..4e67b944351ec3743e5eeaba3f5de99e0df15154 100644 +index 774f9bd0ef95d385dc3f715753c83e05fcc2bdff..26399345dd02031712994da1553417186b8c7370 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -248,14 +248,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> { @@ -837,10 +837,10 @@ index 3afe2787de576f7190d87c796bea0ab34dc30248..875817b807c9f515eb07b03cc85d3689 /** diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index f5b0ff195b3f7cf1c5b8ebe2fb8cefcf6c1012f4..1c1cdfd6b5a98a378ff7bb7bb3201e84662b52f3 100644 +index 17d9669be0eb48e54b230ad15e66463167cfb7d6..e758a13ea84f472dcdf7fe31e2ea23c0e554c4c7 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -424,9 +424,9 @@ public enum EntityType implements Keyed, Translatable { +@@ -428,9 +428,9 @@ public enum EntityType implements Keyed, Translatable { * * @param name the entity type's name * @return the matching entity type or null diff --git a/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch index b852c64ded..1d4c5dfaea 100644 --- a/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0182-Add-Raw-Byte-ItemStack-Serialization.patch @@ -8,10 +8,10 @@ Serializes using NBT which is safer for server data migrations than bukkits form Co-authored-by: Nassim Jahnke <[email protected]> diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 45ed0007d6de20b98794b3ccaef57aed213e72d4..dd81e309c584e37e4bc7644261ecc649e1237570 100644 +index 8b5e4756d1c80e55be166dbe1faf57799f9cc03b..66d29e7f4187309d4a55202d1bda4b94e42211b0 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -159,5 +159,9 @@ public interface UnsafeValues { +@@ -164,5 +164,9 @@ public interface UnsafeValues { default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher(); } diff --git a/patches/api/0202-Add-methods-to-get-translation-keys.patch b/patches/api/0202-Add-methods-to-get-translation-keys.patch index 825d506e8a..13d99de8c2 100644 --- a/patches/api/0202-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0202-Add-methods-to-get-translation-keys.patch @@ -235,53 +235,40 @@ index e3faa2c675c85a9cbdbbb1debec0ff81c58a1bbd..fd1629c2d2028a88fb3d56b0aeb833d1 String getTranslationKey(); } diff --git a/src/main/java/org/bukkit/attribute/Attribute.java b/src/main/java/org/bukkit/attribute/Attribute.java -index e5a9d1692f0f6fd8e9ac4903782e9330b4da6ef3..6075cd2a88394cd7f0ce2470e732a45094b033c0 100644 +index 951c23491390c2c8693d415598ef2de712189220..21f9998b472dc18eb308554f5cdf467f6675f2f0 100644 --- a/src/main/java/org/bukkit/attribute/Attribute.java +++ b/src/main/java/org/bukkit/attribute/Attribute.java -@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; +@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull; /** * Types of attributes which may be present on an {@link Attributable}. */ --public enum Attribute implements Keyed, Translatable { -+public enum Attribute implements Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations +-public interface Attribute extends OldEnum<Attribute>, Keyed, Translatable { ++public interface Attribute extends OldEnum<Attribute>, Keyed, Translatable, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations /** * Maximum health of an Entity. -@@ -157,4 +157,12 @@ public enum Attribute implements Keyed, Translatable { - public String getTranslationKey() { - return Bukkit.getUnsafe().getTranslationKey(this); - } -+ -+ // Paper start -+ @SuppressWarnings("deprecation") -+ @Override -+ public @NotNull String translationKey() { -+ return Bukkit.getUnsafe().getTranslationKey(this); -+ } -+ // Paper end - } diff --git a/src/main/java/org/bukkit/block/Biome.java b/src/main/java/org/bukkit/block/Biome.java -index 2201b63e7335b12622268a3ef40d1fcb06c1d705..b71975b904d48e22a0e2134bb0e8231679dd9700 100644 +index f46932a12f46895ae10b63f7fbb54750da1bd2ba..b352886e697a1c9869226b583da5240592575064 100644 --- a/src/main/java/org/bukkit/block/Biome.java +++ b/src/main/java/org/bukkit/block/Biome.java -@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; - /** - * Holds all accepted Biomes in the default server +@@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; + * There may be additional biomes present in the server, for example from a {@link DataPack} + * which can be accessed via {@link Registry#BIOME}. */ --public enum Biome implements Keyed { -+public enum Biome implements Keyed, net.kyori.adventure.translation.Translatable { // Paper - OCEAN, - PLAINS, - DESERT, -@@ -94,4 +94,11 @@ public enum Biome implements Keyed { - public NamespacedKey getKey() { - return key; +-public interface Biome extends OldEnum<Biome>, Keyed { ++public interface Biome extends OldEnum<Biome>, Keyed, net.kyori.adventure.translation.Translatable { // Paper - Adventure translations + + Biome OCEAN = getBiome("ocean"); + Biome PLAINS = getBiome("plains"); +@@ -131,4 +131,11 @@ public interface Biome extends OldEnum<Biome>, Keyed { + static Biome[] values() { + return Lists.newArrayList(Registry.BIOME).toArray(new Biome[0]); } + + // Paper start + @Override -+ public @NotNull String translationKey() { -+ return "biome.minecraft." + this.key.getKey(); ++ default @NotNull String translationKey() { ++ return "biome.minecraft." + this.getKey().getKey(); + } + // Paper end } @@ -384,7 +371,7 @@ index c4f86ba1037f3f0e5d697a0962d71d6f8c7c1fbe..ac0371285370594d4de1554871b19bbc // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 1c1cdfd6b5a98a378ff7bb7bb3201e84662b52f3..be1c8c9b27ad792f2b0ff1cec0c575eb1fc3023a 100644 +index e758a13ea84f472dcdf7fe31e2ea23c0e554c4c7..a5e5c252405a7b940afbb6715abcda7ec9007dd3 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -45,7 +45,7 @@ import org.jetbrains.annotations.Contract; @@ -396,7 +383,7 @@ index 1c1cdfd6b5a98a378ff7bb7bb3201e84662b52f3..be1c8c9b27ad792f2b0ff1cec0c575eb // These strings MUST match the strings in nms.EntityTypes and are case sensitive. /** -@@ -470,10 +470,22 @@ public enum EntityType implements Keyed, Translatable { +@@ -474,10 +474,22 @@ public enum EntityType implements Keyed, Translatable { @Override @NotNull diff --git a/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 241d581e0c..a9993be897 100644 --- a/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/api/0205-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index dd81e309c584e37e4bc7644261ecc649e1237570..db48f30704efa6928599a5cebf5ce577c8430198 100644 +index 66d29e7f4187309d4a55202d1bda4b94e42211b0..33acd8e0993b1f02a14794f55d0cf568a85a099e 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -163,5 +163,12 @@ public interface UnsafeValues { +@@ -168,5 +168,12 @@ public interface UnsafeValues { byte[] serializeItem(ItemStack item); ItemStack deserializeItem(byte[] data); diff --git a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch index 275ee68a7c..5c4084cf8c 100644 --- a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch +++ b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch @@ -207,10 +207,19 @@ index e0f652117e585882693736de8165ae9c689e1d68..fbe14c327ee9c1ac07893853ca7c699e return server.getRegistry(tClass); } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e23d273ebd 100644 +index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0ed66181e 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -98,8 +98,10 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -92,20 +92,26 @@ public interface Registry<T extends Keyed> extends Iterable<T> { + * Attribute. + * + * @see Attribute ++ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#ATTRIBUTE} + */ +- Registry<Attribute> ATTRIBUTE = Objects.requireNonNull(Bukkit.getRegistry(Attribute.class), "No registry present for Attribute. This is a bug."); ++ @Deprecated(since = "1.21.3") // Paper ++ Registry<Attribute> ATTRIBUTE = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(Attribute.class), "No registry present for Attribute. This is a bug."); + /** * Server banner patterns. * * @see PatternType @@ -222,7 +231,16 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Server biomes. * -@@ -113,7 +115,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { + * @see Biome ++ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#BIOME} + */ +- Registry<Biome> BIOME = Objects.requireNonNull(Bukkit.getRegistry(Biome.class), "No registry present for Biome. This is a bug."); ++ @Deprecated(since = "1.21.3") // Paper ++ Registry<Biome> BIOME = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(Biome.class), "No registry present for Biome. This is a bug."); + /** + * Server block types. + * +@@ -113,7 +119,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * @apiNote BlockType is not ready for public usage yet */ @ApiStatus.Internal @@ -231,7 +249,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Custom boss bars. * -@@ -155,13 +157,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -155,13 +161,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * * @see Cat.Type */ @@ -249,7 +267,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Server entity types. * -@@ -173,7 +177,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -173,7 +181,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * * @see MusicInstrument */ @@ -258,7 +276,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Server item types. * -@@ -181,7 +185,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -181,7 +189,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * @apiNote ItemType is not ready for public usage yet */ @ApiStatus.Internal @@ -267,7 +285,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Default server loot tables. * -@@ -200,13 +204,13 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -200,13 +208,13 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * @see MenuType */ @ApiStatus.Experimental @@ -283,7 +301,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Server particles. * -@@ -229,14 +233,16 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -229,14 +237,16 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * Server structures. * * @see Structure @@ -302,7 +320,7 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Sound keys. * -@@ -247,40 +253,47 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -247,40 +257,47 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * Trim materials. * * @see TrimMaterial @@ -357,7 +375,17 @@ index 4e67b944351ec3743e5eeaba3f5de99e0df15154..39997047be9f3796d8d5d8934eb361e2 /** * Memory Keys. * -@@ -327,25 +340,27 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -320,32 +337,36 @@ public interface Registry<T extends Keyed> extends Iterable<T> { + * Server fluids. + * + * @see Fluid ++ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#FLUID} + */ +- Registry<Fluid> FLUID = Objects.requireNonNull(Bukkit.getRegistry(Fluid.class), "No registry present for Fluid. This is a bug."); ++ @Deprecated(since = "1.21.3") ++ Registry<Fluid> FLUID = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(Fluid.class), "No registry present for Fluid. This is a bug."); + /** + * Frog variants. * * @see Frog.Variant */ diff --git a/patches/api/0253-Expand-world-key-API.patch b/patches/api/0253-Expand-world-key-API.patch index 2716158a70..a22199d327 100644 --- a/patches/api/0253-Expand-world-key-API.patch +++ b/patches/api/0253-Expand-world-key-API.patch @@ -100,10 +100,10 @@ index 943f8881ea23481ea5d5125b6ec7c9c6f763f0b0..42930006b6425b5d82233e4ffe7025ce * Create a new virtual {@link WorldBorder}. * <p> diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index db48f30704efa6928599a5cebf5ce577c8430198..4229db3c6abb693803a4bdd5a71e426c688f26cc 100644 +index 33acd8e0993b1f02a14794f55d0cf568a85a099e..e924f313cead4cb0a9d73f5be8bc69b654293ddf 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -170,5 +170,10 @@ public interface UnsafeValues { +@@ -175,5 +175,10 @@ public interface UnsafeValues { * Use this when sending custom packets, so that there are no collisions on the client or server. */ public int nextEntityId(); diff --git a/patches/api/0255-Expose-protocol-version.patch b/patches/api/0255-Expose-protocol-version.patch index f6cace865e..f1037f03a8 100644 --- a/patches/api/0255-Expose-protocol-version.patch +++ b/patches/api/0255-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 4229db3c6abb693803a4bdd5a71e426c688f26cc..f33426207c403906c3c6fb99e848fd7ecbffd127 100644 +index e924f313cead4cb0a9d73f5be8bc69b654293ddf..ce9bbe4a9010ca31ace1f0b7fb67eab0f13ac97d 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -175,5 +175,12 @@ public interface UnsafeValues { +@@ -180,5 +180,12 @@ public interface UnsafeValues { * Just don't use it. */ @org.jetbrains.annotations.NotNull String getMainLevelName(); diff --git a/patches/api/0270-Add-basic-Datapack-API.patch b/patches/api/0270-Add-basic-Datapack-API.patch index 796a519bd9..aa35173508 100644 --- a/patches/api/0270-Add-basic-Datapack-API.patch +++ b/patches/api/0270-Add-basic-Datapack-API.patch @@ -277,10 +277,10 @@ index 42930006b6425b5d82233e4ffe7025ce5397b277..45693e6c02eac37eb609cd3c59253a94 // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index be1c8c9b27ad792f2b0ff1cec0c575eb1fc3023a..f08d241d5350dfdb0d325e89190c90f79a5c791e 100644 +index a5e5c252405a7b940afbb6715abcda7ec9007dd3..1f241e74c256eb3e824a029798f623ad9d38efe2 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -492,6 +492,7 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans +@@ -496,6 +496,7 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans * @param world the world to check * @return true if this EntityType can be used to spawn an Entity for this World. */ diff --git a/patches/api/0272-ItemStack-repair-check-API.patch b/patches/api/0272-ItemStack-repair-check-API.patch index 6385fdeb47..149c1f2852 100644 --- a/patches/api/0272-ItemStack-repair-check-API.patch +++ b/patches/api/0272-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index f33426207c403906c3c6fb99e848fd7ecbffd127..3ef6ffb506a7fdd05a08353f342e45de8066ca19 100644 +index ce9bbe4a9010ca31ace1f0b7fb67eab0f13ac97d..5015cfe26522468ac7decbf6205d654c0e60207b 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -182,5 +182,15 @@ public interface UnsafeValues { +@@ -187,5 +187,15 @@ public interface UnsafeValues { * @return the server's protocol version */ int getProtocolVersion(); diff --git a/patches/api/0304-Get-entity-default-attributes.patch b/patches/api/0304-Get-entity-default-attributes.patch index deca580fd3..d330cf091c 100644 --- a/patches/api/0304-Get-entity-default-attributes.patch +++ b/patches/api/0304-Get-entity-default-attributes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 3ef6ffb506a7fdd05a08353f342e45de8066ca19..b8627d845bbc8c845af364408d3b6abb57c7308b 100644 +index 5015cfe26522468ac7decbf6205d654c0e60207b..1a4a42991449f30db0f702e7ddeac950e4a805ac 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -192,5 +192,22 @@ public interface UnsafeValues { +@@ -197,5 +197,22 @@ public interface UnsafeValues { * @return true if valid repair, false if not */ public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial); @@ -32,10 +32,10 @@ index 3ef6ffb506a7fdd05a08353f342e45de8066ca19..b8627d845bbc8c845af364408d3b6abb // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index f08d241d5350dfdb0d325e89190c90f79a5c791e..6521a20d69a4c8e75be7e9b3fdebbc25b843ec1b 100644 +index 1f241e74c256eb3e824a029798f623ad9d38efe2..9e115cec6232b22760e91ade671f81461c0c0364 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -484,6 +484,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans +@@ -488,6 +488,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys"); return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch index abe5d9f163..820ac462d8 100644 --- a/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/api/0312-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index b8627d845bbc8c845af364408d3b6abb57c7308b..ef22077e2bf9709bef21e259cfa6435f80305b5e 100644 +index 1a4a42991449f30db0f702e7ddeac950e4a805ac..2d612f2c6b483eec6fbc7ad35d5d878359db4770 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -164,6 +164,14 @@ public interface UnsafeValues { +@@ -169,6 +169,14 @@ public interface UnsafeValues { ItemStack deserializeItem(byte[] data); diff --git a/patches/api/0329-More-PotionEffectType-API.patch b/patches/api/0329-More-PotionEffectType-API.patch index c23d878a4d..6ee4c1216b 100644 --- a/patches/api/0329-More-PotionEffectType-API.patch +++ b/patches/api/0329-More-PotionEffectType-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 39997047be9f3796d8d5d8934eb361e23d273ebd..6112db5d1153d045f2271038bada6b46d1a6a051 100644 +index 759925decc0b66e8f5861f3f8bd9bee0ed66181e..833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -361,6 +361,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -367,6 +367,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> { * @see GameEvent */ Registry<GameEvent> GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper diff --git a/patches/api/0358-Add-NamespacedKey-biome-methods.patch b/patches/api/0358-Add-NamespacedKey-biome-methods.patch index be2c0e7b2a..20a2934887 100644 --- a/patches/api/0358-Add-NamespacedKey-biome-methods.patch +++ b/patches/api/0358-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <[email protected]> diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index ef22077e2bf9709bef21e259cfa6435f80305b5e..14cf57a96f47ba666f05cedbc0005ff0fec6a33d 100644 +index 2d612f2c6b483eec6fbc7ad35d5d878359db4770..b2ab190a73946ad2a5750c2408036cc3641e23f8 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -218,4 +218,33 @@ public interface UnsafeValues { +@@ -223,4 +223,37 @@ public interface UnsafeValues { */ @org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey); // Paper end @@ -22,9 +22,11 @@ index ef22077e2bf9709bef21e259cfa6435f80305b5e..14cf57a96f47ba666f05cedbc0005ff0 + * @param x X-coordinate of the block + * @param y Y-coordinate of the block + * @param z Z-coordinate of the block ++ * @deprecated custom biomes are properly supported in API now + * @return the biome's {@link NamespacedKey} + */ + @org.jetbrains.annotations.NotNull ++ @Deprecated(since = "1.21.3", forRemoval = true) + NamespacedKey getBiomeKey(RegionAccessor accessor, int x, int y, int z); + + /** @@ -38,8 +40,10 @@ index ef22077e2bf9709bef21e259cfa6435f80305b5e..14cf57a96f47ba666f05cedbc0005ff0 + * @param y Y-coordinate of the block + * @param z Z-coordinate of the block + * @param biomeKey Biome key ++ * @deprecated custom biomes are properly supported in API now + * @throws IllegalStateException if no biome by the given key is registered. + */ ++ @Deprecated(since = "1.21.3", forRemoval = true) + void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey); + // Paper end - namespaced key biome methods } diff --git a/patches/api/0378-Add-missing-Fluid-type.patch b/patches/api/0378-Add-missing-Fluid-type.patch deleted file mode 100644 index c260bf8497..0000000000 --- a/patches/api/0378-Add-missing-Fluid-type.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic <[email protected]> -Date: Sun, 4 Dec 2022 10:07:16 -0800 -Subject: [PATCH] Add missing Fluid type - - -diff --git a/src/main/java/org/bukkit/Fluid.java b/src/main/java/org/bukkit/Fluid.java -index 4cc974689a229e73ddbf2c353ac0fe23da03a5b2..7202b44a65e8699cf64329e441e83d4dd1779c19 100644 ---- a/src/main/java/org/bukkit/Fluid.java -+++ b/src/main/java/org/bukkit/Fluid.java -@@ -8,6 +8,12 @@ import org.jetbrains.annotations.NotNull; - */ - public enum Fluid implements Keyed { - -+ // Paper start -+ /** -+ * No fluid. -+ */ -+ EMPTY, -+ // Paper end - /** - * Stationary water. - */ diff --git a/patches/api/0379-fix-Instruments.patch b/patches/api/0378-fix-Instruments.patch index 468dc80a34..468dc80a34 100644 --- a/patches/api/0379-fix-Instruments.patch +++ b/patches/api/0378-fix-Instruments.patch diff --git a/patches/api/0380-Add-BlockLockCheckEvent.patch b/patches/api/0379-Add-BlockLockCheckEvent.patch index b9a9adb70c..b9a9adb70c 100644 --- a/patches/api/0380-Add-BlockLockCheckEvent.patch +++ b/patches/api/0379-Add-BlockLockCheckEvent.patch diff --git a/patches/api/0381-Add-Sneaking-API-for-Entities.patch b/patches/api/0380-Add-Sneaking-API-for-Entities.patch index ccee097cf0..ccee097cf0 100644 --- a/patches/api/0381-Add-Sneaking-API-for-Entities.patch +++ b/patches/api/0380-Add-Sneaking-API-for-Entities.patch diff --git a/patches/api/0382-Improve-PortalEvents.patch b/patches/api/0381-Improve-PortalEvents.patch index 88c76230fd..88c76230fd 100644 --- a/patches/api/0382-Improve-PortalEvents.patch +++ b/patches/api/0381-Improve-PortalEvents.patch diff --git a/patches/api/0383-Flying-Fall-Damage-API.patch b/patches/api/0382-Flying-Fall-Damage-API.patch index f0e6b1e6ca..f0e6b1e6ca 100644 --- a/patches/api/0383-Flying-Fall-Damage-API.patch +++ b/patches/api/0382-Flying-Fall-Damage-API.patch diff --git a/patches/api/0384-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0383-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch index 475ca65bbf..475ca65bbf 100644 --- a/patches/api/0384-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch +++ b/patches/api/0383-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch diff --git a/patches/api/0385-Win-Screen-API.patch b/patches/api/0384-Win-Screen-API.patch index 8911de9fcb..8911de9fcb 100644 --- a/patches/api/0385-Win-Screen-API.patch +++ b/patches/api/0384-Win-Screen-API.patch diff --git a/patches/api/0386-Add-Entity-Body-Yaw-API.patch b/patches/api/0385-Add-Entity-Body-Yaw-API.patch index 17277b2e80..17277b2e80 100644 --- a/patches/api/0386-Add-Entity-Body-Yaw-API.patch +++ b/patches/api/0385-Add-Entity-Body-Yaw-API.patch diff --git a/patches/api/0387-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0386-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch index c375206bf7..c375206bf7 100644 --- a/patches/api/0387-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch +++ b/patches/api/0386-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch diff --git a/patches/api/0388-Add-EntityFertilizeEggEvent.patch b/patches/api/0387-Add-EntityFertilizeEggEvent.patch index 8c15e656f8..8c15e656f8 100644 --- a/patches/api/0388-Add-EntityFertilizeEggEvent.patch +++ b/patches/api/0387-Add-EntityFertilizeEggEvent.patch diff --git a/patches/api/0389-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0388-Add-CompostItemEvent-and-EntityCompostItemEvent.patch index e639e46b4d..e639e46b4d 100644 --- a/patches/api/0389-Add-CompostItemEvent-and-EntityCompostItemEvent.patch +++ b/patches/api/0388-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/api/0390-Add-Shearable-API.patch b/patches/api/0389-Add-Shearable-API.patch index 8dd853b0fb..8dd853b0fb 100644 --- a/patches/api/0390-Add-Shearable-API.patch +++ b/patches/api/0389-Add-Shearable-API.patch diff --git a/patches/api/0391-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch index 27abcd1f93..27abcd1f93 100644 --- a/patches/api/0391-Fix-SpawnEggMeta-get-setSpawnedType.patch +++ b/patches/api/0390-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/api/0392-Add-Mob-Experience-reward-API.patch b/patches/api/0391-Add-Mob-Experience-reward-API.patch index 354d6d1eb4..354d6d1eb4 100644 --- a/patches/api/0392-Add-Mob-Experience-reward-API.patch +++ b/patches/api/0391-Add-Mob-Experience-reward-API.patch diff --git a/patches/api/0393-Expand-PlayerItemMendEvent.patch b/patches/api/0392-Expand-PlayerItemMendEvent.patch index 95b15a4753..95b15a4753 100644 --- a/patches/api/0393-Expand-PlayerItemMendEvent.patch +++ b/patches/api/0392-Expand-PlayerItemMendEvent.patch diff --git a/patches/api/0394-Add-method-to-remove-all-active-potion-effects.patch b/patches/api/0393-Add-method-to-remove-all-active-potion-effects.patch index a9d228f158..a9d228f158 100644 --- a/patches/api/0394-Add-method-to-remove-all-active-potion-effects.patch +++ b/patches/api/0393-Add-method-to-remove-all-active-potion-effects.patch diff --git a/patches/api/0395-Folia-scheduler-and-owned-region-API.patch b/patches/api/0394-Folia-scheduler-and-owned-region-API.patch index b07676cfef..b07676cfef 100644 --- a/patches/api/0395-Folia-scheduler-and-owned-region-API.patch +++ b/patches/api/0394-Folia-scheduler-and-owned-region-API.patch diff --git a/patches/api/0396-Add-event-for-player-editing-sign.patch b/patches/api/0395-Add-event-for-player-editing-sign.patch index c0b95f9d58..c0b95f9d58 100644 --- a/patches/api/0396-Add-event-for-player-editing-sign.patch +++ b/patches/api/0395-Add-event-for-player-editing-sign.patch diff --git a/patches/api/0397-More-Sign-Block-API.patch b/patches/api/0396-More-Sign-Block-API.patch index 57b372521c..57b372521c 100644 --- a/patches/api/0397-More-Sign-Block-API.patch +++ b/patches/api/0396-More-Sign-Block-API.patch diff --git a/patches/api/0398-Fix-BanList-API.patch b/patches/api/0397-Fix-BanList-API.patch index 0d0a781306..0d0a781306 100644 --- a/patches/api/0398-Fix-BanList-API.patch +++ b/patches/api/0397-Fix-BanList-API.patch diff --git a/patches/api/0399-Add-whitelist-events.patch b/patches/api/0398-Add-whitelist-events.patch index 3f768a8124..3f768a8124 100644 --- a/patches/api/0399-Add-whitelist-events.patch +++ b/patches/api/0398-Add-whitelist-events.patch diff --git a/patches/api/0400-API-for-updating-recipes-on-clients.patch b/patches/api/0399-API-for-updating-recipes-on-clients.patch index 4a98cf2e1e..4a98cf2e1e 100644 --- a/patches/api/0400-API-for-updating-recipes-on-clients.patch +++ b/patches/api/0399-API-for-updating-recipes-on-clients.patch diff --git a/patches/api/0401-Add-PlayerFailMoveEvent.patch b/patches/api/0400-Add-PlayerFailMoveEvent.patch index e6903a2b56..e6903a2b56 100644 --- a/patches/api/0401-Add-PlayerFailMoveEvent.patch +++ b/patches/api/0400-Add-PlayerFailMoveEvent.patch diff --git a/patches/api/0402-Fix-custom-statistic-criteria-creation.patch b/patches/api/0401-Fix-custom-statistic-criteria-creation.patch index ff4bad9d35..bfa683fb84 100644 --- a/patches/api/0402-Fix-custom-statistic-criteria-creation.patch +++ b/patches/api/0401-Fix-custom-statistic-criteria-creation.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 14cf57a96f47ba666f05cedbc0005ff0fec6a33d..57b51acd566f6ccabeea0b3f4c76b19547d35b5a 100644 +index b2ab190a73946ad2a5750c2408036cc3641e23f8..cfafd64ee39a6448e382f9903b8c462f3c454d3f 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -247,4 +247,6 @@ public interface UnsafeValues { - */ +@@ -256,4 +256,6 @@ public interface UnsafeValues { + @Deprecated(since = "1.21.3", forRemoval = true) void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey); // Paper end - namespaced key biome methods + diff --git a/patches/api/0403-SculkCatalyst-bloom-API.patch b/patches/api/0402-SculkCatalyst-bloom-API.patch index 49d8c8c2bd..49d8c8c2bd 100644 --- a/patches/api/0403-SculkCatalyst-bloom-API.patch +++ b/patches/api/0402-SculkCatalyst-bloom-API.patch diff --git a/patches/api/0404-API-for-an-entity-s-scoreboard-name.patch b/patches/api/0403-API-for-an-entity-s-scoreboard-name.patch index 1fb9128be8..1fb9128be8 100644 --- a/patches/api/0404-API-for-an-entity-s-scoreboard-name.patch +++ b/patches/api/0403-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/api/0405-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/api/0404-Deprecate-and-replace-methods-with-old-StructureType.patch index a832ca9f1d..a832ca9f1d 100644 --- a/patches/api/0405-Deprecate-and-replace-methods-with-old-StructureType.patch +++ b/patches/api/0404-Deprecate-and-replace-methods-with-old-StructureType.patch diff --git a/patches/api/0406-Add-Listing-API-for-Player.patch b/patches/api/0405-Add-Listing-API-for-Player.patch index 3135969fe0..3135969fe0 100644 --- a/patches/api/0406-Add-Listing-API-for-Player.patch +++ b/patches/api/0405-Add-Listing-API-for-Player.patch diff --git a/patches/api/0407-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/api/0406-Expose-clicked-BlockFace-during-BlockDamageEvent.patch index 34d1940866..34d1940866 100644 --- a/patches/api/0407-Expose-clicked-BlockFace-during-BlockDamageEvent.patch +++ b/patches/api/0406-Expose-clicked-BlockFace-during-BlockDamageEvent.patch diff --git a/patches/api/0408-Fix-NPE-on-Boat-getStatus.patch b/patches/api/0407-Fix-NPE-on-Boat-getStatus.patch index 985aab9f2b..985aab9f2b 100644 --- a/patches/api/0408-Fix-NPE-on-Boat-getStatus.patch +++ b/patches/api/0407-Fix-NPE-on-Boat-getStatus.patch diff --git a/patches/api/0409-Expand-Pose-API.patch b/patches/api/0408-Expand-Pose-API.patch index a7ac9f7567..a7ac9f7567 100644 --- a/patches/api/0409-Expand-Pose-API.patch +++ b/patches/api/0408-Expand-Pose-API.patch diff --git a/patches/api/0410-MerchantRecipe-add-copy-constructor.patch b/patches/api/0409-MerchantRecipe-add-copy-constructor.patch index 1c5ba2803c..1c5ba2803c 100644 --- a/patches/api/0410-MerchantRecipe-add-copy-constructor.patch +++ b/patches/api/0409-MerchantRecipe-add-copy-constructor.patch diff --git a/patches/api/0411-More-DragonBattle-API.patch b/patches/api/0410-More-DragonBattle-API.patch index e25208ec19..e25208ec19 100644 --- a/patches/api/0411-More-DragonBattle-API.patch +++ b/patches/api/0410-More-DragonBattle-API.patch diff --git a/patches/api/0412-Add-PlayerPickItemEvent.patch b/patches/api/0411-Add-PlayerPickItemEvent.patch index 0532447562..0532447562 100644 --- a/patches/api/0412-Add-PlayerPickItemEvent.patch +++ b/patches/api/0411-Add-PlayerPickItemEvent.patch diff --git a/patches/api/0413-Allow-trident-custom-damage.patch b/patches/api/0412-Allow-trident-custom-damage.patch index 870b735548..870b735548 100644 --- a/patches/api/0413-Allow-trident-custom-damage.patch +++ b/patches/api/0412-Allow-trident-custom-damage.patch diff --git a/patches/api/0414-Expose-hand-during-BlockCanBuildEvent.patch b/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch index 97d99a40d2..97d99a40d2 100644 --- a/patches/api/0414-Expose-hand-during-BlockCanBuildEvent.patch +++ b/patches/api/0413-Expose-hand-during-BlockCanBuildEvent.patch diff --git a/patches/api/0415-Limit-setBurnTime-to-valid-short-values.patch b/patches/api/0414-Limit-setBurnTime-to-valid-short-values.patch index 2faac56fd8..2faac56fd8 100644 --- a/patches/api/0415-Limit-setBurnTime-to-valid-short-values.patch +++ b/patches/api/0414-Limit-setBurnTime-to-valid-short-values.patch diff --git a/patches/api/0416-Add-OfflinePlayer-isConnected.patch b/patches/api/0415-Add-OfflinePlayer-isConnected.patch index 08e2f91095..08e2f91095 100644 --- a/patches/api/0416-Add-OfflinePlayer-isConnected.patch +++ b/patches/api/0415-Add-OfflinePlayer-isConnected.patch diff --git a/patches/api/0417-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/api/0416-Add-titleOverride-to-InventoryOpenEvent.patch index 68e755f010..68e755f010 100644 --- a/patches/api/0417-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/api/0416-Add-titleOverride-to-InventoryOpenEvent.patch diff --git a/patches/api/0418-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0417-Allow-proper-checking-of-empty-item-stacks.patch index 0fe58e0369..0fe58e0369 100644 --- a/patches/api/0418-Allow-proper-checking-of-empty-item-stacks.patch +++ b/patches/api/0417-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/api/0419-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch b/patches/api/0418-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch index e72f86be5d..e72f86be5d 100644 --- a/patches/api/0419-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch +++ b/patches/api/0418-Fix-PlayerSwapHandItemsEvent-throwing-exception-when.patch diff --git a/patches/api/0420-Add-player-idle-duration-API.patch b/patches/api/0419-Add-player-idle-duration-API.patch index ac250c0760..ac250c0760 100644 --- a/patches/api/0420-Add-player-idle-duration-API.patch +++ b/patches/api/0419-Add-player-idle-duration-API.patch diff --git a/patches/api/0421-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/api/0420-Add-API-to-get-the-collision-shape-of-a-block-before.patch index 3bb30787dc..3bb30787dc 100644 --- a/patches/api/0421-Add-API-to-get-the-collision-shape-of-a-block-before.patch +++ b/patches/api/0420-Add-API-to-get-the-collision-shape-of-a-block-before.patch diff --git a/patches/api/0422-Add-predicate-for-blocks-when-raytracing.patch b/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch index e24c9fcedf..e24c9fcedf 100644 --- a/patches/api/0422-Add-predicate-for-blocks-when-raytracing.patch +++ b/patches/api/0421-Add-predicate-for-blocks-when-raytracing.patch diff --git a/patches/api/0423-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/api/0422-Add-hand-to-fish-event-for-all-player-interactions.patch index b431332b9a..b431332b9a 100644 --- a/patches/api/0423-Add-hand-to-fish-event-for-all-player-interactions.patch +++ b/patches/api/0422-Add-hand-to-fish-event-for-all-player-interactions.patch diff --git a/patches/api/0424-Attribute-Modifier-API-improvements.patch b/patches/api/0423-Attribute-Modifier-API-improvements.patch index d4b0442c30..d4b0442c30 100644 --- a/patches/api/0424-Attribute-Modifier-API-improvements.patch +++ b/patches/api/0423-Attribute-Modifier-API-improvements.patch diff --git a/patches/api/0425-Expand-LingeringPotion-API.patch b/patches/api/0424-Expand-LingeringPotion-API.patch index 40b5a5f547..40b5a5f547 100644 --- a/patches/api/0425-Expand-LingeringPotion-API.patch +++ b/patches/api/0424-Expand-LingeringPotion-API.patch diff --git a/patches/api/0426-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0425-Remove-unnecessary-durability-check-in-ItemStack-isS.patch index 88ecd35099..88ecd35099 100644 --- a/patches/api/0426-Remove-unnecessary-durability-check-in-ItemStack-isS.patch +++ b/patches/api/0425-Remove-unnecessary-durability-check-in-ItemStack-isS.patch diff --git a/patches/api/0427-Add-Structure-check-API.patch b/patches/api/0426-Add-Structure-check-API.patch index 43073fe8f4..43073fe8f4 100644 --- a/patches/api/0427-Add-Structure-check-API.patch +++ b/patches/api/0426-Add-Structure-check-API.patch diff --git a/patches/api/0428-Experimental-annotations-change.patch b/patches/api/0427-Experimental-annotations-change.patch index 5660d684ce..5660d684ce 100644 --- a/patches/api/0428-Experimental-annotations-change.patch +++ b/patches/api/0427-Experimental-annotations-change.patch diff --git a/patches/api/0429-Add-more-scoreboard-API.patch b/patches/api/0428-Add-more-scoreboard-API.patch index 201af36b0c..201af36b0c 100644 --- a/patches/api/0429-Add-more-scoreboard-API.patch +++ b/patches/api/0428-Add-more-scoreboard-API.patch diff --git a/patches/api/0430-Improve-Registry.patch b/patches/api/0429-Improve-Registry.patch index 607568bd87..13b36b1a92 100644 --- a/patches/api/0430-Improve-Registry.patch +++ b/patches/api/0429-Improve-Registry.patch @@ -49,10 +49,10 @@ index c9f02466a04d20579fe2258bb02acf98e163ca81..bffd4ab2d08e5c3f83a49a31e1e55cc1 @Override public @NotNull String translationKey() { diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 6112db5d1153d045f2271038bada6b46d1a6a051..67cf3fcad21a8977d6fad172cc776b628ab68f25 100644 +index 833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c..e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -379,6 +379,79 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -385,6 +385,79 @@ public interface Registry<T extends Keyed> extends Iterable<T> { @Nullable T get(@NotNull NamespacedKey key); @@ -132,7 +132,7 @@ index 6112db5d1153d045f2271038bada6b46d1a6a051..67cf3fcad21a8977d6fad172cc776b62 /** * Get the object by its key. * -@@ -475,5 +548,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -481,5 +554,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> { public Class<T> getType() { return this.type; } diff --git a/patches/api/0431-Add-experience-points-API.patch b/patches/api/0430-Add-experience-points-API.patch index 5581883301..5581883301 100644 --- a/patches/api/0431-Add-experience-points-API.patch +++ b/patches/api/0430-Add-experience-points-API.patch diff --git a/patches/api/0432-Add-missing-InventoryType.patch b/patches/api/0431-Add-missing-InventoryType.patch index 3735af5696..3735af5696 100644 --- a/patches/api/0432-Add-missing-InventoryType.patch +++ b/patches/api/0431-Add-missing-InventoryType.patch diff --git a/patches/api/0433-Add-drops-to-shear-events.patch b/patches/api/0432-Add-drops-to-shear-events.patch index c87460e48d..c87460e48d 100644 --- a/patches/api/0433-Add-drops-to-shear-events.patch +++ b/patches/api/0432-Add-drops-to-shear-events.patch diff --git a/patches/api/0434-Add-HiddenPotionEffect-API.patch b/patches/api/0433-Add-HiddenPotionEffect-API.patch index 03c31e4ff8..03c31e4ff8 100644 --- a/patches/api/0434-Add-HiddenPotionEffect-API.patch +++ b/patches/api/0433-Add-HiddenPotionEffect-API.patch diff --git a/patches/api/0435-Add-PlayerShieldDisableEvent.patch b/patches/api/0434-Add-PlayerShieldDisableEvent.patch index ddc6deadf5..ddc6deadf5 100644 --- a/patches/api/0435-Add-PlayerShieldDisableEvent.patch +++ b/patches/api/0434-Add-PlayerShieldDisableEvent.patch diff --git a/patches/api/0436-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0435-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch index 93ba48c77c..93ba48c77c 100644 --- a/patches/api/0436-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch +++ b/patches/api/0435-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch diff --git a/patches/api/0437-Add-BlockStateMeta-clearBlockState.patch b/patches/api/0436-Add-BlockStateMeta-clearBlockState.patch index 7e8c47a8e2..7e8c47a8e2 100644 --- a/patches/api/0437-Add-BlockStateMeta-clearBlockState.patch +++ b/patches/api/0436-Add-BlockStateMeta-clearBlockState.patch diff --git a/patches/api/0438-Expose-LootTable-of-DecoratedPot.patch b/patches/api/0437-Expose-LootTable-of-DecoratedPot.patch index 42a8de4123..42a8de4123 100644 --- a/patches/api/0438-Expose-LootTable-of-DecoratedPot.patch +++ b/patches/api/0437-Expose-LootTable-of-DecoratedPot.patch diff --git a/patches/api/0439-Add-ShulkerDuplicateEvent.patch b/patches/api/0438-Add-ShulkerDuplicateEvent.patch index bed71db255..bed71db255 100644 --- a/patches/api/0439-Add-ShulkerDuplicateEvent.patch +++ b/patches/api/0438-Add-ShulkerDuplicateEvent.patch diff --git a/patches/api/0440-Add-api-for-spawn-egg-texture-colors.patch b/patches/api/0439-Add-api-for-spawn-egg-texture-colors.patch index 14a80bca1c..a239d4c100 100644 --- a/patches/api/0440-Add-api-for-spawn-egg-texture-colors.patch +++ b/patches/api/0439-Add-api-for-spawn-egg-texture-colors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 57b51acd566f6ccabeea0b3f4c76b19547d35b5a..38e84d98670b45b1f855885cf07ce13f0433fa49 100644 +index cfafd64ee39a6448e382f9903b8c462f3c454d3f..94913f522d3c060c609f6ec7d7b0d92ea5587fc8 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -249,4 +249,17 @@ public interface UnsafeValues { +@@ -258,4 +258,17 @@ public interface UnsafeValues { // Paper end - namespaced key biome methods String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic); // Paper - fix custom stats criteria creation diff --git a/patches/api/0441-Add-Lifecycle-Event-system.patch b/patches/api/0440-Add-Lifecycle-Event-system.patch index 2d2d639018..5dfac8ef46 100644 --- a/patches/api/0441-Add-Lifecycle-Event-system.patch +++ b/patches/api/0440-Add-Lifecycle-Event-system.patch @@ -546,10 +546,10 @@ index 0000000000000000000000000000000000000000..f70814de0d6c40b2c1c9921b8abdd116 + } +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 38e84d98670b45b1f855885cf07ce13f0433fa49..81b1c024e27a7021982336b94fc1e1ba33308f6c 100644 +index 94913f522d3c060c609f6ec7d7b0d92ea5587fc8..a0b02efdb3beed93cb1656e840f24cb98f5fd555 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -262,4 +262,12 @@ public interface UnsafeValues { +@@ -271,4 +271,12 @@ public interface UnsafeValues { */ @Nullable org.bukkit.Color getSpawnEggLayerColor(org.bukkit.entity.EntityType entityType, int layer); // Paper end - spawn egg color visibility diff --git a/patches/api/0442-ItemStack-Tooltip-API.patch b/patches/api/0441-ItemStack-Tooltip-API.patch index 1d0644e6e1..a3c4cf2de9 100644 --- a/patches/api/0442-ItemStack-Tooltip-API.patch +++ b/patches/api/0441-ItemStack-Tooltip-API.patch @@ -110,10 +110,10 @@ index 0000000000000000000000000000000000000000..a649b90dfac6000c01579a48234a1138 + } +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 81b1c024e27a7021982336b94fc1e1ba33308f6c..e5144471056e69586c1693a9264a3995387de3cc 100644 +index a0b02efdb3beed93cb1656e840f24cb98f5fd555..b503b5e13c51580367d53939ad4c19a7718c22ce 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -270,4 +270,6 @@ public interface UnsafeValues { +@@ -279,4 +279,6 @@ public interface UnsafeValues { @org.jetbrains.annotations.ApiStatus.Internal io.papermc.paper.plugin.lifecycle.event.LifecycleEventManager<org.bukkit.plugin.Plugin> createPluginLifecycleEventManager(final org.bukkit.plugin.java.JavaPlugin plugin, final java.util.function.BooleanSupplier registrationCheck); // Paper end - lifecycle event API diff --git a/patches/api/0443-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/api/0442-Add-getChunkSnapshot-includeLightData-parameter.patch index 9b950f9493..9b950f9493 100644 --- a/patches/api/0443-Add-getChunkSnapshot-includeLightData-parameter.patch +++ b/patches/api/0442-Add-getChunkSnapshot-includeLightData-parameter.patch diff --git a/patches/api/0444-Add-FluidState-API.patch b/patches/api/0443-Add-FluidState-API.patch index 8f786918cb..8f786918cb 100644 --- a/patches/api/0444-Add-FluidState-API.patch +++ b/patches/api/0443-Add-FluidState-API.patch diff --git a/patches/api/0445-add-number-format-api.patch b/patches/api/0444-add-number-format-api.patch index 8d36669b0a..8d36669b0a 100644 --- a/patches/api/0445-add-number-format-api.patch +++ b/patches/api/0444-add-number-format-api.patch diff --git a/patches/api/0446-improve-BanList-types.patch b/patches/api/0445-improve-BanList-types.patch index bfb2a6a550..bfb2a6a550 100644 --- a/patches/api/0446-improve-BanList-types.patch +++ b/patches/api/0445-improve-BanList-types.patch diff --git a/patches/api/0447-Suspicious-Effect-Entry-API.patch b/patches/api/0446-Suspicious-Effect-Entry-API.patch index d591d57ce9..d591d57ce9 100644 --- a/patches/api/0447-Suspicious-Effect-Entry-API.patch +++ b/patches/api/0446-Suspicious-Effect-Entry-API.patch diff --git a/patches/api/0448-Fix-DamageSource-API.patch b/patches/api/0447-Fix-DamageSource-API.patch index efe4403e2c..efe4403e2c 100644 --- a/patches/api/0448-Fix-DamageSource-API.patch +++ b/patches/api/0447-Fix-DamageSource-API.patch diff --git a/patches/api/0449-Expanded-Hopper-API.patch b/patches/api/0448-Expanded-Hopper-API.patch index 51cb6dfee2..51cb6dfee2 100644 --- a/patches/api/0449-Expanded-Hopper-API.patch +++ b/patches/api/0448-Expanded-Hopper-API.patch diff --git a/patches/api/0450-Clone-mutables-to-prevent-unexpected-issues.patch b/patches/api/0449-Clone-mutables-to-prevent-unexpected-issues.patch index 86b3ab4bcf..86b3ab4bcf 100644 --- a/patches/api/0450-Clone-mutables-to-prevent-unexpected-issues.patch +++ b/patches/api/0449-Clone-mutables-to-prevent-unexpected-issues.patch diff --git a/patches/api/0451-Add-BlockBreakProgressUpdateEvent.patch b/patches/api/0450-Add-BlockBreakProgressUpdateEvent.patch index 9a1913895b..9a1913895b 100644 --- a/patches/api/0451-Add-BlockBreakProgressUpdateEvent.patch +++ b/patches/api/0450-Add-BlockBreakProgressUpdateEvent.patch diff --git a/patches/api/0452-Deprecate-ItemStack-setType.patch b/patches/api/0451-Deprecate-ItemStack-setType.patch index 84fbcf3899..84fbcf3899 100644 --- a/patches/api/0452-Deprecate-ItemStack-setType.patch +++ b/patches/api/0451-Deprecate-ItemStack-setType.patch diff --git a/patches/api/0453-Item-Mutation-Fixes.patch b/patches/api/0452-Item-Mutation-Fixes.patch index ccd77b7fbc..ccd77b7fbc 100644 --- a/patches/api/0453-Item-Mutation-Fixes.patch +++ b/patches/api/0452-Item-Mutation-Fixes.patch diff --git a/patches/api/0454-API-for-checking-sent-chunks.patch b/patches/api/0453-API-for-checking-sent-chunks.patch index 0c353a8070..0c353a8070 100644 --- a/patches/api/0454-API-for-checking-sent-chunks.patch +++ b/patches/api/0453-API-for-checking-sent-chunks.patch diff --git a/patches/api/0455-Add-CartographyItemEvent.patch b/patches/api/0454-Add-CartographyItemEvent.patch index 8bfd237e0c..8bfd237e0c 100644 --- a/patches/api/0455-Add-CartographyItemEvent.patch +++ b/patches/api/0454-Add-CartographyItemEvent.patch diff --git a/patches/api/0456-More-Raid-API.patch b/patches/api/0455-More-Raid-API.patch index 947b51c645..947b51c645 100644 --- a/patches/api/0456-More-Raid-API.patch +++ b/patches/api/0455-More-Raid-API.patch diff --git a/patches/api/0457-Fix-SpawnerEntry-Equipment-API.patch b/patches/api/0456-Fix-SpawnerEntry-Equipment-API.patch index e170eabd17..e170eabd17 100644 --- a/patches/api/0457-Fix-SpawnerEntry-Equipment-API.patch +++ b/patches/api/0456-Fix-SpawnerEntry-Equipment-API.patch diff --git a/patches/api/0458-Fix-ItemFlags.patch b/patches/api/0457-Fix-ItemFlags.patch index 3ca141cfa5..3ca141cfa5 100644 --- a/patches/api/0458-Fix-ItemFlags.patch +++ b/patches/api/0457-Fix-ItemFlags.patch diff --git a/patches/api/0459-Allow-modifying-library-loader-jars-bytecode.patch b/patches/api/0458-Allow-modifying-library-loader-jars-bytecode.patch index 0c0311e790..0c0311e790 100644 --- a/patches/api/0459-Allow-modifying-library-loader-jars-bytecode.patch +++ b/patches/api/0458-Allow-modifying-library-loader-jars-bytecode.patch diff --git a/patches/api/0460-Add-hook-to-remap-library-jars.patch b/patches/api/0459-Add-hook-to-remap-library-jars.patch index fe1609629e..fe1609629e 100644 --- a/patches/api/0460-Add-hook-to-remap-library-jars.patch +++ b/patches/api/0459-Add-hook-to-remap-library-jars.patch diff --git a/patches/api/0461-Add-GameMode-isInvulnerable.patch b/patches/api/0460-Add-GameMode-isInvulnerable.patch index b4b81c5f52..b4b81c5f52 100644 --- a/patches/api/0461-Add-GameMode-isInvulnerable.patch +++ b/patches/api/0460-Add-GameMode-isInvulnerable.patch diff --git a/patches/api/0462-Expose-hasColor-to-leather-armor.patch b/patches/api/0461-Expose-hasColor-to-leather-armor.patch index e2c609b4f0..e2c609b4f0 100644 --- a/patches/api/0462-Expose-hasColor-to-leather-armor.patch +++ b/patches/api/0461-Expose-hasColor-to-leather-armor.patch diff --git a/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch b/patches/api/0462-Added-API-to-get-player-ha-proxy-address.patch index 79b1804796..79b1804796 100644 --- a/patches/api/0463-Added-API-to-get-player-ha-proxy-address.patch +++ b/patches/api/0462-Added-API-to-get-player-ha-proxy-address.patch diff --git a/patches/api/0464-More-Chest-Block-API.patch b/patches/api/0463-More-Chest-Block-API.patch index 1fc3614c74..1fc3614c74 100644 --- a/patches/api/0464-More-Chest-Block-API.patch +++ b/patches/api/0463-More-Chest-Block-API.patch diff --git a/patches/api/0465-Brigadier-based-command-API.patch b/patches/api/0464-Brigadier-based-command-API.patch index 2d29373bc2..2d29373bc2 100644 --- a/patches/api/0465-Brigadier-based-command-API.patch +++ b/patches/api/0464-Brigadier-based-command-API.patch diff --git a/patches/api/0466-Fix-issues-with-recipe-API.patch b/patches/api/0465-Fix-issues-with-recipe-API.patch index 646143b638..646143b638 100644 --- a/patches/api/0466-Fix-issues-with-recipe-API.patch +++ b/patches/api/0465-Fix-issues-with-recipe-API.patch diff --git a/patches/api/0467-Fix-equipment-slot-and-group-API.patch b/patches/api/0466-Fix-equipment-slot-and-group-API.patch index 81d91485d7..81d91485d7 100644 --- a/patches/api/0467-Fix-equipment-slot-and-group-API.patch +++ b/patches/api/0466-Fix-equipment-slot-and-group-API.patch diff --git a/patches/api/0468-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/api/0467-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch index 8a0f6e9468..8a0f6e9468 100644 --- a/patches/api/0468-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch +++ b/patches/api/0467-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch diff --git a/patches/api/0469-General-ItemMeta-fixes.patch b/patches/api/0468-General-ItemMeta-fixes.patch index 953fd2e49c..953fd2e49c 100644 --- a/patches/api/0469-General-ItemMeta-fixes.patch +++ b/patches/api/0468-General-ItemMeta-fixes.patch diff --git a/patches/api/0470-Add-missing-fishing-event-state.patch b/patches/api/0469-Add-missing-fishing-event-state.patch index 94cba543ec..94cba543ec 100644 --- a/patches/api/0470-Add-missing-fishing-event-state.patch +++ b/patches/api/0469-Add-missing-fishing-event-state.patch diff --git a/patches/api/0471-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/api/0470-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch index 3efcc02654..3efcc02654 100644 --- a/patches/api/0471-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch +++ b/patches/api/0470-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch diff --git a/patches/api/0472-Registry-Modification-API.patch b/patches/api/0471-Registry-Modification-API.patch index b51badfa70..bc1c27afcd 100644 --- a/patches/api/0472-Registry-Modification-API.patch +++ b/patches/api/0471-Registry-Modification-API.patch @@ -809,10 +809,10 @@ index 0000000000000000000000000000000000000000..bf49125acc8a0508bf59674bba3ed350 + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 67cf3fcad21a8977d6fad172cc776b628ab68f25..b4ef3133fdd9d79a3381cf8f659ff561ab2b4fad 100644 +index e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2..b56e8fc3fba40637396abef27c08806f5157b3b4 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -378,6 +378,27 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -384,6 +384,27 @@ public interface Registry<T extends Keyed> extends Iterable<T> { */ @Nullable T get(@NotNull NamespacedKey key); @@ -840,7 +840,7 @@ index 67cf3fcad21a8977d6fad172cc776b628ab68f25..b4ef3133fdd9d79a3381cf8f659ff561 // Paper start - improve Registry /** -@@ -452,6 +473,34 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -458,6 +479,34 @@ public interface Registry<T extends Keyed> extends Iterable<T> { } // Paper end - improve Registry @@ -875,7 +875,7 @@ index 67cf3fcad21a8977d6fad172cc776b628ab68f25..b4ef3133fdd9d79a3381cf8f659ff561 /** * Get the object by its key. * -@@ -555,5 +604,23 @@ public interface Registry<T extends Keyed> extends Iterable<T> { +@@ -561,5 +610,23 @@ public interface Registry<T extends Keyed> extends Iterable<T> { return value.getKey(); } // Paper end - improve Registry @@ -900,10 +900,10 @@ index 67cf3fcad21a8977d6fad172cc776b628ab68f25..b4ef3133fdd9d79a3381cf8f659ff561 } } diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index e5144471056e69586c1693a9264a3995387de3cc..2c365ecf3f5a5252e489bc1dc04359e766a2d739 100644 +index b503b5e13c51580367d53939ad4c19a7718c22ce..5b13617e497e847ef66214f9140aea0cd41f4c4f 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -272,4 +272,6 @@ public interface UnsafeValues { +@@ -281,4 +281,6 @@ public interface UnsafeValues { // Paper end - lifecycle event API @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/patches/api/0473-Introduce-registry-entry-and-builders.patch b/patches/api/0472-Introduce-registry-entry-and-builders.patch index 5d06fe4974..5d06fe4974 100644 --- a/patches/api/0473-Introduce-registry-entry-and-builders.patch +++ b/patches/api/0472-Introduce-registry-entry-and-builders.patch diff --git a/patches/api/0474-Proxy-ItemStack-to-CraftItemStack.patch b/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch index 157b63eeb4..927052f343 100644 --- a/patches/api/0474-Proxy-ItemStack-to-CraftItemStack.patch +++ b/patches/api/0473-Proxy-ItemStack-to-CraftItemStack.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Proxy ItemStack to CraftItemStack diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 2c365ecf3f5a5252e489bc1dc04359e766a2d739..06b7af5dbae3dd1c5cb024cc875162725a0b8c37 100644 +index 5b13617e497e847ef66214f9140aea0cd41f4c4f..56d16c887b7663aab7db2f7be532d9912aeb3570 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -274,4 +274,6 @@ public interface UnsafeValues { +@@ -283,4 +283,6 @@ public interface UnsafeValues { @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 <A extends Keyed, M> io.papermc.paper.registry.tag.@Nullable Tag<A> getTag(io.papermc.paper.registry.tag.@NotNull TagKey<A> tagKey); // Paper - hack to get tags for non-server backed registries diff --git a/patches/api/0475-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/api/0474-Make-a-PDC-view-accessible-directly-from-ItemStack.patch index 0c48106249..0c48106249 100644 --- a/patches/api/0475-Make-a-PDC-view-accessible-directly-from-ItemStack.patch +++ b/patches/api/0474-Make-a-PDC-view-accessible-directly-from-ItemStack.patch diff --git a/patches/api/0476-Fix-HelpCommand-searching.patch b/patches/api/0475-Fix-HelpCommand-searching.patch index beac489e87..beac489e87 100644 --- a/patches/api/0476-Fix-HelpCommand-searching.patch +++ b/patches/api/0475-Fix-HelpCommand-searching.patch diff --git a/patches/api/0477-add-Plugin-getDataPath.patch b/patches/api/0476-add-Plugin-getDataPath.patch index 5085e262a9..5085e262a9 100644 --- a/patches/api/0477-add-Plugin-getDataPath.patch +++ b/patches/api/0476-add-Plugin-getDataPath.patch diff --git a/patches/api/0478-Fix-PickupStatus-getting-reset.patch b/patches/api/0477-Fix-PickupStatus-getting-reset.patch index 6473947708..6473947708 100644 --- a/patches/api/0478-Fix-PickupStatus-getting-reset.patch +++ b/patches/api/0477-Fix-PickupStatus-getting-reset.patch diff --git a/patches/api/0479-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/api/0478-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch index 9ee5f867c6..9ee5f867c6 100644 --- a/patches/api/0479-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch +++ b/patches/api/0478-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch diff --git a/patches/api/0480-Improve-StandardMessenger-exception-messages.patch b/patches/api/0479-Improve-StandardMessenger-exception-messages.patch index db8286512a..db8286512a 100644 --- a/patches/api/0480-Improve-StandardMessenger-exception-messages.patch +++ b/patches/api/0479-Improve-StandardMessenger-exception-messages.patch diff --git a/patches/api/0481-Add-even-more-Enchantment-API.patch b/patches/api/0480-Add-even-more-Enchantment-API.patch index 7da290c673..7da290c673 100644 --- a/patches/api/0481-Add-even-more-Enchantment-API.patch +++ b/patches/api/0480-Add-even-more-Enchantment-API.patch diff --git a/patches/api/0482-Leashable-API.patch b/patches/api/0481-Leashable-API.patch index b84951d969..b84951d969 100644 --- a/patches/api/0482-Leashable-API.patch +++ b/patches/api/0481-Leashable-API.patch diff --git a/patches/api/0483-Add-enchantment-seed-update-API.patch b/patches/api/0482-Add-enchantment-seed-update-API.patch index 3b9ef102cd..3b9ef102cd 100644 --- a/patches/api/0483-Add-enchantment-seed-update-API.patch +++ b/patches/api/0482-Add-enchantment-seed-update-API.patch diff --git a/patches/api/0484-Deprecate-for-removal-all-OldEnum-related-methods.patch b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch index bac872611c..bac872611c 100644 --- a/patches/api/0484-Deprecate-for-removal-all-OldEnum-related-methods.patch +++ b/patches/api/0483-Deprecate-for-removal-all-OldEnum-related-methods.patch diff --git a/patches/api/0485-Add-FeatureFlag-API.patch b/patches/api/0484-Add-FeatureFlag-API.patch index 26442d7b01..9a535e20f5 100644 --- a/patches/api/0485-Add-FeatureFlag-API.patch +++ b/patches/api/0484-Add-FeatureFlag-API.patch @@ -247,11 +247,11 @@ index eb33e8e671972aa308ad75a7ce9aa9ac526f470f..05ecf3cb38ff42c8b52405d900197e6b /** * Gets the {@link Biome} at the given {@link Location}. diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 06b7af5dbae3dd1c5cb024cc875162725a0b8c37..aa3916b0d8e40615a7ae142e254277744b4f024e 100644 +index 56d16c887b7663aab7db2f7be532d9912aeb3570..2dd4c16ac107f58752c725540ab414ff79c46ff4 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -109,8 +109,7 @@ public interface UnsafeValues { - +@@ -111,8 +111,7 @@ public interface UnsafeValues { + @Deprecated(since = "1.21.3", forRemoval = true) String getTranslationKey(Attribute attribute); - @Nullable @@ -284,7 +284,7 @@ index c080c2a3323d19cb3d549aa0fe6c164666d7da75..ed534fe4983873a2d5f623f0d9d5e3ce /** diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 6521a20d69a4c8e75be7e9b3fdebbc25b843ec1b..37dbd114f91a26bc09a1230d38afe7f6a99e5c28 100644 +index 9e115cec6232b22760e91ade671f81461c0c0364..c1aa59bab82aee8fd42f7149c520b45660b29082 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -45,7 +45,7 @@ import org.jetbrains.annotations.Contract; diff --git a/patches/api/0486-Tag-Lifecycle-Events.patch b/patches/api/0485-Tag-Lifecycle-Events.patch index 29aaad5c34..29aaad5c34 100644 --- a/patches/api/0486-Tag-Lifecycle-Events.patch +++ b/patches/api/0485-Tag-Lifecycle-Events.patch diff --git a/patches/api/0487-Item-serialization-as-json.patch b/patches/api/0486-Item-serialization-as-json.patch index c2b00d8d3d..e7d391dc20 100644 --- a/patches/api/0487-Item-serialization-as-json.patch +++ b/patches/api/0486-Item-serialization-as-json.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Item serialization as json diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index aa3916b0d8e40615a7ae142e254277744b4f024e..e4084369d12390bb5c92ab58ad34ff07afea1142 100644 +index 2dd4c16ac107f58752c725540ab414ff79c46ff4..79312bdda8ef0799e2d46decc52cfdac95b97d37 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -163,6 +163,36 @@ public interface UnsafeValues { +@@ -168,6 +168,36 @@ public interface UnsafeValues { ItemStack deserializeItem(byte[] data); diff --git a/patches/api/0488-create-TileStateInventoryHolder.patch b/patches/api/0487-create-TileStateInventoryHolder.patch index eafc877be4..eafc877be4 100644 --- a/patches/api/0488-create-TileStateInventoryHolder.patch +++ b/patches/api/0487-create-TileStateInventoryHolder.patch diff --git a/patches/api/0489-Add-enchantWithLevels-with-enchantment-registry-set.patch b/patches/api/0488-Add-enchantWithLevels-with-enchantment-registry-set.patch index 1978c0b073..1978c0b073 100644 --- a/patches/api/0489-Add-enchantWithLevels-with-enchantment-registry-set.patch +++ b/patches/api/0488-Add-enchantWithLevels-with-enchantment-registry-set.patch diff --git a/patches/api/0490-Improve-entity-effect-API.patch b/patches/api/0489-Improve-entity-effect-API.patch index 6ec450bcea..6ec450bcea 100644 --- a/patches/api/0490-Improve-entity-effect-API.patch +++ b/patches/api/0489-Improve-entity-effect-API.patch diff --git a/patches/api/0491-Add-recipeBrewTime.patch b/patches/api/0490-Add-recipeBrewTime.patch index 16819bfe93..16819bfe93 100644 --- a/patches/api/0491-Add-recipeBrewTime.patch +++ b/patches/api/0490-Add-recipeBrewTime.patch diff --git a/patches/api/0492-Add-PlayerInsertLecternBookEvent.patch b/patches/api/0491-Add-PlayerInsertLecternBookEvent.patch index 55cbd91d4a..55cbd91d4a 100644 --- a/patches/api/0492-Add-PlayerInsertLecternBookEvent.patch +++ b/patches/api/0491-Add-PlayerInsertLecternBookEvent.patch diff --git a/patches/api/0493-Void-damage-configuration-API.patch b/patches/api/0492-Void-damage-configuration-API.patch index 26cbd83b18..26cbd83b18 100644 --- a/patches/api/0493-Void-damage-configuration-API.patch +++ b/patches/api/0492-Void-damage-configuration-API.patch diff --git a/patches/api/0494-Add-Offline-PDC-API.patch b/patches/api/0493-Add-Offline-PDC-API.patch index 32bafdb4b3..32bafdb4b3 100644 --- a/patches/api/0494-Add-Offline-PDC-API.patch +++ b/patches/api/0493-Add-Offline-PDC-API.patch diff --git a/patches/api/0495-Add-AnvilView-bypassEnchantmentLevelRestriction.patch b/patches/api/0494-Add-AnvilView-bypassEnchantmentLevelRestriction.patch index 61af6b9321..61af6b9321 100644 --- a/patches/api/0495-Add-AnvilView-bypassEnchantmentLevelRestriction.patch +++ b/patches/api/0494-Add-AnvilView-bypassEnchantmentLevelRestriction.patch diff --git a/patches/api/0496-fix-DamageTypeTags-init.patch b/patches/api/0495-fix-DamageTypeTags-init.patch index 2d775b1322..2d775b1322 100644 --- a/patches/api/0496-fix-DamageTypeTags-init.patch +++ b/patches/api/0495-fix-DamageTypeTags-init.patch diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 3c0b7b9d42..50afbc86c9 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -31,19 +31,6 @@ index a17846ccd8581c3d6da962e977623aaab8314ec7..f6a3606b972064c4ec78487374e6197c this.structureManager = new StructureManager(this, this.serverLevelData.worldGenOptions(), this.structureCheck); // CraftBukkit if ((this.dimension() == Level.END && this.dimensionTypeRegistration().is(BuiltinDimensionTypes.END)) || env == org.bukkit.World.Environment.THE_END) { // CraftBukkit - Allow to create EnderDragonBattle in default and custom END this.dragonFight = new EndDragonFight(this, this.serverLevelData.worldGenOptions().seed(), this.serverLevelData.endDragonFightData()); // CraftBukkit -diff --git a/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java b/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java -index ed78039b89884c41ce10d520786c5b56f7d9b154..0239495abcc7b796864976b37ece184efa9a747e 100644 ---- a/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java -+++ b/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java -@@ -54,7 +54,7 @@ public record SummonEntityEffect(HolderSet<EntityType<?>> entityTypes, boolean j - // CraftBukkit start - world.strikeLightning(entity1, (context.itemStack().getItem() == Items.TRIDENT) ? LightningStrikeEvent.Cause.TRIDENT : LightningStrikeEvent.Cause.ENCHANTMENT); - } else { -- world.addFreshEntityWithPassengers(user, CreatureSpawnEvent.SpawnReason.ENCHANTMENT); -+ world.addFreshEntityWithPassengers(entity1, CreatureSpawnEvent.SpawnReason.ENCHANTMENT); // Paper - Fix typo when adding summoned entity - // CraftBukkit end - } - diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java b/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java index 4f68394a94308513269f0a4c749b6a36738e3ca0..953ab7638f7242b5a11dd1de8786172443a0558c 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java @@ -115,10 +102,10 @@ index 163d54a8bf4cedbd1471e86b7ab1a1b850ed3f39..6effe47b32a8551aa6f6b11bc0315714 public class CraftScheduler implements BukkitScheduler { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e95c367d1c14dc28b1bf83cc461c80f454af22af..5187d48ba067d0edf55fecfc912ae5ac34452da3 100644 +index 7d39ed941cd0567d01122469a36d7a645b5aeeba..c101b342e4f0c154a35f6268253d9c30d97a98c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -246,7 +246,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -247,7 +247,7 @@ public final class CraftMagicNumbers implements UnsafeValues { try { nmsStack.applyComponents(new ItemParser(Commands.createValidationContext(MinecraftServer.getDefaultRegistryAccess())).parse(new StringReader(arguments)).components()); } catch (CommandSyntaxException ex) { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 7375271d20..827ba628ff 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -3331,7 +3331,7 @@ index 49c037e961c5ca5ba8d6a870cb32ffe8719adc91..2772c19f58a35713d61aab24f6f0d6f5 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index eb61712ea067b277e7f32f887e3528faca275450..16a9142bdbbfbbbb69d1486bd119dc610094484b 100644 +index 49102177454765b8e53d0d7f47fe4bf4a33549af..c3fc8b1abe843a19347509947f4b864c1b417800 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -648,8 +648,10 @@ public final class CraftServer implements Server { @@ -5202,7 +5202,7 @@ index c71a4971f127fdfc753306019313ce1a31201120..fd3b12477c30d1eabdbe57ea77902793 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index bc68a45af66699f013851869646a2c11d5a871ee..626fe2af05fecd41b777b5dd5decbedb2f17b43a 100644 +index 5dea83c1a0de4e5123430bf2f902a78969021167..2e524520308dda7ce7df98d91c89a9cfe7542862 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -1097,6 +1097,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -5635,10 +5635,10 @@ index ff040613083c015d9c52c0995591b64305fd5018..95444fd9fecc5bda5462ca8dfeca82c5 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 5187d48ba067d0edf55fecfc912ae5ac34452da3..aa02e932ea19325694b1058d749b0858465530e8 100644 +index c101b342e4f0c154a35f6268253d9c30d97a98c3..54551723c6a6aae63edee6034ef8b8d20760cf11 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -79,6 +79,43 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -80,6 +80,43 @@ public final class CraftMagicNumbers implements UnsafeValues { private CraftMagicNumbers() {} diff --git a/patches/server/0019-Paper-Plugins.patch b/patches/server/0019-Paper-Plugins.patch index 2ca42e58a6..71fc842f89 100644 --- a/patches/server/0019-Paper-Plugins.patch +++ b/patches/server/0019-Paper-Plugins.patch @@ -7257,7 +7257,7 @@ index 9bd6056bba6ba48bada7e9cd5883b0a171b0bbc4..7399358f18dc7869fbfe414186cf1841 Bootstrap.validate(); Util.startTimerHackThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1b66c5173dd37433d895c0d804257141a3a8c588..e8c1ceed228a1dfb9f3c76b54a91d712c511ffb5 100644 +index 4ec8731a48f81aff33c7d8bcfe00dea263735e48..600e865688b423d9bb4338f413dc28418ba37748 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -280,7 +280,8 @@ public final class CraftServer implements Server { @@ -7329,10 +7329,10 @@ index 1b66c5173dd37433d895c0d804257141a3a8c588..e8c1ceed228a1dfb9f3c76b54a91d712 this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index aa02e932ea19325694b1058d749b0858465530e8..0ff9c62636e8709a6df252e9aaf931c9c17bd9bf 100644 +index 54551723c6a6aae63edee6034ef8b8d20760cf11..3c9cdb8c67d2704caac6488a6216d8c9c8a009ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -401,6 +401,16 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -402,6 +402,16 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(); } diff --git a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch index 036deead6e..4b98c18cbf 100644 --- a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch +++ b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390cb9129cd 100644 +index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b89f56a10 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -12,6 +12,7 @@ import java.util.Arrays; @@ -27,7 +27,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 import joptsimple.OptionParser; import joptsimple.OptionSet; import joptsimple.OptionSpec; -@@ -123,6 +125,40 @@ public class Commodore { +@@ -126,6 +128,40 @@ public class Commodore { return this.reroutes; } @@ -68,7 +68,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 public static void main(String[] args) { OptionParser parser = new OptionParser(); OptionSpec<File> inputFlag = parser.acceptsAll(Arrays.asList("i", "input")).withRequiredArg().ofType(File.class).required(); -@@ -278,9 +314,49 @@ public class Commodore { +@@ -281,9 +317,49 @@ public class Commodore { } return new MethodVisitor(this.api, super.visitMethod(access, name, desc, signature, exceptions)) { @@ -118,7 +118,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 name = FieldRename.rename(pluginVersion, owner, name); if (modern) { -@@ -393,6 +469,13 @@ public class Commodore { +@@ -396,6 +472,13 @@ public class Commodore { return; } @@ -132,7 +132,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 if (modern) { if (owner.equals("org/bukkit/Material") || (instantiatedMethodType != null && instantiatedMethodType.getDescriptor().startsWith("(Lorg/bukkit/Material;)"))) { switch (name) { -@@ -489,6 +572,13 @@ public class Commodore { +@@ -492,6 +575,13 @@ public class Commodore { @Override public void visitLdcInsn(Object value) { @@ -146,7 +146,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 if (value instanceof String && ((String) value).equals("com.mysql.jdbc.Driver")) { super.visitLdcInsn("com.mysql.cj.jdbc.Driver"); return; -@@ -499,6 +589,14 @@ public class Commodore { +@@ -502,6 +592,14 @@ public class Commodore { @Override public void visitInvokeDynamicInsn(String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) { @@ -161,7 +161,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 if (bootstrapMethodHandle.getOwner().equals("java/lang/invoke/LambdaMetafactory") && bootstrapMethodHandle.getName().equals("metafactory") && bootstrapMethodArguments.length == 3) { Type samMethodType = (Type) bootstrapMethodArguments[0]; -@@ -515,7 +613,7 @@ public class Commodore { +@@ -518,7 +616,7 @@ public class Commodore { methodArgs.add(new Handle(newOpcode, newOwner, newName, newDescription, newItf)); methodArgs.add(newInstantiated); @@ -170,7 +170,7 @@ index b60b715af8c3259aed8d386a5165653e0b6ed667..2a29f60c3e82239ab7acd85242fc3390 }, implMethod.getTag(), implMethod.getOwner(), implMethod.getName(), implMethod.getDesc(), implMethod.isInterface(), samMethodType, instantiatedMethodType); return; } -@@ -566,6 +664,12 @@ public class Commodore { +@@ -569,6 +667,12 @@ public class Commodore { @Override public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { diff --git a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch index 3610187c20..d424e1f6fc 100644 --- a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch +++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch @@ -645,10 +645,10 @@ index 242811578a786e3807a1a7019d472d5a68f87116..0b65fdf53124f3dd042b2363b1b8df8e return traceElements; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 2a29f60c3e82239ab7acd85242fc3390cb9129cd..91c6721201b095eb32c5fd5a1aaf2cbcf3ee196d 100644 +index 58df23162aed12f3058b5e0921a9e30b89f56a10..ba104635c7713b04ce624bc4c7bd390462bc0edb 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -126,36 +126,26 @@ public class Commodore { +@@ -129,36 +129,26 @@ public class Commodore { } // Paper start - Plugin rewrites @@ -696,7 +696,7 @@ index 2a29f60c3e82239ab7acd85242fc3390cb9129cd..91c6721201b095eb32c5fd5a1aaf2cbc } // Paper end - Plugin rewrites -@@ -240,6 +230,7 @@ public class Commodore { +@@ -243,6 +233,7 @@ public class Commodore { visitor = new LimitedClassRemapper(cw, new SimpleRemapper(Commodore.ENUM_RENAMES)); } @@ -705,10 +705,10 @@ index 2a29f60c3e82239ab7acd85242fc3390cb9129cd..91c6721201b095eb32c5fd5a1aaf2cbc final Set<RerouteMethodData> rerouteMethodData = new HashSet<>(); String className; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0ff9c62636e8709a6df252e9aaf931c9c17bd9bf..4b2377a1de608b9142a28c66389d04290f7c0330 100644 +index 3c9cdb8c67d2704caac6488a6216d8c9c8a009ef..ab4dd5a86ccd8e9878abf95417bb05ceb91dd19c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -74,6 +74,7 @@ import org.bukkit.potion.PotionType; +@@ -75,6 +75,7 @@ import org.bukkit.potion.PotionType; @SuppressWarnings("deprecation") public final class CraftMagicNumbers implements UnsafeValues { public static final CraftMagicNumbers INSTANCE = new CraftMagicNumbers(); @@ -716,7 +716,7 @@ index 0ff9c62636e8709a6df252e9aaf931c9c17bd9bf..4b2377a1de608b9142a28c66389d0429 private final Commodore commodore = new Commodore(); -@@ -346,7 +347,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -347,7 +348,7 @@ public final class CraftMagicNumbers implements UnsafeValues { throw new InvalidPluginException("Plugin API version " + pdf.getAPIVersion() + " is lower than the minimum allowed version. Please update or replace it."); } @@ -725,7 +725,7 @@ index 0ff9c62636e8709a6df252e9aaf931c9c17bd9bf..4b2377a1de608b9142a28c66389d0429 CraftLegacy.init(); } -@@ -361,6 +362,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -362,6 +363,12 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public byte[] processClass(PluginDescriptionFile pdf, String path, byte[] clazz) { diff --git a/patches/server/0033-Expose-server-build-information.patch b/patches/server/0033-Expose-server-build-information.patch index 83f13af41a..a6d2360581 100644 --- a/patches/server/0033-Expose-server-build-information.patch +++ b/patches/server/0033-Expose-server-build-information.patch @@ -590,7 +590,7 @@ index f077b8ff0bf0d96628db3569132696b68fd79921..5f11f5b16766f9d1d5640ae037e259be value.append("\n Plugins: {"); for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index db7cad60c8f805dd1b4089673f5f9d073a429a67..2bfa790a9f0ca07217c9d9f7dd916950d859530c 100644 +index f4c36880ca29d657d0b443d9578265bd84e007c7..f0ae14146015d8145cf873788559b8f0666f7f33 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -11,8 +11,6 @@ import com.google.common.collect.MapMaker; @@ -692,11 +692,11 @@ index 03790abcc3474999db6d8986e50ebc2caf6eba0c..13f811173c67533ee02f70cc4b6b398c t.printStackTrace(); } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 4b2377a1de608b9142a28c66389d04290f7c0330..2b60572307e3ec23e21e09c34a04de9a1c57f136 100644 +index ab4dd5a86ccd8e9878abf95417bb05ceb91dd19c..61efb305e25b23fe6309276e15efdb41a46c7738 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -464,6 +464,13 @@ public final class CraftMagicNumbers implements UnsafeValues { - return CraftRegistry.get(registry, namespacedKey, ApiVersion.CURRENT); +@@ -475,6 +475,13 @@ public final class CraftMagicNumbers implements UnsafeValues { + return this.customBiome; } + // Paper start diff --git a/patches/server/0176-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch index d971b0d455..42216ef379 100644 --- a/patches/server/0176-Player.setPlayerProfile-API.patch +++ b/patches/server/0176-Player.setPlayerProfile-API.patch @@ -207,10 +207,10 @@ index 128fcd537783986d816dae6d1ce2afb7af07d45a..32eeca2467189c6c97f7da5529d4fe93 public void onEntityRemove(Entity entity) { this.invertedVisibilityEntities.remove(entity.getUUID()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 91c6721201b095eb32c5fd5a1aaf2cbcf3ee196d..b85223ebff4dbb8aa74b501663afc87ef11e2a96 100644 +index ba104635c7713b04ce624bc4c7bd390462bc0edb..9a6857f325d72c1b5ce403c3240e0b1a3f43bc38 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -467,6 +467,13 @@ public class Commodore { +@@ -470,6 +470,13 @@ public class Commodore { } // Paper end - Rewrite plugins diff --git a/patches/server/0241-Improve-death-events.patch b/patches/server/0241-Improve-death-events.patch index 0dd8702773..00939c177d 100644 --- a/patches/server/0241-Improve-death-events.patch +++ b/patches/server/0241-Improve-death-events.patch @@ -440,7 +440,7 @@ index e4d840d6335007a6a542240746504bf1f2af332d..159bba49095aec77cce5f53d4388a5df public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 474f330f381aa74e9f2fd0accdbaf2617ec1c557..199abd66d2113e7bc8c478fe8e4f6657d2e12304 100644 +index 474f330f381aa74e9f2fd0accdbaf2617ec1c557..b537b3ac2ed238c01ec76ccc7941a09bfc959c10 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -902,8 +902,15 @@ public class CraftEventFactory { @@ -481,7 +481,7 @@ index 474f330f381aa74e9f2fd0accdbaf2617ec1c557..199abd66d2113e7bc8c478fe8e4f6657 + // Paper start - helper methods for making death event cancellable + // Add information to death event + private static void populateFields(net.minecraft.world.entity.LivingEntity victim, EntityDeathEvent event) { -+ event.setReviveHealth(event.getEntity().getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).getValue()); ++ event.setReviveHealth(event.getEntity().getAttribute(org.bukkit.attribute.Attribute.MAX_HEALTH).getValue()); + event.setShouldPlayDeathSound(!victim.silentDeath && !victim.isSilent()); + net.minecraft.sounds.SoundEvent soundEffect = victim.getDeathSound(); + event.setDeathSound(soundEffect != null ? org.bukkit.craftbukkit.CraftSound.minecraftToBukkit(soundEffect) : null); diff --git a/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch index 3895429c44..70ced2037c 100644 --- a/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0324-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 2b60572307e3ec23e21e09c34a04de9a1c57f136..150ab63f231fc3c39661ab876a8c90d608ee8568 100644 +index 61efb305e25b23fe6309276e15efdb41a46c7738..b50d1ddfd23bf1af16d86e5edcb72196b4674868 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -469,6 +469,53 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -480,6 +480,53 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0401-Add-methods-to-get-translation-keys.patch b/patches/server/0401-Add-methods-to-get-translation-keys.patch index 8ff2f02eb9..de167b55e7 100644 --- a/patches/server/0401-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0401-Add-methods-to-get-translation-keys.patch @@ -10,6 +10,22 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 <[email protected]> +diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java +index 8797a47be16b85dc69a28a56bb355bee7d6b1a78..9ab615347e241ac264fb70f43306075907420885 100644 +--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java ++++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java +@@ -98,6 +98,11 @@ public class CraftAttribute implements Attribute, Handleable<net.minecraft.world + return this.attributeBase.getDescriptionId(); + } + ++ @Override ++ public @NotNull String translationKey() { ++ return this.attributeBase.getDescriptionId(); ++ } ++ + @Override + public int compareTo(@NotNull Attribute attribute) { + return this.ordinal - attribute.ordinal(); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index aae00320ab8003420bae5de7df47f553b62c5aab..3fa3de9a89550ec2fcb8ca663742826c0c3136b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java diff --git a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 4a538824cb..71b2a9d8d1 100644 --- a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -21,10 +21,10 @@ index 2c9e57436469f94beb45f656a1df71aba7b1e408..c3e28cc070993be5afe9323c2c2d54ff + // Paper end - Expose entity id counter } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 150ab63f231fc3c39661ab876a8c90d608ee8568..93505eba28d9fb20ce25866e932fc1cdcb006db8 100644 +index b50d1ddfd23bf1af16d86e5edcb72196b4674868..09a6a0c06580aea9e7be8de2189673d1a476f411 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -516,6 +516,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -527,6 +527,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch b/patches/server/0424-Fix-client-lag-on-advancement-loading.patch index 67c377a6f1..c7284e1f8b 100644 --- a/patches/server/0424-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0424-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 93505eba28d9fb20ce25866e932fc1cdcb006db8..af8fde74b3162d2de740ecae1122b4f2115baeb6 100644 +index 09a6a0c06580aea9e7be8de2189673d1a476f411..e88b384e3d640dd77e419611f3c0e588fbf4f406 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -317,7 +317,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -318,7 +318,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch index ccdf448b22..fbb76f2784 100644 --- a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch +++ b/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch @@ -12,10 +12,10 @@ public net.minecraft.server.RegistryLayer STATIC_ACCESS diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java new file mode 100644 -index 0000000000000000000000000000000000000000..633b01431750d4b40159a57bf25fb35c6670ff1b +index 0000000000000000000000000000000000000000..b5df90b500a64ee3ba1026fa3449ca6441293367 --- /dev/null +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -@@ -0,0 +1,146 @@ +@@ -0,0 +1,152 @@ +package io.papermc.paper.registry; + +import io.papermc.paper.adventure.PaperAdventure; @@ -28,15 +28,21 @@ index 0000000000000000000000000000000000000000..633b01431750d4b40159a57bf25fb35c +import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; ++import org.bukkit.Fluid; +import org.bukkit.GameEvent; +import org.bukkit.JukeboxSong; +import org.bukkit.Keyed; +import org.bukkit.MusicInstrument; ++import org.bukkit.attribute.Attribute; ++import org.bukkit.block.Biome; +import org.bukkit.block.BlockType; +import org.bukkit.block.banner.PatternType; ++import org.bukkit.craftbukkit.CraftFluid; +import org.bukkit.craftbukkit.CraftGameEvent; +import org.bukkit.craftbukkit.CraftJukeboxSong; +import org.bukkit.craftbukkit.CraftMusicInstrument; ++import org.bukkit.craftbukkit.attribute.CraftAttribute; ++import org.bukkit.craftbukkit.block.CraftBiome; +import org.bukkit.craftbukkit.block.CraftBlockType; +import org.bukkit.craftbukkit.block.banner.CraftPatternType; +import org.bukkit.craftbukkit.damage.CraftDamageType; @@ -98,6 +104,8 @@ index 0000000000000000000000000000000000000000..633b01431750d4b40159a57bf25fb35c + entry(Registries.VILLAGER_TYPE, RegistryKey.VILLAGER_TYPE, Villager.Type.class, CraftVillager.CraftType::new), + entry(Registries.MAP_DECORATION_TYPE, RegistryKey.MAP_DECORATION_TYPE, MapCursor.Type.class, CraftMapCursor.CraftType::new), + entry(Registries.MENU, RegistryKey.MENU, MenuType.class, CraftMenuType::new), ++ entry(Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, Attribute.class, CraftAttribute::new), ++ entry(Registries.FLUID, RegistryKey.FLUID, Fluid.class, CraftFluid::new), + + // data-drivens + entry(Registries.STRUCTURE, RegistryKey.STRUCTURE, Structure.class, CraftStructure::new).delayed(), @@ -108,17 +116,15 @@ index 0000000000000000000000000000000000000000..633b01431750d4b40159a57bf25fb35c + entry(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(), + entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(), + entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(), ++ entry(Registries.BIOME, RegistryKey.BIOME, Biome.class, CraftBiome::new).delayed(), + + // api-only -+ apiOnly(Registries.BIOME, RegistryKey.BIOME, () -> org.bukkit.Registry.BIOME), + apiOnly(Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, () -> org.bukkit.Registry.ART), -+ apiOnly(Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, () -> org.bukkit.Registry.ATTRIBUTE), + apiOnly(Registries.ENTITY_TYPE, RegistryKey.ENTITY_TYPE, () -> org.bukkit.Registry.ENTITY_TYPE), + apiOnly(Registries.PARTICLE_TYPE, RegistryKey.PARTICLE_TYPE, () -> org.bukkit.Registry.PARTICLE_TYPE), + apiOnly(Registries.POTION, RegistryKey.POTION, () -> org.bukkit.Registry.POTION), + apiOnly(Registries.SOUND_EVENT, RegistryKey.SOUND_EVENT, () -> org.bukkit.Registry.SOUNDS), -+ apiOnly(Registries.MEMORY_MODULE_TYPE, RegistryKey.MEMORY_MODULE_TYPE, () -> (org.bukkit.Registry<MemoryKey<?>>) (org.bukkit.Registry) org.bukkit.Registry.MEMORY_MODULE_TYPE), -+ apiOnly(Registries.FLUID, RegistryKey.FLUID, () -> org.bukkit.Registry.FLUID) ++ apiOnly(Registries.MEMORY_MODULE_TYPE, RegistryKey.MEMORY_MODULE_TYPE, () -> (org.bukkit.Registry<MemoryKey<?>>) (org.bukkit.Registry) org.bukkit.Registry.MEMORY_MODULE_TYPE) + ); + final Map<RegistryKey<?>, RegistryEntry<?, ?>> byRegistryKey = new IdentityHashMap<>(REGISTRY_ENTRIES.size()); + final Map<ResourceKey<?>, RegistryEntry<?, ?>> byResourceKey = new IdentityHashMap<>(REGISTRY_ENTRIES.size()); @@ -743,10 +749,10 @@ index 8e8d6214adbd21a221147f0fc0d91cd9c06a080c..6fddef967b6314ca0158f5bd4b889867 String string = Registries.elementsDirPath(type.registryKey()); SimpleJsonResourceReloadListener.scanDirectory(resourceManager, string, ops, type.codec(), map); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index b4ed857f2437759b71b75d7ab36c986a2fd71dbc..09929f580164abcd1c04061d04c6aa992767e256 100644 +index d7e3371ebc08b5534c259ea45d89a969dfbe491a..16985dc1f54d64c44f96b045012612f16ba9ae8a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -122,81 +122,12 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -125,90 +125,12 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } @@ -758,9 +764,18 @@ index b4ed857f2437759b71b75d7ab36c986a2fd71dbc..09929f580164abcd1c04061d04c6aa99 - * @return the bukkit registry of the provided class - */ - public static <B extends Keyed> Registry<?> createRegistry(Class<? super B> bukkitClass, RegistryAccess registryHolder) { +- if (bukkitClass == Attribute.class) { +- return new CraftRegistry<>(Attribute.class, registryHolder.lookupOrThrow(Registries.ATTRIBUTE), CraftAttribute::new, FieldRename.ATTRIBUTE_RENAME); +- } +- if (bukkitClass == Biome.class) { +- return new CraftRegistry<>(Biome.class, registryHolder.lookupOrThrow(Registries.BIOME), CraftBiome::new, FieldRename.BIOME_RENAME); +- } - if (bukkitClass == Enchantment.class) { - return new CraftRegistry<>(Enchantment.class, registryHolder.lookupOrThrow(Registries.ENCHANTMENT), CraftEnchantment::new, FieldRename.ENCHANTMENT_RENAME); - } +- if (bukkitClass == Fluid.class) { +- return new CraftRegistry<>(Fluid.class, registryHolder.lookupOrThrow(Registries.FLUID), CraftFluid::new, FieldRename.NONE); +- } - if (bukkitClass == GameEvent.class) { - return new CraftRegistry<>(GameEvent.class, registryHolder.lookupOrThrow(Registries.GAME_EVENT), CraftGameEvent::new, FieldRename.NONE); - } @@ -831,7 +846,7 @@ index b4ed857f2437759b71b75d7ab36c986a2fd71dbc..09929f580164abcd1c04061d04c6aa99 } if (bukkit instanceof Registry.SimpleRegistry<?> simple) { -@@ -222,23 +153,21 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -226,23 +148,21 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { return bukkit.get(namespacedKey); } @@ -861,7 +876,7 @@ index b4ed857f2437759b71b75d7ab36c986a2fd71dbc..09929f580164abcd1c04061d04c6aa99 @Override public B get(NamespacedKey namespacedKey) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 30675a23a25dc065e09d97b9b08386c9f41989d8..a12dc990a9094e964be2af26a5135e3b798f9666 100644 +index 1c30369a2ed1577d7fb8457f9751de2d32634d29..45ddb643d544dbcb35954108abb6f5d2454a555d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -284,7 +284,7 @@ public final class CraftServer implements Server { @@ -891,7 +906,7 @@ index 30675a23a25dc065e09d97b9b08386c9f41989d8..a12dc990a9094e964be2af26a5135e3b @Deprecated diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java -index c1023eff9f391c07b57e57450b756fe16299f723..b5e0023e431f9fb43c93a3f977144b03545322bb 100644 +index 091e11934bddb180f0b2e51efb3921c62275d41d..12fe2f8d0dcb715545e071023490a32125b9c4a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java @@ -51,11 +51,14 @@ public class FieldRename { @@ -915,10 +930,10 @@ index c1023eff9f391c07b57e57450b756fe16299f723..b5e0023e431f9fb43c93a3f977144b03 // PatternType private static final FieldRenameData PATTERN_TYPE_DATA = FieldRenameData.Builder.newBuilder() diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index b85223ebff4dbb8aa74b501663afc87ef11e2a96..760f56d36f0e4a74b58628408a286a499d6664ec 100644 +index 9a6857f325d72c1b5ce403c3240e0b1a3f43bc38..e4b79d92a8c41eb37d989248425b1e5a963b476c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -215,20 +215,10 @@ public class Commodore { +@@ -218,20 +218,10 @@ public class Commodore { public byte[] convert(byte[] b, final String pluginName, final ApiVersion pluginVersion, final Set<String> activeCompatibilities) { final boolean modern = pluginVersion.isNewerThanOrSameAs(ApiVersion.FLATTENING); @@ -939,7 +954,7 @@ index b85223ebff4dbb8aa74b501663afc87ef11e2a96..760f56d36f0e4a74b58628408a286a49 visitor = io.papermc.paper.pluginremap.reflect.ReflectionRemapper.visitor(visitor); // Paper cr.accept(new ClassRemapper(new ClassVisitor(Opcodes.ASM9, visitor) { -@@ -295,15 +285,6 @@ public class Commodore { +@@ -298,15 +288,6 @@ public class Commodore { @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { @@ -1244,7 +1259,7 @@ index bbd5dd5b27937ddc3d8c57f2b604331495b0f311..626c3033e36897846fe84a77d05e2e91 CraftRegistry.setMinecraftRegistry(RegistryHelper.getRegistry()); } diff --git a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java -index 47f3b79d76399ff2185ea753260a702441ecadf5..eb3974690fb12ffe678522ed47e0f730712db016 100644 +index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad69a56abb 100644 --- a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java +++ b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java @@ -1,6 +1,7 @@ @@ -1255,12 +1270,15 @@ index 47f3b79d76399ff2185ea753260a702441ecadf5..eb3974690fb12ffe678522ed47e0f730 import java.util.List; import java.util.stream.Stream; import net.minecraft.core.registries.Registries; -@@ -61,36 +62,35 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { +@@ -67,39 +68,38 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { private static final List<Arguments> DATA = Lists.newArrayList(); static { - // Order: Bukkit class, Minecraft Registry key, CraftBukkit class, Minecraft class +- register(Attribute.class, Registries.ATTRIBUTE, CraftAttribute.class, net.minecraft.world.entity.ai.attributes.Attribute.class); +- register(Biome.class, Registries.BIOME, CraftBiome.class, net.minecraft.world.level.biome.Biome.class); - register(Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class); +- register(Fluid.class, Registries.FLUID, CraftFluid.class, net.minecraft.world.level.material.Fluid.class); - register(GameEvent.class, Registries.GAME_EVENT, CraftGameEvent.class, net.minecraft.world.level.gameevent.GameEvent.class); - register(MusicInstrument.class, Registries.INSTRUMENT, CraftMusicInstrument.class, Instrument.class); - register(MenuType.class, Registries.MENU, CraftMenuType.class, net.minecraft.world.inventory.MenuType.class); @@ -1282,7 +1300,10 @@ index 47f3b79d76399ff2185ea753260a702441ecadf5..eb3974690fb12ffe678522ed47e0f730 - register(PatternType.class, Registries.BANNER_PATTERN, CraftPatternType.class, BannerPattern.class); - + // Order: RegistryKey, Bukkit class, Minecraft Registry key, CraftBukkit class, Minecraft class ++ register(RegistryKey.ATTRIBUTE, Attribute.class, Registries.ATTRIBUTE, CraftAttribute.class, net.minecraft.world.entity.ai.attributes.Attribute.class); ++ register(RegistryKey.BIOME, Biome.class, Registries.BIOME, CraftBiome.class, net.minecraft.world.level.biome.Biome.class); + register(RegistryKey.ENCHANTMENT, Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class); ++ register(RegistryKey.FLUID, Fluid.class, Registries.FLUID, CraftFluid.class, net.minecraft.world.level.material.Fluid.class); + register(RegistryKey.GAME_EVENT, GameEvent.class, Registries.GAME_EVENT, CraftGameEvent.class, net.minecraft.world.level.gameevent.GameEvent.class); + register(RegistryKey.INSTRUMENT, MusicInstrument.class, Registries.INSTRUMENT, CraftMusicInstrument.class, Instrument.class); + register(RegistryKey.MOB_EFFECT, PotionEffectType.class, Registries.MOB_EFFECT, CraftPotionEffectType.class, MobEffect.class); diff --git a/patches/server/0496-Expand-world-key-API.patch b/patches/server/0496-Expand-world-key-API.patch index 80f4011a34..903e7ac8ea 100644 --- a/patches/server/0496-Expand-world-key-API.patch +++ b/patches/server/0496-Expand-world-key-API.patch @@ -20,7 +20,7 @@ index 15da29058f80a2d7cf2be26c48421c1746815a10..a070b2a83edaa702b13bc6d302691412 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a12dc990a9094e964be2af26a5135e3b798f9666..85b2298efface87ee97e0f996d939cc135ca981d 100644 +index 45ddb643d544dbcb35954108abb6f5d2454a555d..aeb6568c6a48d3448c5724896898371228313ceb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1185,9 +1185,15 @@ public final class CraftServer implements Server { @@ -67,10 +67,10 @@ index a12dc990a9094e964be2af26a5135e3b798f9666..85b2298efface87ee97e0f996d939cc1 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index af8fde74b3162d2de740ecae1122b4f2115baeb6..77f0d6c44c3773968b1e858d02cfc4ffb25fe99b 100644 +index e88b384e3d640dd77e419611f3c0e588fbf4f406..28948975c5adcf78d9c0e0b6fb63db981a369a77 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -527,6 +527,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -538,6 +538,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/server/0501-Expose-protocol-version.patch b/patches/server/0501-Expose-protocol-version.patch index 13133988e5..61d4fc32be 100644 --- a/patches/server/0501-Expose-protocol-version.patch +++ b/patches/server/0501-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 77f0d6c44c3773968b1e858d02cfc4ffb25fe99b..ada83b5e843f761837a7510112162c6954ab4260 100644 +index 28948975c5adcf78d9c0e0b6fb63db981a369a77..25a206cf1eb07e826b549aacf9a4d0fbffb32177 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -532,6 +532,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -543,6 +543,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0528-ItemStack-repair-check-API.patch b/patches/server/0528-ItemStack-repair-check-API.patch index b016fcc18d..fb178f277b 100644 --- a/patches/server/0528-ItemStack-repair-check-API.patch +++ b/patches/server/0528-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ada83b5e843f761837a7510112162c6954ab4260..02306ed81a67faa94d98070d3e7c9044cb5d2825 100644 +index 25a206cf1eb07e826b549aacf9a4d0fbffb32177..079cb08b92061bb14952cf4ad2bda61e154f4438 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -537,6 +537,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -548,6 +548,14 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0535-Improve-item-default-attribute-API.patch b/patches/server/0535-Improve-item-default-attribute-API.patch index 6f2c104c78..f5daf28287 100644 --- a/patches/server/0535-Improve-item-default-attribute-API.patch +++ b/patches/server/0535-Improve-item-default-attribute-API.patch @@ -62,10 +62,10 @@ index 68756419ac6ee292db9569eab380a5c14d748002..6d76cc1db3ac3f1ae74c13511937fb86 return defaultAttributes.build(); } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 02306ed81a67faa94d98070d3e7c9044cb5d2825..ffc98d8ed238cc653a7a6518a46c4e45a1b3682c 100644 +index 079cb08b92061bb14952cf4ad2bda61e154f4438..6855210dc58f455b5af05d9c039da55e8dfc93f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -385,7 +385,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -386,7 +386,11 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public Multimap<Attribute, AttributeModifier> getDefaultAttributeModifiers(Material material, EquipmentSlot slot) { diff --git a/patches/server/0580-Get-entity-default-attributes.patch b/patches/server/0580-Get-entity-default-attributes.patch index 6d512ca637..9c95ca3611 100644 --- a/patches/server/0580-Get-entity-default-attributes.patch +++ b/patches/server/0580-Get-entity-default-attributes.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..ec9ebd2d539333293c51b7edfa18f18b + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ffc98d8ed238cc653a7a6518a46c4e45a1b3682c..31b625779dfe27602ac198259258e64195c1796d 100644 +index 6855210dc58f455b5af05d9c039da55e8dfc93f1..1dd9a5cc45d5073adb150abdcbe2025e6ed2c315 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -549,6 +549,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -560,6 +560,18 @@ public final class CraftMagicNumbers implements UnsafeValues { } return CraftItemStack.unwrap(itemToBeRepaired).isValidRepairItem(CraftItemStack.unwrap(repairMaterial)); } @@ -105,7 +105,7 @@ index ffc98d8ed238cc653a7a6518a46c4e45a1b3682c..31b625779dfe27602ac198259258e641 /** diff --git a/src/test/java/io/papermc/paper/attribute/EntityTypeAttributesTest.java b/src/test/java/io/papermc/paper/attribute/EntityTypeAttributesTest.java new file mode 100644 -index 0000000000000000000000000000000000000000..f512d416df883036965ff6c802fd242a4c9c8079 +index 0000000000000000000000000000000000000000..fa9fb37993f4025f85dac084efb4b5eda0ede637 --- /dev/null +++ b/src/test/java/io/papermc/paper/attribute/EntityTypeAttributesTest.java @@ -0,0 +1,40 @@ @@ -142,8 +142,8 @@ index 0000000000000000000000000000000000000000..f512d416df883036965ff6c802fd242a + @Test + public void testUnmodifiabilityOfAttributable() { + Attributable attributable = EntityType.ZOMBIE.getDefaultAttributes(); -+ assertThrows(UnsupportedOperationException.class, () -> attributable.registerAttribute(Attribute.GENERIC_ATTACK_DAMAGE)); -+ AttributeInstance instance = attributable.getAttribute(Attribute.GENERIC_FOLLOW_RANGE); ++ assertThrows(UnsupportedOperationException.class, () -> attributable.registerAttribute(Attribute.ATTACK_DAMAGE)); ++ AttributeInstance instance = attributable.getAttribute(Attribute.FOLLOW_RANGE); + assertNotNull(instance); + assertThrows(UnsupportedOperationException.class, () -> instance.addModifier(new AttributeModifier("test", 3, AttributeModifier.Operation.ADD_NUMBER))); + assertThrows(UnsupportedOperationException.class, () -> instance.setBaseValue(3.2)); diff --git a/patches/server/0582-Add-more-advancement-API.patch b/patches/server/0582-Add-more-advancement-API.patch index 1d8e873a36..ac526b9045 100644 --- a/patches/server/0582-Add-more-advancement-API.patch +++ b/patches/server/0582-Add-more-advancement-API.patch @@ -164,10 +164,10 @@ index 8ca86852319d7463f60832bc98b825b0b4325995..62ada73302c6b3ce3fb2dcc8c31a1d9c private final DisplayInfo handle; diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 760f56d36f0e4a74b58628408a286a499d6664ec..34e41ea24e1673109f14153a1a0c8e794fed20bb 100644 +index e4b79d92a8c41eb37d989248425b1e5a963b476c..1f25fa2b2ce8fae5bce29232cbb51966b86dae85 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -453,6 +453,11 @@ public class Commodore { +@@ -456,6 +456,11 @@ public class Commodore { super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; } diff --git a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch index 715b0b753d..52f7274600 100644 --- a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch @@ -37,10 +37,10 @@ index cab7a3d21699605cb7fc480830d7529f70e69e88..ad86ee4372e55c82968fd4fc6a65deba + // Paper end - old getSpawnEgg API } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 34e41ea24e1673109f14153a1a0c8e794fed20bb..63d4ffe93a445abf3c766d4f1f8fbf4a412a2a03 100644 +index 1f25fa2b2ce8fae5bce29232cbb51966b86dae85..f10e7a847e9f57d2a987b118215c0ceab251a5b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -460,6 +460,15 @@ public class Commodore { +@@ -463,6 +463,15 @@ public class Commodore { } // Paper end diff --git a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch index 660fb63c77..404023dde8 100644 --- a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch @@ -50,10 +50,10 @@ index 0c1c9033646dedcf1d11dee74d6965683adadf0a..1ed01978611cddb2558e441863dadc46 @Override public boolean isInvisible() { // Paper - moved up from LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 31b625779dfe27602ac198259258e64195c1796d..1ab160c3d042be43df3bd19d095534b91c4c2f71 100644 +index 1dd9a5cc45d5073adb150abdcbe2025e6ed2c315..2a3dc48aa50b41ede0e1a0e280314624961967f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -499,7 +499,33 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -510,7 +510,33 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow()); } diff --git a/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch b/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch index 263f5852b3..7356aca21a 100644 --- a/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch +++ b/patches/server/0681-Cache-resource-keys-and-optimize-reference-Holder-ta.patch @@ -18,34 +18,6 @@ index 94671ea227b59a8f820425c401712e6aeb8b2b10..e91c4e26c25980645941ca8fbdcc3a9d } @Override -diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java -index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java -@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.block; - import com.google.common.base.Preconditions; - import net.minecraft.core.Holder; - import net.minecraft.core.registries.Registries; -+import net.minecraft.resources.ResourceKey; - import org.bukkit.Registry; - import org.bukkit.block.Biome; - import org.bukkit.craftbukkit.CraftRegistry; -@@ -27,13 +28,14 @@ public class CraftBiome { - return CraftBiome.minecraftToBukkit(minecraft.value()); - } - -+ private static final java.util.Map<org.bukkit.block.Biome, ResourceKey<net.minecraft.world.level.biome.Biome>> BIOME_KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(Biome.class)); // Paper - public static net.minecraft.world.level.biome.Biome bukkitToMinecraft(Biome bukkit) { - if (bukkit == null || bukkit == Biome.CUSTOM) { - return null; - } - - return CraftRegistry.getMinecraftRegistry(Registries.BIOME) -- .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); -+ .getOptional(BIOME_KEY_CACHE.computeIfAbsent(bukkit, b -> ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(b.getKey())))).orElseThrow(); - } - - public static Holder<net.minecraft.world.level.biome.Biome> bukkitToMinecraftHolder(Biome bukkit) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java index 6cf8af0c85231de9955282d4abaa0607ec9a195c..d230cbc26f61d8ac5880825aca4dfab197c20401 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java diff --git a/patches/server/0726-Add-NamespacedKey-biome-methods.patch b/patches/server/0726-Add-NamespacedKey-biome-methods.patch index 015b2064d9..1734d3c119 100644 --- a/patches/server/0726-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0726-Add-NamespacedKey-biome-methods.patch @@ -6,25 +6,22 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1ab160c3d042be43df3bd19d095534b91c4c2f71..9f4124485dac3d029ec8247b64098042aa1a48d2 100644 +index 2a3dc48aa50b41ede0e1a0e280314624961967f2..d4d5d40ba3bcf715e52aeb72ec4d14718c793e7c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -587,6 +587,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -598,6 +598,16 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.getValue(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } + + @Override + public org.bukkit.NamespacedKey getBiomeKey(org.bukkit.RegionAccessor accessor, int x, int y, int z) { -+ org.bukkit.craftbukkit.CraftRegionAccessor cra = (org.bukkit.craftbukkit.CraftRegionAccessor) accessor; -+ return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(cra.getHandle().registryAccess().lookupOrThrow(net.minecraft.core.registries.Registries.BIOME).getKey(cra.getHandle().getBiome(new net.minecraft.core.BlockPos(x, y, z)).value())); ++ return accessor.getBiome(x, y, z).getKey(); + } + + @Override + public void setBiomeKey(org.bukkit.RegionAccessor accessor, int x, int y, int z, org.bukkit.NamespacedKey biomeKey) { -+ org.bukkit.craftbukkit.CraftRegionAccessor cra = (org.bukkit.craftbukkit.CraftRegionAccessor) accessor; -+ net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeBase = cra.getHandle().registryAccess().lookupOrThrow(net.minecraft.core.registries.Registries.BIOME).getOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey))); -+ cra.setBiome(x, y, z, biomeBase); ++ accessor.setBiome(x, y, z, org.bukkit.Registry.BIOME.getOrThrow(biomeKey)); + } // Paper end diff --git a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index fb6e8b07ea..62022124a8 100644 --- a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type TODO: Remove in 1.21? diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 63d4ffe93a445abf3c766d4f1f8fbf4a412a2a03..419b899f0e65b9656432513b69f60150c75bd13f 100644 +index f10e7a847e9f57d2a987b118215c0ceab251a5b0..015a2cf3e969e938158f27a04e172c837068437d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -458,6 +458,12 @@ public class Commodore { +@@ -461,6 +461,12 @@ public class Commodore { super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, runtimeCbPkgPrefix() + "advancement/CraftAdvancement", "getDisplay0", desc, false); return; } diff --git a/patches/server/0845-Fix-custom-statistic-criteria-creation.patch b/patches/server/0845-Fix-custom-statistic-criteria-creation.patch index c57ac96255..ff197a490c 100644 --- a/patches/server/0845-Fix-custom-statistic-criteria-creation.patch +++ b/patches/server/0845-Fix-custom-statistic-criteria-creation.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 9f4124485dac3d029ec8247b64098042aa1a48d2..a74784ddf63d316f253381ed803822a149e92bc7 100644 +index d4d5d40ba3bcf715e52aeb72ec4d14718c793e7c..939bc76ca46081d51a6cb18ac39cd05d3ce58ac8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -600,6 +600,12 @@ public final class CraftMagicNumbers implements UnsafeValues { - net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeBase = cra.getHandle().registryAccess().lookupOrThrow(net.minecraft.core.registries.Registries.BIOME).getOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey))); - cra.setBiome(x, y, z, biomeBase); +@@ -608,6 +608,12 @@ public final class CraftMagicNumbers implements UnsafeValues { + public void setBiomeKey(org.bukkit.RegionAccessor accessor, int x, int y, int z, org.bukkit.NamespacedKey biomeKey) { + accessor.setBiome(x, y, z, org.bukkit.Registry.BIOME.getOrThrow(biomeKey)); } + + @Override diff --git a/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch index dc4c28926e..1fa31034dc 100644 --- a/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch +++ b/patches/server/0883-Fix-UnsafeValues-loadAdvancement.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix UnsafeValues#loadAdvancement diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a74784ddf63d316f253381ed803822a149e92bc7..1835f8cfda0222fadd9db31abfb7e85899051853 100644 +index f15060bbe6dc0fbb4a81aee294d311047a3650b2..86c78365e7510140515b0f0f834113d01095b842 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -302,9 +302,30 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -303,9 +303,30 @@ public final class CraftMagicNumbers implements UnsafeValues { ResourceLocation minecraftkey = CraftNamespacedKey.toMinecraft(key); JsonElement jsonelement = JsonParser.parseString(advancement); diff --git a/patches/server/0905-Improve-Registry.patch b/patches/server/0905-Improve-Registry.patch index d5769f63c0..7bd4b1163b 100644 --- a/patches/server/0905-Improve-Registry.patch +++ b/patches/server/0905-Improve-Registry.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve Registry diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 09929f580164abcd1c04061d04c6aa992767e256..aa66fd8dca886c1f064d8cb4a3d15c2086c1719a 100644 +index 16985dc1f54d64c44f96b045012612f16ba9ae8a..002a3475c6e062071845399ed723754ce4ce9e95 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -155,6 +155,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -150,6 +150,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { private final Class<?> bukkitClass; // Paper - relax preload class private final Map<NamespacedKey, B> cache = new HashMap<>(); @@ -16,7 +16,7 @@ index 09929f580164abcd1c04061d04c6aa992767e256..aa66fd8dca886c1f064d8cb4a3d15c20 private final net.minecraft.core.Registry<M> minecraftRegistry; private final BiFunction<NamespacedKey, M, B> minecraftToBukkit; private final BiFunction<NamespacedKey, ApiVersion, NamespacedKey> serializationUpdater; // Paper - rename to make it *clear* what it is *only* for -@@ -203,6 +204,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -198,6 +199,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { } this.cache.put(namespacedKey, bukkit); @@ -24,7 +24,7 @@ index 09929f580164abcd1c04061d04c6aa992767e256..aa66fd8dca886c1f064d8cb4a3d15c20 return bukkit; } -@@ -235,4 +237,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -230,4 +232,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { return this.minecraftToBukkit.apply(namespacedKey, minecraft); } diff --git a/patches/server/0912-Fixup-NamespacedKey-handling.patch b/patches/server/0912-Fixup-NamespacedKey-handling.patch index 932cc370d8..0eee21b8d0 100644 --- a/patches/server/0912-Fixup-NamespacedKey-handling.patch +++ b/patches/server/0912-Fixup-NamespacedKey-handling.patch @@ -18,10 +18,10 @@ index 90b82ad996b2b85628c9a5ddeef9410150b7f70c..5fd22a80e9d05afbea273471cee99173 public static NamespacedKey minecraftToBukkitKey(ResourceKey<LootTable> minecraft) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index aa66fd8dca886c1f064d8cb4a3d15c2086c1719a..f8450a2abd1e96fac7827d252cc00038b9dee839 100644 +index 002a3475c6e062071845399ed723754ce4ce9e95..9245f6de141384bfc12e8dd81ce1df366c6a62aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -122,6 +122,16 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -125,6 +125,16 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } @@ -39,10 +39,10 @@ index aa66fd8dca886c1f064d8cb4a3d15c2086c1719a..f8450a2abd1e96fac7827d252cc00038 // Paper - NOTE: As long as all uses of the method below relate to *serialization* via ConfigurationSerializable, it's fine diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java -index cc97638e038ea64ad180ebfded2528aa07d1809e..10e4318782107644f67818109784fff60d017e0a 100644 +index 9ab615347e241ac264fb70f43306075907420885..0d04f0a34d1d1894845b720a407f7190ea78d514 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttribute.java -@@ -37,6 +37,7 @@ public class CraftAttribute { +@@ -33,6 +33,7 @@ public class CraftAttribute implements Attribute, Handleable<net.minecraft.world string = FieldRename.convertAttributeName(ApiVersion.CURRENT, string); string = string.toLowerCase(Locale.ROOT); NamespacedKey key = NamespacedKey.fromString(string); diff --git a/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch index af708be49f..d894cc200c 100644 --- a/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch +++ b/patches/server/0917-Add-api-for-spawn-egg-texture-colors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add api for spawn egg texture colors diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1835f8cfda0222fadd9db31abfb7e85899051853..30106a999db1bae217333b5e94913b9ec55e4615 100644 +index 789f98d0a6bbe240714ae965dfa1312439ce09cf..0d530bcefc0ceb00a60a70d454ec96d24de8c7e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -629,6 +629,15 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -637,6 +637,15 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end diff --git a/patches/server/0918-Add-Lifecycle-Event-system.patch b/patches/server/0918-Add-Lifecycle-Event-system.patch index 0eaff54d34..6b71908eac 100644 --- a/patches/server/0918-Add-Lifecycle-Event-system.patch +++ b/patches/server/0918-Add-Lifecycle-Event-system.patch @@ -727,7 +727,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 a1f2c8fd0348a6a5dad521430f473867bdadd1a5..a2c749b2997557fec5c978f3bed8c35d7614e740 100644 +index 9ab601a8e455196cd04dfa0fa81c4d356ec62b13..5112fdb9faf4b2761bb2b7107c49952f37be030c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1050,6 +1050,11 @@ public final class CraftServer implements Server { @@ -743,10 +743,10 @@ index a1f2c8fd0348a6a5dad521430f473867bdadd1a5..a2c749b2997557fec5c978f3bed8c35d this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 30106a999db1bae217333b5e94913b9ec55e4615..06d66c8043daec3c736d82d972ceb98d55eae9d1 100644 +index 0d530bcefc0ceb00a60a70d454ec96d24de8c7e5..b4e3ca43982f99843df959ff4280d4355929eb72 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -638,6 +638,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -646,6 +646,13 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end - spawn egg color visibility diff --git a/patches/server/0919-ItemStack-Tooltip-API.patch b/patches/server/0919-ItemStack-Tooltip-API.patch index f06c4356cd..f3abeb774c 100644 --- a/patches/server/0919-ItemStack-Tooltip-API.patch +++ b/patches/server/0919-ItemStack-Tooltip-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack Tooltip API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 06d66c8043daec3c736d82d972ceb98d55eae9d1..51d5629b00ec4929c12ed9e6ba5a37f5903cf13e 100644 +index b4e3ca43982f99843df959ff4280d4355929eb72..f0556a207f6d9d1766ef0d9753355f7fa5052dc1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -627,6 +627,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -635,6 +635,19 @@ public final class CraftMagicNumbers implements UnsafeValues { if (statistic.getType() != org.bukkit.Statistic.Type.UNTYPED) return "minecraft.custom:minecraft." + statistic.getKey().getKey(); return org.bukkit.craftbukkit.CraftStatistic.getNMSStatistic(statistic).getName(); } diff --git a/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch b/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch index 25ace4aa41..2041bbd5a1 100644 --- a/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch +++ b/patches/server/0936-Fix-possible-StackOverflowError-and-NPE-for-some-dis.patch @@ -236,10 +236,10 @@ index f2e19218cf0d3b44a617c7d74f782c3e15e3f07f..aae9ec8f3bd39685b37251bef3f9ac84 idispensebehavior.dispense(pointer, eventStack); return stack; diff --git a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java -index a9d230d6ff22d5e3a11b2f31e7d751f44888a12c..aba0ddfc5009a11b6c5cba95a90479083643bdad 100644 +index 6b343afe473624082e13bee935638eb140271184..baf3feee740c816cf9f0470a8e56a36d02c9a29c 100644 --- a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java -@@ -57,7 +57,7 @@ public class ProjectileDispenseBehavior extends DefaultDispenseItemBehavior { +@@ -56,7 +56,7 @@ public class ProjectileDispenseBehavior extends DefaultDispenseItemBehavior { stack.grow(1); // Chain to handler for new item ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem()); @@ -292,7 +292,7 @@ index a02f24448b002824b068278fa427003008c0d0f1..500c56c4ef0878434582a50d6dba2ccc if (!stack.isItemEnabled(world.enabledFeatures())) { return DispenserBlock.DEFAULT_BEHAVIOR; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 96b901d07718d8926a2175925e867b4417c3947c..418e67ef5896325fe143501f5a4f1604b065ba0f 100644 +index 937ed4e77739ff02ff1e4405047f15eac40906fe..41a0650bfd6e72b83364441dd76df3d561d3163e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -2232,7 +2232,7 @@ public class CraftEventFactory { diff --git a/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch index 872400fdee..7b03ec7aef 100644 --- a/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch +++ b/patches/server/0940-Properly-track-the-changed-item-from-dispense-events.patch @@ -72,18 +72,18 @@ index 681c38f4457fc10806c10518b16159580c0f2619..8f9b86e50717746e55232293d9e5ac05 } else { return this.defaultDispenseItemBehavior.dispense(pointer, stack); diff --git a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java -index aba0ddfc5009a11b6c5cba95a90479083643bdad..b341792b694e4d6d7ca98061976b8857d83c4233 100644 +index baf3feee740c816cf9f0470a8e56a36d02c9a29c..281439e430fb8e587549da783bdd93432f8f957f 100644 --- a/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/ProjectileDispenseBehavior.java -@@ -64,7 +64,7 @@ public class ProjectileDispenseBehavior extends DefaultDispenseItemBehavior { - } - } +@@ -65,7 +65,7 @@ public class ProjectileDispenseBehavior extends DefaultDispenseItemBehavior { -- Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, stack, enumdirection), worldserver, stack, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); -+ Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, CraftItemStack.unwrap(event.getItem()), enumdirection), worldserver, stack, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); // Paper - track changed items in the dispense event; unwrap is safe here because all uses of the stack make their own copies - ((Entity) iprojectile).projectileSource = new org.bukkit.craftbukkit.projectiles.CraftBlockProjectileSource(pointer.blockEntity()); + // SPIGOT-7923: Avoid create projectiles with empty item + if (!itemstack1.isEmpty()) { +- Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, itemstack1, enumdirection), worldserver, itemstack1, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); ++ Projectile iprojectile = Projectile.spawnProjectileUsingShoot(this.projectileItem.asProjectile(worldserver, iposition, CraftItemStack.unwrap(event.getItem()), enumdirection), worldserver, itemstack1, event.getVelocity().getX(), event.getVelocity().getY(), event.getVelocity().getZ(), this.dispenseConfig.power(), this.dispenseConfig.uncertainty()); // Paper - track changed items in the dispense event; unwrap is safe here because all uses of the stack make their own copies + iprojectile.projectileSource = new org.bukkit.craftbukkit.projectiles.CraftBlockProjectileSource(pointer.blockEntity()); + } // itemstack.shrink(1); // CraftBukkit - Handled during event processing - // CraftBukkit end diff --git a/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java index cc85e96035f7cb2e6493b1cc4748031171d7dbee..16b435216dc7c6a3f8c1c0f9e2323e6afb3a6cb9 100644 --- a/src/main/java/net/minecraft/core/dispenser/ShulkerBoxDispenseBehavior.java diff --git a/patches/server/0953-General-ItemMeta-fixes.patch b/patches/server/0953-General-ItemMeta-fixes.patch index 9421f612dd..54c99087b9 100644 --- a/patches/server/0953-General-ItemMeta-fixes.patch +++ b/patches/server/0953-General-ItemMeta-fixes.patch @@ -1049,7 +1049,7 @@ index 566d893a413fd04b99e83dc2da8fe958a48492a8..a944803771d514572f94b4e98a6d4435 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 13b19adc21ece31476b2980c5bc01a50f15df634..a6e2281bfac94f1e19836d9c8415d8270387b16d 100644 +index 14aab3a2adfde7a236610be2b928651bc01067f5..5eb1f0126c3d3bca9bf3e769bec4ec532cc0d9ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -199,9 +199,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -1194,15 +1194,6 @@ index 13b19adc21ece31476b2980c5bc01a50f15df634..a6e2281bfac94f1e19836d9c8415d827 } @Override -@@ -1656,7 +1664,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { - - @Override - public void setEquippable(EquippableComponent equippable) { -- this.equippable = (equippable == null) ? null : new CraftEquippableComponent((CraftEquippableComponent) this.equippable); -+ this.equippable = (equippable == null) ? null : new CraftEquippableComponent((CraftEquippableComponent) equippable); // Paper - } - - @Override @@ -1692,7 +1700,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override diff --git a/patches/server/0993-Registry-Modification-API.patch b/patches/server/0993-Registry-Modification-API.patch index 13cda87ccc..8c62f4ec9b 100644 --- a/patches/server/0993-Registry-Modification-API.patch +++ b/patches/server/0993-Registry-Modification-API.patch @@ -9,7 +9,7 @@ public net.minecraft.resources.RegistryOps lookupProvider public net.minecraft.resources.RegistryOps$HolderLookupAdapter diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index 633b01431750d4b40159a57bf25fb35c6670ff1b..5cf598905ed6a7ac2b0d9ced3420adaf20ceb6af 100644 +index b5df90b500a64ee3ba1026fa3449ca6441293367..36bc8d005de14622eb8a0bf4736d964276c95344 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -2,6 +2,7 @@ package io.papermc.paper.registry; @@ -20,7 +20,7 @@ index 633b01431750d4b40159a57bf25fb35c6670ff1b..5cf598905ed6a7ac2b0d9ced3420adaf import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; -@@ -58,6 +59,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; +@@ -64,6 +65,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; import static io.papermc.paper.registry.entry.RegistryEntry.apiOnly; import static io.papermc.paper.registry.entry.RegistryEntry.entry; @@ -28,7 +28,7 @@ index 633b01431750d4b40159a57bf25fb35c6670ff1b..5cf598905ed6a7ac2b0d9ced3420adaf @DefaultQualifier(NonNull.class) public final class PaperRegistries { -@@ -141,6 +143,15 @@ public final class PaperRegistries { +@@ -147,6 +149,15 @@ public final class PaperRegistries { return ResourceKey.create((ResourceKey<? extends Registry<M>>) PaperRegistries.registryToNms(typedKey.registryKey()), PaperAdventure.asVanilla(typedKey.key())); } @@ -1323,10 +1323,10 @@ index 6fddef967b6314ca0158f5bd4b8898670ea5e9ec..b5ca1a0acb16d0cd8dccc854f309d425 return writableRegistry; }, prepareExecutor); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index f8450a2abd1e96fac7827d252cc00038b9dee839..891ccc39d52331648a11b4e7cce78d4c848cdea0 100644 +index 9245f6de141384bfc12e8dd81ce1df366c6a62aa..d97ddbcb5efdae5f848c77bee52058b16316b3dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -167,11 +167,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -162,11 +162,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { private final Map<NamespacedKey, B> cache = new HashMap<>(); private final Map<B, NamespacedKey> byValue = new java.util.IdentityHashMap<>(); // Paper - improve Registry private final net.minecraft.core.Registry<M> minecraftRegistry; @@ -1340,7 +1340,7 @@ index f8450a2abd1e96fac7827d252cc00038b9dee839..891ccc39d52331648a11b4e7cce78d4c this.bukkitClass = bukkitClass; this.minecraftRegistry = minecraftRegistry; this.minecraftToBukkit = minecraftToBukkit; -@@ -254,4 +254,17 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { +@@ -249,4 +249,17 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> { return this.byValue.get(value); } // Paper end - improve Registry @@ -1359,10 +1359,10 @@ index f8450a2abd1e96fac7827d252cc00038b9dee839..891ccc39d52331648a11b4e7cce78d4c + // Paper end - RegistrySet API } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 51d5629b00ec4929c12ed9e6ba5a37f5903cf13e..d728bf1d83877290e4d3fdaa7649ed077c0ee1ec 100644 +index f0556a207f6d9d1766ef0d9753355f7fa5052dc1..f55733b7a56ac21cb297971b9e854ef54001ca26 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -658,6 +658,21 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -666,6 +666,21 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end - lifecycle event API diff --git a/patches/server/0994-Add-registry-entry-and-builders.patch b/patches/server/0994-Add-registry-entry-and-builders.patch index 0355a6b299..61941d6748 100644 --- a/patches/server/0994-Add-registry-entry-and-builders.patch +++ b/patches/server/0994-Add-registry-entry-and-builders.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add registry entry and builders diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index 5cf598905ed6a7ac2b0d9ced3420adaf20ceb6af..12220f78ffaf06433ada72fd0c7f22b97d55287d 100644 +index 36bc8d005de14622eb8a0bf4736d964276c95344..3ad1ba8c14fe3745cedcbbd9bb28dad36eb6c7bb 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -1,6 +1,8 @@ @@ -17,7 +17,7 @@ index 5cf598905ed6a7ac2b0d9ced3420adaf20ceb6af..12220f78ffaf06433ada72fd0c7f22b9 import io.papermc.paper.registry.entry.RegistryEntry; import io.papermc.paper.registry.tag.TagKey; import java.util.Collections; -@@ -70,7 +72,7 @@ public final class PaperRegistries { +@@ -76,7 +78,7 @@ public final class PaperRegistries { static { REGISTRY_ENTRIES = List.of( // built-ins @@ -26,7 +26,7 @@ index 5cf598905ed6a7ac2b0d9ced3420adaf20ceb6af..12220f78ffaf06433ada72fd0c7f22b9 entry(Registries.STRUCTURE_TYPE, RegistryKey.STRUCTURE_TYPE, StructureType.class, CraftStructureType::new), entry(Registries.INSTRUMENT, RegistryKey.INSTRUMENT, MusicInstrument.class, CraftMusicInstrument::new), entry(Registries.MOB_EFFECT, RegistryKey.MOB_EFFECT, PotionEffectType.class, CraftPotionEffectType::new), -@@ -89,7 +91,7 @@ public final class PaperRegistries { +@@ -97,7 +99,7 @@ public final class PaperRegistries { entry(Registries.TRIM_PATTERN, RegistryKey.TRIM_PATTERN, TrimPattern.class, CraftTrimPattern::new).delayed(), entry(Registries.DAMAGE_TYPE, RegistryKey.DAMAGE_TYPE, DamageType.class, CraftDamageType::new).delayed(), entry(Registries.WOLF_VARIANT, RegistryKey.WOLF_VARIANT, Wolf.Variant.class, CraftWolf.CraftVariant::new).delayed(), @@ -34,7 +34,7 @@ index 5cf598905ed6a7ac2b0d9ced3420adaf20ceb6af..12220f78ffaf06433ada72fd0c7f22b9 + writable(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new, PaperEnchantmentRegistryEntry.PaperBuilder::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(), entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(), entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(), - + entry(Registries.BIOME, RegistryKey.BIOME, Biome.class, CraftBiome::new).delayed(), diff --git a/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java b/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java new file mode 100644 index 0000000000000000000000000000000000000000..481f5f0cfae1fada3bc3f873fb7e04c3086ea9bf diff --git a/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch index 40da32a4fb..c7dfc54b2e 100644 --- a/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch +++ b/patches/server/0995-Proxy-ItemStack-to-CraftItemStack.patch @@ -205,10 +205,10 @@ index 6cc9d7a9e6d4bfdc27e52fc581b2bb832616f121..6930d0afb230a88aa813b02e4d55c95d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d728bf1d83877290e4d3fdaa7649ed077c0ee1ec..d3759c1262a5ce8ff82215a99abd31f20af95fc5 100644 +index f55733b7a56ac21cb297971b9e854ef54001ca26..8af9ac9e22a15457da12f0746d0e411942c278fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -673,6 +673,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -681,6 +681,13 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end - hack to get tags for non server-backed registries diff --git a/patches/server/1020-Add-FeatureFlag-API.patch b/patches/server/1020-Add-FeatureFlag-API.patch index eaaa35ce83..e28ac2d6db 100644 --- a/patches/server/1020-Add-FeatureFlag-API.patch +++ b/patches/server/1020-Add-FeatureFlag-API.patch @@ -284,20 +284,20 @@ index 6cf790c9fa23ea313423fdaeb7c181bf530828c6..0bcb9df1103050441f8922a688b163dc public static PotionEffectType minecraftHolderToBukkit(Holder<MobEffect> minecraft) { return CraftPotionEffectType.minecraftToBukkit(minecraft.value()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d3759c1262a5ce8ff82215a99abd31f20af95fc5..15bb55f0b4c60b0519918b910398a0908022128f 100644 +index 3bd77074da98bcfe3677995038642c4e9cdb86b8..83835e41034e79442177f19dcb18e7df5b0e296e 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -47,7 +47,7 @@ import org.bukkit.advancement.Advancement; - import org.bukkit.attribute.Attribute; +@@ -48,7 +48,7 @@ import org.bukkit.attribute.Attribute; import org.bukkit.attribute.AttributeModifier; + import org.bukkit.block.Biome; import org.bukkit.block.data.BlockData; -import org.bukkit.craftbukkit.CraftFeatureFlag; +// import org.bukkit.craftbukkit.CraftFeatureFlag; // Paper import org.bukkit.craftbukkit.CraftRegistry; import org.bukkit.craftbukkit.CraftServer; - import org.bukkit.craftbukkit.attribute.CraftAttribute; -@@ -455,11 +455,7 @@ public final class CraftMagicNumbers implements UnsafeValues { - return CraftAttribute.bukkitToMinecraft(attribute).getDescriptionId(); + import org.bukkit.craftbukkit.block.CraftBiome; +@@ -456,11 +456,7 @@ public final class CraftMagicNumbers implements UnsafeValues { + return attribute.getTranslationKey(); } - @Override diff --git a/patches/server/1022-Item-serialization-as-json.patch b/patches/server/1022-Item-serialization-as-json.patch index 6b8500a0d7..4cc5284169 100644 --- a/patches/server/1022-Item-serialization-as-json.patch +++ b/patches/server/1022-Item-serialization-as-json.patch @@ -28,10 +28,10 @@ index c80fd4960dfbb0fde37363e7df25b0a5411bdb11..ff7f6916f65466c25a7bde35d64682c1 public static final Codec<CustomData> CODEC_WITH_ID = CODEC.validate( component -> component.getUnsafe().contains("id", 8) ? DataResult.success(component) : DataResult.error(() -> "Missing id for entity in: " + component) diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 15bb55f0b4c60b0519918b910398a0908022128f..ef0ef0872a44eb34fe41358728f3ddcf262297e9 100644 +index 83835e41034e79442177f19dcb18e7df5b0e296e..08d48cd55cfaf92530cc900f2f119ae3a258eb39 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -516,6 +516,39 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -527,6 +527,39 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow()); } diff --git a/patches/server/1037-Rewrite-dataconverter-system.patch b/patches/server/1037-Rewrite-dataconverter-system.patch index e91a834827..e452b9f771 100644 --- a/patches/server/1037-Rewrite-dataconverter-system.patch +++ b/patches/server/1037-Rewrite-dataconverter-system.patch @@ -30384,10 +30384,10 @@ index b54a3741cd3ba615c83c98985cb4b3c4c586ed7a..b148cf247acdd36f856d0495cde4cc5a return nbttagcompound; }); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ef0ef0872a44eb34fe41358728f3ddcf262297e9..05a62b2cf9ca8e0141274bd7f44ef8fb703466d1 100644 +index 08d48cd55cfaf92530cc900f2f119ae3a258eb39..d8d04183fd8bb0bcf2f703ef65b11dbd342473ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -512,7 +512,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -523,7 +523,7 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.nbt.CompoundTag compound = deserializeNbtFromBytes(data); final int dataVersion = compound.getInt("DataVersion"); @@ -30396,7 +30396,7 @@ index ef0ef0872a44eb34fe41358728f3ddcf262297e9..05a62b2cf9ca8e0141274bd7f44ef8fb return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.parse(MinecraftServer.getServer().registryAccess(), compound).orElseThrow()); } -@@ -566,7 +566,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -577,7 +577,7 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.nbt.CompoundTag compound = deserializeNbtFromBytes(data); int dataVersion = compound.getInt("DataVersion"); diff --git a/work/Bukkit b/work/Bukkit -Subproject 553558256cab26217919a0809cc26f7aad22995 +Subproject 97c5926140420c7b9e8a06b2b8348b1816f2a6b diff --git a/work/CraftBukkit b/work/CraftBukkit -Subproject 18b8ae18390763d48ea292435b75c1eabf5dbff +Subproject 7235ad7b04542ce214869eb1ec1966bb392aedc |