aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/api/0001-Convert-project-to-Gradle.patch8
-rw-r--r--patches/api/0006-Adventure.patch66
-rw-r--r--patches/api/0011-Timings-v2.patch4
-rw-r--r--patches/api/0013-Player-affects-spawning-API.patch4
-rw-r--r--patches/api/0018-Add-view-distance-API.patch4
-rw-r--r--patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch4
-rw-r--r--patches/api/0026-Player-Tab-List-and-Title-APIs.patch4
-rw-r--r--patches/api/0028-Complete-resource-pack-API.patch4
-rw-r--r--patches/api/0047-Add-String-based-Action-Bar-API.patch6
-rw-r--r--patches/api/0056-Fix-upstream-javadocs.patch24
-rw-r--r--patches/api/0066-Add-getI18NDisplayName-API.patch4
-rw-r--r--patches/api/0067-ensureServerConversions-API.patch6
-rw-r--r--patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch4
-rw-r--r--patches/api/0081-Ability-to-apply-mending-to-XP-API.patch6
-rw-r--r--patches/api/0092-Player.setPlayerProfile-API.patch6
-rw-r--r--patches/api/0095-Add-openSign-method-to-HumanEntity.patch4
-rw-r--r--patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch6
-rw-r--r--patches/api/0108-ItemStack-getMaxItemUseDuration.patch4
-rw-r--r--patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch4
-rw-r--r--patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/api/0149-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch4
-rw-r--r--patches/api/0166-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch8
-rw-r--r--patches/api/0173-Fix-Spigot-annotation-mistakes.patch10
-rw-r--r--patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/api/0190-Add-Player-Client-Options-API.patch4
-rw-r--r--patches/api/0208-Brand-support.patch4
-rw-r--r--patches/api/0212-Add-methods-to-get-translation-keys.patch8
-rw-r--r--patches/api/0218-Player-elytra-boost-API.patch4
-rw-r--r--patches/api/0224-Add-Destroy-Speed-API.patch6
-rw-r--r--patches/api/0245-Add-sendOpLevel-API.patch4
-rw-r--r--patches/api/0266-Item-Rarity-API.patch4
-rw-r--r--patches/api/0284-ItemStack-repair-check-API.patch4
-rw-r--r--patches/api/0287-ItemStack-editMeta.patch4
-rw-r--r--patches/api/0338-Multi-Block-Change-API.patch4
-rw-r--r--patches/api/0353-Add-enchantWithLevels-API.patch4
-rw-r--r--patches/api/0366-More-Teleport-API.patch4
-rw-r--r--patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch4
-rw-r--r--patches/api/0370-Block-Ticking-API.patch6
-rw-r--r--patches/api/0378-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/api/0386-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/api/0389-ItemStack-damage-API.patch6
-rw-r--r--patches/api/0399-Flying-Fall-Damage-API.patch4
-rw-r--r--patches/api/0401-Win-Screen-API.patch4
-rw-r--r--patches/api/0424-Add-Listing-API-for-Player.patch4
-rw-r--r--patches/api/0429-More-DragonBattle-API.patch4
-rw-r--r--patches/api/0436-Allow-proper-checking-of-empty-item-stacks.patch4
-rw-r--r--patches/api/0438-Add-player-idle-duration-API.patch4
-rw-r--r--patches/api/0449-Add-experience-points-API.patch4
-rw-r--r--patches/server/0002-Remap-fixes.patch76
-rw-r--r--patches/server/0004-Test-changes.patch8
-rw-r--r--patches/server/0009-MC-Utils.patch8
-rw-r--r--patches/server/0010-Adventure.patch20
-rw-r--r--patches/server/0013-Paper-Plugins.patch6
-rw-r--r--patches/server/0014-Timings-v2.patch6
-rw-r--r--patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch4
-rw-r--r--patches/server/0019-Support-components-in-ItemMeta.patch8
-rw-r--r--patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch8
-rw-r--r--patches/server/0030-Player-affects-spawning-API.patch4
-rw-r--r--patches/server/0031-Only-refresh-abilities-if-needed.patch4
-rw-r--r--patches/server/0045-Implement-PlayerLocaleChangeEvent.patch4
-rw-r--r--patches/server/0064-Complete-resource-pack-API.patch4
-rw-r--r--patches/server/0068-Handle-Item-Meta-Inconsistencies.patch11
-rw-r--r--patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch4
-rw-r--r--patches/server/0164-Ability-to-apply-mending-to-XP-API.patch4
-rw-r--r--patches/server/0170-Add-ArmorStand-Item-Meta.patch4
-rw-r--r--patches/server/0177-Player.setPlayerProfile-API.patch16
-rw-r--r--patches/server/0182-Flag-to-disable-the-channel-limit.patch4
-rw-r--r--patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch4
-rw-r--r--patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch4
-rw-r--r--patches/server/0246-Improve-death-events.patch4
-rw-r--r--patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch14
-rw-r--r--patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch12
-rw-r--r--patches/server/0414-Brand-support.patch4
-rw-r--r--patches/server/0427-Add-methods-to-get-translation-keys.patch4
-rw-r--r--patches/server/0457-Add-Destroy-Speed-API.patch4
-rw-r--r--patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch4
-rw-r--r--patches/server/0497-TODO-Registry-Modification-API.patch4
-rw-r--r--patches/server/0498-Add-StructuresLocateEvent.patch26
-rw-r--r--patches/server/0560-Expand-PlayerGameModeChangeEvent.patch6
-rw-r--r--patches/server/0562-More-Enchantment-API.patch6
-rw-r--r--patches/server/0605-Add-PlayerSetSpawnEvent.patch6
-rw-r--r--patches/server/0700-More-PotionEffectType-API.patch14
-rw-r--r--patches/server/0720-More-Projectile-API.patch4
-rw-r--r--patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch6
-rw-r--r--patches/server/0779-Block-Ticking-API.patch4
-rw-r--r--patches/server/0801-Elder-Guardian-appearance-API.patch4
-rw-r--r--patches/server/0816-Add-Player-Warden-Warning-API.patch4
-rw-r--r--patches/server/0839-Flying-Fall-Damage.patch4
-rw-r--r--patches/server/0875-Expand-PlayerItemMendEvent.patch4
-rw-r--r--patches/server/0895-fix-item-meta-for-tadpole-buckets.patch4
-rw-r--r--patches/server/0896-Fix-BanList-API.patch10
-rw-r--r--patches/server/0923-Add-Listing-API-for-Player.patch8
-rw-r--r--patches/server/0928-More-DragonBattle-API.patch6
-rw-r--r--patches/server/0929-Deep-clone-unhandled-nbt-tags.patch4
-rw-r--r--patches/server/0934-Implement-OfflinePlayer-isConnected.patch6
-rw-r--r--patches/server/0949-Fix-SuspiciousStewMeta.patch21
-rw-r--r--patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (renamed from patches/server/0950-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch)0
-rw-r--r--patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (renamed from patches/server/0951-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch)0
-rw-r--r--patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch (renamed from patches/server/0952-Fix-team-sidebar-objectives-not-being-cleared.patch)0
-rw-r--r--patches/server/0952-Fix-missing-map-initialize-event-call.patch (renamed from patches/server/0953-Fix-missing-map-initialize-event-call.patch)0
-rw-r--r--patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch (renamed from patches/server/0954-Update-entity-data-when-attaching-firework-to-entity.patch)0
-rw-r--r--patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch (renamed from patches/server/0955-Use-correct-variable-for-initializing-CraftLootTable.patch)0
-rw-r--r--patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch (renamed from patches/server/0956-Make-setVelocity-method-of-Fireballs-change-the-trav.patch)0
-rw-r--r--patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch (renamed from patches/server/0957-Fix-UnsafeValues-loadAdvancement.patch)2
-rw-r--r--patches/server/0957-Add-player-idle-duration-API.patch (renamed from patches/server/0958-Add-player-idle-duration-API.patch)4
-rw-r--r--patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch (renamed from patches/server/0959-Don-t-check-if-we-can-see-non-visible-entities.patch)2
-rw-r--r--patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch (renamed from patches/server/0960-Fix-NPE-in-SculkBloomEvent-world-access.patch)0
-rw-r--r--patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (renamed from patches/server/0961-Allow-null-itemstack-for-Player-sendEquipmentChange.patch)2
-rw-r--r--patches/server/0961-Optimize-VarInts.patch (renamed from patches/server/0962-Optimize-VarInts.patch)0
-rw-r--r--patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch (renamed from patches/server/0963-Add-API-to-get-the-collision-shape-of-a-block-before.patch)2
-rw-r--r--patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch (renamed from patches/server/0964-Add-predicate-for-blocks-when-raytracing.patch)0
-rw-r--r--patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch (renamed from patches/server/0965-Broadcast-take-item-packets-with-collector-as-source.patch)0
-rw-r--r--patches/server/0965-Expand-LingeringPotion-API.patch (renamed from patches/server/0966-Expand-LingeringPotion-API.patch)0
-rw-r--r--patches/server/0966-Add-MaterialTagsTest.patch (renamed from patches/server/0967-Add-MaterialTagsTest.patch)0
-rw-r--r--patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (renamed from patches/server/0968-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch)0
-rw-r--r--patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch (renamed from patches/server/0969-Add-hand-to-fish-event-for-all-player-interactions.patch)0
-rw-r--r--patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch (renamed from patches/server/0970-Fix-several-issues-with-EntityBreedEvent.patch)0
-rw-r--r--patches/server/0970-Add-UUID-attribute-modifier-API.patch (renamed from patches/server/0971-Add-UUID-attribute-modifier-API.patch)0
-rw-r--r--patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch (renamed from patches/server/0972-Fix-missing-event-call-for-entity-teleport-API.patch)0
-rw-r--r--patches/server/0972-Lazily-create-LootContext-for-criterions.patch (renamed from patches/server/0973-Lazily-create-LootContext-for-criterions.patch)0
-rw-r--r--patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch (renamed from patches/server/0974-Don-t-fire-sync-events-during-worldgen.patch)2
-rw-r--r--patches/server/0974-Add-Structure-check-API.patch (renamed from patches/server/0975-Add-Structure-check-API.patch)2
-rw-r--r--patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (renamed from patches/server/0976-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch)4
-rw-r--r--patches/server/0976-Restore-vanilla-entity-drops-behavior.patch (renamed from patches/server/0977-Restore-vanilla-entity-drops-behavior.patch)0
-rw-r--r--patches/server/0977-Dont-resend-blocks-on-interactions.patch (renamed from patches/server/0978-Dont-resend-blocks-on-interactions.patch)0
-rw-r--r--patches/server/0978-add-more-scoreboard-API.patch (renamed from patches/server/0979-add-more-scoreboard-API.patch)0
-rw-r--r--patches/server/0979-Improve-Registry.patch (renamed from patches/server/0980-Improve-Registry.patch)32
-rw-r--r--patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (renamed from patches/server/0981-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch)0
-rw-r--r--patches/server/0981-Add-experience-points-API.patch (renamed from patches/server/0982-Add-experience-points-API.patch)4
-rw-r--r--patches/server/0982-Add-drops-to-shear-events.patch (renamed from patches/server/0983-Add-drops-to-shear-events.patch)2
-rw-r--r--patches/server/0983-Add-PlayerShieldDisableEvent.patch (renamed from patches/server/0984-Add-PlayerShieldDisableEvent.patch)0
-rw-r--r--patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch (renamed from patches/server/0985-Validate-ResourceLocation-in-NBT-reading.patch)0
-rw-r--r--patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch (renamed from patches/server/0986-Properly-handle-experience-dropping-on-block-break.patch)0
-rw-r--r--patches/server/0986-Fixup-NamespacedKey-handling.patch (renamed from patches/server/0987-Fixup-NamespacedKey-handling.patch)0
-rw-r--r--patches/server/0987-Expose-LootTable-of-DecoratedPot.patch (renamed from patches/server/0988-Expose-LootTable-of-DecoratedPot.patch)0
-rw-r--r--patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (renamed from patches/server/0989-Reduce-allocation-of-Vec3D-by-entity-tracker.patch)0
-rw-r--r--patches/server/0989-Rewrite-dataconverter-system.patch (renamed from patches/server/0990-Rewrite-dataconverter-system.patch)0
-rw-r--r--patches/server/0990-Starlight.patch (renamed from patches/server/0991-Starlight.patch)0
-rw-r--r--patches/server/0991-Rewrite-chunk-system.patch (renamed from patches/server/0992-Rewrite-chunk-system.patch)8
-rw-r--r--patches/server/0992-incremental-chunk-and-player-saving.patch (renamed from patches/server/0993-incremental-chunk-and-player-saving.patch)2
-rw-r--r--patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0994-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch)0
-rw-r--r--patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0995-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch)0
-rw-r--r--patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch (renamed from patches/server/0996-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch)0
-rw-r--r--patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0997-Optimize-Network-Manager-and-add-advanced-packet-sup.patch)0
-rw-r--r--patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0998-Allow-Saving-of-Oversized-Chunks.patch)0
-rw-r--r--patches/server/0998-Fix-World-isChunkGenerated-calls.patch (renamed from patches/server/0999-Fix-World-isChunkGenerated-calls.patch)0
-rw-r--r--patches/server/0999-Flat-bedrock-generator-settings.patch (renamed from patches/server/1000-Flat-bedrock-generator-settings.patch)0
-rw-r--r--patches/server/1000-Entity-Activation-Range-2.0.patch (renamed from patches/server/1001-Entity-Activation-Range-2.0.patch)0
-rw-r--r--patches/server/1001-Optional-per-player-mob-spawns.patch (renamed from patches/server/1002-Optional-per-player-mob-spawns.patch)0
-rw-r--r--patches/server/1002-Anti-Xray.patch (renamed from patches/server/1003-Anti-Xray.patch)2
-rw-r--r--patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)0
-rw-r--r--patches/server/1004-Optimize-Collision-to-not-load-chunks.patch (renamed from patches/server/1005-Optimize-Collision-to-not-load-chunks.patch)0
-rw-r--r--patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch)0
-rw-r--r--patches/server/1006-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/1007-Entity-load-save-limit-per-chunk.patch)0
-rw-r--r--patches/server/1007-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/1008-Fix-and-optimise-world-force-upgrading.patch)4
-rw-r--r--patches/server/1008-Improved-Watchdog-Support.patch (renamed from patches/server/1009-Improved-Watchdog-Support.patch)2
-rw-r--r--patches/server/1009-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/1010-Optimize-Voxel-Shape-Merging.patch)0
-rw-r--r--patches/server/1010-Write-SavedData-IO-async.patch (renamed from patches/server/1011-Write-SavedData-IO-async.patch)0
-rw-r--r--patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (renamed from patches/server/1012-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch)0
-rw-r--r--patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch (renamed from patches/server/1013-Use-distance-map-to-optimise-entity-tracker.patch)0
-rw-r--r--patches/server/1013-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/1014-Optimize-Bit-Operations-by-inlining.patch)0
-rw-r--r--patches/server/1014-Remove-streams-from-hot-code.patch (renamed from patches/server/1015-Remove-streams-from-hot-code.patch)0
-rw-r--r--patches/server/1015-Eigencraft-redstone-implementation.patch (renamed from patches/server/1016-Eigencraft-redstone-implementation.patch)0
-rw-r--r--patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/1017-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch)0
-rw-r--r--patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/1018-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch)0
-rw-r--r--patches/server/1018-Improve-boat-collision-performance.patch (renamed from patches/server/1019-Improve-boat-collision-performance.patch)0
-rw-r--r--patches/server/1019-Optimise-general-POI-access.patch (renamed from patches/server/1020-Optimise-general-POI-access.patch)0
-rw-r--r--patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/1021-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/1021-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/1022-Execute-chunk-tasks-mid-tick.patch)2
-rw-r--r--patches/server/1022-Optimise-random-block-ticking.patch (renamed from patches/server/1023-Optimise-random-block-ticking.patch)2
-rw-r--r--patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/1024-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch)0
-rw-r--r--patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/1025-Use-Velocity-compression-and-cipher-natives.patch)0
-rw-r--r--patches/server/1025-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/1026-Detail-more-information-in-watchdog-dumps.patch)0
-rw-r--r--patches/server/1026-Collision-optimisations.patch (renamed from patches/server/1027-Collision-optimisations.patch)0
-rw-r--r--patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/1028-Optimise-collision-checking-in-player-move-packet-ha.patch)2
-rw-r--r--patches/server/1028-Fix-tripwire-state-inconsistency.patch (renamed from patches/server/1029-Fix-tripwire-state-inconsistency.patch)0
-rw-r--r--patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/1030-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/1030-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1031-Add-Alternate-Current-redstone-implementation.patch)0
-rw-r--r--patches/server/1031-optimize-dirt-and-snow-spreading.patch (renamed from patches/server/1032-optimize-dirt-and-snow-spreading.patch)0
-rw-r--r--patches/server/1032-Properly-resend-entities.patch (renamed from patches/server/1033-Properly-resend-entities.patch)2
-rw-r--r--patches/server/1033-Optimize-Hoppers.patch (renamed from patches/server/1034-Optimize-Hoppers.patch)2
-rw-r--r--patches/server/1034-Improve-performance-of-mass-crafts.patch (renamed from patches/server/1035-Improve-performance-of-mass-crafts.patch)2
-rw-r--r--patches/server/1035-Actually-optimise-explosions.patch (renamed from patches/server/1036-Actually-optimise-explosions.patch)0
-rw-r--r--patches/server/1036-Optimise-chunk-tick-iteration.patch (renamed from patches/server/1037-Optimise-chunk-tick-iteration.patch)0
-rw-r--r--patches/server/1037-Lag-compensation-ticks.patch (renamed from patches/server/1038-Lag-compensation-ticks.patch)2
-rw-r--r--patches/server/1038-Optimise-nearby-player-retrieval.patch (renamed from patches/server/1039-Optimise-nearby-player-retrieval.patch)0
-rw-r--r--patches/server/1039-Distance-manager-tick-timings.patch (renamed from patches/server/1040-Distance-manager-tick-timings.patch)0
-rw-r--r--patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/1041-Handle-Oversized-block-entities-in-chunks.patch)0
-rw-r--r--patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/1042-Send-full-pos-packets-for-hard-colliding-entities.patch)0
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
192 files changed, 400 insertions, 406 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch
index 2214037ae9..509ab41f15 100644
--- a/patches/api/0001-Convert-project-to-Gradle.patch
+++ b/patches/api/0001-Convert-project-to-Gradle.patch
@@ -27,7 +27,7 @@ index 5dd700a956e915c00b25d91dea8d6f285ddab72b..97e78e27ee0eea2c8b24886eeb19164d
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
-index 0000000000000000000000000000000000000000..fd076ab0df328818873028d333b0716d5b3796a9
+index 0000000000000000000000000000000000000000..4311f6dde7372a069f462158fba76d9d4b72e23a
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,91 @@
@@ -42,7 +42,7 @@ index 0000000000000000000000000000000000000000..fd076ab0df328818873028d333b0716d
+}
+
+val annotationsVersion = "24.0.1"
-+val bungeeCordChatVersion = "1.20-R0.1"
++val bungeeCordChatVersion = "1.20-R0.2"
+
+dependencies {
+ // api dependencies are listed transitively to API consumers
@@ -124,7 +124,7 @@ index 0000000000000000000000000000000000000000..fd076ab0df328818873028d333b0716d
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
-index 900855ebbf1332010d4351e0775670d1b0ff091f..0000000000000000000000000000000000000000
+index 741ea21a1ccd141d065f5e12349af38f097a8915..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,277 +0,0 @@
@@ -185,7 +185,7 @@ index 900855ebbf1332010d4351e0775670d1b0ff091f..00000000000000000000000000000000
- <dependency>
- <groupId>net.md-5</groupId>
- <artifactId>bungeecord-chat</artifactId>
-- <version>1.20-R0.1</version>
+- <version>1.20-R0.2</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index 7b97eacfe5..870d0e3ee3 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -7,13 +7,13 @@ Co-authored-by: zml <[email protected]>
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/build.gradle.kts b/build.gradle.kts
-index cc8f297a71eb75b3388ff1cb21a297e268894aac..4f5ac0c5fe6494d5fe5caa8ed5077a83cf43fa87 100644
+index b3df8cf8d32a4cc99a3a3950f146cdab65826e1b..b577114c2b89fe2053123d1a542d37dff7fa8d5a 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -11,12 +11,28 @@ java {
val annotationsVersion = "24.0.1"
- val bungeeCordChatVersion = "1.20-R0.1"
+ val bungeeCordChatVersion = "1.20-R0.2"
+val adventureVersion = "4.15.0"
+val apiAndDocs: Configuration by configurations.creating {
+ attributes {
@@ -33,7 +33,7 @@ index cc8f297a71eb75b3388ff1cb21a297e268894aac..4f5ac0c5fe6494d5fe5caa8ed5077a83
api("com.google.code.gson:gson:2.10.1")
- api("net.md-5:bungeecord-chat:$bungeeCordChatVersion")
+ // Paper start - adventure
-+ api("net.md-5:bungeecord-chat:$bungeeCordChatVersion-deprecated+build.14") {
++ api("net.md-5:bungeecord-chat:$bungeeCordChatVersion-deprecated+build.18") {
+ exclude("com.google.guava", "guava")
+ }
+ // Paper - adventure
@@ -2148,7 +2148,7 @@ index 8532b8484d5a493c1c37ad7508597f624f1831c8..978431fd88cfb7d42fcdea8c904633df
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fade5670e64 100644
+index b2925af90c531f0e8a5c39a915834f25d0015460..696efe5b86346209e9780b73229236e87ca26dec 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -52,7 +52,41 @@ import org.jetbrains.annotations.Nullable;
@@ -2339,7 +2339,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
* update the entry.
-@@ -799,6 +898,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -840,6 +939,106 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map<EquipmentSlot, ItemStack> items);
@@ -2446,7 +2446,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
/**
* Send a sign change. This fakes a sign change packet for a user at
* a certain location. This will not actually change the world in any way.
-@@ -816,7 +1015,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -857,7 +1056,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param lines the new text on the sign or null to clear it
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2458,7 +2458,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
-@@ -838,7 +1041,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -879,7 +1082,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2470,7 +2470,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
-@@ -861,7 +1068,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -902,7 +1109,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if location is null
* @throws IllegalArgumentException if dyeColor is null
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
@@ -2482,7 +2482,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException;
/**
-@@ -1309,7 +1520,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1350,7 +1561,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long.
* @deprecated Minecraft no longer uses textures packs. Instead you
@@ -2491,7 +2491,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
*/
@Deprecated
public void setTexturePack(@NotNull String url);
-@@ -1345,7 +1556,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1386,7 +1597,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long. The
* length restriction is an implementation specific arbitrary value.
@@ -2501,7 +2501,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void setResourcePack(@NotNull String url);
/**
-@@ -1377,6 +1590,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1418,6 +1631,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* pack correctly.
* </ul>
*
@@ -2509,7 +2509,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1389,6 +1603,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1430,6 +1644,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2517,7 +2517,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void setResourcePack(@NotNull String url, @Nullable byte[] hash);
/**
-@@ -1413,12 +1628,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1454,12 +1669,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2532,7 +2532,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
* @param url The URL from which the client will download the resource
* pack. The string must contain only US-ASCII characters and should
* be encoded as per RFC 1738.
-@@ -1432,8 +1648,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1473,8 +1689,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
*/
@@ -2590,7 +2590,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
/**
* Request that the player's client download and switch resource packs.
* <p>
-@@ -1456,7 +1721,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1497,7 +1762,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2599,7 +2599,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1475,7 +1740,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1516,7 +1781,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2609,7 +2609,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void setResourcePack(@NotNull String url, @Nullable byte[] hash, boolean force);
/**
-@@ -1500,7 +1767,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1541,7 +1808,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2618,7 +2618,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1520,9 +1787,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1561,9 +1828,61 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2680,7 +2680,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
/**
* Request that the player's client download and switch resource packs.
* <p>
-@@ -1545,7 +1864,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1586,7 +1905,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
* <li>To remove a resource pack you can use
@@ -2689,7 +2689,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
* <li>The request is sent with empty string as the hash when the hash is
* not provided. This might result in newer versions not loading the
* pack correctly.
-@@ -1566,21 +1885,74 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1607,21 +1926,74 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* length restriction is an implementation specific arbitrary value.
* @throws IllegalArgumentException Thrown if the hash is not 20 bytes
* long.
@@ -2764,7 +2764,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
*/
public void removeResourcePacks();
-@@ -1718,7 +2090,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1759,7 +2131,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param title Title text
* @param subtitle Subtitle text
@@ -2773,7 +2773,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
*/
@Deprecated
public void sendTitle(@Nullable String title, @Nullable String subtitle);
-@@ -1737,7 +2109,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1778,7 +2150,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param fadeIn time in ticks for titles to fade in. Defaults to 10.
* @param stay time in ticks for titles to stay. Defaults to 70.
* @param fadeOut time in ticks for titles to fade out. Defaults to 20.
@@ -2783,7 +2783,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut);
/**
-@@ -1964,6 +2338,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2005,6 +2379,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public int getClientViewDistance();
@@ -2798,7 +2798,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
/**
* Gets the player's estimated ping in milliseconds.
*
-@@ -1989,8 +2371,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2030,8 +2412,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* they wish.
*
* @return the player's locale
@@ -2809,7 +2809,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public String getLocale();
/**
-@@ -2042,6 +2426,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2083,6 +2467,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@@ -2824,7 +2824,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
// Spigot start
public class Spigot extends Entity.Spigot {
-@@ -2073,11 +2465,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2114,11 +2506,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
throw new UnsupportedOperationException("Not supported yet.");
}
@@ -2838,7 +2838,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
@Override
public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
-@@ -2088,7 +2482,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2129,7 +2523,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param component the components to send
@@ -2848,7 +2848,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -2098,7 +2494,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2139,7 +2535,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* @param position the screen position
* @param components the components to send
@@ -2858,7 +2858,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -2109,7 +2507,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2150,7 +2548,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param component the components to send
@@ -2868,7 +2868,7 @@ index a5046b416fa26d51974de0866d3af190ee197c3a..01fe25d7925d7c014524ae9c26b62fad
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet.");
}
-@@ -2120,7 +2520,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2161,7 +2561,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param position the screen position
* @param sender the sender of the message
* @param components the components to send
@@ -4214,7 +4214,7 @@ index 096e0d60c4542fec66898b6aa8ea9820a1ef483b..3e7f92dc0aea0ea555dd02c50a1102da
+ // Paper end - Adventure
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index d80b0a52968920b990a75cff85e436a16d782500..9d327f0832c40d4a8d212346284274f6cf78834f 100644
+index 88cdce67e6a55712cb56e946f2f09c82ddbc1d15..e76c847e57f3d32757129d56922862a4202c9d07 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
@@ -4226,7 +4226,7 @@ index d80b0a52968920b990a75cff85e436a16d782500..9d327f0832c40d4a8d212346284274f6
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
-@@ -602,4 +602,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -613,4 +613,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
@@ -4495,7 +4495,7 @@ index 94852d50e88d0594b84b581cd627174043629995..be7c2cfc757e4dd15927be850739d401
throw new UnsupportedOperationException("Not supported yet.");
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 8ca9605fc1193de9277407f02f755d81190472a4..d7fab2b856f6dfec4f9225c1bdb4254b238d98a4 100644
+index 9f159ac909ad5287b719cee331db5c44654ec547..f1fcc844d563a0108230676dec84ef25485756b3 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -32,6 +32,24 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
diff --git a/patches/api/0011-Timings-v2.patch b/patches/api/0011-Timings-v2.patch
index 5b9297ff05..69aac0e5ba 100644
--- a/patches/api/0011-Timings-v2.patch
+++ b/patches/api/0011-Timings-v2.patch
@@ -3455,10 +3455,10 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 780928cd5d228901884a8aa6464870721dd64c96..5a4812cec9e13ca85f4bb18c95698f035fdc0fd9 100644
+index 696efe5b86346209e9780b73229236e87ca26dec..cec658bc1489b7b6ee76cc7d62d0d474c8972b2b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2525,7 +2525,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2566,7 +2566,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/patches/api/0013-Player-affects-spawning-API.patch b/patches/api/0013-Player-affects-spawning-API.patch
index e014b30e59..b864b43cb9 100644
--- a/patches/api/0013-Player-affects-spawning-API.patch
+++ b/patches/api/0013-Player-affects-spawning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5a4812cec9e13ca85f4bb18c95698f035fdc0fd9..6cf37df9c12510846b40d37d71577de061d058de 100644
+index cec658bc1489b7b6ee76cc7d62d0d474c8972b2b..f08dc4b58e7b3298bf12dc510c95ee7e644a19e4 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2377,6 +2377,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2418,6 +2418,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Deprecated // Paper
public String getLocale();
diff --git a/patches/api/0018-Add-view-distance-API.patch b/patches/api/0018-Add-view-distance-API.patch
index 7dbc38ba6b..b4da0f99b5 100644
--- a/patches/api/0018-Add-view-distance-API.patch
+++ b/patches/api/0018-Add-view-distance-API.patch
@@ -79,10 +79,10 @@ index 4c878531d9d8d0aee6832fd10b339a32f219fa9a..1ea851c658243aa3bfcdbffca3df5ded
* Represents various map environment types that a world may be
*/
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c03b5f24304d28a5ebabdf6301165cf04dd5176c..1f5402afd5e34c5da0d59d9c604f6da8c015950e 100644
+index f08dc4b58e7b3298bf12dc510c95ee7e644a19e4..fde2096830c966df902ade38c709dfb7506b551b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2391,6 +2391,82 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2432,6 +2432,82 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param affects Whether the player can affect mob spawning
*/
public void setAffectsSpawning(boolean affects);
diff --git a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
index 88fba21261..2f440acc02 100644
--- a/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
+++ b/patches/api/0022-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch
@@ -76,10 +76,10 @@ index f95fbfa29f3926847c78b218037cac601c7d9419..979028265db05a8a97c2dc10138075ea
* Gets the name of the update folder. The update folder is used to safely
* update plugins at the right moment on a plugin load.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 934a347fc7be511cc125e1c2c175bcb2bf91c41a..512b57c8d2dca32460253798c46f2b42997e66b5 100644
+index fde2096830c966df902ade38c709dfb7506b551b..3077db3156cdbf25b93f5fa8a24568ba73b53f68 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1103,6 +1103,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1144,6 +1144,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch b/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
index 8ce3d4ab38..d9c2b55aed 100644
--- a/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
+++ b/patches/api/0026-Player-Tab-List-and-Title-APIs.patch
@@ -432,10 +432,10 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 602d8b81135eba0481280c887f44f1c1855044e1..fdde0f82531fba370327ff71f59c2c4722d42df2 100644
+index 3077db3156cdbf25b93f5fa8a24568ba73b53f68..f89d04a7bcc69523da9d702b19e29190ca048e9b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1137,6 +1137,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1178,6 +1178,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components);
}
diff --git a/patches/api/0028-Complete-resource-pack-API.patch b/patches/api/0028-Complete-resource-pack-API.patch
index 693dd64224..0dac369463 100644
--- a/patches/api/0028-Complete-resource-pack-API.patch
+++ b/patches/api/0028-Complete-resource-pack-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index f9a39faf656af1cd5e16513bab21afa6ab972556..1ec40d90b697af5759c5cd0bc8c2c3e76f8491eb 100644
+index f89d04a7bcc69523da9d702b19e29190ca048e9b..0526e1149cf4cd2ab3ee2ac9eafbaeab0c99c5ee 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2100,6 +2100,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2141,6 +2141,180 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setResourcePack(@NotNull UUID uuid, @NotNull String url, byte @Nullable [] hash, net.kyori.adventure.text.@Nullable Component prompt, boolean force);
// Paper end
diff --git a/patches/api/0047-Add-String-based-Action-Bar-API.patch b/patches/api/0047-Add-String-based-Action-Bar-API.patch
index 51988b7560..c43ff6dccc 100644
--- a/patches/api/0047-Add-String-based-Action-Bar-API.patch
+++ b/patches/api/0047-Add-String-based-Action-Bar-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add String based Action Bar API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 339b3a4ebae8a522ec3932f901729f88a680d14b..271a6f3f527d45232f992039f6dc1d6419750821 100644
+index 0526e1149cf4cd2ab3ee2ac9eafbaeab0c99c5ee..c1ab6640003ec02f8e8f9ebd4060854c68d46baa 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1104,6 +1104,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1145,6 +1145,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
@@ -48,7 +48,7 @@ index 339b3a4ebae8a522ec3932f901729f88a680d14b..271a6f3f527d45232f992039f6dc1d64
/**
* Sends the component to the player
*
-@@ -1131,9 +1164,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1172,9 +1205,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Sends an array of components as a single message to the specified screen position of this player
*
diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0056-Fix-upstream-javadocs.patch
index 9059db33a6..bb48849265 100644
--- a/patches/api/0056-Fix-upstream-javadocs.patch
+++ b/patches/api/0056-Fix-upstream-javadocs.patch
@@ -142,7 +142,7 @@ index 1c088886add66f1e99bee42f70e5bc742c912e88..5a8f15195b0a87bb7a49983e5ee0dee6
* @return an array containing all previous players
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index 61639a865b8b8a845c78dcaf0a866082ef54bf63..f3607ab95f7f725283e8317c426dbc11bcc15cde 100644
+index fe94aeb95297877c8e4d8fbeb6f0e27aaaa23b44..de174d381b4917a66f68715a21431e167434201d 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2673,7 +2673,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -216,7 +216,7 @@ index f8e12868f2e629cdf4784f0157fdb2f8e7b01f99..870ad6cd930653e6248abcc0fce94ffa
* @return Temperature of this block
*/
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
-index dff615d7cc190e11b31cd76167327d2eb4580593..b70176b9ca3c3fb7d68aa7bc92b7ca6329255bd7 100644
+index 29fd06cb800f9b7cc91a120ccbe2980422ed9653..cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6 100644
--- a/src/main/java/org/bukkit/block/data/BlockData.java
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
@@ -224,7 +224,7 @@ public interface BlockData extends Cloneable {
@@ -386,7 +386,7 @@ index ae9eaaa8e38e1d9dfc459926c7fc51ddb89de84a..b2ec535bb1b0ce0c114ddd7638b90218
@Override
public int getConversionTime();
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04b2bc66c4 100644
+index c1ab6640003ec02f8e8f9ebd4060854c68d46baa..fa011b40e1369d5161f6af22b23885e3ae8612b1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -432,15 +432,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -409,7 +409,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* <p>
* Note: This will overwrite the players current inventory, health,
* motion, etc, with the state from the saved dat file.
-@@ -736,7 +736,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -777,7 +777,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Plays an effect to just this player.
*
@@ -418,7 +418,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* @param loc the location to play the effect at
* @param effect the {@link Effect}
* @param data a data bit needed for some effects
-@@ -1121,7 +1121,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1162,7 +1162,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*
* Use supplied alternative character to the section symbol to represent legacy color codes.
*
@@ -427,7 +427,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* @param message The message to send
* @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)}
*/
-@@ -1587,7 +1587,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1628,7 +1628,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see a player that was previously hidden. If
@@ -436,7 +436,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the player
-@@ -1616,7 +1616,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1657,7 +1657,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Allows this player to see an entity that was previously hidden. If
@@ -445,7 +445,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* remain hidden until the other plugin calls this method too.
*
* @param plugin Plugin that wants to show the entity
-@@ -1703,9 +1703,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1744,9 +1744,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -455,7 +455,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* <li>The request is send with "null" as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1739,9 +1736,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1780,9 +1777,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -465,7 +465,7 @@ index 27d5503638d13ca2998ce4a4c6589ea62066128e..0c5f57e7530430de22a5eeb861032f04
* <li>The request is send with empty string as the hash. This might result
* in newer versions not loading the pack correctly.
* </ul>
-@@ -1778,9 +1772,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1819,9 +1813,6 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* case this method will have no affect on them. Use the
* {@link PlayerResourcePackStatusEvent} to figure out whether or not
* the player loaded the pack!
@@ -1353,10 +1353,10 @@ index 07c3dff4d6190ef388d9c1e1c36f67f00a3e8e66..597a18a767b68b47e81454b7d44613c7
* @param input The input choice.
* @return The changed recipe, so you can chain calls.
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index d7fab2b856f6dfec4f9225c1bdb4254b238d98a4..9d40e6a5ce7adc377934cfc5ce663b5d9cb2e4dc 100644
+index f1fcc844d563a0108230676dec84ef25485756b3..80836c5f87c15d688f27af5247b4e114cea7028d 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -306,7 +306,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -311,7 +311,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
/**
* Return an immutable copy of all {@link Attribute}s and their
* {@link AttributeModifier}s for a given {@link EquipmentSlot}.<br>
diff --git a/patches/api/0066-Add-getI18NDisplayName-API.patch b/patches/api/0066-Add-getI18NDisplayName-API.patch
index ad040bab77..1b54058640 100644
--- a/patches/api/0066-Add-getI18NDisplayName-API.patch
+++ b/patches/api/0066-Add-getI18NDisplayName-API.patch
@@ -33,10 +33,10 @@ index 3e7f92dc0aea0ea555dd02c50a1102da46fe74c4..16131648915ad4065b82905ab7c799e7
+ // Paper end - add getI18NDisplayName
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 9d327f0832c40d4a8d212346284274f6cf78834f..09a36df6edce2a283df80c67d5ef62da7ff73555 100644
+index e76c847e57f3d32757129d56922862a4202c9d07..8801a49b1ed6e21d9853f1290e52d6f90ce1211f 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -618,5 +618,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -629,5 +629,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public net.kyori.adventure.text.@NotNull Component displayName() {
return Bukkit.getServer().getItemFactory().displayName(this);
}
diff --git a/patches/api/0067-ensureServerConversions-API.patch b/patches/api/0067-ensureServerConversions-API.patch
index 7931718810..1eb6dcf8e4 100644
--- a/patches/api/0067-ensureServerConversions-API.patch
+++ b/patches/api/0067-ensureServerConversions-API.patch
@@ -30,10 +30,10 @@ index 16131648915ad4065b82905ab7c799e7554cca2d..a3d40ca984202a5fec0cfcc97266f324
+ // Paper end - ensure server conversions API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 09a36df6edce2a283df80c67d5ef62da7ff73555..a8faa4c1881bae4d47d901388a78b991d138b518 100644
+index 8801a49b1ed6e21d9853f1290e52d6f90ce1211f..e175865e3149861583a38f4271375f7be020b6ff 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -537,7 +537,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -548,7 +548,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
}
@@ -42,7 +42,7 @@ index 09a36df6edce2a283df80c67d5ef62da7ff73555..a8faa4c1881bae4d47d901388a78b991
}
/**
-@@ -619,6 +619,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -630,6 +630,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().displayName(this);
}
diff --git a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch
index 3c8d1de25d..89ff44d81e 100644
--- a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch
+++ b/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch
@@ -14,12 +14,12 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction.
diff --git a/build.gradle.kts b/build.gradle.kts
-index 863833e05e2363b2e4ba4937f96ecbeac03a1ede..bf01892c248b988531d21d9fb0f74d0adf2205ac 100644
+index f9ff7e3692d448e2a1e38d0aa26c2d934442e247..50dd795c67557c7d2668068af0bba87a1ec8dc43 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -12,6 +12,8 @@ java {
val annotationsVersion = "24.0.1"
- val bungeeCordChatVersion = "1.20-R0.1"
+ val bungeeCordChatVersion = "1.20-R0.2"
val adventureVersion = "4.15.0"
+val slf4jVersion = "2.0.9"
+val log4jVersion = "2.17.1"
diff --git a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
index 0639dc24a1..34e7521d47 100644
--- a/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/api/0081-Ability-to-apply-mending-to-XP-API.patch
@@ -10,10 +10,10 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 3f28d02d39c937abf001ae286632b84a5814fb61..695bdf0bca8af1360d4deeb4aadedf1fb4140223 100644
+index 8d09741cbb66ae6f0037f3195c1f1f57850307e4..90930f0f4eb30534c94165079d8c3ad923e6de0e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1430,6 +1430,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1471,6 +1471,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void resetPlayerWeather();
@@ -29,7 +29,7 @@ index 3f28d02d39c937abf001ae286632b84a5814fb61..695bdf0bca8af1360d4deeb4aadedf1f
/**
* Gets the player's cooldown between picking up experience orbs.
*
-@@ -1455,8 +1464,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1496,8 +1505,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gives the player the amount of experience specified.
*
* @param amount Exp amount to give
diff --git a/patches/api/0092-Player.setPlayerProfile-API.patch b/patches/api/0092-Player.setPlayerProfile-API.patch
index 0e9d8a293d..037d277caa 100644
--- a/patches/api/0092-Player.setPlayerProfile-API.patch
+++ b/patches/api/0092-Player.setPlayerProfile-API.patch
@@ -43,7 +43,7 @@ index cf00ff0c0332b31167f8f1b7b386674458cdf15a..11288c4e1cb6a1f8322c6cbacb3750e6
return server.createPlayerProfile(name);
}
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index bec480aff819e09220b52175cab0cb6d68ae68c6..12349910297a75c00e64f6ccc7981aeeeb43ecd3 100644
+index ff59479f4782ac7726504aab239de79fdc840cde..abbf3d6f11350ab2dd47a277771d9f46221036bd 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -59,7 +59,7 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -93,10 +93,10 @@ index 4016129ead172c5f5b550482f523921d39df046f..4d500904b28375f8517aa05075667da2
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 36aeb88d10e0e30c8572d1eccaa2e97825e1a986..792fe65d970a5cd4bac20350c7177a5d16dff9ba 100644
+index 90930f0f4eb30534c94165079d8c3ad923e6de0e..95f791b1f0af0735e565c0150fb2a4a3597b9997 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2908,6 +2908,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2949,6 +2949,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end
diff --git a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch b/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
index 5b92a3654f..18673117dc 100644
--- a/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
+++ b/patches/api/0095-Add-openSign-method-to-HumanEntity.patch
@@ -36,10 +36,10 @@ index abdca9fe5acc90f167219eb769ece66c35682bb1..b3aa3dc6aa5afbc36cc86741b4cba56f
/**
* Make the entity drop the item in their hand.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 792fe65d970a5cd4bac20350c7177a5d16dff9ba..c67dd3cfd1d359b1f11c3f7c6fb1e58f2abe5610 100644
+index 95f791b1f0af0735e565c0150fb2a4a3597b9997..40853a37eb433b587ab63741367bbaf0ca60c0c1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -2869,10 +2869,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -2910,10 +2910,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Open a Sign for editing by the Player.
*
diff --git a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
index dd83566b27..b300e1c039 100644
--- a/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
+++ b/patches/api/0096-Add-Ban-Methods-to-Player-Objects.patch
@@ -8,7 +8,7 @@ Allows a more logical API for banning players.
player.banPlayer("Breaking the rules");
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index 12349910297a75c00e64f6ccc7981aeeeb43ecd3..8f2f3e0ac5266f571b62a754921422bb07d61984 100644
+index abbf3d6f11350ab2dd47a277771d9f46221036bd..d8a3b6cb2d0cb035b2ab09e0327bc4f0be457ff7 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -67,6 +67,61 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -74,10 +74,10 @@ index 12349910297a75c00e64f6ccc7981aeeeb43ecd3..8f2f3e0ac5266f571b62a754921422bb
/**
* Adds this user to the {@link ProfileBanList}. If a previous ban exists, this will
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 9e2b93ce876ae69ec05bc55b15a4e0ebf054aa50..203e8555bfd410b9becfa7e0fb88728dfbd98f77 100644
+index 40853a37eb433b587ab63741367bbaf0ca60c0c1..62707884e012badec14f74665f32058812bbc46e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1104,6 +1104,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1145,6 +1145,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map);
// Paper start
diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
index 18991e040f..b99e81eb82 100644
--- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
+++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
Allows you to determine how long it takes to use a usable/consumable item
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index a8faa4c1881bae4d47d901388a78b991d138b518..b85eb71ff5d198d6270cbe07da0de3ed27fa72d5 100644
+index e175865e3149861583a38f4271375f7be020b6ff..9b38ba9bc7e72b60397476683c22d69e468d9353 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -646,5 +646,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -657,5 +657,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getI18NDisplayName() {
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
}
diff --git a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
index 0e4f6385f6..fea56a51c4 100644
--- a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
+++ b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index b85eb71ff5d198d6270cbe07da0de3ed27fa72d5..83a0631a80db156ace1d977df71d5fc653b70bb6 100644
+index 9b38ba9bc7e72b60397476683c22d69e468d9353..dbd0d0610f33105ee83ab589c84e73004f684fb5 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -3,6 +3,7 @@ package org.bukkit.inventory;
@@ -16,7 +16,7 @@ index b85eb71ff5d198d6270cbe07da0de3ed27fa72d5..83a0631a80db156ace1d977df71d5fc6
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Material;
-@@ -654,5 +655,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -665,5 +666,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
// Requires access to NMS
return ensureServerConversions().getMaxItemUseDuration();
}
diff --git a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
index 827a59da31..6c649269e8 100644
--- a/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/api/0145-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 0b3f6fabdf8439fba748a3770fa202161bbeb26f..cb75b93f740b6d9a155a7c6073252412b5a9aac0 100644
+index 62707884e012badec14f74665f32058812bbc46e..76f70e0db9409aa731d79e2c7b16d39b4c2dfc4c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3086,6 +3086,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3127,6 +3127,28 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void setPlayerProfile(com.destroystokyo.paper.profile.@NotNull PlayerProfile profile);
// Paper end - Player Profile API
diff --git a/patches/api/0149-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/api/0149-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index 4ba25025b1..b5c087c089 100644
--- a/patches/api/0149-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/api/0149-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
@@ -226,10 +226,10 @@ index 4034fcb9abc39b12f0de47c4b679f2ef82353c89..6fa219aef009f8dfb8a2b1e5ee0603b1
return key;
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 9d40e6a5ce7adc377934cfc5ce663b5d9cb2e4dc..46ac120ed51274a2084719387e35e517981bbf4b 100644
+index 80836c5f87c15d688f27af5247b4e114cea7028d..f800e776329c1b42f834cb30ebf2d0ace195d1a2 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-@@ -445,4 +445,87 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
+@@ -450,4 +450,87 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
@SuppressWarnings("javadoc")
@NotNull
ItemMeta clone();
diff --git a/patches/api/0166-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/api/0166-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index 552d9f92c6..1c79ffb48e 100644
--- a/patches/api/0166-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/api/0166-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
-index 8f2f3e0ac5266f571b62a754921422bb07d61984..774f9ec6a57d5d16a74ebe998e9ad800b1828029 100644
+index d8a3b6cb2d0cb035b2ab09e0327bc4f0be457ff7..634629d8c591d0477dfa6af91fa99caf17ffa9b0 100644
--- a/src/main/java/org/bukkit/OfflinePlayer.java
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
@@ -211,7 +211,9 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@@ -29,9 +29,9 @@ index 8f2f3e0ac5266f571b62a754921422bb07d61984..774f9ec6a57d5d16a74ebe998e9ad800
public long getLastPlayed();
/**
-@@ -229,6 +231,30 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
- */
+@@ -234,6 +236,30 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
@Nullable
+ @Deprecated
public Location getBedSpawnLocation();
+ // Paper start
+ /**
@@ -59,4 +59,4 @@ index 8f2f3e0ac5266f571b62a754921422bb07d61984..774f9ec6a57d5d16a74ebe998e9ad800
+ // Paper end
/**
- * Increments the given statistic for this player.
+ * Gets the Location where the player will spawn at, null if they
diff --git a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
index 0a25233fac..9de5c35b3e 100644
--- a/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0173-Fix-Spigot-annotation-mistakes.patch
@@ -859,10 +859,10 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index cb75b93f740b6d9a155a7c6073252412b5a9aac0..23ed4d9bbd0e0ed44771c1663b707b025f242c60 100644
+index 76f70e0db9409aa731d79e2c7b16d39b4c2dfc4c..ae324d684fa1fe256ae2b2c50bd0566ad0a27110 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1498,11 +1498,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1539,11 +1539,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Forces an update of the player's entire inventory.
@@ -1390,7 +1390,7 @@ index a3d40ca984202a5fec0cfcc97266f32408c37638..6aeae6b78106b8fd434614591adb5ead
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 83a0631a80db156ace1d977df71d5fc653b70bb6..60a25898fb17c467ffae05039fcd4d3b154a99ff 100644
+index dbd0d0610f33105ee83ab589c84e73004f684fb5..fd3d4dd231d756d51db0155a4c3ad970c4f456ed 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -8,6 +8,7 @@ import java.util.Map;
@@ -1430,7 +1430,7 @@ index 83a0631a80db156ace1d977df71d5fc653b70bb6..60a25898fb17c467ffae05039fcd4d3b
public void setData(@Nullable MaterialData data) {
if (data == null) {
this.data = data;
-@@ -546,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -557,7 +563,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*
* @return a copy of the current ItemStack's ItemData
*/
@@ -1586,7 +1586,7 @@ index 5ccae862dbac393805a47fe26c18a2f33f1e140d..72281899817c5c140cdca2afff75fbce
@Override
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
-index 46ac120ed51274a2084719387e35e517981bbf4b..420a91a834016d3af95efd79ca92ae45c4f081c4 100644
+index f800e776329c1b42f834cb30ebf2d0ace195d1a2..f23c0c942f200a68d2620f225ab90399a9057dfc 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -75,8 +75,10 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
diff --git a/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
index 93f111f781..3a9050cf88 100644
--- a/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
+++ b/patches/api/0189-Add-Raw-Byte-ItemStack-Serialization.patch
@@ -20,10 +20,10 @@ index 4604392831d19a789e4906cf1a5f0197105fd6f2..f063016f8a88dbff480ac3b4b3ef05c1
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 60a25898fb17c467ffae05039fcd4d3b154a99ff..3da071798b89e1dd1453f4339af87933cdf0105e 100644
+index fd3d4dd231d756d51db0155a4c3ad970c4f456ed..1f31ff5b85217a1c631f05f43c5a65839a36b26e 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -639,6 +639,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -650,6 +650,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
}
diff --git a/patches/api/0190-Add-Player-Client-Options-API.patch b/patches/api/0190-Add-Player-Client-Options-API.patch
index a2ccb609c1..25d6b0dcd9 100644
--- a/patches/api/0190-Add-Player-Client-Options-API.patch
+++ b/patches/api/0190-Add-Player-Client-Options-API.patch
@@ -229,10 +229,10 @@ index 0000000000000000000000000000000000000000..cf67dc7d465223710adbf2b798109f52
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 23ed4d9bbd0e0ed44771c1663b707b025f242c60..5da568d7760798e0f2df7d2e9bceadccf7162692 100644
+index ae324d684fa1fe256ae2b2c50bd0566ad0a27110..f36dc68a71e9799a638693ae5615743f94a85d40 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3105,6 +3105,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3146,6 +3146,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
// Paper end - attack cooldown API
diff --git a/patches/api/0208-Brand-support.patch b/patches/api/0208-Brand-support.patch
index 87c4c95756..c56833b9df 100644
--- a/patches/api/0208-Brand-support.patch
+++ b/patches/api/0208-Brand-support.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Brand support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5da568d7760798e0f2df7d2e9bceadccf7162692..1e2232ab9ac8e3dd169ad5a444fff529350ee2fd 100644
+index f36dc68a71e9799a638693ae5615743f94a85d40..f57c4a1ce6d1324c2adffed14b9ecb7700bea81c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3218,6 +3218,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3259,6 +3259,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
}
diff --git a/patches/api/0212-Add-methods-to-get-translation-keys.patch b/patches/api/0212-Add-methods-to-get-translation-keys.patch
index 612c68c938..41c5b876fc 100644
--- a/patches/api/0212-Add-methods-to-get-translation-keys.patch
+++ b/patches/api/0212-Add-methods-to-get-translation-keys.patch
@@ -282,7 +282,7 @@ index d3087d60378822cdd7cea25fd63d3f496e3cd2fb..5d8fa5b39a5d50cca48ba63af3a84b80
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 22cfffddb681a7ed95e19f4da6e2c272d22a6f69..4dcfff9aa28eec3467d49d6fcc00f22943fd9c92 100644
+index a7c58adb6404e04a673bf91d491d7fef56dc890e..85a5e9a3b41798cb3cb6687ed379a5e3eedd698a 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
@@ -478,7 +478,7 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db
+
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 3da071798b89e1dd1453f4339af87933cdf0105e..e4ad3a550050c4bf9cc7a2a1082bfdf668050efe 100644
+index 1f31ff5b85217a1c631f05f43c5a65839a36b26e..1532b3e1b655a9b58588c11b80824ed4cec8c66a 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
@@ -490,7 +490,7 @@ index 3da071798b89e1dd1453f4339af87933cdf0105e..e4ad3a550050c4bf9cc7a2a1082bfdf6
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
-@@ -606,6 +606,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -617,6 +617,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@Override
@NotNull
@@ -498,7 +498,7 @@ index 3da071798b89e1dd1453f4339af87933cdf0105e..e4ad3a550050c4bf9cc7a2a1082bfdf6
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
-@@ -865,5 +866,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -876,5 +877,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
ItemMeta itemMeta = getItemMeta();
return itemMeta != null && itemMeta.hasItemFlag(flag);
}
diff --git a/patches/api/0218-Player-elytra-boost-API.patch b/patches/api/0218-Player-elytra-boost-API.patch
index e7daecf153..d6552aab0a 100644
--- a/patches/api/0218-Player-elytra-boost-API.patch
+++ b/patches/api/0218-Player-elytra-boost-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 1e2232ab9ac8e3dd169ad5a444fff529350ee2fd..51e9a9f5843c97dd09e6f8e09f80221fe2b66ee6 100644
+index f57c4a1ce6d1324c2adffed14b9ecb7700bea81c..2f083ef738681ae1219438541487eac093343cf0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3112,6 +3112,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3153,6 +3153,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
<T> @NotNull T getClientOption(com.destroystokyo.paper.@NotNull ClientOption<T> option);
// Paper end - client option API
diff --git a/patches/api/0224-Add-Destroy-Speed-API.patch b/patches/api/0224-Add-Destroy-Speed-API.patch
index 409762c945..4bdd3a3889 100644
--- a/patches/api/0224-Add-Destroy-Speed-API.patch
+++ b/patches/api/0224-Add-Destroy-Speed-API.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add Destroy Speed API
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 4dcfff9aa28eec3467d49d6fcc00f22943fd9c92..137a40c708bb67de4608447975867a07240ddc88 100644
+index 85a5e9a3b41798cb3cb6687ed379a5e3eedd698a..c1705e518af08841e8154caf183bc808366feb2e 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -681,4 +681,31 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
@@ -42,10 +42,10 @@ index 4dcfff9aa28eec3467d49d6fcc00f22943fd9c92..137a40c708bb67de4608447975867a07
+ // Paper end - destroy speed API
}
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
-index b70176b9ca3c3fb7d68aa7bc92b7ca6329255bd7..81351a057fc2647dfd53a95ed78077d74204086b 100644
+index cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6..8a26e7215672f5fd4555fd455c9b1571488f0259 100644
--- a/src/main/java/org/bukkit/block/data/BlockData.java
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
-@@ -256,4 +256,29 @@ public interface BlockData extends Cloneable {
+@@ -266,4 +266,29 @@ public interface BlockData extends Cloneable {
@NotNull
@ApiStatus.Experimental
BlockState createBlockState();
diff --git a/patches/api/0245-Add-sendOpLevel-API.patch b/patches/api/0245-Add-sendOpLevel-API.patch
index 5a279d7430..fa031a8e07 100644
--- a/patches/api/0245-Add-sendOpLevel-API.patch
+++ b/patches/api/0245-Add-sendOpLevel-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 51e9a9f5843c97dd09e6f8e09f80221fe2b66ee6..202e6a5cf87fbbaa28081be2f34227bb0b414839 100644
+index 2f083ef738681ae1219438541487eac093343cf0..7a5839ac8f4d6bfd23d456e8e06fcfc86d24531f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3131,6 +3131,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3172,6 +3172,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
}
// Paper end - elytra boost API
diff --git a/patches/api/0266-Item-Rarity-API.patch b/patches/api/0266-Item-Rarity-API.patch
index efa6d2216d..aeb3aa7f1e 100644
--- a/patches/api/0266-Item-Rarity-API.patch
+++ b/patches/api/0266-Item-Rarity-API.patch
@@ -88,10 +88,10 @@ index 27d5f37a9b2da92307e5b505e3b31cca8a067018..26b0d5c0a62e516db6eef9dedc81216d
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index e4ad3a550050c4bf9cc7a2a1082bfdf668050efe..4f867ba2bc9b1a7c277e4a5f0ea8b452315f3272 100644
+index 1532b3e1b655a9b58588c11b80824ed4cec8c66a..569f67ee3f89d6af4fe1420cecc74811550b6507 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -877,5 +877,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -888,5 +888,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull String translationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
diff --git a/patches/api/0284-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch
index 156f084676..c6f36eb4de 100644
--- a/patches/api/0284-ItemStack-repair-check-API.patch
+++ b/patches/api/0284-ItemStack-repair-check-API.patch
@@ -26,10 +26,10 @@ index 3ae23a15a2c8757d3003041425ced583187d3d21..6b8013b072c9ca0a6f5ba86f37de3744
* Returns the server's protocol version.
*
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 4f867ba2bc9b1a7c277e4a5f0ea8b452315f3272..2d945516ec65ffe103479aea218b3002cc572dc1 100644
+index 569f67ee3f89d6af4fe1420cecc74811550b6507..78ea59c8f63b5a71ba092cf1783183bb5d0a3b79 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -887,5 +887,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -898,5 +898,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public io.papermc.paper.inventory.ItemRarity getRarity() {
return Bukkit.getUnsafe().getItemStackRarity(this);
}
diff --git a/patches/api/0287-ItemStack-editMeta.patch b/patches/api/0287-ItemStack-editMeta.patch
index 7893a035c9..5996dc1000 100644
--- a/patches/api/0287-ItemStack-editMeta.patch
+++ b/patches/api/0287-ItemStack-editMeta.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index 2d945516ec65ffe103479aea218b3002cc572dc1..f9faef1b73b5027a3d22e76a0b33b7c952f3ae08 100644
+index 78ea59c8f63b5a71ba092cf1783183bb5d0a3b79..12fac9cf93ae7c6b5c8daced10a4394ad29bebcb 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -547,6 +547,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -558,6 +558,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return result.ensureServerConversions(); // Paper
}
diff --git a/patches/api/0338-Multi-Block-Change-API.patch b/patches/api/0338-Multi-Block-Change-API.patch
index cdd9b018b0..21086887b1 100644
--- a/patches/api/0338-Multi-Block-Change-API.patch
+++ b/patches/api/0338-Multi-Block-Change-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index a5e4b4447b5c68339d6b09749520048642a4eb83..e2333a5f8e357ada69ff8857d3b1c666f51ac909 100644
+index 07ba09643077fcd90d073b2efd52ae9a3a99198b..5662e957e7609aa4cc3e5fcf6b8f12cde6ae4305 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -852,6 +852,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -893,6 +893,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendBlockDamage(@NotNull Location loc, float progress);
diff --git a/patches/api/0353-Add-enchantWithLevels-API.patch b/patches/api/0353-Add-enchantWithLevels-API.patch
index 8f20c5121e..1c94264d8f 100644
--- a/patches/api/0353-Add-enchantWithLevels-API.patch
+++ b/patches/api/0353-Add-enchantWithLevels-API.patch
@@ -70,10 +70,10 @@ index 198eebd45a2efa6986a8f4b613424eb8b6d3a039..f680545b6b59bf8d2ad154b0472dda4c
+ // Paper end - enchantWithLevels API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index f9faef1b73b5027a3d22e76a0b33b7c952f3ae08..eac7adf622b91489711a2f8bcff77fb31292dd67 100644
+index 12fac9cf93ae7c6b5c8daced10a4394ad29bebcb..f236f9bfa4d43dcbad5919abef3620fcd0696880 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -656,6 +656,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -667,6 +667,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
// Paper start
diff --git a/patches/api/0366-More-Teleport-API.patch b/patches/api/0366-More-Teleport-API.patch
index 80f1e75994..7279598aea 100644
--- a/patches/api/0366-More-Teleport-API.patch
+++ b/patches/api/0366-More-Teleport-API.patch
@@ -158,10 +158,10 @@ index f090368dbb5acf352e1bee34d78b55eb92373c6d..8322d22f34968d579b92c581b36544d4
* Teleports this entity to the given location. If this entity is riding a
* vehicle, it will be dismounted prior to teleportation.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 28d80415ef153e8e34faaae829a58556922c6024..d673de42d7d7eadc3101a70c297d89e406c3814e 100644
+index 5662e957e7609aa4cc3e5fcf6b8f12cde6ae4305..a74ef246913baf52b990838ce26c8a4590b8ab36 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3291,6 +3291,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3332,6 +3332,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
String getClientBrandName();
// Paper end
diff --git a/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
index 91de608669..baab234d28 100644
--- a/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
+++ b/patches/api/0368-Custom-Chat-Completion-Suggestions-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index d673de42d7d7eadc3101a70c297d89e406c3814e..ae3a4f35a35df94496a73acd4127d0ab22fcf877 100644
+index a74ef246913baf52b990838ce26c8a4590b8ab36..5caca55d8fc53720ff3304e46af5cfdcfd1acfbc 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3175,6 +3175,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3216,6 +3216,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void sendOpLevel(byte level);
// Paper end - sendOpLevel API
diff --git a/patches/api/0370-Block-Ticking-API.patch b/patches/api/0370-Block-Ticking-API.patch
index 8944708dd4..e2fa606e8c 100644
--- a/patches/api/0370-Block-Ticking-API.patch
+++ b/patches/api/0370-Block-Ticking-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Block Ticking API
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
-index 732e8ea9e1bdcbc8f9a0888e07940fe21617b490..49974558799830d827f9ccd65a8bafee3fb0376b 100644
+index efae68513fe59e95866cdbc6c8c1d9031907bedc..25650e9a31bcaf672acd115547abc1ec41a1de34 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -589,6 +589,21 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
@@ -31,10 +31,10 @@ index 732e8ea9e1bdcbc8f9a0888e07940fe21617b490..49974558799830d827f9ccd65a8bafee
/**
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
-index 81351a057fc2647dfd53a95ed78077d74204086b..d30ac3edc475796cf7f1d7ea04f665eef4ce755f 100644
+index 8a26e7215672f5fd4555fd455c9b1571488f0259..64188a78211195fe792eac427e483e1984f52318 100644
--- a/src/main/java/org/bukkit/block/data/BlockData.java
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
-@@ -281,4 +281,14 @@ public interface BlockData extends Cloneable {
+@@ -291,4 +291,14 @@ public interface BlockData extends Cloneable {
*/
float getDestroySpeed(@NotNull ItemStack itemStack, boolean considerEnchants);
// Paper end - destroy speed API
diff --git a/patches/api/0378-Elder-Guardian-appearance-API.patch b/patches/api/0378-Elder-Guardian-appearance-API.patch
index 3830d3db09..a004acf776 100644
--- a/patches/api/0378-Elder-Guardian-appearance-API.patch
+++ b/patches/api/0378-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index ae3a4f35a35df94496a73acd4127d0ab22fcf877..2abb6c19655bad636819097c72c5e210c1b7d98d 100644
+index 5caca55d8fc53720ff3304e46af5cfdcfd1acfbc..73536de601692a75fc83ff8b6e6781c7ae320a02 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3355,6 +3355,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3396,6 +3396,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void lookAt(@NotNull org.bukkit.entity.Entity entity, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor, @NotNull io.papermc.paper.entity.LookAnchor entityAnchor);
// Paper end - Teleport API
diff --git a/patches/api/0386-Add-Player-Warden-Warning-API.patch b/patches/api/0386-Add-Player-Warden-Warning-API.patch
index a21a8bb413..54a7ac70eb 100644
--- a/patches/api/0386-Add-Player-Warden-Warning-API.patch
+++ b/patches/api/0386-Add-Player-Warden-Warning-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Player Warden Warning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 2abb6c19655bad636819097c72c5e210c1b7d98d..6b998eccff579c8491786e6df3e88ce48fb14dd6 100644
+index 73536de601692a75fc83ff8b6e6781c7ae320a02..7a680e61038856743d1271bae9b3ce8b8230a40f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3371,6 +3371,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3412,6 +3412,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param silent whether sound should be silenced
*/
void showElderGuardian(boolean silent);
diff --git a/patches/api/0389-ItemStack-damage-API.patch b/patches/api/0389-ItemStack-damage-API.patch
index 5e29a328f8..b8c0f0b953 100644
--- a/patches/api/0389-ItemStack-damage-API.patch
+++ b/patches/api/0389-ItemStack-damage-API.patch
@@ -8,7 +8,7 @@ to simulate damage done to an itemstack and all
the logic associated with damaging them
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
-index 98956d13ac767cca447f53c10f1b1fedafad7fbf..c0e31ebbb41bd3013fe4a1609dd9af754434736d 100644
+index b1583317a0344809431f81f1cd9378f44343b04d..d1da5bb61633871e8fe778bd83b5a5eac20aacc7 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -1197,5 +1197,52 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@@ -65,10 +65,10 @@ index 98956d13ac767cca447f53c10f1b1fedafad7fbf..c0e31ebbb41bd3013fe4a1609dd9af75
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index eac7adf622b91489711a2f8bcff77fb31292dd67..d15a74c38576c49df61cfab02c70fc5d8c0dd5f7 100644
+index f236f9bfa4d43dcbad5919abef3620fcd0696880..845037909658884167136955a02b99af0040fa9c 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -971,5 +971,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -982,5 +982,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public boolean canRepair(@NotNull ItemStack toBeRepaired) {
return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this);
}
diff --git a/patches/api/0399-Flying-Fall-Damage-API.patch b/patches/api/0399-Flying-Fall-Damage-API.patch
index 8dd82b7749..680af0c62e 100644
--- a/patches/api/0399-Flying-Fall-Damage-API.patch
+++ b/patches/api/0399-Flying-Fall-Damage-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index e6191168df1032f5904ce5c580c7e41fb1249b22..a5ab59f2defa45af761a14fc955241af07b84a34 100644
+index ef1efb5c2a66ee81ffc85a5bbf0b25784c65a90b..e5ef5f4a19ef181b7df3e06664ee77ebc3865d89 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1766,6 +1766,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1807,6 +1807,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void setAllowFlight(boolean flight);
diff --git a/patches/api/0401-Win-Screen-API.patch b/patches/api/0401-Win-Screen-API.patch
index 0d24c598b0..9f6cf38d00 100644
--- a/patches/api/0401-Win-Screen-API.patch
+++ b/patches/api/0401-Win-Screen-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Win Screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index a5ab59f2defa45af761a14fc955241af07b84a34..41e7e24c65c3ae8cb451608db7598297fd9ffff2 100644
+index e5ef5f4a19ef181b7df3e06664ee77ebc3865d89..cacf86208957d3708b489467f1abde61672da3ee 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1136,6 +1136,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1177,6 +1177,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void sendMap(@NotNull MapView map);
diff --git a/patches/api/0424-Add-Listing-API-for-Player.patch b/patches/api/0424-Add-Listing-API-for-Player.patch
index 6029b9a632..5cd488a215 100644
--- a/patches/api/0424-Add-Listing-API-for-Player.patch
+++ b/patches/api/0424-Add-Listing-API-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Listing API for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 5b00c51157a724e1d3f89198e97ba7e33b3a163d..8ca61bca18c5520d20b0405d5add37759349560b 100644
+index f5ea1e4709a3d72ea9fe3045f8bced7aa77bc3f4..bd1beef9615eb87297abab6abb55fae34c579626 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1902,6 +1902,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1943,6 +1943,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@ApiStatus.Experimental
public boolean canSee(@NotNull Entity entity);
diff --git a/patches/api/0429-More-DragonBattle-API.patch b/patches/api/0429-More-DragonBattle-API.patch
index f4ec0fbbcf..e25208ec19 100644
--- a/patches/api/0429-More-DragonBattle-API.patch
+++ b/patches/api/0429-More-DragonBattle-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More DragonBattle API
diff --git a/src/main/java/org/bukkit/boss/DragonBattle.java b/src/main/java/org/bukkit/boss/DragonBattle.java
-index 8c55741cd17130686806c74627e11d464822053e..1d2ca775a243200bbcd4cbd8a750a9fb2628e73c 100644
+index 6e5fc92243ee63c2a965f8a4905e29a7993588fd..5dbd12a786a66640ce80acafe2a42e35adef41eb 100644
--- a/src/main/java/org/bukkit/boss/DragonBattle.java
+++ b/src/main/java/org/bukkit/boss/DragonBattle.java
-@@ -134,4 +134,44 @@ public interface DragonBattle {
+@@ -145,4 +145,44 @@ public interface DragonBattle {
*/
NONE;
}
diff --git a/patches/api/0436-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0436-Allow-proper-checking-of-empty-item-stacks.patch
index e4c35df87b..716a6140d9 100644
--- a/patches/api/0436-Allow-proper-checking-of-empty-item-stacks.patch
+++ b/patches/api/0436-Allow-proper-checking-of-empty-item-stacks.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow proper checking of empty item stacks
This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method.
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
-index d15a74c38576c49df61cfab02c70fc5d8c0dd5f7..0af73cc04edb93b9772136d4d808f657ea40e733 100644
+index 845037909658884167136955a02b99af0040fa9c..c3872213acc75d913580002cf70c2abb4ec69ca0 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
-@@ -985,5 +985,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
+@@ -996,5 +996,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull ItemStack damage(int amount, @NotNull org.bukkit.entity.LivingEntity livingEntity) {
return livingEntity.damageItemStack(this, amount);
}
diff --git a/patches/api/0438-Add-player-idle-duration-API.patch b/patches/api/0438-Add-player-idle-duration-API.patch
index 1c86d23955..24af4683d6 100644
--- a/patches/api/0438-Add-player-idle-duration-API.patch
+++ b/patches/api/0438-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 1ff74c6fb0dee02dad1d551d67a3c64bd9ebafa9..3fbad74bc9f0e95e19b0b17e73d130b4b257ee23 100644
+index bd1beef9615eb87297abab6abb55fae34c579626..dfd58cde92f8799f5f4a406a29277d13a1aef46f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -3512,6 +3512,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -3553,6 +3553,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void increaseWardenWarningLevel();
// Paper end
diff --git a/patches/api/0449-Add-experience-points-API.patch b/patches/api/0449-Add-experience-points-API.patch
index ced0840049..6223e3ae1a 100644
--- a/patches/api/0449-Add-experience-points-API.patch
+++ b/patches/api/0449-Add-experience-points-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add experience points API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index c09f423fe2a029c933bd2697c8ff104fc4230cf0..ae61a39b25267b84fe0b8766e4b12d9b24b44ded 100644
+index dfd58cde92f8799f5f4a406a29277d13a1aef46f..31aa6ef5fc2b3b88c72f5a15b8cc7a0e50c29f46 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
-@@ -1765,6 +1765,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+@@ -1806,6 +1806,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param exp New total experience points
*/
public void setTotalExperience(int exp);
diff --git a/patches/server/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch
index dfcdef6272..5e367262c0 100644
--- a/patches/server/0002-Remap-fixes.patch
+++ b/patches/server/0002-Remap-fixes.patch
@@ -131,44 +131,6 @@ index 1edc58410316eaf45858db56897179587e8b22ee..cf6f34e506570e7bb9624c5899fbcdd7
String.format("""
Could not encoded particle param for particle %s.
This can indicated, that the wrong particle param is created in CraftParticle.
-diff --git a/src/test/java/org/bukkit/RegistryConstantsTest.java b/src/test/java/org/bukkit/RegistryConstantsTest.java
-index 6be404dafe1f0ae5ab39a0782e4c3ca7c0923752..545a329a52be0dc1f3cf8ca1315152d8b4a465dd 100644
---- a/src/test/java/org/bukkit/RegistryConstantsTest.java
-+++ b/src/test/java/org/bukkit/RegistryConstantsTest.java
-@@ -19,17 +19,17 @@ public class RegistryConstantsTest extends AbstractTestingBase {
-
- @Test
- public void testTrimMaterial() {
-- this.testExcessConstants(TrimMaterial.class, Registry.TRIM_MATERIAL);
-+ this.testExcessConstants(TrimMaterial.class, org.bukkit.Registry.TRIM_MATERIAL); // Paper - remap fix
- this.testMissingConstants(TrimMaterial.class, Registries.TRIM_MATERIAL);
- }
-
- @Test
- public void testTrimPattern() {
-- this.testExcessConstants(TrimPattern.class, Registry.TRIM_PATTERN);
-+ this.testExcessConstants(TrimPattern.class, org.bukkit.Registry.TRIM_PATTERN); // Paper - remap fix
- this.testMissingConstants(TrimPattern.class, Registries.TRIM_PATTERN);
- }
-
-- private <T extends Keyed> void testExcessConstants(Class<T> clazz, Registry<T> registry) {
-+ private <T extends Keyed> void testExcessConstants(Class<T> clazz, org.bukkit.Registry<T> registry) { // Paper - remap fix
- List<NamespacedKey> excessKeys = new ArrayList<>();
-
- for (Field field : clazz.getFields()) {
-diff --git a/src/test/java/org/bukkit/RegistryLoadOrderTest.java b/src/test/java/org/bukkit/RegistryLoadOrderTest.java
-index e4298c14eb793743081cb0088427bb5a50d74b46..194ff80040eec0427acfef644cd85666370902fa 100644
---- a/src/test/java/org/bukkit/RegistryLoadOrderTest.java
-+++ b/src/test/java/org/bukkit/RegistryLoadOrderTest.java
-@@ -20,7 +20,7 @@ public class RegistryLoadOrderTest extends AbstractTestingBase {
-
- private static boolean initInterface = false;
- private static boolean initAbstract = false;
-- private static Registry<Keyed> registry;
-+ private static org.bukkit.Registry<Keyed> registry; // Paper - remap fix
-
- public static Stream<Arguments> data() {
- return Stream.of(
diff --git a/src/test/java/org/bukkit/entity/EntityTypesTest.java b/src/test/java/org/bukkit/entity/EntityTypesTest.java
index 32df0090aab65b551b524603cce0b96e461cc358..952924abae79cc504342bbdb6f6953ab8a6cc295 100644
--- a/src/test/java/org/bukkit/entity/EntityTypesTest.java
@@ -224,3 +186,41 @@ index 5818bfa69a8573a2a8f350066f829d587cbc546b..8e421a1bee0c526e3024eab9ba4cc0b3
org.bukkit.entity.Panda.Gene bukkit = CraftPanda.fromNms(gene);
assertNotNull(bukkit, "Bukkit gene null for " + gene);
+diff --git a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
+index 8acd2400dac0486d95a28cc07c21fc0c7183769b..8038e422cfcdda0eab19a2b3961c2597de25752b 100644
+--- a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
++++ b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java
+@@ -21,17 +21,17 @@ public class RegistryConstantsTest extends AbstractTestingBase {
+
+ @Test
+ public void testTrimMaterial() {
+- this.testExcessConstants(TrimMaterial.class, Registry.TRIM_MATERIAL);
++ this.testExcessConstants(TrimMaterial.class, org.bukkit.Registry.TRIM_MATERIAL); // Paper - remap fix
+ this.testMissingConstants(TrimMaterial.class, Registries.TRIM_MATERIAL);
+ }
+
+ @Test
+ public void testTrimPattern() {
+- this.testExcessConstants(TrimPattern.class, Registry.TRIM_PATTERN);
++ this.testExcessConstants(TrimPattern.class, org.bukkit.Registry.TRIM_PATTERN); // Paper - remap fix
+ this.testMissingConstants(TrimPattern.class, Registries.TRIM_PATTERN);
+ }
+
+- private <T extends Keyed> void testExcessConstants(Class<T> clazz, Registry<T> registry) {
++ private <T extends Keyed> void testExcessConstants(Class<T> clazz, org.bukkit.Registry<T> registry) { // Paper - remap fix
+ List<NamespacedKey> excessKeys = new ArrayList<>();
+
+ for (Field field : clazz.getFields()) {
+diff --git a/src/test/java/org/bukkit/registry/RegistryLoadOrderTest.java b/src/test/java/org/bukkit/registry/RegistryLoadOrderTest.java
+index b60b07f15fc61b9a92850b2008e2c928b94dbd04..da3eed6f130903bf27eed7e0bcae672a4f860c17 100644
+--- a/src/test/java/org/bukkit/registry/RegistryLoadOrderTest.java
++++ b/src/test/java/org/bukkit/registry/RegistryLoadOrderTest.java
+@@ -22,7 +22,7 @@ public class RegistryLoadOrderTest extends AbstractTestingBase {
+
+ private static boolean initInterface = false;
+ private static boolean initAbstract = false;
+- private static Registry<Keyed> registry;
++ private static org.bukkit.Registry<Keyed> registry; // Paper - remap fix
+
+ public static Stream<Arguments> data() {
+ return Stream.of(
diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch
index f236e6220f..863fa7bf7e 100644
--- a/patches/server/0004-Test-changes.patch
+++ b/patches/server/0004-Test-changes.patch
@@ -98,12 +98,12 @@ index 0000000000000000000000000000000000000000..6eb95a5e2534974c0e52e2b78b04e7c2
+ }
+}
diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java
-index d96efc9aa90debcca5f237c949ba11b10070223a..d1253a07a90aa4cc29d0140795203a71118c827a 100644
+index b19d4f7d1fcb604b448a5084f6bfe56d47ab12b3..f3017525b0c2397fdc7ce0778add2e7b38e9e2ba 100644
--- a/src/test/java/org/bukkit/support/DummyServer.java
+++ b/src/test/java/org/bukkit/support/DummyServer.java
-@@ -38,6 +38,15 @@ public final class DummyServer {
-
- when(instance.getRegistry(any())).then(mock -> CraftRegistry.createRegistry(mock.getArgument(0), AbstractTestingBase.REGISTRY_CUSTOM));
+@@ -48,6 +48,15 @@ public final class DummyServer {
+ return registers.computeIfAbsent(aClass, key -> CraftRegistry.createRegistry(aClass, AbstractTestingBase.REGISTRY_CUSTOM));
+ });
+ // Paper start - testing additions
+ final Thread currentThread = Thread.currentThread();
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index 1bdd52c2e4..235159d382 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -7738,7 +7738,7 @@ index 98836000cbca2a21649cb8f2a466986373405ea1..bbbf6dd8e566ecdca8794e3b03765fe7
return false;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 82d5c749a70f7a808c073263e861e09913c529d4..fdb24fe5504458ba2806df617464a1c41d8ba9e3 100644
+index d6a1b9bbf9737ed884ecf4af31e1521f46807405..5ee460d5d6e017a52bf26cfd56ca2cfeb82d3343 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2533,4 +2533,9 @@ public final class CraftServer implements Server {
@@ -7874,10 +7874,10 @@ index 70165d287156f46b793eb23dd30b601289c0ffb1..758bf988432bb34aad9386e3f4e8bba6
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index d5e56ed0a1bef50c0c715a7877f43fbc80dcaa44..633242f7cb25b8cdebd8c6ce579e4b60e471cdfa 100644
+index 070f119315a83be900c1a8e83962833d7df4c485..5d2ece0c415526d8c632b507f441977e6888c2cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2267,4 +2267,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2282,4 +2282,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
@@ -7913,7 +7913,7 @@ index d5e56ed0a1bef50c0c715a7877f43fbc80dcaa44..633242f7cb25b8cdebd8c6ce579e4b60
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 97c8723d19233fb0a12e446594b18c50f34f11f1..cba729914a3adaee2507e2916a4cfb585869746d 100644
+index bf46aa3bd46ffabe92d58aa45ea0dfe6c98d94aa..23b83f8e98d681895b4e23cda4f3d50f85c12dd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -23,6 +23,16 @@ import org.bukkit.material.MaterialData;
diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch
index 07bc481901..08e40f114f 100644
--- a/patches/server/0010-Adventure.patch
+++ b/patches/server/0010-Adventure.patch
@@ -3354,7 +3354,7 @@ index 23bdb77690ba15bcbbfb0c70af23336d08ac7752..8f144a357174bbe096ac9b38a5e67a61
}
collection = icons;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index fdb24fe5504458ba2806df617464a1c41d8ba9e3..1079476a3b327d668cf3d98f0a0659c81c120443 100644
+index 5ee460d5d6e017a52bf26cfd56ca2cfeb82d3343..a381673d2397bcb3569e0b24eb071d86afa709ac 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -608,8 +608,10 @@ public final class CraftServer implements Server {
@@ -4005,10 +4005,10 @@ index 1e82312c24cb752d63b165926861fc178cd7849b..7f22950ae61436e91a59cd29a345809c
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-index 6f95a6bf27af151aec38bb2bd6fa657acc1c62e9..b54bd4e85042955448a2e76b379d370eefdff383 100644
+index 24052b8102061c6fbf01b3e9b2346ed9783787e6..f0f7fb977edb7e7009716429f007e44fa36bfcda 100644
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-@@ -156,6 +156,12 @@ public class CraftEnchantment extends Enchantment {
+@@ -147,6 +147,12 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
CraftEnchantment ench = (CraftEnchantment) other;
return !this.handle.isCompatibleWith(ench.getHandle());
}
@@ -4137,7 +4137,7 @@ index 61759e8179d0f6342abf0c0294e5a024928db8d9..92e21126a9347f1ee2279ab09bb6abf2
public boolean isOp() {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd91256af3ff4 100644
+index 5d2ece0c415526d8c632b507f441977e6888c2cb..f53e223e2412846b82298233459ec9953bc0a63e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -300,14 +300,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -4303,7 +4303,7 @@ index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd912
}
@Override
-@@ -1690,7 +1756,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1705,7 +1771,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url) {
@@ -4312,7 +4312,7 @@ index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd912
}
@Override
-@@ -1705,7 +1771,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1720,7 +1786,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash, boolean force) {
@@ -4321,7 +4321,7 @@ index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd912
}
@Override
-@@ -1728,6 +1794,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1743,6 +1809,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
@@ -4381,7 +4381,7 @@ index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd912
@Override
public void removeResourcePack(UUID id) {
Preconditions.checkArgument(id != null, "Resource pack id cannot be null");
-@@ -2135,6 +2254,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2150,6 +2269,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
}
@@ -4394,7 +4394,7 @@ index 633242f7cb25b8cdebd8c6ce579e4b60e471cdfa..f609c4e67dd6feefb0c9366a515fd912
@Override
public int getPing() {
return this.getHandle().connection.latency();
-@@ -2185,6 +2310,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2200,6 +2325,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing();
}
@@ -5092,7 +5092,7 @@ index cc588fb207062829637adad79129ca91950496cb..8b27ca7606869798486c3afd03e86205
+ // 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 92e73e0a41a7f63c51e426534ecb2604d9fca958..fcef34d7c88f7f8e21f9789ce3d0962e64d2f092 100644
+index 39eb09106c1e3d00eb32b56babae751f487d6bcb..893da5266fc09e583a660bc23ac84008b95ea2a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -751,6 +751,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch
index a986d7d8e8..54a0bc7fb3 100644
--- a/patches/server/0013-Paper-Plugins.patch
+++ b/patches/server/0013-Paper-Plugins.patch
@@ -7097,7 +7097,7 @@ index 403c57fc683bb0497602e1a9ec7b81b2722ecc01..ba58580f4c60205d1c7a7b7dfcdc22c4
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 6c6a2a1eb9a02bf14b6b851f5d0aaba8528a8fec..59872b2a9d88db63b76e07f7815246bbb095dbc1 100644
+index 747bbd6ea43f2374a7b406a5eecb95717e8527e2..ab7f7246ee7cd456dbf016aa4b3eed974cd0bca2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -270,7 +270,8 @@ public final class CraftServer implements Server {
@@ -7996,10 +7996,10 @@ index 0000000000000000000000000000000000000000..ba271c35eb2804f94cfc893bf94affb9
+ }
+}
diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java
-index d1253a07a90aa4cc29d0140795203a71118c827a..c20d5ed12efed109f3702a994188ac4af66c8b9a 100644
+index f3017525b0c2397fdc7ce0778add2e7b38e9e2ba..3b3e44c5ed24f653f7dc1e5d3d4f0ff76084f277 100644
--- a/src/test/java/org/bukkit/support/DummyServer.java
+++ b/src/test/java/org/bukkit/support/DummyServer.java
-@@ -42,7 +42,7 @@ public final class DummyServer {
+@@ -52,7 +52,7 @@ public final class DummyServer {
final Thread currentThread = Thread.currentThread();
when(instance.isPrimaryThread()).thenAnswer(ignored -> Thread.currentThread().equals(currentThread));
diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch
index d4f79aa820..04e28eb9c6 100644
--- a/patches/server/0014-Timings-v2.patch
+++ b/patches/server/0014-Timings-v2.patch
@@ -1605,7 +1605,7 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 59872b2a9d88db63b76e07f7815246bbb095dbc1..b1d0e9caed38b6a264b7ea8e508be103d3d0664e 100644
+index ab7f7246ee7cd456dbf016aa4b3eed974cd0bca2..eccca51b91f3c8afeab19fe11b3e60df314c9c72 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -368,7 +368,7 @@ public final class CraftServer implements Server {
@@ -1819,10 +1819,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f609c4e67dd6feefb0c9366a515fd91256af3ff4..86802dee856ec0a5342c35ace716b6d66b093ccd 100644
+index f53e223e2412846b82298233459ec9953bc0a63e..87e7071a381540be3b1db55f5d606e9e1e117b39 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2631,6 +2631,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2646,6 +2646,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR));
}
diff --git a/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch b/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch
index 66ef197e55..98e0dec4c4 100644
--- a/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch
+++ b/patches/server/0018-Keep-previous-behavior-for-setResourcePack.patch
@@ -10,10 +10,10 @@ packs before sending the new pack. Other API exists
for adding a new pack to the existing packs on a client.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 86802dee856ec0a5342c35ace716b6d66b093ccd..6802d5a06741f8e71d8a042993e364557a62b20e 100644
+index 87e7071a381540be3b1db55f5d606e9e1e117b39..afdc702682af7ddf338fe00a1b1912766e728f41 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1788,8 +1788,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1803,8 +1803,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (hash != null) {
Preconditions.checkArgument(hash.length == 20, "Resource pack hash should be 20 bytes long but was %s", hash.length);
diff --git a/patches/server/0019-Support-components-in-ItemMeta.patch b/patches/server/0019-Support-components-in-ItemMeta.patch
index 5488d0c2d0..212575286c 100644
--- a/patches/server/0019-Support-components-in-ItemMeta.patch
+++ b/patches/server/0019-Support-components-in-ItemMeta.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index fcef34d7c88f7f8e21f9789ce3d0962e64d2f092..aad1bfb515556ed98a55b181057d3ebb178ee52d 100644
+index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917aaad7161 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -768,11 +768,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -32,7 +32,7 @@ index fcef34d7c88f7f8e21f9789ce3d0962e64d2f092..aad1bfb515556ed98a55b181057d3ebb
@Override
public boolean hasDisplayName() {
return this.displayName != null;
-@@ -913,6 +925,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -920,6 +932,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent));
}
@@ -47,7 +47,7 @@ index fcef34d7c88f7f8e21f9789ce3d0962e64d2f092..aad1bfb515556ed98a55b181057d3ebb
@Override
public void setLore(List<String> lore) {
if (lore == null || lore.isEmpty()) {
-@@ -927,6 +947,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -934,6 +954,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
}
@@ -69,7 +69,7 @@ index fcef34d7c88f7f8e21f9789ce3d0962e64d2f092..aad1bfb515556ed98a55b181057d3ebb
@Override
public boolean hasCustomModelData() {
return this.customModelData != null;
-@@ -1362,6 +1397,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1369,6 +1404,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
for (Object object : addFrom) {
diff --git a/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch b/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch
index f8a8322389..195e55198a 100644
--- a/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch
+++ b/patches/server/0020-Configurable-cactus-bamboo-and-reed-growth-height.patch
@@ -65,7 +65,7 @@ index bd72deadb59289ae90afc379ee61e8198ddaf4ed..e8dc4ea90d74036dacb0785fcb9125df
}
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
-index fcd5b593c79aab42928cb1ddd0e6c1b03b7bafaf..b3b21763079698b86ea27bb60ea12f078d101901 100644
+index fcd5b593c79aab42928cb1ddd0e6c1b03b7bafaf..581870d23e4deca85ae94bffac2011b69650c23d 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -61,7 +61,7 @@ public class CactusBlock extends Block {
@@ -73,12 +73,12 @@ index fcd5b593c79aab42928cb1ddd0e6c1b03b7bafaf..b3b21763079698b86ea27bb60ea12f07
}
- if (i < 3) {
-+ if (i < world.paperConfig().maxGrowthHeight.cactus) { // Paper - Configurable cactus/bamboo/reed growth heightt
++ if (i < world.paperConfig().maxGrowthHeight.cactus) { // Paper - Configurable cactus/bamboo/reed growth height
int j = (Integer) state.getValue(CactusBlock.AGE);
int modifier = world.spigotConfig.cactusModifier; // Spigot - SPIGOT-7159: Better modifier resolution
diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
-index 47d4fc5bcf2657078abc7a2637b6337fc0ea0977..0c052892e930e08fafac729d6bd238eaf261a474 100644
+index 47d4fc5bcf2657078abc7a2637b6337fc0ea0977..04957d461d0e968d443737068aaeec1d0bce78b2 100644
--- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
@@ -59,7 +59,7 @@ public class SugarCaneBlock extends Block {
@@ -86,7 +86,7 @@ index 47d4fc5bcf2657078abc7a2637b6337fc0ea0977..0c052892e930e08fafac729d6bd238ea
}
- if (i < 3) {
-+ if (i < world.paperConfig().maxGrowthHeight.reeds) { // Paper - Configurable cactus/bamboo/reed growth height
++ if (i < world.paperConfig().maxGrowthHeight.reeds) { // Paper - Configurable cactus/bamboo/reed growth heigh
int j = (Integer) state.getValue(SugarCaneBlock.AGE);
int modifier = world.spigotConfig.caneModifier; // Spigot - SPIGOT-7159: Better modifier resolution
diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch
index 3bd3c2e637..f3dbfb6795 100644
--- a/patches/server/0030-Player-affects-spawning-API.patch
+++ b/patches/server/0030-Player-affects-spawning-API.patch
@@ -135,10 +135,10 @@ index b6a3c75b84d9f768afee33aa0f226207b307c1c0..07e7851ca27ea0f8166be52b086a6504
for(Player player : this.players()) {
if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6802d5a06741f8e71d8a042993e364557a62b20e..243c4ab34922171e67fe9dfd3307c71910c9d082 100644
+index afdc702682af7ddf338fe00a1b1912766e728f41..aafab28ed643e9f5f4b28a12ecd7bde3bc993abf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2272,6 +2272,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2287,6 +2287,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().language;
}
diff --git a/patches/server/0031-Only-refresh-abilities-if-needed.patch b/patches/server/0031-Only-refresh-abilities-if-needed.patch
index e37473a715..58032170df 100644
--- a/patches/server/0031-Only-refresh-abilities-if-needed.patch
+++ b/patches/server/0031-Only-refresh-abilities-if-needed.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 243c4ab34922171e67fe9dfd3307c71910c9d082..3479728bc4dc1df00e207feb1a5494d9997582ea 100644
+index aafab28ed643e9f5f4b28a12ecd7bde3bc993abf..8b7f6ac3214d318bff41779ae80c48ce3ecd54ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1944,12 +1944,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1959,12 +1959,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setFlying(boolean value) {
diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
index 5936a7c31a..914926f06e 100644
--- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
+++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch
@@ -39,10 +39,10 @@ index c1006a1991e294fa69b1eb35f4224154b064671b..b0a548ed0abbe08df2cae771248a811f
// CraftBukkit end
this.language = clientOptions.language();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3479728bc4dc1df00e207feb1a5494d9997582ea..2de311e8c9bc37bf8c1fb1234a9fc6df30d5aaab 100644
+index 8b7f6ac3214d318bff41779ae80c48ce3ecd54ce..3eb1a36eb171d0b98ae005a61902274ef4b12b6e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2270,7 +2270,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2285,7 +2285,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
diff --git a/patches/server/0064-Complete-resource-pack-API.patch b/patches/server/0064-Complete-resource-pack-API.patch
index d3daf2b722..645ad3f88d 100644
--- a/patches/server/0064-Complete-resource-pack-API.patch
+++ b/patches/server/0064-Complete-resource-pack-API.patch
@@ -22,7 +22,7 @@ index c8041492b7b2a1ff67b95d9944cfccd476b3ee1d..66497960995dc30abe60d26200979a78
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 02cb029b436850456daea7bcf646ff754e0aada2..610fcc99098780608afede7ed4a59cef36daaffa 100644
+index 05a3d86c5861f237dcccb93c8a9f91cf6a7c18b6..8be468cb5305c0db5f46298aaf6c896b27ce4aee 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -189,6 +189,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -33,7 +33,7 @@ index 02cb029b436850456daea7bcf646ff754e0aada2..610fcc99098780608afede7ed4a59cef
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -1957,6 +1958,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1972,6 +1973,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end - adventure
diff --git a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
index a10f0935ad..e4b3d7b26b 100644
--- a/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/0068-Handle-Item-Meta-Inconsistencies.patch
@@ -70,7 +70,7 @@ index 9861cd23b07f8fbacb1d125af835dee58c2debbb..b0ea04fc0bac640f7076100e44c16c03
public boolean isEnchanted() {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index cba729914a3adaee2507e2916a4cfb585869746d..a05f01ca9a9bc88e414c8cf89c01c7e993e27dd2 100644
+index 23b83f8e98d681895b4e23cda4f3d50f85c12dd9..c72a1a503f6e71228a1f82b37068ff7a83e983dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -188,28 +188,11 @@ public final class CraftItemStack extends ItemStack {
@@ -107,7 +107,7 @@ index cba729914a3adaee2507e2916a4cfb585869746d..a05f01ca9a9bc88e414c8cf89c01c7e9
}
static boolean makeTag(net.minecraft.world.item.ItemStack item) {
-@@ -242,50 +225,22 @@ public final class CraftItemStack extends ItemStack {
+@@ -242,43 +225,15 @@ public final class CraftItemStack extends ItemStack {
public int removeEnchantment(Enchantment ench) {
Preconditions.checkArgument(ench != null, "Enchantment cannot be null");
@@ -159,6 +159,7 @@ index cba729914a3adaee2507e2916a4cfb585869746d..a05f01ca9a9bc88e414c8cf89c01c7e9
return level;
}
+@@ -290,7 +245,7 @@ public final class CraftItemStack extends ItemStack {
@Override
public Map<Enchantment, Integer> getEnchantments() {
@@ -168,7 +169,7 @@ index cba729914a3adaee2507e2916a4cfb585869746d..a05f01ca9a9bc88e414c8cf89c01c7e9
static Map<Enchantment, Integer> getEnchantments(net.minecraft.world.item.ItemStack item) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 9e11d7bccd04b4c2e6913de56a299190c22aa9c1..c76fe9599b4f2458cac6e2477f1f963451b357b4 100644
+index ffdea312f93d00289364ef4d41a820cd1338f3bd..361268bcc0197c2f9f4bd065d8f7b51771d562a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList;
@@ -271,7 +272,7 @@ index 9e11d7bccd04b4c2e6913de56a299190c22aa9c1..c76fe9599b4f2458cac6e2477f1f9634
}
if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) {
-@@ -1262,7 +1265,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1269,7 +1272,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.customModelData = this.customModelData;
clone.blockData = this.blockData;
if (this.enchantments != null) {
@@ -280,7 +281,7 @@ index 9e11d7bccd04b4c2e6913de56a299190c22aa9c1..c76fe9599b4f2458cac6e2477f1f9634
}
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
-@@ -1509,4 +1512,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1516,4 +1519,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftMetaItem.HANDLED_TAGS;
}
}
diff --git a/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index 2eaca84cd9..fc8065c945 100644
--- a/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -44,10 +44,10 @@ index 3179fc1b33f503b0cdd462ad160edee760b5a7eb..428a9d21b24e9c349bf766c16172ffd9
protected void internalSetAbsorptionAmount(float absorptionAmount) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 610fcc99098780608afede7ed4a59cef36daaffa..1b7010f4d191ee08e250cdf27f5fd9e9bfa0abdd 100644
+index 8be468cb5305c0db5f46298aaf6c896b27ce4aee..af0b3ea4bdb474d15c3e0a8ad8e1d23abc4c3413 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2192,6 +2192,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2207,6 +2207,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
index 0fd436a80a..3dac4b6da6 100644
--- a/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
+++ b/patches/server/0164-Ability-to-apply-mending-to-XP-API.patch
@@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c3eb39a30a70d7e289caba49749cf1f9c812be90..ee5d14413f27e61df0adc8c151cee438a912e6cf 100644
+index cfa861cc63ccd96ef9c71e65d6796567154afd5f..af58b8c5a9faf78bd4daace9bd52a012fa91e079 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1501,7 +1501,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1516,7 +1516,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0170-Add-ArmorStand-Item-Meta.patch b/patches/server/0170-Add-ArmorStand-Item-Meta.patch
index eadb53308d..b650597d67 100644
--- a/patches/server/0170-Add-ArmorStand-Item-Meta.patch
+++ b/patches/server/0170-Add-ArmorStand-Item-Meta.patch
@@ -255,10 +255,10 @@ index b77f5832265be5aaf96d95fcac4737919720fa6e..e15723080445b09852512132039ca2cd
+ // 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 c76fe9599b4f2458cac6e2477f1f963451b357b4..76982348d76ecbcc3db1d81ebb5d2a8805b81e94 100644
+index 361268bcc0197c2f9f4bd065d8f7b51771d562a9..1920cf7ad846f57cd278cb9a72dce03f3d014fbb 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1502,6 +1502,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1509,6 +1509,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaCrossbow.CHARGED.NBT,
CraftMetaCrossbow.CHARGED_PROJECTILES.NBT,
CraftMetaSuspiciousStew.EFFECTS.NBT,
diff --git a/patches/server/0177-Player.setPlayerProfile-API.patch b/patches/server/0177-Player.setPlayerProfile-API.patch
index 46bea5337c..a5c24b0595 100644
--- a/patches/server/0177-Player.setPlayerProfile-API.patch
+++ b/patches/server/0177-Player.setPlayerProfile-API.patch
@@ -62,10 +62,10 @@ index 7552d1b9e6c286daaa6b094af0fdebc2b300272a..9f8a95c8f46a11f36ff16863922a91a8
public void tick() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index 477d3245facb5ae59c786d4f696f64226cb540a6..e8490a58dd4d9bc39a5bb2f9fc109526e031b971 100644
+index 954825dcd011716dcd859aa285a8e3cdb6ff5464..34925d6448e0ef1d5bb4b24359f732b67aaa4230 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-@@ -81,8 +81,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
+@@ -82,8 +82,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
}
@Override
@@ -77,7 +77,7 @@ index 477d3245facb5ae59c786d4f696f64226cb540a6..e8490a58dd4d9bc39a5bb2f9fc109526
public Server getServer() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d29617b36 100644
+index af58b8c5a9faf78bd4daace9bd52a012fa91e079..d59c2bbb88a4e11136e2aa8fb30f15894560f13f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -230,11 +230,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -92,7 +92,7 @@ index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d
@Override
public InetSocketAddress getAddress() {
if (this.getHandle().connection == null) return null;
-@@ -1651,8 +1646,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1666,8 +1661,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private void untrackAndHideEntity(org.bukkit.entity.Entity entity) {
// Remove this entity from the hidden player's EntityTrackerEntry
@@ -109,7 +109,7 @@ index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
if (entry != null) {
entry.removePlayer(this.getHandle());
-@@ -1665,8 +1667,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1680,8 +1682,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
}
}
@@ -118,7 +118,7 @@ index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d
}
void resetAndHideEntity(org.bukkit.entity.Entity entity) {
-@@ -1731,12 +1731,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1746,12 +1746,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
private void trackAndShowEntity(org.bukkit.entity.Entity entity) {
@@ -144,7 +144,7 @@ index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d
}
ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId());
-@@ -1746,6 +1759,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1761,6 +1774,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity));
}
@@ -184,7 +184,7 @@ index ee5d14413f27e61df0adc8c151cee438a912e6cf..0f78ff8b4a7143388416563d964c467d
void resetAndShowEntity(org.bukkit.entity.Entity entity) {
// SPIGOT-7312: Can't show/hide self
-@@ -1757,6 +1803,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1772,6 +1818,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.trackAndShowEntity(entity);
}
}
diff --git a/patches/server/0182-Flag-to-disable-the-channel-limit.patch b/patches/server/0182-Flag-to-disable-the-channel-limit.patch
index eb174b84df..dad19420a3 100644
--- a/patches/server/0182-Flag-to-disable-the-channel-limit.patch
+++ b/patches/server/0182-Flag-to-disable-the-channel-limit.patch
@@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7ca0b3661ec8f1e1060b8e6d93e8c5d5a98f4d23..5eef491a3081973edb64b31710099c736c6dcd4a 100644
+index d59c2bbb88a4e11136e2aa8fb30f15894560f13f..4d0d2b1bc24a0d56724d7062bdbc3c7cf78e2b8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -190,6 +190,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -20,7 +20,7 @@ index 7ca0b3661ec8f1e1060b8e6d93e8c5d5a98f4d23..5eef491a3081973edb64b31710099c73
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -2120,7 +2121,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2135,7 +2136,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch b/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch
index 1c42edda64..c597f5c121 100644
--- a/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch
+++ b/patches/server/0222-Don-t-call-getItemMeta-on-hasItemMeta.patch
@@ -11,10 +11,10 @@ Returns true if getDamage() == 0 or has damage tag or other tag is set.
Check the `ItemMetaTest#testTaggedButNotMeta` method to see how this method behaves.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 07f011a968592ba5b38a0a2723189824ba5d0938..1478fb3e1f0f97423855db7e5c4618cc066efb6b 100644
+index d9a07829d5d0ebcb18b8e3f12622ed7795955d61..7ce48473222516aefda3c5ad40e5e3fd23502e3d 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-@@ -670,7 +670,7 @@ public final class CraftItemStack extends ItemStack {
+@@ -675,7 +675,7 @@ public final class CraftItemStack extends ItemStack {
@Override
public boolean hasItemMeta() {
diff --git a/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch
index aae8de7dec..fca7875ee1 100644
--- a/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch
+++ b/patches/server/0245-Expose-attack-cooldown-methods-for-Player.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 57b5f5c13a5e397e153f06d7f60d3177ee59e91c..fff6d3d50df7bdf91a1fb48c97ee6ee4cf06a7e8 100644
+index 047be06ad290e6e066689fe3b95902a3459304b3..b98f26b6958cb3f874a4c0d85e2c10ec517cbbff 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2831,6 +2831,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2846,6 +2846,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.adventure$pointers;
}
diff --git a/patches/server/0246-Improve-death-events.patch b/patches/server/0246-Improve-death-events.patch
index 54d223ef8a..110f26d5d2 100644
--- a/patches/server/0246-Improve-death-events.patch
+++ b/patches/server/0246-Improve-death-events.patch
@@ -402,10 +402,10 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
this.gameEvent(GameEvent.ENTITY_DIE);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index fff6d3d50df7bdf91a1fb48c97ee6ee4cf06a7e8..4dce0bc472a7a210680d86e90828749766908afd 100644
+index b98f26b6958cb3f874a4c0d85e2c10ec517cbbff..adcba9111415a20a4a55bb182be84c9f6d3755d7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2368,7 +2368,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2383,7 +2383,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void sendHealthUpdate() {
FoodData foodData = this.getHandle().getFoodData();
diff --git a/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
index ca8562d868..61c1bd0e6e 100644
--- a/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
+++ b/patches/server/0249-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec4e8f5f3d 100644
+index 1920cf7ad846f57cd278cb9a72dce03f3d014fbb..629fa76e6c7c2ede36ab855bb3a7a65dfd601449 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -85,6 +85,12 @@ import org.bukkit.persistence.PersistentDataContainer;
@@ -181,7 +181,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
}
// Paper start
-@@ -1216,7 +1324,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1223,7 +1331,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
&& (this.hideFlag == that.hideFlag)
&& (this.isUnbreakable() == that.isUnbreakable())
&& (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage())
@@ -194,7 +194,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
}
/**
-@@ -1251,6 +1363,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1258,6 +1370,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
hash = 61 * hash + (this.hasDamage() ? this.damage : 0);
hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0);
hash = 61 * hash + this.version;
@@ -205,7 +205,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
return hash;
}
-@@ -1275,6 +1391,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1282,6 +1398,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
clone.unbreakable = this.unbreakable;
clone.damage = this.damage;
clone.version = this.version;
@@ -220,7 +220,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
return clone;
} catch (CloneNotSupportedException e) {
throw new Error(e);
-@@ -1332,6 +1456,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1339,6 +1463,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
builder.put(CraftMetaItem.DAMAGE.BUKKIT, this.damage);
}
@@ -244,7 +244,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
final Map<String, Tag> internalTags = new HashMap<String, Tag>(this.unhandledTags);
this.serializeInternal(internalTags);
if (!internalTags.isEmpty()) {
-@@ -1509,6 +1650,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1516,6 +1657,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
CraftMetaArmorStand.SHOW_ARMS.NBT,
CraftMetaArmorStand.SMALL.NBT,
CraftMetaArmorStand.MARKER.NBT,
@@ -253,7 +253,7 @@ index 76982348d76ecbcc3db1d81ebb5d2a8805b81e94..ed50a1e492643842a094fc90fb52cbec
// Paper end
CraftMetaCompass.LODESTONE_DIMENSION.NBT,
CraftMetaCompass.LODESTONE_POS.NBT,
-@@ -1538,4 +1681,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1545,4 +1688,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
// Paper end
diff --git a/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch
index 2574970bc7..2acfb65bcc 100644
--- a/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch
+++ b/patches/server/0279-Replace-OfflinePlayer-getLastPlayed.patch
@@ -40,10 +40,10 @@ index 455f14d758551229d15d703990bb5225fff37700..e2136ae52074f922a87ac30f5e34cb80
GameProfileCache usercache = this.server.getProfileCache();
String s;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index e8490a58dd4d9bc39a5bb2f9fc109526e031b971..5f590575f95eff8bf0cdcafde7dee0e3c7fc30ad 100644
+index 34925d6448e0ef1d5bb4b24359f732b67aaa4230..0c1b5f625a351905e082b2c2a63bfd737101527e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-@@ -261,6 +261,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
+@@ -262,6 +262,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
return this.getData() != null;
}
@@ -106,7 +106,7 @@ index e8490a58dd4d9bc39a5bb2f9fc109526e031b971..5f590575f95eff8bf0cdcafde7dee0e3
public Location getLastDeathLocation() {
if (this.getData().contains("LastDeathLocation", 10)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index c3af502148a700892ac86d56bcb4f05703d98160..24b08196d160feaa7b4409151fcd98cece19892e 100644
+index adcba9111415a20a4a55bb182be84c9f6d3755d7..95eb6060eb5661fa88bfdbd1c4d8bbcd78c2d983 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -191,6 +191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -117,7 +117,7 @@ index c3af502148a700892ac86d56bcb4f05703d98160..24b08196d160feaa7b4409151fcd98ce
public CraftPlayer(CraftServer server, ServerPlayer entity) {
super(server, entity);
-@@ -1911,6 +1912,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1926,6 +1927,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index c3af502148a700892ac86d56bcb4f05703d98160..24b08196d160feaa7b4409151fcd98ce
public void readExtraData(CompoundTag nbttagcompound) {
this.hasPlayedBefore = true;
if (nbttagcompound.contains("bukkit")) {
-@@ -1933,6 +1946,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1948,6 +1961,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(CompoundTag nbttagcompound) {
@@ -145,7 +145,7 @@ index c3af502148a700892ac86d56bcb4f05703d98160..24b08196d160feaa7b4409151fcd98ce
if (!nbttagcompound.contains("bukkit")) {
nbttagcompound.put("bukkit", new CompoundTag());
}
-@@ -1947,6 +1962,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1962,6 +1977,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.putLong("firstPlayed", this.getFirstPlayed());
data.putLong("lastPlayed", System.currentTimeMillis());
data.putString("lastKnownName", handle.getScoreboardName());
diff --git a/patches/server/0414-Brand-support.patch b/patches/server/0414-Brand-support.patch
index a0b82b4c27..e6b4bbb729 100644
--- a/patches/server/0414-Brand-support.patch
+++ b/patches/server/0414-Brand-support.patch
@@ -57,10 +57,10 @@ index e69043316372d98b122ed3788fda79cdd36849e8..6597e6e9987ddb5906909c22704fdfb6
} catch (Exception ex) {
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index febbb35077811c6cfd4101500aad24c447f4cae1..7e3f0cacbe1b562c73b5d62bfa81b832af5bbd93 100644
+index dcea3f827a79de3581adff51f34220a1d656e8e9..8a289cd0876a8c063a2b5f75ce8eb41f4be98acf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2990,6 +2990,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3005,6 +3005,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Paper end
};
diff --git a/patches/server/0427-Add-methods-to-get-translation-keys.patch b/patches/server/0427-Add-methods-to-get-translation-keys.patch
index a4ba0afcdc..d602369647 100644
--- a/patches/server/0427-Add-methods-to-get-translation-keys.patch
+++ b/patches/server/0427-Add-methods-to-get-translation-keys.patch
@@ -25,10 +25,10 @@ index f041b5d80bff9c022b007e04ef1558e9116acc6b..a586442422a2b2c06b785af0d261d3e1
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-index b54bd4e85042955448a2e76b379d370eefdff383..92922e8eef7fa4638a01f3cefc4c46a1451e40e7 100644
+index f0f7fb977edb7e7009716429f007e44fa36bfcda..7aa4035a4df1ddcc71065034eafd569ca59be810 100644
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-@@ -161,6 +161,11 @@ public class CraftEnchantment extends Enchantment {
+@@ -152,6 +152,11 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
public net.kyori.adventure.text.Component displayName(int level) {
return io.papermc.paper.adventure.PaperAdventure.asAdventure(getHandle().getFullname(level));
}
diff --git a/patches/server/0457-Add-Destroy-Speed-API.patch b/patches/server/0457-Add-Destroy-Speed-API.patch
index c14becf505..3b44bc9efc 100644
--- a/patches/server/0457-Add-Destroy-Speed-API.patch
+++ b/patches/server/0457-Add-Destroy-Speed-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index a9a69191895ba2f66b133c162d1b31b1dfc73101..20dcbea3bb06e637a88d81ed09138b57797e270f 100644
+index 01a1479711b7f7bb87db275a1edfab5a95464cca..a4252f9078c3ab7e458504496ebcdeb6875724d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -703,4 +703,19 @@ public class CraftBlockData implements BlockData {
+@@ -720,4 +720,19 @@ public class CraftBlockData implements BlockData {
public BlockState createBlockState() {
return CraftBlockStates.getBlockState(this.state, null);
}
diff --git a/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
index f1267bd9d4..5219e4f219 100644
--- a/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
+++ b/patches/server/0458-Fix-Player-spawnParticle-x-y-z-precision-loss.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7e3f0cacbe1b562c73b5d62bfa81b832af5bbd93..bcbc4e0a820458733a45cdf65b30317d9a327ce4 100644
+index 8a289cd0876a8c063a2b5f75ce8eb41f4be98acf..45288a75ddbbf0bb03bacce7a88c59e740914dbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2553,7 +2553,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2568,7 +2568,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (data != null) {
Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType());
}
diff --git a/patches/server/0497-TODO-Registry-Modification-API.patch b/patches/server/0497-TODO-Registry-Modification-API.patch
index 6ad8645be8..5a7f3ae78d 100644
--- a/patches/server/0497-TODO-Registry-Modification-API.patch
+++ b/patches/server/0497-TODO-Registry-Modification-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] TODO Registry Modification API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index e374fdde3eda6b88793efbdc57f2a31bcbca7274..47b5930adf1870125b1ec063895b0652890a06de 100644
+index 72c2bc09ce6eefc63c3bab5a8f183e48316d0196..b84e984e53834ef338afd7b61a656eb82a14349a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -72,6 +72,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -114,6 +114,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
if (bukkitClass == TrimPattern.class) {
return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new);
}
diff --git a/patches/server/0498-Add-StructuresLocateEvent.patch b/patches/server/0498-Add-StructuresLocateEvent.patch
index 7f26276336..34dd0f2443 100644
--- a/patches/server/0498-Add-StructuresLocateEvent.patch
+++ b/patches/server/0498-Add-StructuresLocateEvent.patch
@@ -76,10 +76,10 @@ index 3e57142dd9cb23d43857d5a4cb30962e4b696b74..a6d5b3fa7e3437e0aec54eec4079e9f3
Map<StructurePlacement, Set<Holder<Structure>>> map = new Object2ObjectArrayMap();
Iterator iterator = structures.iterator();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 47b5930adf1870125b1ec063895b0652890a06de..253b4cf66e94faf0bc8861318ae7549f52cd29d1 100644
+index b84e984e53834ef338afd7b61a656eb82a14349a..13270b2197c594dc03d089aea46aa410dd9efd13 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -73,6 +73,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -115,6 +115,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return new CraftRegistry<>(TrimPattern.class, registryHolder.registryOrThrow(Registries.TRIM_PATTERN), CraftTrimPattern::new);
}
// TODO registry modification API
@@ -193,11 +193,11 @@ index 0000000000000000000000000000000000000000..9178fe0d01b998ca1442bf2511f8fc00
+ System.setOut(out);
+ }
+}
-diff --git a/src/test/java/org/bukkit/PerRegistryTest.java b/src/test/java/org/bukkit/PerRegistryTest.java
-index a5db5b190bf16571d329a653de01acdae8dc8cfa..9e553a8858750c494456f04abd7bffd1d257308c 100644
---- a/src/test/java/org/bukkit/PerRegistryTest.java
-+++ b/src/test/java/org/bukkit/PerRegistryTest.java
-@@ -33,6 +33,7 @@ public class PerRegistryTest extends AbstractTestingBase {
+diff --git a/src/test/java/org/bukkit/registry/PerRegistryTest.java b/src/test/java/org/bukkit/registry/PerRegistryTest.java
+index 4e4ea083063daf22f1bb785ef212958ea889c43b..1c4966520b6401e6571aa44d5934dfa280bc80e3 100644
+--- a/src/test/java/org/bukkit/registry/PerRegistryTest.java
++++ b/src/test/java/org/bukkit/registry/PerRegistryTest.java
+@@ -36,6 +36,7 @@ public class PerRegistryTest extends AbstractTestingBase {
if (!(object instanceof CraftRegistry<?, ?> registry)) {
continue;
}
@@ -205,3 +205,15 @@ index a5db5b190bf16571d329a653de01acdae8dc8cfa..9e553a8858750c494456f04abd7bffd1
data.add(Arguments.of(registry));
} catch (ReflectiveOperationException e) {
+diff --git a/src/test/java/org/bukkit/registry/RegistryArgumentAddedTest.java b/src/test/java/org/bukkit/registry/RegistryArgumentAddedTest.java
+index 4adaafafb7140e983a4e90f0ff0deaaf0887a9a5..65cc33c45553e755371ec4313dd38bb61eb7d61c 100644
+--- a/src/test/java/org/bukkit/registry/RegistryArgumentAddedTest.java
++++ b/src/test/java/org/bukkit/registry/RegistryArgumentAddedTest.java
+@@ -23,6 +23,7 @@ public class RegistryArgumentAddedTest extends AbstractTestingBase {
+
+ Set<Class<?>> loadedRegistries = new HashSet<>(DummyServer.registers.keySet());
+ Set<Class<?>> notFound = new HashSet<>();
++ loadedRegistries.remove(io.papermc.paper.world.structure.ConfiguredStructure.class); // Paper - ignore
+
+ RegistriesArgumentProvider
+ .getData()
diff --git a/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch
index a121393a09..d0c829385d 100644
--- a/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch
+++ b/patches/server/0560-Expand-PlayerGameModeChangeEvent.patch
@@ -131,7 +131,7 @@ index f66ce9ae705b0fbe17a1bb437bad6808ff47ed92..37513cf5714afda6c552219c2eca8134
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 6acec839ee6d7a8893016e79af76892d63a7b601..4ee35e2f717a5a55c9f90a6528f5c93529a92a84 100644
+index 3d727afa81b4134d6bc7ab13e0fef3a741a39f36..476cd64e29b7171952fe4f02b661f871897a10f1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2641,7 +2641,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -144,10 +144,10 @@ index 6acec839ee6d7a8893016e79af76892d63a7b601..4ee35e2f717a5a55c9f90a6528f5c935
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 537590236e9a0ac2946953ebbebe0044e17ccc72..55fec85c4adb6e92e371547b5c3d58e5adc53ce8 100644
+index deff963f73b5317be6f82945c01e45f337675103..9356752eae2499654f26fb60490490adbc1010c9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1517,7 +1517,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1532,7 +1532,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(mode != null, "GameMode cannot be null");
if (this.getHandle().connection == null) return;
diff --git a/patches/server/0562-More-Enchantment-API.patch b/patches/server/0562-More-Enchantment-API.patch
index 37ecbf7300..96c328320e 100644
--- a/patches/server/0562-More-Enchantment-API.patch
+++ b/patches/server/0562-More-Enchantment-API.patch
@@ -9,10 +9,10 @@ public net.minecraft.world.item.enchantment.Enchantment slots
Co-authored-by: Luis <[email protected]>
diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..92465b2a9f1483be76004c9f80a1fe15913b3b8b 100644
+index 7aa4035a4df1ddcc71065034eafd569ca59be810..5b7579395e61684592758f408d61cffe57f8b21d 100644
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
-@@ -90,7 +90,7 @@ public class CraftEnchantment extends Enchantment {
+@@ -81,7 +81,7 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
@Override
public boolean isCursed() {
@@ -21,7 +21,7 @@ index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..92465b2a9f1483be76004c9f80a1fe15
}
@Override
-@@ -166,6 +166,55 @@ public class CraftEnchantment extends Enchantment {
+@@ -157,6 +157,55 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
public String translationKey() {
return this.handle.getDescriptionId();
}
diff --git a/patches/server/0605-Add-PlayerSetSpawnEvent.patch b/patches/server/0605-Add-PlayerSetSpawnEvent.patch
index 782b2bcabc..af0338e82f 100644
--- a/patches/server/0605-Add-PlayerSetSpawnEvent.patch
+++ b/patches/server/0605-Add-PlayerSetSpawnEvent.patch
@@ -187,12 +187,12 @@ index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..acd5ec218b8d4c096f44ae2eec1379ee
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 490e84e1b0bc72a5953ac540dc60640814ecc64a..c74f43450469b1158040372a59c4b49d6020a2aa 100644
+index 8b54fe6ee1c07a70f9823f1a2a13887620a6dfda..ff85623db8fc9cbf9b056eec9774ddcd3106c194 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1276,9 +1276,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1291,9 +1291,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
- public void setBedSpawnLocation(Location location, boolean override) {
+ public void setRespawnLocation(Location location, boolean override) {
if (location == null) {
- this.getHandle().setRespawnPosition(null, null, 0.0F, override, false, PlayerSpawnChangeEvent.Cause.PLUGIN);
+ this.getHandle().setRespawnPosition(null, null, 0.0F, override, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLUGIN); // Paper - Add PlayerSetSpawnEvent
diff --git a/patches/server/0700-More-PotionEffectType-API.patch b/patches/server/0700-More-PotionEffectType-API.patch
index 7aa4f2a366..e23c6e0c5f 100644
--- a/patches/server/0700-More-PotionEffectType-API.patch
+++ b/patches/server/0700-More-PotionEffectType-API.patch
@@ -5,14 +5,13 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
-index 7055a051759bf01dd76cc53b74fe1e65c521403e..a1a386b09f477056bb2f764ec414782ba61460ea 100644
+index c038bcd6670160193c91506366208b6110524e98..0d8b6a50c91d258eec268cee4b5b5859dac6fbf6 100644
--- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
+++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java
-@@ -139,4 +139,46 @@ public class CraftPotionEffectType extends PotionEffectType {
-
- return ((CraftPotionEffectType) bukkit).getHandle();
+@@ -108,6 +108,48 @@ public class CraftPotionEffectType extends PotionEffectType implements Handleabl
+ return Color.fromRGB(this.handle.getColor());
}
-+
+
+ // Paper start
+ @Override
+ public java.util.Map<org.bukkit.attribute.Attribute, org.bukkit.attribute.AttributeModifier> getEffectAttributes() {
@@ -54,7 +53,10 @@ index 7055a051759bf01dd76cc53b74fe1e65c521403e..a1a386b09f477056bb2f764ec414782b
+ };
+ }
+ // Paper end
- }
++
+ @Override
+ public boolean equals(Object other) {
+ if (this == other) {
diff --git a/src/test/java/io/papermc/paper/effects/EffectCategoryTest.java b/src/test/java/io/papermc/paper/effects/EffectCategoryTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..6262598f85bd7d9af5546cc0a96531b2f4baf64d
diff --git a/patches/server/0720-More-Projectile-API.patch b/patches/server/0720-More-Projectile-API.patch
index fa5579c359..3536c9a9b0 100644
--- a/patches/server/0720-More-Projectile-API.patch
+++ b/patches/server/0720-More-Projectile-API.patch
@@ -560,10 +560,10 @@ index 25133298b26523bd36300ab03e216200c915386b..af7e3acde2eb521ac809b4c5980ff6ad
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 1478fb3e1f0f97423855db7e5c4618cc066efb6b..a4d522a19f1a1288baa2688d5beb62c91a5fb3a3 100644
+index 7ce48473222516aefda3c5ad40e5e3fd23502e3d..6725c0824b986885c8aade846f6e159986ffbe59 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-@@ -289,12 +289,20 @@ public final class CraftItemStack extends ItemStack {
+@@ -294,12 +294,20 @@ public final class CraftItemStack extends ItemStack {
public ItemMeta getItemMeta() {
return CraftItemStack.getItemMeta(this.handle);
}
diff --git a/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch
index 7d9e9d920f..e67e0fc286 100644
--- a/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch
+++ b/patches/server/0750-Fix-OfflinePlayer-getBedSpawnLocation.patch
@@ -8,10 +8,10 @@ instance of CraftOfflinePlayer the world was incorrect
due to the logic for reading the NBT not being up-to-date.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index 5f590575f95eff8bf0cdcafde7dee0e3c7fc30ad..a0fcd11e6b0ca2a7055a4d1910124b20bd9c0b94 100644
+index 0c1b5f625a351905e082b2c2a63bfd737101527e..ef2dfa30686bba3eb510bf95172174cc9972422e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-@@ -36,6 +36,7 @@ import org.bukkit.profile.PlayerProfile;
+@@ -37,6 +37,7 @@ import org.bukkit.profile.PlayerProfile;
@SerializableAs("Player")
public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializable {
@@ -19,7 +19,7 @@ index 5f590575f95eff8bf0cdcafde7dee0e3c7fc30ad..a0fcd11e6b0ca2a7055a4d1910124b20
private final GameProfile profile;
private final CraftServer server;
private final PlayerDataStorage storage;
-@@ -330,11 +331,20 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
+@@ -361,11 +362,20 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
if (data == null) return null;
if (data.contains("SpawnX") && data.contains("SpawnY") && data.contains("SpawnZ")) {
diff --git a/patches/server/0779-Block-Ticking-API.patch b/patches/server/0779-Block-Ticking-API.patch
index 6387ad09be..9afbc4d4b1 100644
--- a/patches/server/0779-Block-Ticking-API.patch
+++ b/patches/server/0779-Block-Ticking-API.patch
@@ -31,10 +31,10 @@ index 6d10396347b69d9243ab902ecc68ede93fa17b7d..0a96b00a98227714ef99005e0a223765
// Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index 20dcbea3bb06e637a88d81ed09138b57797e270f..d5719d943946acd77dc9b26299c9f3d12d86062f 100644
+index a4252f9078c3ab7e458504496ebcdeb6875724d1..37c5d66dafd877d2231c8d191f5a84748bf24551 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-@@ -718,4 +718,11 @@ public class CraftBlockData implements BlockData {
+@@ -735,4 +735,11 @@ public class CraftBlockData implements BlockData {
return speed;
}
// Paper end - destroy speed API
diff --git a/patches/server/0801-Elder-Guardian-appearance-API.patch b/patches/server/0801-Elder-Guardian-appearance-API.patch
index c4ebbd5d8a..37522eeb4b 100644
--- a/patches/server/0801-Elder-Guardian-appearance-API.patch
+++ b/patches/server/0801-Elder-Guardian-appearance-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f97040ad62f10b1f12ab70b89573316f7c173bf7..9a10f548e6264ae1c3b8ec26670e6ebf340c7ecd 100644
+index 10d82f0e0c2c514e971d9cf95848a79ff8b7082d..432790b46ad5edcf504a3aab603597585c82913c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3149,6 +3149,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3164,6 +3164,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0816-Add-Player-Warden-Warning-API.patch b/patches/server/0816-Add-Player-Warden-Warning-API.patch
index 3a666d2056..d0aa5b1c00 100644
--- a/patches/server/0816-Add-Player-Warden-Warning-API.patch
+++ b/patches/server/0816-Add-Player-Warden-Warning-API.patch
@@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick
public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9a10f548e6264ae1c3b8ec26670e6ebf340c7ecd..b6a5c3f38cf63ffd0ed86796dcea0f97bd048bd0 100644
+index 432790b46ad5edcf504a3aab603597585c82913c..be5b8e12a7a15b97a34ddd9f50b8780a74faffbf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3154,6 +3154,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3169,6 +3169,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void showElderGuardian(boolean silent) {
if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F));
}
diff --git a/patches/server/0839-Flying-Fall-Damage.patch b/patches/server/0839-Flying-Fall-Damage.patch
index fe06e47cf0..c916632028 100644
--- a/patches/server/0839-Flying-Fall-Damage.patch
+++ b/patches/server/0839-Flying-Fall-Damage.patch
@@ -26,10 +26,10 @@ index e0fd3c3a129216ad1272a6e038eb16cb44e45475..182180275be3bf90b9f8e66dcf19ad6c
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 2f299e3485fca4701719a31ba6c981b91155cf05..f807dfc75a8e8f1e642aeedfb46def1e5aacde85 100644
+index b2990c187d0689eece9e43c7895d8055e8d61586..6748c7f7ccd242dfa782687114bafde051b51cc9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -2432,6 +2432,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2447,6 +2447,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.getHandle().onUpdateAbilities();
}
diff --git a/patches/server/0875-Expand-PlayerItemMendEvent.patch b/patches/server/0875-Expand-PlayerItemMendEvent.patch
index abd2aaf80d..4c9fa2e938 100644
--- a/patches/server/0875-Expand-PlayerItemMendEvent.patch
+++ b/patches/server/0875-Expand-PlayerItemMendEvent.patch
@@ -33,10 +33,10 @@ index 36d5d1736bf826f3abc756277de431c94cabb744..e814b2ef2577f032d6760de2f798d4fe
return k > 0 ? this.repairPlayerItems(player, k) : 0;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 66176fc39f5e6a06b1a5e92627747fbbad87c6d0..b02894b1adb53b37aaff33cf0af00f1a1f72d8df 100644
+index 561703f56637046bc274c378a63c03f684b5b787..5190613932bc1084d617f49e1517a9942e3765fc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1712,11 +1712,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1727,11 +1727,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ());
int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue());
diff --git a/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch
index ef43744d92..7dc82282e5 100644
--- a/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch
+++ b/patches/server/0895-fix-item-meta-for-tadpole-buckets.patch
@@ -17,10 +17,10 @@ index c421649a0c88ee9c773bb6985f7114e58f08a7a1..71aac5d4cf29cea9daa378fc8ac58475
case GLOW_ITEM_FRAME:
case PAINTING:
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 749bf6a897b053197988112551192abe6af2f186..d1604c52784c1bf94e797ca1f5d8146c19314c11 100644
+index 312e756843f62371048a4d8de9deb024bd9846a7..a2e605bc1418dc0b5570566a6e348df03c9aee4c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-@@ -592,6 +592,7 @@ public final class CraftItemStack extends ItemStack {
+@@ -597,6 +597,7 @@ public final class CraftItemStack extends ItemStack {
case COD_BUCKET:
case PUFFERFISH_BUCKET:
case SALMON_BUCKET:
diff --git a/patches/server/0896-Fix-BanList-API.patch b/patches/server/0896-Fix-BanList-API.patch
index e9297e4606..2e62214e5c 100644
--- a/patches/server/0896-Fix-BanList-API.patch
+++ b/patches/server/0896-Fix-BanList-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix BanList API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index a0fcd11e6b0ca2a7055a4d1910124b20bd9c0b94..9daec0782774ab51ea8091cb8ed9d0a106e34cfa 100644
+index ef2dfa30686bba3eb510bf95172174cc9972422e..96408d505ce80799868ff84554a3b0b25adabb22 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-@@ -114,17 +114,17 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
+@@ -115,17 +115,17 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
}
@Override
@@ -208,10 +208,10 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b02894b1adb53b37aaff33cf0af00f1a1f72d8df..a003b72f5c0384712ffd39f6505a408e09cbbc25 100644
+index 5190613932bc1084d617f49e1517a9942e3765fc..cd477ae33aa98a629ebb5bd9c39912185df09cbc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1610,23 +1610,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1625,23 +1625,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@@ -240,7 +240,7 @@ index b02894b1adb53b37aaff33cf0af00f1a1f72d8df..a003b72f5c0384712ffd39f6505a408e
if (kickPlayer) {
this.kickPlayer(reason);
}
-@@ -1634,12 +1634,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1649,12 +1649,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
diff --git a/patches/server/0923-Add-Listing-API-for-Player.patch b/patches/server/0923-Add-Listing-API-for-Player.patch
index 1df473603d..92d73c686c 100644
--- a/patches/server/0923-Add-Listing-API-for-Player.patch
+++ b/patches/server/0923-Add-Listing-API-for-Player.patch
@@ -74,7 +74,7 @@ index d43106eb89b14667e85cd6e8fa047d64f2e8ec87..56eddd28429cf42c02d88b8bf79f8b61
static class EntryBuilder {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index fecee3dc3d5ab8daac677530e8b0eeb6ef86e400..895b4f2d3007879e81a0f4da1dce8d083ad57e26 100644
+index fd32811f00a2c82dcb6efb9d78ffee0240d5de0b..b07b19876ba9edb25b89503a8c6e5a5897eb326c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -356,14 +356,22 @@ public abstract class PlayerList {
@@ -111,7 +111,7 @@ index fecee3dc3d5ab8daac677530e8b0eeb6ef86e400..895b4f2d3007879e81a0f4da1dce8d08
// Paper end - Use single player info update packet on join
player.sentListPacket = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6d6bbd1d40bbb6d8c0b9a03b6c69f98c0370e866..9afc24a451010298c59b588785626c5b7f5f4d31 100644
+index 059c7a71812bf65124d7422e85f25f09eca1ea9e..de5d0b29d9b4631e7197520de7eb99ac6d9c8165 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -182,6 +182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -122,7 +122,7 @@ index 6d6bbd1d40bbb6d8c0b9a03b6c69f98c0370e866..9afc24a451010298c59b588785626c5b
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0;
private double health = 20;
-@@ -1950,7 +1951,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1965,7 +1966,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
otherPlayer.setUUID(uuidOverride);
}
// Paper end
@@ -131,7 +131,7 @@ index 6d6bbd1d40bbb6d8c0b9a03b6c69f98c0370e866..9afc24a451010298c59b588785626c5b
if (original != null) otherPlayer.setUUID(original); // Paper - uuid override
}
-@@ -2057,6 +2058,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -2072,6 +2073,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (entity != null) ? this.canSee(entity) : false; // If we can't find it, we can't see it
}
diff --git a/patches/server/0928-More-DragonBattle-API.patch b/patches/server/0928-More-DragonBattle-API.patch
index 368c6de4e6..991159cfb6 100644
--- a/patches/server/0928-More-DragonBattle-API.patch
+++ b/patches/server/0928-More-DragonBattle-API.patch
@@ -10,7 +10,7 @@ public net.minecraft.world.level.dimension.end.EndDragonFight respawnCrystals
public net.minecraft.world.level.dimension.end.EndDragonFight spawnNewGateway(Lnet/minecraft/core/BlockPos;)V
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
-index e2e2c9f168ae4651f8fa484f6f2a17ba25f99207..2d9a7a91eb14c4f4f82d6ee491fbc628d91fb07d 100644
+index b9b773d7dba559afe00b085ded3f020ea6b97c12..adbe8ca78716114a3bc03136f02c631f30aff977 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -439,6 +439,24 @@ public class EndDragonFight {
@@ -39,10 +39,10 @@ index e2e2c9f168ae4651f8fa484f6f2a17ba25f99207..2d9a7a91eb14c4f4f82d6ee491fbc628
if (!this.gateways.isEmpty()) {
int i = (Integer) this.gateways.remove(this.gateways.size() - 1);
diff --git a/src/main/java/org/bukkit/craftbukkit/boss/CraftDragonBattle.java b/src/main/java/org/bukkit/craftbukkit/boss/CraftDragonBattle.java
-index 58f1562373bab8d082172e4a5db22493fb913ca8..cd5c59ed59eedf233f31415bb949fcf5ae2bd49f 100644
+index dc7fdc120f4317ee1b7935ef226eddb0406aee6e..6bfabb38b51115beb2a65a165f235347838b6006 100644
--- a/src/main/java/org/bukkit/craftbukkit/boss/CraftDragonBattle.java
+++ b/src/main/java/org/bukkit/craftbukkit/boss/CraftDragonBattle.java
-@@ -132,4 +132,46 @@ public class CraftDragonBattle implements DragonBattle {
+@@ -137,4 +137,46 @@ public class CraftDragonBattle implements DragonBattle {
private DragonRespawnAnimation toNMSRespawnPhase(RespawnPhase phase) {
return (phase != RespawnPhase.NONE) ? DragonRespawnAnimation.values()[phase.ordinal()] : null;
}
diff --git a/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch b/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch
index 92b2d6cbb9..5ecebf9875 100644
--- a/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch
+++ b/patches/server/0929-Deep-clone-unhandled-nbt-tags.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone unhandled nbt tags
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index d42f4640a53221ffa7a479bce681374527cb3a0c..61813713aa2de0a4761d423e6a2d569fd776f88b 100644
+index 6c797f35a10e8491718f38eb08f31b1e6182a8d1..c425b21ddc12917ab9aa10869ff3aec622ce2d9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -305,7 +305,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -30,7 +30,7 @@ index d42f4640a53221ffa7a479bce681374527cb3a0c..61813713aa2de0a4761d423e6a2d569f
this.internalTag = meta.internalTag;
if (this.internalTag != null) {
-@@ -1386,7 +1388,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1393,7 +1395,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
if (this.hasAttributeModifiers()) {
clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers);
}
diff --git a/patches/server/0934-Implement-OfflinePlayer-isConnected.patch b/patches/server/0934-Implement-OfflinePlayer-isConnected.patch
index 7037246d5f..4b99a3257e 100644
--- a/patches/server/0934-Implement-OfflinePlayer-isConnected.patch
+++ b/patches/server/0934-Implement-OfflinePlayer-isConnected.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement OfflinePlayer#isConnected
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index 9daec0782774ab51ea8091cb8ed9d0a106e34cfa..2bbc39c257965ad91ee360cdfcd3538a0f041c7e 100644
+index 96408d505ce80799868ff84554a3b0b25adabb22..4a875bce9563f3b9351ebecde9b0eb1287beb50e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-@@ -53,6 +53,13 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
+@@ -54,6 +54,13 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
return this.getPlayer() != null;
}
@@ -23,7 +23,7 @@ index 9daec0782774ab51ea8091cb8ed9d0a106e34cfa..2bbc39c257965ad91ee360cdfcd3538a
public String getName() {
Player player = this.getPlayer();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 9afc24a451010298c59b588785626c5b7f5f4d31..ea8eca5a7359d68095d073ea725f12a45e44dcaa 100644
+index de5d0b29d9b4631e7197520de7eb99ac6d9c8165..3d061f6dd550e395ec572ecdbd80b8d2d36a4453 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -237,6 +237,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0949-Fix-SuspiciousStewMeta.patch b/patches/server/0949-Fix-SuspiciousStewMeta.patch
deleted file mode 100644
index 834deff5db..0000000000
--- a/patches/server/0949-Fix-SuspiciousStewMeta.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Lulu13022002 <[email protected]>
-Date: Sat, 23 Sep 2023 16:36:54 +0200
-Subject: [PATCH] Fix SuspiciousStewMeta
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
-index df1df2ad759622b5b1355fae322cbc0333c932fb..bafc7215a3577c857fb7585f0d6dec54e1b95e90 100644
---- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
-+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSuspiciousStew.java
-@@ -20,8 +20,8 @@ import org.bukkit.potion.PotionEffectType;
- @DelegateDeserialization(CraftMetaItem.SerializableMeta.class)
- public class CraftMetaSuspiciousStew extends CraftMetaItem implements SuspiciousStewMeta {
-
-- static final ItemMetaKey DURATION = new ItemMetaKey("EffectDuration", "duration");
-- static final ItemMetaKey EFFECTS = new ItemMetaKey("Effects", "effects");
-+ static final ItemMetaKey DURATION = new ItemMetaKey("duration", "duration"); // Paper
-+ static final ItemMetaKey EFFECTS = new ItemMetaKey(net.minecraft.world.item.SuspiciousStewItem.EFFECTS_TAG, "effects"); // Paper
- static final ItemMetaKey ID = new ItemMetaKey("id", "id");
-
- private List<PotionEffect> customEffects;
diff --git a/patches/server/0950-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
index e2c7a15a63..e2c7a15a63 100644
--- a/patches/server/0950-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
+++ b/patches/server/0949-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch
diff --git a/patches/server/0951-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
index 7ccf4c0f03..7ccf4c0f03 100644
--- a/patches/server/0951-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
+++ b/patches/server/0950-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch
diff --git a/patches/server/0952-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch
index 88a39d0b20..88a39d0b20 100644
--- a/patches/server/0952-Fix-team-sidebar-objectives-not-being-cleared.patch
+++ b/patches/server/0951-Fix-team-sidebar-objectives-not-being-cleared.patch
diff --git a/patches/server/0953-Fix-missing-map-initialize-event-call.patch b/patches/server/0952-Fix-missing-map-initialize-event-call.patch
index 261c9631e8..261c9631e8 100644
--- a/patches/server/0953-Fix-missing-map-initialize-event-call.patch
+++ b/patches/server/0952-Fix-missing-map-initialize-event-call.patch
diff --git a/patches/server/0954-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch
index 8cbc0f974a..8cbc0f974a 100644
--- a/patches/server/0954-Update-entity-data-when-attaching-firework-to-entity.patch
+++ b/patches/server/0953-Update-entity-data-when-attaching-firework-to-entity.patch
diff --git a/patches/server/0955-Use-correct-variable-for-initializing-CraftLootTable.patch b/patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch
index ab46cdf78a..ab46cdf78a 100644
--- a/patches/server/0955-Use-correct-variable-for-initializing-CraftLootTable.patch
+++ b/patches/server/0954-Use-correct-variable-for-initializing-CraftLootTable.patch
diff --git a/patches/server/0956-Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
index 3af04ed113..3af04ed113 100644
--- a/patches/server/0956-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
+++ b/patches/server/0955-Make-setVelocity-method-of-Fireballs-change-the-trav.patch
diff --git a/patches/server/0957-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch
index 3f5ca7c359..e1da894c6c 100644
--- a/patches/server/0957-Fix-UnsafeValues-loadAdvancement.patch
+++ b/patches/server/0956-Fix-UnsafeValues-loadAdvancement.patch
@@ -5,7 +5,7 @@ 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 1cdcd673e67090b6ba3ec7b38bd062c0d8f7308a..509f8487a170f3dc84b091acf16df26e42391189 100644
+index 187854e8c560234710763f8e92c1a026550ba60d..b9183a9a657c2cd320fca0f15db0dae6827546f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -316,7 +316,27 @@ public final class CraftMagicNumbers implements UnsafeValues {
diff --git a/patches/server/0958-Add-player-idle-duration-API.patch b/patches/server/0957-Add-player-idle-duration-API.patch
index d112b47a20..6cf66e53bb 100644
--- a/patches/server/0958-Add-player-idle-duration-API.patch
+++ b/patches/server/0957-Add-player-idle-duration-API.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API
Implements API for getting and resetting a player's idle duration.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3155a7978f9cb77c7cfe299f751f2231ba71c478..7523db3196409c5d04069ff4bd22ba06bcfbbe84 100644
+index 3d061f6dd550e395ec572ecdbd80b8d2d36a4453..f983f5dfb0bc5a4aee3971c13d2b84f12519edec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3271,6 +3271,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3286,6 +3286,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
// Paper end
diff --git a/patches/server/0959-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch
index 5ff3f43f7e..a360d2d0e0 100644
--- a/patches/server/0959-Don-t-check-if-we-can-see-non-visible-entities.patch
+++ b/patches/server/0958-Don-t-check-if-we-can-see-non-visible-entities.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Don't check if we can see non-visible entities
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
-index aaca1b2394641a74bbe1309f150507a49b8e1459..0801bbba0ea2a5d6e19d503ee31ad6717f1d5234 100644
+index 4793871db838aba8b0370ada299406d3fb904c14..886ddaf896c8385a744e9abe4dcd399bc693f60b 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1752,7 +1752,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
diff --git a/patches/server/0960-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch
index b66e61a522..b66e61a522 100644
--- a/patches/server/0960-Fix-NPE-in-SculkBloomEvent-world-access.patch
+++ b/patches/server/0959-Fix-NPE-in-SculkBloomEvent-world-access.patch
diff --git a/patches/server/0961-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
index 1c7a3f812a..95b8d87e3e 100644
--- a/patches/server/0961-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
+++ b/patches/server/0960-Allow-null-itemstack-for-Player-sendEquipmentChange.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 350d4e75401d2adda3f60e5637eac3d6c278c928..838ea7a08df425adac7986d1bc6bf13ca8ce956b 100644
+index f983f5dfb0bc5a4aee3971c13d2b84f12519edec..cd58b5e338ece695cddab37b5bcce730b04dc63d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1041,7 +1041,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
diff --git a/patches/server/0962-Optimize-VarInts.patch b/patches/server/0961-Optimize-VarInts.patch
index 19e7fc574a..19e7fc574a 100644
--- a/patches/server/0962-Optimize-VarInts.patch
+++ b/patches/server/0961-Optimize-VarInts.patch
diff --git a/patches/server/0963-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch
index 7841c265cd..9794102b95 100644
--- a/patches/server/0963-Add-API-to-get-the-collision-shape-of-a-block-before.patch
+++ b/patches/server/0962-Add-API-to-get-the-collision-shape-of-a-block-before.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add API to get the collision shape of a block before it's
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index d5719d943946acd77dc9b26299c9f3d12d86062f..ee5e11e5f32b92390dae176e8538a09c3553d9f5 100644
+index 37c5d66dafd877d2231c8d191f5a84748bf24551..d6480b44f94f1a8d21eb5b5ded2956889883c560 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -678,6 +678,20 @@ public class CraftBlockData implements BlockData {
diff --git a/patches/server/0964-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch
index 8488f5abd8..8488f5abd8 100644
--- a/patches/server/0964-Add-predicate-for-blocks-when-raytracing.patch
+++ b/patches/server/0963-Add-predicate-for-blocks-when-raytracing.patch
diff --git a/patches/server/0965-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch
index b80d8e811d..b80d8e811d 100644
--- a/patches/server/0965-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0964-Broadcast-take-item-packets-with-collector-as-source.patch
diff --git a/patches/server/0966-Expand-LingeringPotion-API.patch b/patches/server/0965-Expand-LingeringPotion-API.patch
index 6036e51ec0..6036e51ec0 100644
--- a/patches/server/0966-Expand-LingeringPotion-API.patch
+++ b/patches/server/0965-Expand-LingeringPotion-API.patch
diff --git a/patches/server/0967-Add-MaterialTagsTest.patch b/patches/server/0966-Add-MaterialTagsTest.patch
index 34233ba1ca..34233ba1ca 100644
--- a/patches/server/0967-Add-MaterialTagsTest.patch
+++ b/patches/server/0966-Add-MaterialTagsTest.patch
diff --git a/patches/server/0968-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
index beed351bbb..beed351bbb 100644
--- a/patches/server/0968-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
+++ b/patches/server/0967-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch
diff --git a/patches/server/0969-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch
index 92577eb2a1..92577eb2a1 100644
--- a/patches/server/0969-Add-hand-to-fish-event-for-all-player-interactions.patch
+++ b/patches/server/0968-Add-hand-to-fish-event-for-all-player-interactions.patch
diff --git a/patches/server/0970-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch
index 27e4615bf0..27e4615bf0 100644
--- a/patches/server/0970-Fix-several-issues-with-EntityBreedEvent.patch
+++ b/patches/server/0969-Fix-several-issues-with-EntityBreedEvent.patch
diff --git a/patches/server/0971-Add-UUID-attribute-modifier-API.patch b/patches/server/0970-Add-UUID-attribute-modifier-API.patch
index 37efcab4b6..37efcab4b6 100644
--- a/patches/server/0971-Add-UUID-attribute-modifier-API.patch
+++ b/patches/server/0970-Add-UUID-attribute-modifier-API.patch
diff --git a/patches/server/0972-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch
index 0fec63f418..0fec63f418 100644
--- a/patches/server/0972-Fix-missing-event-call-for-entity-teleport-API.patch
+++ b/patches/server/0971-Fix-missing-event-call-for-entity-teleport-API.patch
diff --git a/patches/server/0973-Lazily-create-LootContext-for-criterions.patch b/patches/server/0972-Lazily-create-LootContext-for-criterions.patch
index 293dfbd694..293dfbd694 100644
--- a/patches/server/0973-Lazily-create-LootContext-for-criterions.patch
+++ b/patches/server/0972-Lazily-create-LootContext-for-criterions.patch
diff --git a/patches/server/0974-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch
index 52b6454404..85a2eec699 100644
--- a/patches/server/0974-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0973-Don-t-fire-sync-events-during-worldgen.patch
@@ -31,7 +31,7 @@ index 0e7811ae2a8731ae7475aabd2322e56ab364bc32..b5d6a7eaa24d9968e159d77a4295be00
if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 55feebb8e75bdeab4d089a1d6f80be49996dfcb6..7fa7cb2a567c90a4bb7cf20c7182c45395b6ea32 100644
+index 0e299073086cc06324794ca8b6e74674a70cc77a..5fec06e12ede63496f75ccf43f52b16301d11eb0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -624,7 +624,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
diff --git a/patches/server/0975-Add-Structure-check-API.patch b/patches/server/0974-Add-Structure-check-API.patch
index 12af3e4045..2a2c03ae57 100644
--- a/patches/server/0975-Add-Structure-check-API.patch
+++ b/patches/server/0974-Add-Structure-check-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add Structure check API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d3ea1097a3df1af221d190aaa8c7c246f75e2b90..a8131d68c7b8f762be6ee39e3a4f7f3edb978fe9 100644
+index da5f8dc6b4fce78f5f6278396d58474a5cc13f12..4ae206af89a413edb09319fd4bce2a94c575c617 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -230,6 +230,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
diff --git a/patches/server/0976-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
index 40da841e83..bd1de406e5 100644
--- a/patches/server/0976-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
+++ b/patches/server/0975-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 61813713aa2de0a4761d423e6a2d569fd776f88b..95c75aadea68e9b60caa935a88f2829e36948ae5 100644
+index c425b21ddc12917ab9aa10869ff3aec622ce2d9a..536e80886c2393edaf526f460f49dae8c3b40295 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -1167,7 +1167,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
+@@ -1174,7 +1174,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
Preconditions.checkNotNull(modifier, "AttributeModifier cannot be null");
this.checkAttributeList();
for (Map.Entry<Attribute, AttributeModifier> entry : this.attributeModifiers.entries()) {
diff --git a/patches/server/0977-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0976-Restore-vanilla-entity-drops-behavior.patch
index 5f294896fb..5f294896fb 100644
--- a/patches/server/0977-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0976-Restore-vanilla-entity-drops-behavior.patch
diff --git a/patches/server/0978-Dont-resend-blocks-on-interactions.patch b/patches/server/0977-Dont-resend-blocks-on-interactions.patch
index e6f6735474..e6f6735474 100644
--- a/patches/server/0978-Dont-resend-blocks-on-interactions.patch
+++ b/patches/server/0977-Dont-resend-blocks-on-interactions.patch
diff --git a/patches/server/0979-add-more-scoreboard-API.patch b/patches/server/0978-add-more-scoreboard-API.patch
index 3365b53a36..3365b53a36 100644
--- a/patches/server/0979-add-more-scoreboard-API.patch
+++ b/patches/server/0978-add-more-scoreboard-API.patch
diff --git a/patches/server/0980-Improve-Registry.patch b/patches/server/0979-Improve-Registry.patch
index 162949848b..58247ca580 100644
--- a/patches/server/0980-Improve-Registry.patch
+++ b/patches/server/0979-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 253b4cf66e94faf0bc8861318ae7549f52cd29d1..9131fc3a56819ae3e2d754fbe5d8815c71ab9ab3 100644
+index 13270b2197c594dc03d089aea46aa410dd9efd13..493d054cdda04bc08ab610a09c2a1d0290ae046c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -84,6 +84,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -126,6 +126,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
private final Class<? super B> bukkitClass;
private final Map<NamespacedKey, B> cache = new HashMap<>();
@@ -16,7 +16,7 @@ index 253b4cf66e94faf0bc8861318ae7549f52cd29d1..9131fc3a56819ae3e2d754fbe5d8815c
private final net.minecraft.core.Registry<M> minecraftRegistry;
private final BiFunction<NamespacedKey, M, B> minecraftToBukkit;
private boolean init;
-@@ -128,6 +129,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -170,6 +171,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
}
this.cache.put(namespacedKey, bukkit);
@@ -24,7 +24,7 @@ index 253b4cf66e94faf0bc8861318ae7549f52cd29d1..9131fc3a56819ae3e2d754fbe5d8815c
return bukkit;
}
-@@ -150,4 +152,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -192,4 +194,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return this.minecraftToBukkit.apply(namespacedKey, minecraft);
}
@@ -37,34 +37,34 @@ index 253b4cf66e94faf0bc8861318ae7549f52cd29d1..9131fc3a56819ae3e2d754fbe5d8815c
+ // Paper end - improve Registry
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
-index ff365d4f3745adcfe87a4aa0f8a940decccc0f16..c4a63bdd3eda590945ba0c8e7e6e8b9ba4a60ce3 100644
+index 2e6b04a150eae4fbac7b4c6413d81b755ac87be2..6cce693a24e0b1b485832935d398fb26c91e0be0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java
-@@ -17,6 +17,7 @@ public class CraftTrimMaterial implements TrimMaterial {
+@@ -34,6 +34,7 @@ public class CraftTrimMaterial implements TrimMaterial, Handleable<net.minecraft
@Override
@NotNull
public NamespacedKey getKey() {
+ if (true) return java.util.Objects.requireNonNull(org.bukkit.Registry.TRIM_MATERIAL.getKey(this), () -> this + " doesn't have a key"); // Paper
return this.key;
}
-
+ }
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
-index 89449c09a4fbf475805f76cd31a0f9e5c1109210..c062c349bf5129cf9b5f637f09dac13b8f8c1796 100644
+index 5a570bae1262f768d86a6078bfded427294ed135..bf13fe2f858ee35c84c5a1f3fb2f7df61a62315b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimPattern.java
-@@ -17,6 +17,7 @@ public class CraftTrimPattern implements TrimPattern {
+@@ -34,6 +34,7 @@ public class CraftTrimPattern implements TrimPattern, Handleable<net.minecraft.w
@Override
@NotNull
public NamespacedKey getKey() {
+ if (true) return java.util.Objects.requireNonNull(org.bukkit.Registry.TRIM_PATTERN.getKey(this), () -> this + " doesn't have a key"); // Paper
return this.key;
}
-
-diff --git a/src/test/java/org/bukkit/PerRegistryTest.java b/src/test/java/org/bukkit/PerRegistryTest.java
-index 9e553a8858750c494456f04abd7bffd1d257308c..6e3062da8840fc7118b59ddb0d6871c9a3178584 100644
---- a/src/test/java/org/bukkit/PerRegistryTest.java
-+++ b/src/test/java/org/bukkit/PerRegistryTest.java
-@@ -46,19 +46,22 @@ public class PerRegistryTest extends AbstractTestingBase {
+ }
+diff --git a/src/test/java/org/bukkit/registry/PerRegistryTest.java b/src/test/java/org/bukkit/registry/PerRegistryTest.java
+index 1c4966520b6401e6571aa44d5934dfa280bc80e3..010de6fbb75eb5d51639695d260f916072fdb22d 100644
+--- a/src/test/java/org/bukkit/registry/PerRegistryTest.java
++++ b/src/test/java/org/bukkit/registry/PerRegistryTest.java
+@@ -49,19 +49,22 @@ public class PerRegistryTest extends AbstractTestingBase {
@ParameterizedTest
@MethodSource("data")
@@ -91,7 +91,7 @@ index 9e553a8858750c494456f04abd7bffd1d257308c..6e3062da8840fc7118b59ddb0d6871c9
this.assertSameMatchWithKeyMessage(registry, element, key.toString()); // namespace:key
this.assertSameMatchWithKeyMessage(registry, element, key.getKey()); // key
-@@ -69,7 +72,7 @@ public class PerRegistryTest extends AbstractTestingBase {
+@@ -72,7 +75,7 @@ public class PerRegistryTest extends AbstractTestingBase {
});
}
diff --git a/patches/server/0981-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index aa658a4835..aa658a4835 100644
--- a/patches/server/0981-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0980-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
diff --git a/patches/server/0982-Add-experience-points-API.patch b/patches/server/0981-Add-experience-points-API.patch
index 23a45d1ba3..fbb7852a9f 100644
--- a/patches/server/0982-Add-experience-points-API.patch
+++ b/patches/server/0981-Add-experience-points-API.patch
@@ -18,10 +18,10 @@ index 182180275be3bf90b9f8e66dcf19ad6ce02136bf..2759fa8768cfa7a38af7266a8e58af5f
// Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 81d89d2d3c3144e6b4667597d39eddcceb9f1913..5743013c527c80f2dda444b5bf2d8872ff000386 100644
+index cd58b5e338ece695cddab37b5bcce730b04dc63d..a85f7f56bdabe246ce47ab83f4000bd779cf5c3b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1779,6 +1779,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1794,6 +1794,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(exp >= 0, "Total experience points must not be negative (%s)", exp);
this.getHandle().totalExperience = exp;
}
diff --git a/patches/server/0983-Add-drops-to-shear-events.patch b/patches/server/0982-Add-drops-to-shear-events.patch
index 77b35dfe1f..5a6b6e3857 100644
--- a/patches/server/0983-Add-drops-to-shear-events.patch
+++ b/patches/server/0982-Add-drops-to-shear-events.patch
@@ -264,7 +264,7 @@ index 93f79e5c7244fc155364a35a75a62d42f2d1ee27..b9e90f589749dfc9324c4aa2062c505f
public static Cancellable handleStatisticsIncrease(net.minecraft.world.entity.player.Player entityHuman, net.minecraft.stats.Stat<?> statistic, int current, int newValue) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 414a67096478ca57be54bd2ce565e7d50c8dd100..9dac41e4a93911f920204ed72ce9fe419b5bf696 100644
+index e1f9a603e7adf3468faa9bb6d93dd3339327b47e..fdb2c65ca47df95ef5735216eb9b1c1380e41f32 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -61,6 +61,15 @@ public final class CraftItemStack extends ItemStack {
diff --git a/patches/server/0984-Add-PlayerShieldDisableEvent.patch b/patches/server/0983-Add-PlayerShieldDisableEvent.patch
index 0e89bafeb1..0e89bafeb1 100644
--- a/patches/server/0984-Add-PlayerShieldDisableEvent.patch
+++ b/patches/server/0983-Add-PlayerShieldDisableEvent.patch
diff --git a/patches/server/0985-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch
index a88ee23306..a88ee23306 100644
--- a/patches/server/0985-Validate-ResourceLocation-in-NBT-reading.patch
+++ b/patches/server/0984-Validate-ResourceLocation-in-NBT-reading.patch
diff --git a/patches/server/0986-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch
index 0fb2129a50..0fb2129a50 100644
--- a/patches/server/0986-Properly-handle-experience-dropping-on-block-break.patch
+++ b/patches/server/0985-Properly-handle-experience-dropping-on-block-break.patch
diff --git a/patches/server/0987-Fixup-NamespacedKey-handling.patch b/patches/server/0986-Fixup-NamespacedKey-handling.patch
index 14ddcf111d..14ddcf111d 100644
--- a/patches/server/0987-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0986-Fixup-NamespacedKey-handling.patch
diff --git a/patches/server/0988-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0987-Expose-LootTable-of-DecoratedPot.patch
index 6d5e2738de..6d5e2738de 100644
--- a/patches/server/0988-Expose-LootTable-of-DecoratedPot.patch
+++ b/patches/server/0987-Expose-LootTable-of-DecoratedPot.patch
diff --git a/patches/server/0989-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
index d64cc30c77..d64cc30c77 100644
--- a/patches/server/0989-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
+++ b/patches/server/0988-Reduce-allocation-of-Vec3D-by-entity-tracker.patch
diff --git a/patches/server/0990-Rewrite-dataconverter-system.patch b/patches/server/0989-Rewrite-dataconverter-system.patch
index ef1dfaa9bd..ef1dfaa9bd 100644
--- a/patches/server/0990-Rewrite-dataconverter-system.patch
+++ b/patches/server/0989-Rewrite-dataconverter-system.patch
diff --git a/patches/server/0991-Starlight.patch b/patches/server/0990-Starlight.patch
index a563feb5eb..a563feb5eb 100644
--- a/patches/server/0991-Starlight.patch
+++ b/patches/server/0990-Starlight.patch
diff --git a/patches/server/0992-Rewrite-chunk-system.patch b/patches/server/0991-Rewrite-chunk-system.patch
index acd575015b..bf832ddd94 100644
--- a/patches/server/0992-Rewrite-chunk-system.patch
+++ b/patches/server/0991-Rewrite-chunk-system.patch
@@ -20347,7 +20347,7 @@ index 13209267c26f46492a92e820889a9be0bd2287a0..f3b96a921e7d085b51da62fa5493384a
this.desiredChunksPerTick = Double.isNaN((double)desiredBatchSize) ? 0.01F : Mth.clamp(desiredBatchSize, 0.01F, 64.0F);
if (this.unacknowledgedBatches == 0) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 401658927b6bf4946709f0f2aeba01f944ec4dfb..fc540b879230b5a5f8d6e01fa435ce140849a712 100644
+index 50fdc6c1a4aeaa5a6deacc2e7b5aecc8f9016b79..58788d9fb5033a288454ce9b52c7efa71c603a09 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -744,6 +744,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -22531,7 +22531,7 @@ index 1eff5e4800ad3b628a42113fb3ba67458e56a40d..d4e0ef75dd12709a0dcf9193821c30b8
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 28529732f23fefc8f642a44b95779f9e1cc2bb64..cbe6e8dae17b30905a28167449f1799b66d403c1 100644
+index 2edf73bae205c6ce9ad1811dffc4028ca54130b1..d6acca68e885b137ab097cabadd9dbf49798341f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1384,7 +1384,6 @@ public final class CraftServer implements Server {
@@ -22663,10 +22663,10 @@ index 5cc2deb8f170452c7049743068bf281f67687db9..84ec87b889d0d450293310e18c34aef5
// Paper start - implement pointers
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 5743013c527c80f2dda444b5bf2d8872ff000386..5c1e016de183933c5458deaae257b978e6350307 100644
+index a85f7f56bdabe246ce47ab83f4000bd779cf5c3b..39b25c2478eadd373383a3445a7f27ea30d18550 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -3334,31 +3334,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -3349,31 +3349,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public int getViewDistance() {
diff --git a/patches/server/0993-incremental-chunk-and-player-saving.patch b/patches/server/0992-incremental-chunk-and-player-saving.patch
index 7f13d86479..b52e1340b6 100644
--- a/patches/server/0993-incremental-chunk-and-player-saving.patch
+++ b/patches/server/0992-incremental-chunk-and-player-saving.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] incremental chunk and player saving
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 103d2b4169215a8931d33b499fbfeb2354163712..ca352fc1a3d206f9a1fc52eba787e66040d5882c 100644
+index b27cdfd527d9234b51eba7bb642968fa886d460e..a0972ad233ce1582fd4d054eba282d47ddbc10d3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -908,7 +908,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/0994-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index 7b15fdd4fe..7b15fdd4fe 100644
--- a/patches/server/0994-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
diff --git a/patches/server/0995-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 28206c3e56..28206c3e56 100644
--- a/patches/server/0995-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
diff --git a/patches/server/0996-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
index 8e271a005e..8e271a005e 100644
--- a/patches/server/0996-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
+++ b/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
diff --git a/patches/server/0997-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index 4c83d00b56..4c83d00b56 100644
--- a/patches/server/0997-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
diff --git a/patches/server/0998-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch
index f6a81ca166..f6a81ca166 100644
--- a/patches/server/0998-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch
diff --git a/patches/server/0999-Fix-World-isChunkGenerated-calls.patch b/patches/server/0998-Fix-World-isChunkGenerated-calls.patch
index dd397e8f64..dd397e8f64 100644
--- a/patches/server/0999-Fix-World-isChunkGenerated-calls.patch
+++ b/patches/server/0998-Fix-World-isChunkGenerated-calls.patch
diff --git a/patches/server/1000-Flat-bedrock-generator-settings.patch b/patches/server/0999-Flat-bedrock-generator-settings.patch
index 7e54f34f22..7e54f34f22 100644
--- a/patches/server/1000-Flat-bedrock-generator-settings.patch
+++ b/patches/server/0999-Flat-bedrock-generator-settings.patch
diff --git a/patches/server/1001-Entity-Activation-Range-2.0.patch b/patches/server/1000-Entity-Activation-Range-2.0.patch
index 64177acf80..64177acf80 100644
--- a/patches/server/1001-Entity-Activation-Range-2.0.patch
+++ b/patches/server/1000-Entity-Activation-Range-2.0.patch
diff --git a/patches/server/1002-Optional-per-player-mob-spawns.patch b/patches/server/1001-Optional-per-player-mob-spawns.patch
index f6d37500e1..f6d37500e1 100644
--- a/patches/server/1002-Optional-per-player-mob-spawns.patch
+++ b/patches/server/1001-Optional-per-player-mob-spawns.patch
diff --git a/patches/server/1003-Anti-Xray.patch b/patches/server/1002-Anti-Xray.patch
index 1e5bcc17f4..9cedc070c1 100644
--- a/patches/server/1003-Anti-Xray.patch
+++ b/patches/server/1002-Anti-Xray.patch
@@ -1571,7 +1571,7 @@ index d4e0ef75dd12709a0dcf9193821c30b8943e6c36..fd702027e62eb38d51fb7c46ef268e9b
private static final byte[] EMPTY_LIGHT = new byte[2048];
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index cbe6e8dae17b30905a28167449f1799b66d403c1..0915c7b9937c28f74b6fe3c9fc8de44492a49911 100644
+index d6acca68e885b137ab097cabadd9dbf49798341f..8505a2925f368355ed7e8a3d1df651142e5c43b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2610,7 +2610,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index c4b823d114..c4b823d114 100644
--- a/patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
diff --git a/patches/server/1005-Optimize-Collision-to-not-load-chunks.patch b/patches/server/1004-Optimize-Collision-to-not-load-chunks.patch
index 88daae9ea4..88daae9ea4 100644
--- a/patches/server/1005-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/1004-Optimize-Collision-to-not-load-chunks.patch
diff --git a/patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index 8e879a28af..8e879a28af 100644
--- a/patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
diff --git a/patches/server/1007-Entity-load-save-limit-per-chunk.patch b/patches/server/1006-Entity-load-save-limit-per-chunk.patch
index 65c011c1e1..65c011c1e1 100644
--- a/patches/server/1007-Entity-load-save-limit-per-chunk.patch
+++ b/patches/server/1006-Entity-load-save-limit-per-chunk.patch
diff --git a/patches/server/1008-Fix-and-optimise-world-force-upgrading.patch b/patches/server/1007-Fix-and-optimise-world-force-upgrading.patch
index 3b5a35bcf5..4e4710e906 100644
--- a/patches/server/1008-Fix-and-optimise-world-force-upgrading.patch
+++ b/patches/server/1007-Fix-and-optimise-world-force-upgrading.patch
@@ -267,7 +267,7 @@ index 72d013d06705b08ed696e3d3b6d631d65800c2c9..61840cfd64caba6595dfc99c91c76a19
Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit
WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, dimensionOptionsRegistry, eraseCache);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index ca352fc1a3d206f9a1fc52eba787e66040d5882c..49fbd8b84401070d314a32a3b1cdf65055452e5b 100644
+index a0972ad233ce1582fd4d054eba282d47ddbc10d3..18a3d611b141b79683af7241e3c0598320f27516 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -584,11 +584,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -352,7 +352,7 @@ index 0db8ee3b640e6d1268e9c1cccda85459bd447105..42d37bee3a459adcd46408596ccf93ab
return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ()));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0915c7b9937c28f74b6fe3c9fc8de44492a49911..25f41119bcc19bab7cd2fdb044147b3f78a8ef1c 100644
+index 8505a2925f368355ed7e8a3d1df651142e5c43b5..b83c2f1e0ea117eecda94cb51b0ea5bba4d7ab5e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1345,9 +1345,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1009-Improved-Watchdog-Support.patch b/patches/server/1008-Improved-Watchdog-Support.patch
index a6edf7134b..2baf9d342c 100644
--- a/patches/server/1009-Improved-Watchdog-Support.patch
+++ b/patches/server/1008-Improved-Watchdog-Support.patch
@@ -71,7 +71,7 @@ index 6f2452de76e8f5fcc1367066e0e753740764eb98..e047dee632022abfe05865d1e71838be
cause = cause.getCause();
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 49fbd8b84401070d314a32a3b1cdf65055452e5b..1509af90e26468b2b9a7b547309721fe567c411c 100644
+index 18a3d611b141b79683af7241e3c0598320f27516..39352b74491a799f12667e2a8578ed08042d84cd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -296,7 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/1010-Optimize-Voxel-Shape-Merging.patch b/patches/server/1009-Optimize-Voxel-Shape-Merging.patch
index 2c47963e34..2c47963e34 100644
--- a/patches/server/1010-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/1009-Optimize-Voxel-Shape-Merging.patch
diff --git a/patches/server/1011-Write-SavedData-IO-async.patch b/patches/server/1010-Write-SavedData-IO-async.patch
index d7f6d3dea7..d7f6d3dea7 100644
--- a/patches/server/1011-Write-SavedData-IO-async.patch
+++ b/patches/server/1010-Write-SavedData-IO-async.patch
diff --git a/patches/server/1012-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
index 7429b07205..7429b07205 100644
--- a/patches/server/1012-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
+++ b/patches/server/1011-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch
diff --git a/patches/server/1013-Use-distance-map-to-optimise-entity-tracker.patch b/patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch
index 891a4e5d21..891a4e5d21 100644
--- a/patches/server/1013-Use-distance-map-to-optimise-entity-tracker.patch
+++ b/patches/server/1012-Use-distance-map-to-optimise-entity-tracker.patch
diff --git a/patches/server/1014-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1013-Optimize-Bit-Operations-by-inlining.patch
index 269787b9ed..269787b9ed 100644
--- a/patches/server/1014-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/1013-Optimize-Bit-Operations-by-inlining.patch
diff --git a/patches/server/1015-Remove-streams-from-hot-code.patch b/patches/server/1014-Remove-streams-from-hot-code.patch
index 75a38173c7..75a38173c7 100644
--- a/patches/server/1015-Remove-streams-from-hot-code.patch
+++ b/patches/server/1014-Remove-streams-from-hot-code.patch
diff --git a/patches/server/1016-Eigencraft-redstone-implementation.patch b/patches/server/1015-Eigencraft-redstone-implementation.patch
index 0022f6b8df..0022f6b8df 100644
--- a/patches/server/1016-Eigencraft-redstone-implementation.patch
+++ b/patches/server/1015-Eigencraft-redstone-implementation.patch
diff --git a/patches/server/1017-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index 30e9a24146..30e9a24146 100644
--- a/patches/server/1017-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/1016-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
diff --git a/patches/server/1018-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
index 14c24b80b2..14c24b80b2 100644
--- a/patches/server/1018-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
+++ b/patches/server/1017-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch
diff --git a/patches/server/1019-Improve-boat-collision-performance.patch b/patches/server/1018-Improve-boat-collision-performance.patch
index 7e6566d525..7e6566d525 100644
--- a/patches/server/1019-Improve-boat-collision-performance.patch
+++ b/patches/server/1018-Improve-boat-collision-performance.patch
diff --git a/patches/server/1020-Optimise-general-POI-access.patch b/patches/server/1019-Optimise-general-POI-access.patch
index 9be40e9753..9be40e9753 100644
--- a/patches/server/1020-Optimise-general-POI-access.patch
+++ b/patches/server/1019-Optimise-general-POI-access.patch
diff --git a/patches/server/1021-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch
index 52bdb3212c..52bdb3212c 100644
--- a/patches/server/1021-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/1020-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/1022-Execute-chunk-tasks-mid-tick.patch b/patches/server/1021-Execute-chunk-tasks-mid-tick.patch
index 5360c9ad1f..33031bddd2 100644
--- a/patches/server/1022-Execute-chunk-tasks-mid-tick.patch
+++ b/patches/server/1021-Execute-chunk-tasks-mid-tick.patch
@@ -19,7 +19,7 @@ index 6b3cde6d4d1e63bec01f502f2027ee9fddac08aa..46449728f69ee7d4f78470f8da23c055
private MinecraftTimings() {}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 1509af90e26468b2b9a7b547309721fe567c411c..30ca4f1cc72b3a9ffab2a07330a671e48ae9177d 100644
+index 39352b74491a799f12667e2a8578ed08042d84cd..ddbce431af1eb13ad135f7cd36f0c3c6430a5ae4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1356,8 +1356,79 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/1023-Optimise-random-block-ticking.patch b/patches/server/1022-Optimise-random-block-ticking.patch
index 4f3d16341d..8c666758e6 100644
--- a/patches/server/1023-Optimise-random-block-ticking.patch
+++ b/patches/server/1022-Optimise-random-block-ticking.patch
@@ -258,7 +258,7 @@ index 68648c5a5e3ff079f832092af0f2f801c42d1ede..8bafd5fd7499ba4a04bf706cfd1e1560
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/util/SimpleBitStorage.java b/src/main/java/net/minecraft/util/SimpleBitStorage.java
-index 18d8f3114831310c5f10da43d4333849d4eb6cae..8eb4d55e76c3a9827f896844cef9f3583914a49c 100644
+index acd820b19aff4e093536cc47002a899498b3fd6b..453c1d7e01970fd817d27f59c3b00ffc70e8ca0c 100644
--- a/src/main/java/net/minecraft/util/SimpleBitStorage.java
+++ b/src/main/java/net/minecraft/util/SimpleBitStorage.java
@@ -124,6 +124,28 @@ public class SimpleBitStorage implements BitStorage {
diff --git a/patches/server/1024-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
index 66b1297d83..66b1297d83 100644
--- a/patches/server/1024-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
+++ b/patches/server/1023-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch
diff --git a/patches/server/1025-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch
index 8f8f34ad27..8f8f34ad27 100644
--- a/patches/server/1025-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/1024-Use-Velocity-compression-and-cipher-natives.patch
diff --git a/patches/server/1026-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1025-Detail-more-information-in-watchdog-dumps.patch
index 36f45a25f6..36f45a25f6 100644
--- a/patches/server/1026-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1025-Detail-more-information-in-watchdog-dumps.patch
diff --git a/patches/server/1027-Collision-optimisations.patch b/patches/server/1026-Collision-optimisations.patch
index 71ab7a2ee0..71ab7a2ee0 100644
--- a/patches/server/1027-Collision-optimisations.patch
+++ b/patches/server/1026-Collision-optimisations.patch
diff --git a/patches/server/1028-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch
index 1e773118a7..498cb7bde9 100644
--- a/patches/server/1028-Optimise-collision-checking-in-player-move-packet-ha.patch
+++ b/patches/server/1027-Optimise-collision-checking-in-player-move-packet-ha.patch
@@ -8,7 +8,7 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN
CHECK ME
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index fc540b879230b5a5f8d6e01fa435ce140849a712..5674b509b6ee594d232507d5487f705c4abf7d9a 100644
+index 58788d9fb5033a288454ce9b52c7efa71c603a09..cd5730de05a7fac186875e97721c53dab3b7695f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -553,7 +553,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/1029-Fix-tripwire-state-inconsistency.patch b/patches/server/1028-Fix-tripwire-state-inconsistency.patch
index bce767ae73..bce767ae73 100644
--- a/patches/server/1029-Fix-tripwire-state-inconsistency.patch
+++ b/patches/server/1028-Fix-tripwire-state-inconsistency.patch
diff --git a/patches/server/1030-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch
index 83872a3693..83872a3693 100644
--- a/patches/server/1030-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/1029-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/1031-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1030-Add-Alternate-Current-redstone-implementation.patch
index 0c4cd1212b..0c4cd1212b 100644
--- a/patches/server/1031-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/1030-Add-Alternate-Current-redstone-implementation.patch
diff --git a/patches/server/1032-optimize-dirt-and-snow-spreading.patch b/patches/server/1031-optimize-dirt-and-snow-spreading.patch
index 223dbd9a3e..223dbd9a3e 100644
--- a/patches/server/1032-optimize-dirt-and-snow-spreading.patch
+++ b/patches/server/1031-optimize-dirt-and-snow-spreading.patch
diff --git a/patches/server/1033-Properly-resend-entities.patch b/patches/server/1032-Properly-resend-entities.patch
index 82e40b8e93..1600ca4712 100644
--- a/patches/server/1033-Properly-resend-entities.patch
+++ b/patches/server/1032-Properly-resend-entities.patch
@@ -116,7 +116,7 @@ index 97490f58aace9bfb6d034e9a97393142f73043d1..83e017efd15d0ecaffc327f02d6d5330
return enuminteractionresult;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
-index 5674b509b6ee594d232507d5487f705c4abf7d9a..6f9ec543185b6f68bb1eaa61a7ebea9d866d688f 100644
+index cd5730de05a7fac186875e97721c53dab3b7695f..8ca5d7c1bfacb1b47aa680eee167af08d0396ae0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1990,6 +1990,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/server/1034-Optimize-Hoppers.patch b/patches/server/1033-Optimize-Hoppers.patch
index 345e561dd2..022a5549df 100644
--- a/patches/server/1034-Optimize-Hoppers.patch
+++ b/patches/server/1033-Optimize-Hoppers.patch
@@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d07431548
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 30ca4f1cc72b3a9ffab2a07330a671e48ae9177d..7da73248b56992f765a7c27a42502efb04622956 100644
+index ddbce431af1eb13ad135f7cd36f0c3c6430a5ae4..5c26ccc4d58254afce7ece906600a86364e01af8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1690,6 +1690,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/1035-Improve-performance-of-mass-crafts.patch b/patches/server/1034-Improve-performance-of-mass-crafts.patch
index 21ed7a6c78..640d0204e2 100644
--- a/patches/server/1035-Improve-performance-of-mass-crafts.patch
+++ b/patches/server/1034-Improve-performance-of-mass-crafts.patch
@@ -20,7 +20,7 @@ After this patch, the full iteration over all recipes checking for a match shoul
initial recipe match. Then that recipe will be checked first for all future recipe match checks.
diff --git a/src/main/java/net/minecraft/world/inventory/CraftingMenu.java b/src/main/java/net/minecraft/world/inventory/CraftingMenu.java
-index a7aa2a4845cbf5a0843dcb93f7bdc5501f62a145..1b05847cd5ec69ecaf75a2d3803089efbb89d165 100644
+index 7a0c1a55a211035bbca7b97293e94b04ae308bae..c3800bdd5096cb06e085e28f6bf0f65586ecf11e 100644
--- a/src/main/java/net/minecraft/world/inventory/CraftingMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/CraftingMenu.java
@@ -76,7 +76,8 @@ public class CraftingMenu extends RecipeBookMenu<CraftingContainer> {
diff --git a/patches/server/1036-Actually-optimise-explosions.patch b/patches/server/1035-Actually-optimise-explosions.patch
index da42c9e195..da42c9e195 100644
--- a/patches/server/1036-Actually-optimise-explosions.patch
+++ b/patches/server/1035-Actually-optimise-explosions.patch
diff --git a/patches/server/1037-Optimise-chunk-tick-iteration.patch b/patches/server/1036-Optimise-chunk-tick-iteration.patch
index 9aeb33c382..9aeb33c382 100644
--- a/patches/server/1037-Optimise-chunk-tick-iteration.patch
+++ b/patches/server/1036-Optimise-chunk-tick-iteration.patch
diff --git a/patches/server/1038-Lag-compensation-ticks.patch b/patches/server/1037-Lag-compensation-ticks.patch
index c779081bd4..914d0dda7c 100644
--- a/patches/server/1038-Lag-compensation-ticks.patch
+++ b/patches/server/1037-Lag-compensation-ticks.patch
@@ -8,7 +8,7 @@ Areas affected by lag comepnsation:
- Eating food items
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 7da73248b56992f765a7c27a42502efb04622956..cfe78fe6db2bb1f039619bf2497a8b8981917756 100644
+index 5c26ccc4d58254afce7ece906600a86364e01af8..fa2b4cdd4c4e2c1df3e378a7c706f06c3361ad53 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -311,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
diff --git a/patches/server/1039-Optimise-nearby-player-retrieval.patch b/patches/server/1038-Optimise-nearby-player-retrieval.patch
index c6ab594786..c6ab594786 100644
--- a/patches/server/1039-Optimise-nearby-player-retrieval.patch
+++ b/patches/server/1038-Optimise-nearby-player-retrieval.patch
diff --git a/patches/server/1040-Distance-manager-tick-timings.patch b/patches/server/1039-Distance-manager-tick-timings.patch
index f946d92596..f946d92596 100644
--- a/patches/server/1040-Distance-manager-tick-timings.patch
+++ b/patches/server/1039-Distance-manager-tick-timings.patch
diff --git a/patches/server/1041-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch
index 1bdb933b52..1bdb933b52 100644
--- a/patches/server/1041-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/1040-Handle-Oversized-block-entities-in-chunks.patch
diff --git a/patches/server/1042-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch
index 45738a19b2..45738a19b2 100644
--- a/patches/server/1042-Send-full-pos-packets-for-hard-colliding-entities.patch
+++ b/patches/server/1041-Send-full-pos-packets-for-hard-colliding-entities.patch
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 63c208dd3f16a0874b5e21348c35ce9e5c829d0
+Subproject 1d5228782e11c20c984621d26ea05822e46b3d3
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 771182f70cd789f3d220cfef80876845a48ebec
+Subproject 292ec79e09e3b90358560dd9e571452c9da7500
diff --git a/work/Spigot b/work/Spigot
-Subproject 864e4acc0db6ad9899f269740823a23d082d18d
+Subproject c198da22a814a0ba9c3128c3a9946286e0839b5