From 9df2066642d32a1f7a372ce528930d48f9fe51f7 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Sat, 23 Sep 2023 12:06:03 +1000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: dfe1fb48 PR-906: Add missing MinecraftExperimental annotation to Bundles 825ab30d PR-905: Add missing MapCursor.Type and update documentation e03d10e6 PR-903: Make BARRIER Waterlogged 1961ead6 PR-898: Use Java Consumer instead of Bukkit Consumer CraftBukkit Changes: f71a799f0 Make BARRIER Waterlogged 172f76a45 Upgrade specialsource-maven-plugin f0702775c SPIGOT-7486: Alternate approach to null profile names 069495671 SPIGOT-7485: Allow air entity items since required for Vanilla logic 5dfd33dc2 SPIGOT-7484: Cancelling PlayerEditBookEvent does not update client's book contents 02d490788 PR-1250: Standardize and centralize Bukkit / Minecraft registry conversion 9024a09b9 PR-1251: Use Java Consumer instead of Bukkit Consumer 6d4b25bf1 Increase diff stability --- patches/api/0005-Adventure.patch | 8 +-- patches/api/0017-Add-view-distance-API.patch | 2 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 2 +- patches/api/0055-Fix-upstream-javadocs.patch | 4 +- ...tional-world.getNearbyEntities-API-s.patch | 2 +- ...ld.spawnParticle-API-and-add-Builder.patch | 2 +- patches/api/0114-Expand-Explosions-API.patch | 2 +- .../0118-Add-World.getEntity-UUID-API.patch | 2 +- ...vide-Chunk-Coordinates-as-a-Long-API.patch | 2 +- ...Blocks-to-be-accessed-via-a-long-key.patch | 2 +- patches/api/0140-isChunkGenerated-API.patch | 2 +- patches/api/0142-Async-Chunks-API.patch | 2 +- patches/api/0152-Material-API-additions.patch | 4 +- patches/api/0156-Add-sun-related-API.patch | 2 +- .../0172-Fix-Spigot-annotation-mistakes.patch | 8 +-- patches/api/0175-Add-Heightmap-API.patch | 2 +- patches/api/0197-Spawn-Reason-API.patch | 6 +- patches/api/0208-Add-moon-phase-API.patch | 2 +- ...-Add-methods-to-get-translation-keys.patch | 6 +- ...Cache-the-result-of-Material-isBlock.patch | 8 +-- patches/api/0264-Expand-world-key-API.patch | 2 +- patches/api/0265-Item-Rarity-API.patch | 4 +- patches/api/0271-More-World-API.patch | 2 +- ...289-Attributes-API-for-item-defaults.patch | 4 +- .../0296-Add-more-line-of-sight-methods.patch | 2 +- ...o-find-targets-for-lightning-strikes.patch | 2 +- ...Collidable-methods-to-various-places.patch | 4 +- .../api/0346-Implement-regenerateChunk.patch | 2 +- .../api/0354-Add-getComputedBiome-API.patch | 2 +- patches/api/0372-Collision-API.patch | 2 +- .../server/0001-Setup-Gradle-project.patch | 9 ++- patches/server/0005-Paper-config-files.patch | 4 +- patches/server/0008-CB-fixes.patch | 4 +- patches/server/0009-MC-Utils.patch | 14 ++--- patches/server/0010-Adventure.patch | 42 ++++++------- patches/server/0011-Paper-command.patch | 6 +- patches/server/0013-Paper-Plugins.patch | 14 ++--- patches/server/0014-Timings-v2.patch | 14 ++--- .../server/0018-Rewrite-chunk-system.patch | 20 +++---- ...-option-to-load-extra-plugin-jars-no.patch | 4 +- ...ient-crashes-server-lists-and-Mojang.patch | 4 +- .../0028-Implement-Paper-VersionChecker.patch | 4 +- .../0030-Player-affects-spawning-API.patch | 2 +- ...031-Further-improve-server-tick-loop.patch | 4 +- ...032-Only-refresh-abilities-if-needed.patch | 2 +- patches/server/0033-Entity-Origin-API.patch | 4 +- ...45-Implement-PlayerLocaleChangeEvent.patch | 2 +- .../0048-Use-UserCache-for-player-heads.patch | 6 +- ...052-Improve-Player-chat-API-handling.patch | 6 +- ...chunks-are-slime-spawn-chunks-toggle.patch | 4 +- .../0054-Expose-server-CommandMap.patch | 4 +- ...e-informative-in-maxHealth-exception.patch | 2 +- .../0056-Player-Tab-List-and-Title-APIs.patch | 2 +- .../server/0058-Add-velocity-warnings.patch | 8 +-- ...ble-inter-world-teleportation-safety.patch | 2 +- ...working-with-arrows-stuck-in-living-.patch | 2 +- .../0065-Complete-resource-pack-API.patch | 2 +- ...ading-permissions.yml-before-plugins.patch | 6 +- ...llow-Reloading-of-Custom-Permissions.patch | 4 +- .../0068-Remove-Metadata-on-reload.patch | 4 +- ...069-Handle-Item-Meta-Inconsistencies.patch | 18 +++--- ...th-absorb-values-and-repair-bad-data.patch | 2 +- ...setting-for-proxy-online-mode-status.patch | 4 +- patches/server/0110-Add-EntityZapEvent.patch | 2 +- ...3-Allow-Reloading-of-Command-Aliases.patch | 4 +- ...4-Add-source-to-PlayerExpChangeEvent.patch | 2 +- .../0115-Add-ProjectileCollideEvent.patch | 2 +- .../0121-String-based-Action-Bar-API.patch | 2 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 2 +- ...PI-for-Reason-Source-Triggering-play.patch | 4 +- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...oleAppender-for-console-improvements.patch | 4 +- .../server/0136-Item-canEntityPickup.patch | 2 +- ...PlayerPickupItemEvent-setFlyAtPlayer.patch | 2 +- .../0138-PlayerAttemptPickupItemEvent.patch | 2 +- ...-profile-lookups-to-worldgen-threads.patch | 2 +- .../server/0140-Add-UnknownCommandEvent.patch | 6 +- .../server/0141-Basic-PlayerProfile-API.patch | 14 ++--- .../server/0145-Entity-fromMobSpawner.patch | 4 +- ...mplement-ensureServerConversions-API.patch | 2 +- .../0148-Implement-getI18NDisplayName.patch | 2 +- .../server/0151-LivingEntity-setKiller.patch | 2 +- ...nt-protocol-version-and-virtual-host.patch | 2 +- ...-get-a-BlockState-without-a-snapshot.patch | 4 +- .../server/0167-AsyncTabCompleteEvent.patch | 4 +- ...9-Ability-to-apply-mending-to-XP-API.patch | 2 +- ...-Add-setPlayerProfile-API-for-Skulls.patch | 4 +- .../0175-Add-ArmorStand-Item-Meta.patch | 4 +- .../0182-Player.setPlayerProfile-API.patch | 8 +-- .../server/0183-getPlayerUniqueId-API.patch | 4 +- ...87-Flag-to-disable-the-channel-limit.patch | 2 +- ...ld.spawnParticle-API-and-add-Builder.patch | 2 +- ...Item-entities-with-World.spawnEntity.patch | 4 +- .../0204-Fix-CraftEntity-hashCode.patch | 4 +- ...e-shield-blocking-delay-configurable.patch | 2 +- .../server/0211-Expand-Explosions-API.patch | 2 +- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 2 +- ...5-Implement-World.getEntity-UUID-API.patch | 2 +- .../0216-InventoryCloseEvent-Reason-API.patch | 4 +- ...6-Vanished-players-don-t-have-rights.patch | 2 +- ...dd-Early-Warning-Feature-to-WatchDog.patch | 6 +- ...ile-Entities-from-a-chunk-without-sn.patch | 6 +- ...245-Optimize-CraftBlockData-Creation.patch | 4 +- ...loadChunk-int-int-false-load-unconve.patch | 2 +- ...-ray-tracing-methods-to-LivingEntity.patch | 2 +- ...e-attack-cooldown-methods-for-Player.patch | 2 +- .../server/0253-Improve-death-events.patch | 8 +-- patches/server/0255-Mob-Pathfinding-API.patch | 2 +- ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 32 +++++----- .../0263-Hook-into-CB-plugin-rewrites.patch | 47 ++++++++------- ...265-Add-LivingEntity-getTargetEntity.patch | 2 +- patches/server/0266-Add-sun-related-API.patch | 4 +- ...ault-permission-message-configurable.patch | 4 +- ...-replace-OfflinePlayer-getLastPlayed.patch | 4 +- ...-remove-from-being-called-on-Players.patch | 2 +- .../0299-Entity-getEntitySpawnReason.patch | 4 +- ...-for-pickupDelay-breaks-picking-up-i.patch | 2 +- patches/server/0307-Add-Heightmap-API.patch | 2 +- .../0308-Mob-Spawner-API-Enhancements.patch | 4 +- .../0311-Implement-CraftBlockSoundGroup.patch | 16 ++--- ...le-Keep-Spawn-Loaded-range-per-world.patch | 2 +- ...314-Expose-the-internal-current-tick.patch | 4 +- ...315-Fix-World-isChunkGenerated-calls.patch | 2 +- ...0332-Fix-items-not-falling-correctly.patch | 2 +- ...lement-alternative-item-despawn-rate.patch | 8 +-- ...343-Improve-Block-breakNaturally-API.patch | 6 +- patches/server/0348-Entity-Jump-API.patch | 2 +- ...351-add-hand-to-BlockMultiPlaceEvent.patch | 2 +- ...-Add-tick-times-API-and-mspt-command.patch | 4 +- ...358-Expose-MinecraftServer-isRunning.patch | 4 +- ...Add-Raw-Byte-ItemStack-Serialization.patch | 4 +- ...-Implement-Player-Client-Options-API.patch | 2 +- ...m-duplication-issues-and-teleport-is.patch | 2 +- .../server/0383-Villager-Restocks-API.patch | 4 +- patches/server/0385-Expose-game-version.patch | 4 +- .../server/0388-misc-debugging-dumps.patch | 4 +- .../server/0391-Implement-Mob-Goal-API.patch | 4 +- .../0392-Add-villager-reputation-API.patch | 10 ++-- ...-maximum-exp-value-when-merging-orbs.patch | 2 +- .../server/0394-ExperienceOrbMergeEvent.patch | 2 +- ...5-Fix-PotionEffect-ignores-icon-flag.patch | 2 +- ...Wait-for-Async-Tasks-during-shutdown.patch | 4 +- ...ld-Difficulty-Remembering-Difficulty.patch | 6 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 8 +-- ...nvert-legacy-attributes-in-Item-Meta.patch | 8 +-- .../0427-Support-components-in-ItemMeta.patch | 10 ++-- .../server/0429-Add-entity-liquid-API.patch | 4 +- .../server/0432-Add-PrepareResultEvent.patch | 4 +- patches/server/0443-Brand-support.patch | 2 +- ...yPickupItemAnimation-to-LivingEntity.patch | 2 +- ...geEvent-not-firing-for-all-use-cases.patch | 2 +- patches/server/0447-Add-moon-phase-API.patch | 4 +- patches/server/0450-Add-BellRingEvent.patch | 2 +- ...-Add-methods-to-get-translation-keys.patch | 4 +- ...ate-HoverEvent-from-ItemStack-Entity.patch | 2 +- .../0459-Cache-block-data-strings.patch | 4 +- ...ortation-and-cancel-velocity-if-tele.patch | 4 +- ...y-Counter-to-allow-plugins-to-use-va.patch | 4 +- patches/server/0466-Entity-isTicking.patch | 4 +- .../server/0471-Optimise-getType-calls.patch | 10 ++-- .../server/0476-Player-elytra-boost-API.patch | 2 +- ...-Add-getOfflinePlayerIfCached-String.patch | 4 +- ...ix-client-lag-on-advancement-loading.patch | 4 +- .../server/0489-Add-Destroy-Speed-API.patch | 4 +- ...r-spawnParticle-x-y-z-precision-loss.patch | 2 +- ...491-Add-LivingEntity-clearActiveItem.patch | 2 +- ...x-CraftSound-backwards-compatibility.patch | 8 +-- ...3-Expose-LivingEntity-hurt-direction.patch | 2 +- ...-OBSTRUCTED-reason-to-BedEnterResult.patch | 2 +- ...0509-Additional-Block-Material-API-s.patch | 4 +- .../0520-Added-WorldGameRuleChangeEvent.patch | 2 +- ...Implemented-BlockFailedDispenseEvent.patch | 4 +- patches/server/0530-Add-sendOpLevel-API.patch | 2 +- ...0538-Implement-BlockPreDispenseEvent.patch | 4 +- ...Leash-variable-to-EntityUnleashEvent.patch | 4 +- ...w-adding-items-to-BlockDropItemEvent.patch | 2 +- ...-entity-allow-attribute-registration.patch | 15 ++--- .../server/0553-Expose-Tracked-Players.patch | 4 +- .../server/0561-Add-Block-isValidTool.patch | 4 +- .../server/0563-Expand-world-key-API.patch | 16 ++--- patches/server/0565-Item-Rarity-API.patch | 4 +- .../server/0569-Expose-protocol-version.patch | 4 +- .../0573-Set-area-affect-cloud-rotation.patch | 4 +- patches/server/0580-More-World-API.patch | 2 +- .../server/0596-Add-basic-Datapack-API.patch | 8 +-- ...ditions-to-PlayerGameModeChangeEvent.patch | 2 +- .../0599-ItemStack-repair-check-API.patch | 4 +- .../server/0600-More-Enchantment-API.patch | 2 +- ...x-and-optimise-world-force-upgrading.patch | 6 +- patches/server/0603-Add-Mob-lookAt-API.patch | 2 +- ...606-Attributes-API-for-item-defaults.patch | 6 +- ...cause-to-Weather-ThunderChangeEvents.patch | 2 +- .../0610-Add-PlayerKickEvent-causes.patch | 2 +- ...n-to-fix-items-merging-through-walls.patch | 2 +- ...0-Make-item-validations-configurable.patch | 6 +- .../server/0621-Line-Of-Sight-Changes.patch | 6 +- .../0622-add-per-world-spawn-limits.patch | 2 +- .../0624-Add-more-LimitedRegion-API.patch | 2 +- patches/server/0626-Missing-Entity-API.patch | 23 +++---- ...-of-Block-applyBoneMeal-always-being.patch | 4 +- patches/server/0638-Stinger-API.patch | 2 +- .../0640-Add-System.out-err-catcher.patch | 4 +- .../server/0645-Add-PlayerSetSpawnEvent.patch | 2 +- ...d-missing-team-sidebar-display-slots.patch | 4 +- ...o-find-targets-for-lightning-strikes.patch | 2 +- .../0661-Get-entity-default-attributes.patch | 10 ++-- patches/server/0662-Left-handed-API.patch | 2 +- .../0663-Add-more-advancement-API.patch | 6 +- ...0664-Add-ItemFactory-getSpawnEgg-API.patch | 6 +- .../server/0665-Add-critical-damage-API.patch | 2 +- ...Collidable-methods-to-various-places.patch | 8 +-- ...70-Add-Raw-Byte-Entity-Serialization.patch | 8 +-- ...0674-Improve-and-expand-AsyncCatcher.patch | 2 +- ...aper-mobcaps-and-paper-playermobcaps.patch | 6 +- ...llow-delegation-to-vanilla-chunk-gen.patch | 4 +- ...t-isSectionEmpty-int-and-optimize-Pa.patch | 6 +- .../0734-Entity-powdered-snow-API.patch | 4 +- patches/server/0742-Bucketable-API.patch | 4 +- ...vanilla-BiomeProvider-from-WorldInfo.patch | 22 ++++--- ...ulti-Block-Change-API-Implementation.patch | 2 +- .../server/0756-Freeze-Tick-Lock-API.patch | 4 +- .../0758-More-PotionEffectType-API.patch | 6 +- ...-command-sender-which-forwards-feedb.patch | 4 +- .../0762-Implement-regenerateChunk.patch | 4 +- ...date-calls-to-CraftServer-getSpawnLi.patch | 4 +- patches/server/0765-Add-GameEvent-tags.patch | 6 +- ...o-worldlist-before-initing-the-world.patch | 4 +- patches/server/0773-Custom-Potion-Mixes.patch | 8 +-- ...0775-Fix-falling-block-spawn-methods.patch | 10 ++-- patches/server/0778-More-Projectile-API.patch | 6 +- .../0781-Implement-getComputedBiome-API.patch | 14 ++--- ...0783-Implement-enchantWithLevels-API.patch | 2 +- .../0784-Fix-saving-in-unloadWorld.patch | 4 +- ...lock-data-for-EntityChangeBlockEvent.patch | 2 +- patches/server/0791-cache-resource-keys.patch | 60 +++++++++++-------- ...s-ServerLevel-for-gamerule-callbacks.patch | 6 +- .../0800-WorldCreator-keepSpawnLoaded.patch | 4 +- ...ix-OfflinePlayer-getBedSpawnLocation.patch | 2 +- ...n-on-world-create-while-being-ticked.patch | 8 +-- ...818-Dont-resent-entity-on-art-update.patch | 4 +- ...broadcast-messages-to-command-blocks.patch | 4 +- ...mpty-items-from-being-added-to-world.patch | 13 ---- patches/server/0832-More-Teleport-API.patch | 6 +- ...-level-random-in-entity-constructors.patch | 2 +- ...-on-plugins-accessing-faraway-chunks.patch | 16 ++--- ...stom-Chat-Completion-Suggestions-API.patch | 2 +- patches/server/0839-Collision-API.patch | 8 +-- patches/server/0841-Block-Ticking-API.patch | 8 +-- ...2-Add-Velocity-IP-Forwarding-Support.patch | 4 +- ...0844-Add-NamespacedKey-biome-methods.patch | 4 +- ...arameter-to-ProjectileSource-launchP.patch | 2 +- ...-of-WorldCreator-keepSpawnLoaded-ret.patch | 4 +- ...-interactions-with-items-on-cooldown.patch | 2 +- .../0864-Elder-Guardian-appearance-API.patch | 2 +- .../0866-Add-entity-knockback-API.patch | 2 +- .../0881-Add-Player-Warden-Warning-API.patch | 2 +- ...la-friendly-methods-to-update-trades.patch | 4 +- ...async-entity-add-due-to-fungus-trees.patch | 4 +- .../server/0886-ItemStack-damage-API.patch | 2 +- patches/server/0887-Friction-API.patch | 4 +- patches/server/0895-fix-Instruments.patch | 54 ++++++++--------- .../0899-Add-Sneaking-API-for-Entities.patch | 4 +- patches/server/0905-Flying-Fall-Damage.patch | 2 +- ...ck-state-to-BlockExplodeEvent-and-En.patch | 2 +- patches/server/0911-Win-Screen-API.patch | 2 +- .../server/0914-Add-Entity-Body-Yaw-API.patch | 6 +- .../0917-Add-EntityFertilizeEggEvent.patch | 4 +- .../0937-Add-Mob-Experience-reward-API.patch | 2 +- ...9-Fix-DamageCause-for-Falling-Blocks.patch | 2 +- .../0944-Expand-PlayerItemMendEvent.patch | 4 +- ...anhasbukkit-default-if-alias-block-e.patch | 4 +- ...-to-remove-all-active-potion-effects.patch | 2 +- ...0962-Call-missing-BlockDispenseEvent.patch | 4 +- ...67-fix-item-meta-for-tadpole-buckets.patch | 2 +- ...Suppress-Item-Meta-Validation-Checks.patch | 12 ++-- patches/server/0969-Fix-BanList-API.patch | 6 +- ...ix-possible-NPE-on-painting-creation.patch | 6 +- ...enceOrb-should-call-EntitySpawnEvent.patch | 2 +- ...Folia-scheduler-and-owned-region-API.patch | 8 +-- ...-API-for-updating-recipes-on-clients.patch | 10 ++-- ...ation-when-spawning-display-entities.patch | 4 +- ...0982-Only-capture-actual-tree-growth.patch | 4 +- ...eData-on-more-entities-when-spawning.patch | 8 +-- ...5-Use-correct-seed-on-api-world-load.patch | 4 +- ...x-custom-statistic-criteria-creation.patch | 4 +- .../server/0989-Bandaid-fix-for-Effect.patch | 6 +- ...-API-for-an-entity-s-scoreboard-name.patch | 4 +- ...place-methods-with-old-StructureType.patch | 6 +- .../0998-Add-Listing-API-for-Player.patch | 2 +- ...ed-BlockFace-during-BlockDamageEvent.patch | 2 +- patches/server/1002-Expand-Pose-API.patch | 4 +- .../1004-Deep-clone-unhandled-nbt-tags.patch | 8 +-- ...-Implement-OfflinePlayer-isConnected.patch | 4 +- ...-titleOverride-to-InventoryOpenEvent.patch | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 296 files changed, 757 insertions(+), 760 deletions(-) diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index fb3caf264f..d3da3bde12 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -1415,7 +1415,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index 688a7faa5bdbfc053f0a0b2f55f08b2c456b5923..cd2b985d9867194281821e58861bcd0024bb4526 100644 +index c5ba0f3ad4df1f52efe9795cfe2ded8783657b40..e30ea44c962f685f216dadd174c91a00d880c5cd 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -1427,7 +1427,7 @@ index 688a7faa5bdbfc053f0a0b2f55f08b2c456b5923..cd2b985d9867194281821e58861bcd00 AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), -@@ -1509,4 +1509,11 @@ public enum Sound implements Keyed { +@@ -1512,4 +1512,11 @@ public enum Sound implements Keyed { public NamespacedKey getKey() { return key; } @@ -1508,7 +1508,7 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb return warning == null || warning.value(); } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c4d2a13d62059ca1f148a9af909f424b745bc8df..5357291ff0f2f20bd87ab9f6e57f6a4f6ff65226 100644 +index 2009f98dc12bc8921cd3108884c1ab65bcfc0109..4c2d252a8298336b0ad23d15fc9290f05e5438c6 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -44,7 +44,7 @@ import org.jetbrains.annotations.Nullable; @@ -4410,7 +4410,7 @@ index 2fbb0b7640dd9b9b0e70d4bc60fbb0310d5ec250..049c70c935fd7a781280d223f74bbbf8 /** diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index 83354b2a38b6261b172b91c1008dcf3313cc4a8f..762d8a53bbfa82edcd725a52d630b61c40503d67 100644 +index b90fd819a781d3a2117ffa25f0864b1576901f9f..7d4f4970dae6fe4eeea6b6b6810dcecfe20d6e51 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java @@ -10,7 +10,7 @@ public final class MapCursor { diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch index 6fe8772dcf..7ec3d43852 100644 --- a/patches/api/0017-Add-view-distance-API.patch +++ b/patches/api/0017-Add-view-distance-API.patch @@ -8,7 +8,7 @@ Add per player no-tick, tick, and send view distances. Also add send/no-tick view distance to World. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 5357291ff0f2f20bd87ab9f6e57f6a4f6ff65226..887aa6217583d224d66f6d238ac269c23725d459 100644 +index 4c2d252a8298336b0ad23d15fc9290f05e5438c6..20a949a65a92e1d4c5162585339732377b8fba0c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2662,6 +2662,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch index 225703e290..a8e231d2f7 100644 --- a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 887aa6217583d224d66f6d238ac269c23725d459..4ef6bbfa753da439ac57bd8d70dd114d73665c8d 100644 +index 20a949a65a92e1d4c5162585339732377b8fba0c..9c8cfd05bbac5155b723414113ab9a9ec9ada81f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -46,6 +46,33 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 9dfe88faac..038bf29af0 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -94,7 +94,7 @@ index 73b782c3975ad13159b6236976783fcfabd20493..e9cbbdf310e48011ee538c5592baee25 CHERRY_LEAVES, EGG_CRACK, diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 43f5aab2fe70af5f570de1f21eca83905f1e2f57..05c29cbd2ae1ca0434a90f8389479bd608ca2ac1 100644 +index 02de62c083ceaa466c80cb732e8304b8cc3f07f8..7c2b1eff41dd43fda84d84e76c05bbbf37c186b8 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -158,7 +158,7 @@ public interface RegionAccessor { @@ -161,7 +161,7 @@ index 22d508a6c80d7e19352bceb57009fdbcb16bc723..3c1862b9a9293155f756615b5bd23cc8 * @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 4ef6bbfa753da439ac57bd8d70dd114d73665c8d..7f23527168a33b92d823f76765edfe00abe0e4f6 100644 +index 9c8cfd05bbac5155b723414113ab9a9ec9ada81f..bb36bb6e98d36d407fc0ed8e9562feffb45f3f97 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2576,7 +2576,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch index 6f67308e36..533c79b5e9 100644 --- a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch +++ b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's Provides more methods to get nearby entities, and filter by types and predicates diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 7f23527168a33b92d823f76765edfe00abe0e4f6..0f76496471c50d5f18cedc735e667265e6c27422 100644 +index bb36bb6e98d36d407fc0ed8e9562feffb45f3f97..51e7c662f2d56c1a99818497315e75d661494145 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,9 @@ diff --git a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch index eba56ef2d0..8fdb4dc523 100644 --- a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -522,7 +522,7 @@ index e9cbbdf310e48011ee538c5592baee2535965fee..dbedaf6a92681bc32d74f067cd4686c8 * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0f76496471c50d5f18cedc735e667265e6c27422..0ed7a7db90856ff50ed1354f9914c0cc321d2d09 100644 +index 51e7c662f2d56c1a99818497315e75d661494145..1c7cdfe7a20500be8347a848e424e7409f73263c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2776,7 +2776,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0114-Expand-Explosions-API.patch b/patches/api/0114-Expand-Explosions-API.patch index 70125de15c..f76cc573ed 100644 --- a/patches/api/0114-Expand-Explosions-API.patch +++ b/patches/api/0114-Expand-Explosions-API.patch @@ -108,7 +108,7 @@ index 6693e3d8dc2519facb12db981a6b6325faa095bf..b7ff09ffdd3aecc1843d175bc76fe5fa * Returns a list of entities within a bounding box centered around a Location. * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0ed7a7db90856ff50ed1354f9914c0cc321d2d09..fa192be9916ccd0a443281c104637ba09cde7755 100644 +index 1c7cdfe7a20500be8347a848e424e7409f73263c..e551347c8db9a89e8e450d39accb37f3ee4589ee 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1391,6 +1391,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0118-Add-World.getEntity-UUID-API.patch b/patches/api/0118-Add-World.getEntity-UUID-API.patch index 0d32971133..17eb778f1d 100644 --- a/patches/api/0118-Add-World.getEntity-UUID-API.patch +++ b/patches/api/0118-Add-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fa192be9916ccd0a443281c104637ba09cde7755..e9af7ce218e44940cd074cc0d511268284e312ef 100644 +index e551347c8db9a89e8e450d39accb37f3ee4589ee..6ed9d86683947a9b529b8ec0f8d88a7924742585 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -911,6 +911,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch index e52b957a42..ad788a3ccc 100644 --- a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch +++ b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch @@ -44,7 +44,7 @@ index efbfed855248cff8b4bdbfc181d3e82058df4749..766d643f0fe79660942fdad25e39e488 * Gets the world containing this chunk * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e9af7ce218e44940cd074cc0d511268284e312ef..159307600747c49948c5242d6cf39eed08c902e7 100644 +index 6ed9d86683947a9b529b8ec0f8d88a7924742585..7f104d2c94d1de3eb003e412c35b5324beeada33 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -179,6 +179,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 404eb3b27c..69f2642e46 100644 --- a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -50,7 +50,7 @@ index aa6821aa33d3c579a139bd7c0378253c43b3754a..6e6e65c40813ccce618fa7a3df2c0030 * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 159307600747c49948c5242d6cf39eed08c902e7..e83de41cbaf0e5a68ce0d5ad2b5ec10877ec4055 100644 +index 7f104d2c94d1de3eb003e412c35b5324beeada33..762be36670b12286876917b9fbf64ca5bddf6c2e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -96,6 +96,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0140-isChunkGenerated-API.patch b/patches/api/0140-isChunkGenerated-API.patch index 8a28a246dd..444315854d 100644 --- a/patches/api/0140-isChunkGenerated-API.patch +++ b/patches/api/0140-isChunkGenerated-API.patch @@ -34,7 +34,7 @@ index 6e6e65c40813ccce618fa7a3df2c0030aa0a3bbe..8508aa2c6fb7c9f41f3d185f5228c86d /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e83de41cbaf0e5a68ce0d5ad2b5ec10877ec4055..c63a660f2deade66fffad9036ce7c7c693bf0207 100644 +index 762be36670b12286876917b9fbf64ca5bddf6c2e..ca1a4e9bd912258185d59ff70de1e7cc5e43d436 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -245,6 +245,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0142-Async-Chunks-API.patch b/patches/api/0142-Async-Chunks-API.patch index 37c551e441..c73cbeac5c 100644 --- a/patches/api/0142-Async-Chunks-API.patch +++ b/patches/api/0142-Async-Chunks-API.patch @@ -8,7 +8,7 @@ Adds API's to load or generate chunks asynchronously. Also adds utility methods to Entity to teleport asynchronously. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c63a660f2deade66fffad9036ce7c7c693bf0207..67d14468703e0445afccdbd8de8028fb21b90d2d 100644 +index ca1a4e9bd912258185d59ff70de1e7cc5e43d436..ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -954,6 +954,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch index 6b7874324c..c2cf84e74b 100644 --- a/patches/api/0152-Material-API-additions.patch +++ b/patches/api/0152-Material-API-additions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index f52c0e25e75e890046339d605c0abf79d82864f2..64d01ce77966e895ec494719a4398577be1097a1 100644 +index 0b6c1065751b4315b30f9710a18bbcd5620ef97c..1e7b4cdad22f1679f1ea0f4bc9a90839c214331b 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -118,6 +118,7 @@ import org.jetbrains.annotations.Nullable; @@ -16,7 +16,7 @@ index f52c0e25e75e890046339d605c0abf79d82864f2..64d01ce77966e895ec494719a4398577 public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4435,6 +4436,22 @@ public enum Material implements Keyed, Translatable { +@@ -4438,6 +4439,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0156-Add-sun-related-API.patch b/patches/api/0156-Add-sun-related-API.patch index 08356bec3c..61fed8f28d 100644 --- a/patches/api/0156-Add-sun-related-API.patch +++ b/patches/api/0156-Add-sun-related-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 67d14468703e0445afccdbd8de8028fb21b90d2d..c6019065869130608ac97af951c7036031eec242 100644 +index ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48..be5baaf499cc76dd737d6203570e3d431c18afcf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1781,6 +1781,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index a49f4cbc50..8e7eaff3db 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -90,10 +90,10 @@ index 8508aa2c6fb7c9f41f3d185f5228c86dd3b8b627..f7564581c18425c903e54f949728dd37 if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 64d01ce77966e895ec494719a4398577be1097a1..7705fece7f58bd66f7d68da85f8f34e43b4bae12 100644 +index 1e7b4cdad22f1679f1ea0f4bc9a90839c214331b..10d7827e7d60ecc733358093c0369cfb8a174c6d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4465,11 +4465,11 @@ public enum Material implements Keyed, Translatable { +@@ -4468,11 +4468,11 @@ public enum Material implements Keyed, Translatable { } /** @@ -107,7 +107,7 @@ index 64d01ce77966e895ec494719a4398577be1097a1..7705fece7f58bd66f7d68da85f8f34e4 public boolean isLegacy() { return legacy; } -@@ -4540,8 +4540,10 @@ public enum Material implements Keyed, Translatable { +@@ -4543,8 +4543,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -282,7 +282,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114 return origin; } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c6019065869130608ac97af951c7036031eec242..fe8f167871563e594cd48892e4d8768ebca92958 100644 +index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7fd851ed91 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -415,9 +415,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0175-Add-Heightmap-API.patch b/patches/api/0175-Add-Heightmap-API.patch index ef71c8c2fe..5b38d5f8b0 100644 --- a/patches/api/0175-Add-Heightmap-API.patch +++ b/patches/api/0175-Add-Heightmap-API.patch @@ -102,7 +102,7 @@ index f7564581c18425c903e54f949728dd3742ca7bf2..1bfe465b9aaeea7d3c871140145b7de1 /** * Creates explosion at this location with given power diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fe8f167871563e594cd48892e4d8768ebca92958..06cdbbeabf1f1630a2d2e008fa82e72b0745cdd8 100644 +index c748679337989a7b4e2a39e542268b7fd851ed91..e9423c88ccc35a7c32e1dca970faf0ec452fcbba 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -150,6 +150,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0197-Spawn-Reason-API.patch b/patches/api/0197-Spawn-Reason-API.patch index dbde82e3ba..ff79247e98 100644 --- a/patches/api/0197-Spawn-Reason-API.patch +++ b/patches/api/0197-Spawn-Reason-API.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Spawn Reason API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 05c29cbd2ae1ca0434a90f8389479bd608ca2ac1..66bc6da2a482bb207ec50beb22fd62aeda90cc34 100644 +index 7c2b1eff41dd43fda84d84e76c05bbbf37c186b8..bc70f4f5b82ce5b92ab0b2612c8fb8126ed1a8c2 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java -@@ -10,6 +10,7 @@ import org.bukkit.block.data.BlockData; +@@ -11,6 +11,7 @@ import org.bukkit.block.data.BlockData; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; +import org.bukkit.event.entity.CreatureSpawnEvent; - import org.bukkit.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; + @@ -309,7 +310,34 @@ public interface RegionAccessor { * {@link Entity} requested cannot be spawned */ diff --git a/patches/api/0208-Add-moon-phase-API.patch b/patches/api/0208-Add-moon-phase-API.patch index 68b36e3b64..0b33cb35ed 100644 --- a/patches/api/0208-Add-moon-phase-API.patch +++ b/patches/api/0208-Add-moon-phase-API.patch @@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..df05153397b42930cd53d37b30824c7e + } +} diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 66bc6da2a482bb207ec50beb22fd62aeda90cc34..501dd5a26c27294420821b3d75f8938596afb1a8 100644 +index bc70f4f5b82ce5b92ab0b2612c8fb8126ed1a8c2..f587a529e4d7b097b3f204a34c636da0bbac6747 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -421,4 +421,12 @@ public interface RegionAccessor { diff --git a/patches/api/0211-Add-methods-to-get-translation-keys.patch b/patches/api/0211-Add-methods-to-get-translation-keys.patch index 1b8583d55a..a66be1c840 100644 --- a/patches/api/0211-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0211-Add-methods-to-get-translation-keys.patch @@ -144,7 +144,7 @@ index 9443baf6de101a6d9af421314c013d8954798881..8108d6a82879e02384b83ab3f26b140e + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb564e1045 100644 +index 10d7827e7d60ecc733358093c0369cfb8a174c6d..e47f113f1c38598ac8b95b631d0a53ca0c1f6d2c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -119,7 +119,7 @@ import org.jetbrains.annotations.Nullable; @@ -156,7 +156,7 @@ index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb // AIR(9648, 0), STONE(22948), -@@ -4450,6 +4450,15 @@ public enum Material implements Keyed, Translatable { +@@ -4453,6 +4453,15 @@ public enum Material implements Keyed, Translatable { } return false; } @@ -172,7 +172,7 @@ index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb // Paper end /** -@@ -10949,9 +10958,11 @@ public enum Material implements Keyed, Translatable { +@@ -10952,9 +10961,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() diff --git a/patches/api/0259-Cache-the-result-of-Material-isBlock.patch b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch index 49dab657f2..962106d990 100644 --- a/patches/api/0259-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabbc3d211df 100644 +index e47f113f1c38598ac8b95b631d0a53ca0c1f6d2c..87b2cfd26d42c4f94f8571a514ef8f09febd6d56 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4394,6 +4394,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4397,6 +4397,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabb private Material(final int id) { this(id, 64); -@@ -4592,6 +4593,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4595,6 +4596,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabb switch (this) { // case ACACIA_BUTTON: -@@ -5778,6 +5784,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5781,6 +5787,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0264-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch index 917573761a..d0f45acac2 100644 --- a/patches/api/0264-Expand-world-key-API.patch +++ b/patches/api/0264-Expand-world-key-API.patch @@ -28,7 +28,7 @@ index 2acb1e1e7a865596d0a0535717bc9d5dd49669c3..369fc041f3203da7d367423ac74cb3eb /** * Create a new virtual {@link WorldBorder}. diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 501dd5a26c27294420821b3d75f8938596afb1a8..71ef9b479888aa83455757560b60745572c7196d 100644 +index f587a529e4d7b097b3f204a34c636da0bbac6747..58b81f30f9e29ab481ae96c7eea40ad976a4b192 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0265-Item-Rarity-API.patch b/patches/api/0265-Item-Rarity-API.patch index 5c25c66d65..924eadf1c9 100644 --- a/patches/api/0265-Item-Rarity-API.patch +++ b/patches/api/0265-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 37898f36f859eda945471fa9b00fcabbc3d211df..85d19b0c659c75472aa91d18fdf17f25bd6a2e04 100644 +index 87b2cfd26d42c4f94f8571a514ef8f09febd6d56..de709541754ce47aed82025e45311b6162b8c629 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4460,6 +4460,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4463,6 +4463,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return Bukkit.getUnsafe().getBlockTranslationKey(this); } } diff --git a/patches/api/0271-More-World-API.patch b/patches/api/0271-More-World-API.patch index b57e26992a..506f8c3a37 100644 --- a/patches/api/0271-More-World-API.patch +++ b/patches/api/0271-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 06cdbbeabf1f1630a2d2e008fa82e72b0745cdd8..e6978b0257744ad13fce1291b4793334132f79e1 100644 +index e9423c88ccc35a7c32e1dca970faf0ec452fcbba..b7a2ef57ed089ca750693a413c57bc80048b5608 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -3716,6 +3716,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0289-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch index abd3dd1e69..0955ff42ff 100644 --- a/patches/api/0289-Attributes-API-for-item-defaults.patch +++ b/patches/api/0289-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 85d19b0c659c75472aa91d18fdf17f25bd6a2e04..5fe8207fd9b76564b0547eec5e3db2b7abed0150 100644 +index de709541754ce47aed82025e45311b6162b8c629..8fea0f3f6dfa0634405ed2e4c2941beb616a0efc 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4471,6 +4471,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4474,6 +4474,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/api/0296-Add-more-line-of-sight-methods.patch b/patches/api/0296-Add-more-line-of-sight-methods.patch index 8bcc72f6a5..2751664e0f 100644 --- a/patches/api/0296-Add-more-line-of-sight-methods.patch +++ b/patches/api/0296-Add-more-line-of-sight-methods.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more line of sight methods diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 71ef9b479888aa83455757560b60745572c7196d..cd83348de3f82b3fddcf2d4bb9187ec8173b0e40 100644 +index 58b81f30f9e29ab481ae96c7eea40ad976a4b192..63503cf17847a85264c930a9fc23a5aab5955c3c 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -437,5 +437,13 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch index bac14a0f54..1d35dc1e92 100644 --- a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add methods to find targets for lightning strikes diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e6978b0257744ad13fce1291b4793334132f79e1..d0c125c6120c2cefb5a3004a60bfd4a353c05e32 100644 +index b7a2ef57ed089ca750693a413c57bc80048b5608..6ee336e9cda8b740aa3984b115797cd9333e012f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -734,6 +734,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch index 2ab6b106da..293a34acde 100644 --- a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 5fe8207fd9b76564b0547eec5e3db2b7abed0150..03b47012447430a350e152920f754d993d4023db 100644 +index 8fea0f3f6dfa0634405ed2e4c2941beb616a0efc..8a948a61d0bdb06b0b9a6eac8a27baeb35a7d36c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4486,6 +4486,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4489,6 +4489,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } diff --git a/patches/api/0346-Implement-regenerateChunk.patch b/patches/api/0346-Implement-regenerateChunk.patch index ab1b374a27..4f03973925 100644 --- a/patches/api/0346-Implement-regenerateChunk.patch +++ b/patches/api/0346-Implement-regenerateChunk.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement regenerateChunk diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d0c125c6120c2cefb5a3004a60bfd4a353c05e32..b8b97df069b28fa3cf32f1ad1f01f586a0cfbc78 100644 +index 6ee336e9cda8b740aa3984b115797cd9333e012f..da524a71af74b02515b037f7fe09ba6988e2c8bf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -483,8 +483,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0354-Add-getComputedBiome-API.patch b/patches/api/0354-Add-getComputedBiome-API.patch index 57f92d79f7..d1866ce241 100644 --- a/patches/api/0354-Add-getComputedBiome-API.patch +++ b/patches/api/0354-Add-getComputedBiome-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add getComputedBiome API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index cd83348de3f82b3fddcf2d4bb9187ec8173b0e40..8f50eb9b902236f5e039f5d26f3ca9a044b01a75 100644 +index 63503cf17847a85264c930a9fc23a5aab5955c3c..93e20ca14a2b7e5817fab788b6dfa73c6ced6acb 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -26,6 +26,7 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/api/0372-Collision-API.patch b/patches/api/0372-Collision-API.patch index 24bcebc503..058669aa74 100644 --- a/patches/api/0372-Collision-API.patch +++ b/patches/api/0372-Collision-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 8f50eb9b902236f5e039f5d26f3ca9a044b01a75..0d9184abd7090a5123a990f76847ee9b8971f735 100644 +index 93e20ca14a2b7e5817fab788b6dfa73c6ced6acb..cbb51dde78f792db4ddac43f144d23ff4b12d25f 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -469,5 +469,15 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index ed22ba4350..0131e45bdb 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -172,10 +172,10 @@ index 0000000000000000000000000000000000000000..91a5d6e9775010336da28ed6e2f6654b +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..0000000000000000000000000000000000000000 +index f71302bc9a652ece0f80ca3e1f00cff46ed50619..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,587 +0,0 @@ +@@ -1,590 +0,0 @@ - - 4.0.0 @@ -579,7 +579,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - net.md-5 - specialsource-maven-plugin -- 1.2.4 +- 2.0.0 - - - package @@ -588,6 +588,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-members - +- false - ${project.build.directory}/server.txt - org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot-members - true @@ -737,6 +738,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-obf - +- false - org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot - true - true @@ -750,6 +752,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-mojang - +- false - ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar - org.spigotmc:minecraft-server:${project.version}:txt:maps-mojang - true diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 1020ccc757..947a0ecbba 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -4720,10 +4720,10 @@ index cda55e481ddbcc1de5478125c5db20ebba168e7d..bacd4d875642cd93c3185f788745dd73 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f4a2fbf89320df88e99b20a56b4feeba7e395dd2..cbfc9b90805ecce074d42cfeb0b68d84cdafcac6 100644 +index 671095a9fb124cc496700e680bab1ef118a7fb5b..2d5627f5dc48c0d51464452907b50bbeb069e67c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -919,6 +919,7 @@ public final class CraftServer implements Server { +@@ -918,6 +918,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 91e27248d7..fcc0b2c21a 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -68,10 +68,10 @@ index 161ad6ab1443b2ce33a2d7d91d189c855db0453b..15a9736a870055d639d03063c7cf67fd this.registryAccess = registryManager; this.structureTemplateManager = structureTemplateManager; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cbfc9b90805ecce074d42cfeb0b68d84cdafcac6..35f0be0afad8f88f69c3127d1bd44bb0e12af550 100644 +index 2d5627f5dc48c0d51464452907b50bbeb069e67c..f890e0e8ae52965f671fe82911b006a61a33a86b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2360,7 +2360,13 @@ public final class CraftServer implements Server { +@@ -2359,7 +2359,13 @@ public final class CraftServer implements Server { Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); LootDataManager registry = this.getServer().getLootData(); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index f0b6f2ba5b..f3af21405f 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -7395,7 +7395,7 @@ index 25156be63f91a1c41ef41154f675d04eb97459a8..47bab513feec217d875192afef61f3af return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8adac67a9315186d1ef453eae827ea7f69856f7a..153143b06fc088f3142a8fa17f153d8a344169d8 100644 +index 29bd4879ef94bcfea879fac49dea22eba4af8251..f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -242,8 +242,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -7452,10 +7452,10 @@ index 8adac67a9315186d1ef453eae827ea7f69856f7a..153143b06fc088f3142a8fa17f153d8a + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 32adc1cee4dfe49a9a0009ab39382083001e6cbe..74f431e806a4c5abb7ddd193c1b5f7ba7f321cac 100644 +index b3d1452831db0d7e9765e8e3d437db449bd0010f..4c4d92f934b6463ea7dd88bf5bd664f364742360 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1186,4 +1186,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1185,4 +1185,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.spigot; } // Spigot end @@ -7737,11 +7737,11 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d2942ef34c6d68d57caec9f1209c2dcdd277c36d..35d2a206d4a36292c16e29247c950c2a69af2879 100644 +index b5506411a893e5eccfb83ab58d718753338b490a..bf6e87116df29a99d7aad3250e8e59d2d957159b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -105,8 +105,17 @@ public final class CraftMagicNumbers implements UnsafeValues { - private static final BiMap FLUIDTYPE_FLUID = HashBiMap.create(); +@@ -99,8 +99,17 @@ public final class CraftMagicNumbers implements UnsafeValues { + private static final Map ITEM_MATERIAL = new HashMap<>(); private static final Map MATERIAL_ITEM = new HashMap<>(); private static final Map MATERIAL_BLOCK = new HashMap<>(); + // Paper start @@ -7758,7 +7758,7 @@ index d2942ef34c6d68d57caec9f1209c2dcdd277c36d..35d2a206d4a36292c16e29247c950c2a for (Block block : BuiltInRegistries.BLOCK) { BLOCK_MATERIAL.put(block, Material.getMaterial(BuiltInRegistries.BLOCK.getKey(block).getPath().toUpperCase(Locale.ROOT))); } -@@ -170,6 +179,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -151,6 +160,14 @@ public final class CraftMagicNumbers implements UnsafeValues { public static ResourceLocation key(Material mat) { return CraftNamespacedKey.toMinecraft(mat.getKey()); } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index c7e93c23bc..597a5b5eb2 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2866,10 +2866,10 @@ 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 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e0847637f9a 100644 +index f890e0e8ae52965f671fe82911b006a61a33a86b..e04b981e990efc6402978a329dee8024440b48fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -617,8 +617,10 @@ public final class CraftServer implements Server { +@@ -616,8 +616,10 @@ public final class CraftServer implements Server { } @Override @@ -2880,7 +2880,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 } @Override -@@ -1474,7 +1476,15 @@ public final class CraftServer implements Server { +@@ -1473,7 +1475,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -2896,7 +2896,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1642,7 +1652,20 @@ public final class CraftServer implements Server { +@@ -1641,7 +1651,20 @@ public final class CraftServer implements Server { } @Override @@ -2917,7 +2917,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1650,14 +1673,14 @@ public final class CraftServer implements Server { +@@ -1649,14 +1672,14 @@ public final class CraftServer implements Server { } } @@ -2934,7 +2934,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1920,6 +1943,14 @@ public final class CraftServer implements Server { +@@ -1919,6 +1942,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -2949,7 +2949,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Preconditions.checkArgument(type != null, "InventoryType cannot be null"); -@@ -1934,13 +1965,28 @@ public final class CraftServer implements Server { +@@ -1933,13 +1964,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -2978,7 +2978,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -2005,6 +2051,17 @@ public final class CraftServer implements Server { +@@ -2004,6 +2050,17 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -2996,7 +2996,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 @Override public String getMotd() { return this.console.getMotd(); -@@ -2439,4 +2496,53 @@ public final class CraftServer implements Server { +@@ -2438,4 +2495,53 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -3051,7 +3051,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 153143b06fc088f3142a8fa17f153d8a344169d8..d01388bbadf3069357cf52463f4104a1be4d2b56 100644 +index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568f49a944f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -152,6 +152,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -3527,7 +3527,7 @@ index f6c614bb1184f9c79121f64a2a030bf3f094b671..e8334e2264510f5101e80b4f130e7ae1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b60f6e72cf 100644 +index 4c4d92f934b6463ea7dd88bf5bd664f364742360..c888dce92fa4c26bbbeba7eab299841b01732e6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -206,6 +206,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -3538,7 +3538,7 @@ index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b6 public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -864,6 +865,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -863,6 +864,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -3571,7 +3571,7 @@ index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b6 @Override public void setCustomName(String name) { // sane limit for name length -@@ -943,6 +970,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -942,6 +969,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public String getName() { return CraftChatMessage.fromComponent(this.getHandle().getName()); } @@ -3642,7 +3642,7 @@ index 10fa80df3ae2406f34af669f89d087b15ad1d71b..66fb6aeb49b7e93d2a4d9b5ce7f1a7d6 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 0c4371fba7e770050182b3cff429bdbfe778e8f6..5b3749feed210da7f62deab5672a40ec396eedc8 100644 +index 2423c838777d99ff34bbde2e791105b3a00c7810..c6e13e9c688eb48518e7b5255521310c17ea452c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -296,14 +296,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -4137,7 +4137,7 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364 @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 44f38eab4a6460dd34a1ce33528bfb6e3f42da8b..8e1bb9d86ec12240b00ee118a88ebe4dec4e6329 100644 +index 23e7924320a9061cfb9769ed09c5e679ef4cff47..52a5f1a6585abe42018e8758c5ac462bfb0fe1d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -879,9 +879,9 @@ public class CraftEventFactory { @@ -4284,7 +4284,7 @@ index 4dd9a80af9901287ab6740b072f2b89678c3d0cb..b2586684295b295a3196a2a9cf724cec public String getTitle() { return this.title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 87f57266d4cb3a89a38cf7871e5872d29f6d15b9..45872e28cabc655c170bee163d471acf5d913c00 100644 +index d1126215e14e7594f82c75188ca459c59eba3d0b..2fa36de5d43e2c395e0db2017bd994a62a5b2feb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -456,4 +456,17 @@ public final class CraftItemFactory implements ItemFactory { @@ -4562,10 +4562,10 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..5c6eb9b6f3ca4fc6534fe023fe78be5c + // 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 03e5058810553be884c87f9f7b793cb5fadb7284..44244166ec4e8ac070404101219efbc0e5f1d168 100644 +index 7c33d3d0e55f63b82df30de2e243c42f127272cf..ed81ad09313730173cc5d5617d67da4ae2bf3e78 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -749,6 +749,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isUnbreakable() || this.hasDamage() || this.hasAttributeModifiers()); } @@ -4584,7 +4584,7 @@ index 03e5058810553be884c87f9f7b793cb5fadb7284..44244166ec4e8ac070404101219efbc0 @Override public String getDisplayName() { return CraftChatMessage.fromJSONComponent(displayName); -@@ -784,6 +796,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -785,6 +797,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } @@ -4908,10 +4908,10 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 35d2a206d4a36292c16e29247c950c2a69af2879..83ccadcc7139054e1ba3e1c1f0bf23c67c3c97c8 100644 +index bf6e87116df29a99d7aad3250e8e59d2d957159b..c72179ff4eb4b2b479da302f648eff85a6345f34 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -75,6 +75,43 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -70,6 +70,43 @@ public final class CraftMagicNumbers implements UnsafeValues { private CraftMagicNumbers() {} diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch index 4295e59b6e..3dbfd86f8f 100644 --- a/patches/server/0011-Paper-command.patch +++ b/patches/server/0011-Paper-command.patch @@ -617,10 +617,10 @@ index a9ec28c3cf3ed50d929c80ac21959d82603ff0aa..95a4bcd09f3a9d462ff4c92431c07e3d this.setPvpAllowed(dedicatedserverproperties.pvp); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4bdc0ef703b31763f879e7de7da60e0847637f9a..5e08b8368d81153cf22ef9ae605fe5250464a283 100644 +index e04b981e990efc6402978a329dee8024440b48fa..f75e17f3b475fcdaa2aa83829df647a09b863071 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -943,6 +943,7 @@ public final class CraftServer implements Server { +@@ -942,6 +942,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -628,7 +628,7 @@ index 4bdc0ef703b31763f879e7de7da60e0847637f9a..5e08b8368d81153cf22ef9ae605fe525 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2536,6 +2537,34 @@ public final class CraftServer implements Server { +@@ -2535,6 +2536,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch index 3faa3b746d..ea7364f159 100644 --- a/patches/server/0013-Paper-Plugins.patch +++ b/patches/server/0013-Paper-Plugins.patch @@ -6994,10 +6994,10 @@ index 9cfdd5d8c1650d9c9bdfbc07980239e507ff942d..ae0b713870976d4b1e469a90cef9b2e2 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 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf20633ed7 100644 +index f75e17f3b475fcdaa2aa83829df647a09b863071..bf4a82c183ad0aa148c6c14615d2d2606a8befb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -275,7 +275,8 @@ public final class CraftServer implements Server { +@@ -274,7 +274,8 @@ public final class CraftServer implements Server { private final CraftCommandMap commandMap = new CraftCommandMap(this); private final SimpleHelpMap helpMap = new SimpleHelpMap(this); private final StandardMessenger messenger = new StandardMessenger(); @@ -7007,7 +7007,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf private final StructureManager structureManager; protected final DedicatedServer console; protected final DedicatedPlayerList playerList; -@@ -427,24 +428,7 @@ public final class CraftServer implements Server { +@@ -426,24 +427,7 @@ public final class CraftServer implements Server { } public void loadPlugins() { @@ -7033,7 +7033,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf } public void enablePlugins(PluginLoadOrder type) { -@@ -533,15 +517,17 @@ public final class CraftServer implements Server { +@@ -532,15 +516,17 @@ public final class CraftServer implements Server { private void enablePlugin(Plugin plugin) { try { List perms = plugin.getDescription().getPermissions(); @@ -7057,7 +7057,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf this.pluginManager.enablePlugin(plugin); } catch (Throwable ex) { -@@ -967,6 +953,7 @@ public final class CraftServer implements Server { +@@ -966,6 +952,7 @@ public final class CraftServer implements Server { "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); } @@ -7083,10 +7083,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7 @Override public FileConfiguration getConfig() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 83ccadcc7139054e1ba3e1c1f0bf23c67c3c97c8..7546538312dbbd36e014677dce843433cb25d2a9 100644 +index c72179ff4eb4b2b479da302f648eff85a6345f34..9e08622fbee6d1e4f5b320a6d9780a8b88f34457 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -438,6 +438,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -419,6 +419,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index fa5f839e0b..8fcfb50cdf 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -1636,10 +1636,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8c32ad9cbbe8bc9693493eee97834aaf20633ed7..71a0bad7402ec1ba48dcecb875fcad294af0f70e 100644 +index bf4a82c183ad0aa148c6c14615d2d2606a8befb3..319be97869dcc8fb1baed483633612bae17a491a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -377,7 +377,7 @@ public final class CraftServer implements Server { +@@ -376,7 +376,7 @@ public final class CraftServer implements Server { this.saveCommandsConfig(); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); @@ -1648,7 +1648,7 @@ index 8c32ad9cbbe8bc9693493eee97834aaf20633ed7..71a0bad7402ec1ba48dcecb875fcad29 this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); -@@ -2453,12 +2453,31 @@ public final class CraftServer implements Server { +@@ -2452,12 +2452,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1850,7 +1850,7 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5b3749feed210da7f62deab5672a40ec396eedc8..aa8ec0a92c8bca78088a2b30f571587823dd79bb 100644 +index c6e13e9c688eb48518e7b5255521310c17ea452c..ed17c517db079920e3bd11753ebdcb40b7054b43 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2566,6 +2566,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2050,10 +2050,10 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222 + } // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 7546538312dbbd36e014677dce843433cb25d2a9..a638d67f9ab67c6564b3c44c6971d98995bdb203 100644 +index 9e08622fbee6d1e4f5b320a6d9780a8b88f34457..1ea2d4a1b378694120d599f52cc07922831f5a65 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -225,6 +225,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -206,6 +206,12 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end // ======================================================================== @@ -2066,7 +2066,7 @@ index 7546538312dbbd36e014677dce843433cb25d2a9..a638d67f9ab67c6564b3c44c6971d989 public static byte toLegacyData(BlockState data) { return CraftLegacy.toLegacyData(data); -@@ -451,6 +457,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -432,6 +438,13 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftFeatureFlag.getFromNMS(namespacedKey); } diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch index 50757905e1..0a009c7e9a 100644 --- a/patches/server/0018-Rewrite-chunk-system.patch +++ b/patches/server/0018-Rewrite-chunk-system.patch @@ -22766,10 +22766,10 @@ index 9f6c2e5b5d9e8d714a47c770e255d06c0ef7c190..ac807277a6b26d140ea9873d17c7aa4f for(SavedTick savedTick : this.pendingTicks) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b99585e9a1ef1 100644 +index 762d37ab5a98b19514c8ec38cb3f2ecdf1e5ba8e..4efdde5f48f50db57fdd70f84bf36a768e2601ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -111,7 +111,7 @@ public class CraftChunk implements Chunk { +@@ -112,7 +112,7 @@ public class CraftChunk implements Chunk { @Override public boolean isEntitiesLoaded() { @@ -22778,7 +22778,7 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958 } @Override -@@ -120,51 +120,7 @@ public class CraftChunk implements Chunk { +@@ -121,51 +121,7 @@ public class CraftChunk implements Chunk { this.getWorld().getChunkAt(x, z); // Transient load for this tick } @@ -22832,10 +22832,10 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4def12ee90 100644 +index 319be97869dcc8fb1baed483633612bae17a491a..8377270a5daa3257cd9799e242fe8894a6d22c5c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1161,7 +1161,7 @@ public final class CraftServer implements Server { +@@ -1160,7 +1160,7 @@ public final class CraftServer implements Server { this.console.addLevel(internal); this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal); @@ -22844,7 +22844,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld())); return internal.getWorld(); -@@ -1205,7 +1205,7 @@ public final class CraftServer implements Server { +@@ -1204,7 +1204,7 @@ public final class CraftServer implements Server { } handle.getChunkSource().close(save); @@ -22853,7 +22853,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d handle.convertable.close(); } catch (Exception ex) { this.getLogger().log(Level.SEVERE, null, ex); -@@ -2036,7 +2036,7 @@ public final class CraftServer implements Server { +@@ -2035,7 +2035,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { @@ -22863,7 +22863,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d // Paper start - Adventure diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d01388bbadf3069357cf52463f4104a1be4d2b56..f4f94185cf699582737aecee1d3623c7857fbbb5 100644 +index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0bbc72401 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -322,10 +322,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -22982,7 +22982,7 @@ index d01388bbadf3069357cf52463f4104a1be4d2b56..f4f94185cf699582737aecee1d3623c7 // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index aa8ec0a92c8bca78088a2b30f571587823dd79bb..0c716967f19783e8e02c777835b63ed8126a80d9 100644 +index ed17c517db079920e3bd11753ebdcb40b7054b43..efd64bfd21a277eb775877382f3f50f86699d8bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -197,6 +197,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -23035,7 +23035,7 @@ index aa8ec0a92c8bca78088a2b30f571587823dd79bb..0c716967f19783e8e02c777835b63ed8 return this.getHandle().getGameProfile(); } diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -index 02173e8d859d6731836239e0d2dff2be4680e7d1..c3972ba41ad61af4c423e6f942ac984dc61716f0 100644 +index 20592dc147f4f0b84928dabcfa349622f1de691c..d46ccc3b3aaacf937631a44a7e0f91b793a83c86 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -265,7 +265,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator { diff --git a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch index e546480117..f2cc631154 100644 --- a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e0b8aa7f17d98d7b686faf5422db4b4def12ee90..c3d5a05d847ee7d32cfb227b3445a92762df31d0 100644 +index 8377270a5daa3257cd9799e242fe8894a6d22c5c..d1b6c5689e036285515f74263d6b6bc7c32af108 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -431,6 +431,35 @@ public final class CraftServer implements Server { +@@ -430,6 +430,35 @@ public final class CraftServer implements Server { io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation } diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index bf3d04ec74..5545cdd868 100644 --- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,10 +19,10 @@ index 151259cc254d4e796e6af810e37eaa30b832daa3..ce626187e7ffda51a54225fa6e43b817 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c3d5a05d847ee7d32cfb227b3445a92762df31d0..30c0dd03f56a627e1c2516edf538193f4a0df588 100644 +index d1b6c5689e036285515f74263d6b6bc7c32af108..4327b8da53f2417ef3dabd221e0caf792c55dd6e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -266,7 +266,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -265,7 +265,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot public final class CraftServer implements Server { diff --git a/patches/server/0028-Implement-Paper-VersionChecker.patch b/patches/server/0028-Implement-Paper-VersionChecker.patch index ae232d3ec8..b266d8791a 100644 --- a/patches/server/0028-Implement-Paper-VersionChecker.patch +++ b/patches/server/0028-Implement-Paper-VersionChecker.patch @@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..22a55be34fde453fedd987173d95b8b3 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a638d67f9ab67c6564b3c44c6971d98995bdb203..6f2b9d0d2cc8b18d74b59bf77fec394d14211a24 100644 +index 1ea2d4a1b378694120d599f52cc07922831f5a65..e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -462,6 +462,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -443,6 +443,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getTimingsServerName() { return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName; } diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch index a7faf3c124..3f978a87b2 100644 --- a/patches/server/0030-Player-affects-spawning-API.patch +++ b/patches/server/0030-Player-affects-spawning-API.patch @@ -137,7 +137,7 @@ index 2ec2b1d9d987c7f31c685aec3d3c87f42758c94b..36d793b492d9776ee36f8285b5bab09e 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 0c716967f19783e8e02c777835b63ed8126a80d9..ce81d9c7e5acea4c045321e82d190aa7be87848b 100644 +index efd64bfd21a277eb775877382f3f50f86699d8bc..d2ef107e00995008f3433009d0b22621b4f92f12 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2247,6 +2247,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0031-Further-improve-server-tick-loop.patch b/patches/server/0031-Further-improve-server-tick-loop.patch index eb08edc741..cf7b10b32e 100644 --- a/patches/server/0031-Further-improve-server-tick-loop.patch +++ b/patches/server/0031-Further-improve-server-tick-loop.patch @@ -145,10 +145,10 @@ index ce626187e7ffda51a54225fa6e43b817c6c19db8..086be61bfc8a43076b502bbf00e9f2d2 this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 30c0dd03f56a627e1c2516edf538193f4a0df588..9d70513d05515f6ff3f03b5580bd48f127d73ca1 100644 +index 4327b8da53f2417ef3dabd221e0caf792c55dd6e..97801c6b11df3b80ad80d7e6fd03d769c400b417 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2478,6 +2478,17 @@ public final class CraftServer implements Server { +@@ -2477,6 +2477,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0032-Only-refresh-abilities-if-needed.patch b/patches/server/0032-Only-refresh-abilities-if-needed.patch index 8418c55511..aa0076b560 100644 --- a/patches/server/0032-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0032-Only-refresh-abilities-if-needed.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ce81d9c7e5acea4c045321e82d190aa7be87848b..248b424939740e1d9208398c2c649efce0c99cf9 100644 +index d2ef107e00995008f3433009d0b22621b4f92f12..b3278a5f44dbbca937c499a2f3ae852052911d7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1920,12 +1920,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0033-Entity-Origin-API.patch b/patches/server/0033-Entity-Origin-API.patch index bcc8c0f7ae..39662b5838 100644 --- a/patches/server/0033-Entity-Origin-API.patch +++ b/patches/server/0033-Entity-Origin-API.patch @@ -132,10 +132,10 @@ index 415b8822f0dfb14d49bccb2a10ac04025891ddf7..89fd5d6b373d2705dccc2f22663048f4 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2a20ebeeb6156ff74a52e8e0168de6b60f6e72cf..9b4e28353892240debc2d2d48876c5640d479ae9 100644 +index c888dce92fa4c26bbbeba7eab299841b01732e6b..38ef3c68cb8581c4f069362d1fc1d5d2b5171ba9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1256,5 +1256,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1255,5 +1255,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return ret; } diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch index 37c8b1d7e6..0563c92b71 100644 --- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch @@ -39,7 +39,7 @@ index 10a99aff9632db578d19683675ba12242ae6970b..77668e9534f6d68755020cbae09aae5d // 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 248b424939740e1d9208398c2c649efce0c99cf9..b8fc211d72e860c85ca39b03574db3a7b18e369f 100644 +index b3278a5f44dbbca937c499a2f3ae852052911d7b..ca8c713342c7e217c8bbcd2c92309ad188f7dd27 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2245,7 +2245,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0048-Use-UserCache-for-player-heads.patch b/patches/server/0048-Use-UserCache-for-player-heads.patch index d4024986af..d6c1026d3b 100644 --- a/patches/server/0048-Use-UserCache-for-player-heads.patch +++ b/patches/server/0048-Use-UserCache-for-player-heads.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 0a6003248178d239c8b9a81a558f6bcf1173f00a..f8e2315845b15af230f43521b53f943ee58b9117 100644 +index 5daa02d65eb4ca046b2e5dd6b2239ca3692752ee..b202f425cbb880079b9e3ec64d077482d7aa5f99 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -211,7 +211,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { this.setProfile(null); } else { -- this.setProfile(new CraftGameProfile(null, name)); +- this.setProfile(new GameProfile(Util.NIL_UUID, name)); + // Paper start - Use Online Players Skull + GameProfile newProfile = null; + net.minecraft.server.level.ServerPlayer player = net.minecraft.server.MinecraftServer.getServer().getPlayerList().getPlayerByName(name); + if (player != null) newProfile = player.getGameProfile(); -+ if (newProfile == null) newProfile = new CraftGameProfile(null, name); ++ if (newProfile == null) newProfile = new GameProfile(Util.NIL_UUID, name); + this.setProfile(newProfile); + // Paper end } diff --git a/patches/server/0052-Improve-Player-chat-API-handling.patch b/patches/server/0052-Improve-Player-chat-API-handling.patch index de6a05cf4e..78895f8fb8 100644 --- a/patches/server/0052-Improve-Player-chat-API-handling.patch +++ b/patches/server/0052-Improve-Player-chat-API-handling.patch @@ -40,10 +40,10 @@ index ea53b30fb9b9e0b2b9751b7a2675259fe85c66e4..4376e09828655444d1339020a2676c67 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9d70513d05515f6ff3f03b5580bd48f127d73ca1..81d2d940fef25a9fb5caccbf4e2c0c9d4ece71c9 100644 +index 97801c6b11df3b80ad80d7e6fd03d769c400b417..0afb5b57fdd027b0a5aa05c4710b4ebb9c3d12ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -889,7 +889,7 @@ public final class CraftServer implements Server { +@@ -888,7 +888,7 @@ public final class CraftServer implements Server { public boolean dispatchCommand(CommandSender sender, String commandLine) { Preconditions.checkArgument(sender != null, "sender cannot be null"); Preconditions.checkArgument(commandLine != null, "commandLine cannot be null"); @@ -53,7 +53,7 @@ index 9d70513d05515f6ff3f03b5580bd48f127d73ca1..81d2d940fef25a9fb5caccbf4e2c0c9d if (this.commandMap.dispatch(sender, commandLine)) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b8fc211d72e860c85ca39b03574db3a7b18e369f..530fba6fa83c3e87ec2501e6aa6997c108dae6d1 100644 +index ca8c713342c7e217c8bbcd2c92309ad188f7dd27..422ed20cf1d77c0b7fa0a674a5bba95cb7cbc2df 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -494,7 +494,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch index 673744942c..b4aefa5a78 100644 --- a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch +++ b/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch @@ -18,10 +18,10 @@ index 2e343d108714bd136ab8e7b20acbf241166177de..382cdfd7d7dceeeffed1cdc34b9e475a if (random.nextInt(10) == 0 && flag && pos.getY() < 40) { return checkMobSpawnRules(type, world, spawnReason, pos, random); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 33677ec811ceab939c419bf7d31b99585e9a1ef1..8ae78690748b2cb5d5186d8859871c1630e10130 100644 +index 4efdde5f48f50db57fdd70f84bf36a768e2601ea..5473e6ffe55c6e0a0947356e89831d71a86cf6a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -169,7 +169,7 @@ public class CraftChunk implements Chunk { +@@ -170,7 +170,7 @@ public class CraftChunk implements Chunk { @Override public boolean isSlimeChunk() { // 987234911L is deterimined in EntitySlime when seeing if a slime can spawn in a chunk diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0054-Expose-server-CommandMap.patch index ffe646ca1b..9df929b13e 100644 --- a/patches/server/0054-Expose-server-CommandMap.patch +++ b/patches/server/0054-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 81d2d940fef25a9fb5caccbf4e2c0c9d4ece71c9..bfcb1e2959e33e4e0cce78e0756cd13253662790 100644 +index 0afb5b57fdd027b0a5aa05c4710b4ebb9c3d12ac..afb8f7c86558f9f72858d0e490c174d24bfcc670 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2018,6 +2018,7 @@ public final class CraftServer implements Server { +@@ -2017,6 +2017,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch index 91d9516b57..e503e432e0 100644 --- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3f8914d800d6aceb02a1c2cbed9e5f9ecc471f86..6f1554cf7cb3707d757c40791695af679e919d28 100644 +index c6f15e2626b6c9d451173dac28c7bdb5f14097d8..d75d98eb7f1699d3b180d11573628c3dd6704c76 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -102,7 +102,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch index 6db44193b4..3a362168db 100644 --- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 530fba6fa83c3e87ec2501e6aa6997c108dae6d1..9c66e4b6f36f634a7fe25b630b9f2e65a7b50153 100644 +index 422ed20cf1d77c0b7fa0a674a5bba95cb7cbc2df..e5b4aa1edb3f48b7356dbf25d7aba4ab6053ba03 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0058-Add-velocity-warnings.patch index 1eb5e79e8d..572316a101 100644 --- a/patches/server/0058-Add-velocity-warnings.patch +++ b/patches/server/0058-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bfcb1e2959e33e4e0cce78e0756cd13253662790..7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de 100644 +index afb8f7c86558f9f72858d0e490c174d24bfcc670..25ffb95d7d4a5b34577b1e343516996630a14705 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -302,6 +302,7 @@ public final class CraftServer implements Server { +@@ -301,6 +301,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -17,10 +17,10 @@ index bfcb1e2959e33e4e0cce78e0756cd13253662790..7ae7ad27e8e6731a81a4bcb3e4dd0ed2 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 9b4e28353892240debc2d2d48876c5640d479ae9..5767eefb09d9e0e3a3d5a006242220b844d28055 100644 +index 38ef3c68cb8581c4f069362d1fc1d5d2b5171ba9..526fd29c425df1eee3b0d3502d2272605c216c19 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -471,10 +471,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -470,10 +470,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public void setVelocity(Vector velocity) { Preconditions.checkArgument(velocity != null, "velocity"); velocity.checkFinite(); diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index d6403829a6..c9fcb4800a 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,7 +16,7 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9c66e4b6f36f634a7fe25b630b9f2e65a7b50153..26ca5b2c4216f95c1f7a74245c271bdddd111c4d 100644 +index e5b4aa1edb3f48b7356dbf25d7aba4ab6053ba03..648c5fd5fe3b2f07b6b5ada7e0d48999db9a6392 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1162,7 +1162,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch index da1b18d977..456609a588 100644 --- a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,7 +7,7 @@ Upstream added methods for this, original methods are now deprecated diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 6f1554cf7cb3707d757c40791695af679e919d28..184ba082edac85a7df16eeebc4473a1a193b6a26 100644 +index d75d98eb7f1699d3b180d11573628c3dd6704c76..166dfd2cde916709ef952216643bb7b92e9e1600 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -267,9 +267,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index 31ea6c68d9..425b65e748 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -22,7 +22,7 @@ index b9062fe651de34d5b3f9d5f146ae0b4fe29cbfee..e8b12a8ae009023afa2818ecbf398a14 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 26ca5b2c4216f95c1f7a74245c271bdddd111c4d..4a784d3c8454549ddeaba18d36a7182059401c91 100644 +index 648c5fd5fe3b2f07b6b5ada7e0d48999db9a6392..ec1cbd610250d11536f8fc42e769b749380dc95e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -191,6 +191,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch index 9cd9a40b36..1ac629bc41 100644 --- a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch @@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de..311226bce4d6103ae9e8c6e4b49ccb90afcfb64d 100644 +index 25ffb95d7d4a5b34577b1e343516996630a14705..99521b04cb5d3fd6ab5fbf5b663a30c20b0341aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -465,6 +465,7 @@ public final class CraftServer implements Server { +@@ -464,6 +464,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -27,7 +27,7 @@ index 7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de..311226bce4d6103ae9e8c6e4b49ccb90 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -484,7 +485,7 @@ public final class CraftServer implements Server { +@@ -483,7 +484,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch index f3a5dc7766..54c12a2205 100644 --- a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 311226bce4d6103ae9e8c6e4b49ccb90afcfb64d..f101155cf3ae72c0c810714cc4ad319d1116b4e0 100644 +index 99521b04cb5d3fd6ab5fbf5b663a30c20b0341aa..135fe9abe46d31cdf3a5fb3fb3dfd296e658e2cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2622,5 +2622,23 @@ public final class CraftServer implements Server { +@@ -2621,5 +2621,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0068-Remove-Metadata-on-reload.patch b/patches/server/0068-Remove-Metadata-on-reload.patch index ddc5f1b1d3..c96e0c02a2 100644 --- a/patches/server/0068-Remove-Metadata-on-reload.patch +++ b/patches/server/0068-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f101155cf3ae72c0c810714cc4ad319d1116b4e0..0476ae7a485c2ac74b39965f0727fbfd372c3be2 100644 +index 135fe9abe46d31cdf3a5fb3fb3dfd296e658e2cf..69934e156db7fdec00b6b77b20835894a1e3dcb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -956,8 +956,16 @@ public final class CraftServer implements Server { +@@ -955,8 +955,16 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot } diff --git a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch index 50cf52faca..7a39dc5c56 100644 --- a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch @@ -187,7 +187,7 @@ index 40aad6a209fbded448e3db21207a85d9f2875e71..4dcbd1ed61070c12adf5871a595875ca static Map 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 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881aaf89817d 100644 +index ed81ad09313730173cc5d5617d67da4ae2bf3e78..bea70b11dcd3039f22b1891f2ea3d86c79367024 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; @@ -214,7 +214,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -275,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -276,7 +279,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -223,7 +223,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -286,7 +289,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -287,7 +290,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -232,7 +232,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -307,7 +310,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -308,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -241,7 +241,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (meta.hasAttributeModifiers()) { -@@ -390,13 +393,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -391,13 +394,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -257,7 +257,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a for (int i = 0; i < ench.size(); i++) { String id = ((CompoundTag) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -549,13 +552,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -550,13 +553,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -273,7 +273,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -831,14 +834,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -832,14 +835,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -290,7 +290,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1227,7 +1230,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1228,7 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -299,7 +299,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1469,4 +1472,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1470,4 +1473,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftMetaItem.HANDLED_TAGS; } } diff --git a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch index dd675859bd..e0f98a51ef 100644 --- a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,7 +44,7 @@ index c5d4f36dda7c977b3a7563f4d2d74ebcf7dc61ef..fa03c3a9debe419dd4e60764de4d9544 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 4a784d3c8454549ddeaba18d36a7182059401c91..bedeae40c7a88b7c13babb9ef8c94983a2ac4fef 100644 +index ec1cbd610250d11536f8fc42e769b749380dc95e..7f9dceaf41426a88d682774c30a959db368fd03b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2165,6 +2165,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch index 3e700955a0..1a974e7c8e 100644 --- a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch @@ -43,10 +43,10 @@ index 0214830d9bc98b8d435ff11f40df65596980cf77..5db27d7bcaaa2eeaeeb08401513d8d23 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0476ae7a485c2ac74b39965f0727fbfd372c3be2..649f9a5604da73f332ad6c9725bddab5e85f1ae7 100644 +index 69934e156db7fdec00b6b77b20835894a1e3dcb3..085c11983884911a61bc96a6df07ad8a96657e6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1727,7 +1727,7 @@ public final class CraftServer implements Server { +@@ -1726,7 +1726,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0110-Add-EntityZapEvent.patch b/patches/server/0110-Add-EntityZapEvent.patch index a4f9bbdf78..6b786427d4 100644 --- a/patches/server/0110-Add-EntityZapEvent.patch +++ b/patches/server/0110-Add-EntityZapEvent.patch @@ -28,7 +28,7 @@ index 2f97e4f0078cecbcf044d0b27f375638a6ea047b..b70ee1dff0442de32a9e20ad54b246d5 entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8e1bb9d86ec12240b00ee118a88ebe4dec4e6329..e974520bb5c069229b214962a5e377b92c07e339 100644 +index 52a5f1a6585abe42018e8758c5ac462bfb0fe1d1..4d19bb09c3f6090de552982a8722c742892913eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1240,6 +1240,14 @@ public class CraftEventFactory { diff --git a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch index 26dff29483..099a0a09eb 100644 --- a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 649f9a5604da73f332ad6c9725bddab5e85f1ae7..9e198a0547c17c2f913ff9fc35bfb22b335a0b95 100644 +index 085c11983884911a61bc96a6df07ad8a96657e6c..c3d60b4fe6e19e7c67926529b650bd61eaf869d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2648,5 +2648,24 @@ public final class CraftServer implements Server { +@@ -2647,5 +2647,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch index fe5b42189d..8e82cad32b 100644 --- a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch @@ -18,7 +18,7 @@ index 93c83cfedc7d3a169ad0504aa6e63f600873501b..9dffdfe5bbd0517e9a2c6a6770eea07b --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e974520bb5c069229b214962a5e377b92c07e339..db681778c2eae84b1e564413ba239b7300ea1789 100644 +index 4d19bb09c3f6090de552982a8722c742892913eb..6e6060563fad15c5c2c0d0248bce067aa3104572 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1193,6 +1193,17 @@ public class CraftEventFactory { diff --git a/patches/server/0115-Add-ProjectileCollideEvent.patch b/patches/server/0115-Add-ProjectileCollideEvent.patch index 5bf5f3b5fb..5b301d354f 100644 --- a/patches/server/0115-Add-ProjectileCollideEvent.patch +++ b/patches/server/0115-Add-ProjectileCollideEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add ProjectileCollideEvent Deprecated now and replaced with ProjectileHitEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index db681778c2eae84b1e564413ba239b7300ea1789..f51a0e99d7e3ad6379057175931cf95e863b45dd 100644 +index 6e6060563fad15c5c2c0d0248bce067aa3104572..9546f716da41aef994d8e3799bdf5c6b74e96ad6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1337,6 +1337,17 @@ public class CraftEventFactory { diff --git a/patches/server/0121-String-based-Action-Bar-API.patch b/patches/server/0121-String-based-Action-Bar-API.patch index f597ed3118..e4802216d8 100644 --- a/patches/server/0121-String-based-Action-Bar-API.patch +++ b/patches/server/0121-String-based-Action-Bar-API.patch @@ -26,7 +26,7 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bedeae40c7a88b7c13babb9ef8c94983a2ac4fef..18db64ff86517c7ceb98590c0c91e0c21855db72 100644 +index 7f9dceaf41426a88d682774c30a959db368fd03b..8c37947e9bc58f537691f2d83e2f419fc9f10d8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -342,6 +342,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch index 6324b36515..4ef6fbe143 100644 --- a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch @@ -20,7 +20,7 @@ index 7b681914b7f9e7fb6d2ea607e0d63ca7024a7ec3..7cfcbc1e38f5e9145c827dfe26299277 private final List pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f4f94185cf699582737aecee1d3623c7857fbbb5..6b0dba6f7211500ba5950a76d2b2252a09f65103 100644 +index a41c937d8b4648c900bf6b5d4c47fcd0bbc72401..53a5f6709bca2aa76297e55e555cbfeb38e8ad4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -154,6 +154,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 265dc16abd..36c67d7931 100644 --- a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -324,10 +324,10 @@ index e72ed2ed8664cbc408cbe1e38f1f0acacc3841dd..2f628f36c32752d1bac910e180b90639 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 8e1d70bbc433780f264dde137aa7f37e7f6362cd..3dd759d030411420f93eb5ac51f2087ecbf2dc49 100644 +index 8beb4670fffa2df0a9bd64ebb8810b25ce670f16..134b138abdf17fae340226ecac3868ad7a993086 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -942,7 +942,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -943,7 +943,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch index fb87a15c0a..c3879a9497 100644 --- a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9e198a0547c17c2f913ff9fc35bfb22b335a0b95..d3a9b47ab78844e5cb6a04a790e079fe22bf153c 100644 +index c3d60b4fe6e19e7c67926529b650bd61eaf869d2..7631ccc163b9370eb4f0c181bf1f7ef657dfc828 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2667,5 +2667,10 @@ public final class CraftServer implements Server { +@@ -2666,5 +2666,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch index f62590803e..1f7367ac49 100644 --- a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -389,7 +389,7 @@ index 845a90426545b554aaf5c278723c107ba9791270..a3c150e9552fbc9b9244c70508c27f03 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d3a9b47ab78844e5cb6a04a790e079fe22bf153c..7b019dcb70b430c36112e68c837b2b4aeb1aacc7 100644 +index 7631ccc163b9370eb4f0c181bf1f7ef657dfc828..66de956051f6c5b66f806063869e25430144c6ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -44,7 +44,6 @@ import java.util.logging.Level; @@ -400,7 +400,7 @@ index d3a9b47ab78844e5cb6a04a790e079fe22bf153c..7b019dcb70b430c36112e68c837b2b4a import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.commands.CommandSourceStack; -@@ -1295,9 +1294,13 @@ public final class CraftServer implements Server { +@@ -1294,9 +1293,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0136-Item-canEntityPickup.patch b/patches/server/0136-Item-canEntityPickup.patch index b9e7c7eae5..87899f7022 100644 --- a/patches/server/0136-Item-canEntityPickup.patch +++ b/patches/server/0136-Item-canEntityPickup.patch @@ -21,7 +21,7 @@ index 873a96693110982600d3e7979489fb00f3cd7941..645ee527b9e7e7edbf3320eae6e441be } } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 23c51152288d9616673ef544a09dd816dff44cf6..2d1b8d6e490e1dcde801feaae2518a59ed35e440 100644 +index 11dad6b6c6cf922417ab54a1db13d809c10c999e..adb8ac976397322f0b4122fd9469dd5191f207f7 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -52,6 +52,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch index 055fdfe928..d257dcb087 100644 --- a/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 2d1b8d6e490e1dcde801feaae2518a59ed35e440..0816b5fd4a384e5f8939c6d573666802dceb255c 100644 +index adb8ac976397322f0b4122fd9469dd5191f207f7..4885c8ff438796cf7a90e73e2db32a1877f60fa4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -404,6 +404,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0138-PlayerAttemptPickupItemEvent.patch b/patches/server/0138-PlayerAttemptPickupItemEvent.patch index 8ee62f6cc1..1026175974 100644 --- a/patches/server/0138-PlayerAttemptPickupItemEvent.patch +++ b/patches/server/0138-PlayerAttemptPickupItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerAttemptPickupItemEvent diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 0816b5fd4a384e5f8939c6d573666802dceb255c..91eba1c571764c88489ea2598fb9b4736554d5cc 100644 +index 4885c8ff438796cf7a90e73e2db32a1877f60fa4..5744d726c4e7a970db5c1c3764d530d839d95597 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -36,6 +36,7 @@ import org.bukkit.entity.Player; diff --git a/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch index edcf1062d4..cbf775fcbe 100644 --- a/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch @@ -63,7 +63,7 @@ index cf7e64eac9e3eb395a0be0a2a4fa0175a731b6e7..f5162f7171c348ff523b18e577246561 private static boolean hasTextures(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 5a21cc441e1c925a7674299073ac374e63b911ec..ac05e268c9f00bca9f8ac19650937eede711810b 100644 +index eef39c0323c57cbe33cee4cd38ad9f48654df2a9..9eafa36b086ed4cde107b81aa9470d1a43e557f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -125,7 +125,7 @@ public final class CraftPlayerProfile implements PlayerProfile { diff --git a/patches/server/0140-Add-UnknownCommandEvent.patch b/patches/server/0140-Add-UnknownCommandEvent.patch index 98800873f2..8c97ad3954 100644 --- a/patches/server/0140-Add-UnknownCommandEvent.patch +++ b/patches/server/0140-Add-UnknownCommandEvent.patch @@ -83,10 +83,10 @@ index d1ecf61ffecb8669214ad85334374a4569811de8..e63632f09d608371aaeaf09a6dac57c1 b1 = 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7b019dcb70b430c36112e68c837b2b4aeb1aacc7..66f241411af172e2f44edfc4e8f1b9bda86844e2 100644 +index 66de956051f6c5b66f806063869e25430144c6ce..0ef8750c7c862a44dfb0e15602ef819790c9f1a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -531,6 +531,7 @@ public final class CraftServer implements Server { +@@ -530,6 +530,7 @@ public final class CraftServer implements Server { } node = clone; } @@ -94,7 +94,7 @@ index 7b019dcb70b430c36112e68c837b2b4aeb1aacc7..66f241411af172e2f44edfc4e8f1b9bd dispatcher.getDispatcher().getRoot().addChild(node); } else { -@@ -898,7 +899,13 @@ public final class CraftServer implements Server { +@@ -897,7 +898,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0141-Basic-PlayerProfile-API.patch b/patches/server/0141-Basic-PlayerProfile-API.patch index 24f2b83526..10edcc7174 100644 --- a/patches/server/0141-Basic-PlayerProfile-API.patch +++ b/patches/server/0141-Basic-PlayerProfile-API.patch @@ -614,10 +614,10 @@ index c70cd016e1978931d115cfca94664897f0158196..eac9658fa4cab7a651e10e4e18c679e0 String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9a45bf7c1 100644 +index 0ef8750c7c862a44dfb0e15602ef819790c9f1a4..cfb0846381f5ebfe33fc4074f21fb0993812f75c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -264,6 +264,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -263,6 +263,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -627,7 +627,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -306,6 +309,7 @@ public final class CraftServer implements Server { +@@ -305,6 +308,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -635,7 +635,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 CraftItemFactory.instance(); } -@@ -2682,5 +2686,37 @@ public final class CraftServer implements Server { +@@ -2681,5 +2685,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } @@ -674,7 +674,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index ac05e268c9f00bca9f8ac19650937eede711810b..8d2997efaacbe37d9007861ac871fd2719c2d663 100644 +index 9eafa36b086ed4cde107b81aa9470d1a43e557f1..2d877acc4cb338193449ae37cafb0cfdc452d6b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerProfile; @@ -705,8 +705,8 @@ index ac05e268c9f00bca9f8ac19650937eede711810b..8d2997efaacbe37d9007861ac871fd27 public Map serialize() { + // Paper - diff on change Map map = new LinkedHashMap<>(); - if (this.uniqueId != null) { - map.put("uniqueId", this.uniqueId.toString()); + if (this.getUniqueId() != null) { + map.put("uniqueId", this.getUniqueId().toString()); @@ -260,10 +263,12 @@ public final class CraftPlayerProfile implements PlayerProfile { }); map.put("properties", propertiesData); diff --git a/patches/server/0145-Entity-fromMobSpawner.patch b/patches/server/0145-Entity-fromMobSpawner.patch index bae3882cc4..7b500645d9 100644 --- a/patches/server/0145-Entity-fromMobSpawner.patch +++ b/patches/server/0145-Entity-fromMobSpawner.patch @@ -49,10 +49,10 @@ index 7ae0465091db8e8061737bf93884afa3db49feeb..5d6403fa27521860a69a707dc4358b01 if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { continue; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5767eefb09d9e0e3a3d5a006242220b844d28055..a6009f9075035e34150ff692d38cac47930363d1 100644 +index 526fd29c425df1eee3b0d3502d2272605c216c19..d6583c6b77356d15025b961ebed3e20418d71318 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1301,5 +1301,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1300,5 +1300,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { //noinspection ConstantConditions return originVector.toLocation(world); } diff --git a/patches/server/0147-Implement-ensureServerConversions-API.patch b/patches/server/0147-Implement-ensureServerConversions-API.patch index 2567b6e615..2ea064c942 100644 --- a/patches/server/0147-Implement-ensureServerConversions-API.patch +++ b/patches/server/0147-Implement-ensureServerConversions-API.patch @@ -7,7 +7,7 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 45872e28cabc655c170bee163d471acf5d913c00..7e9e365fdce960bb266a4616d4bdc6d434cb2187 100644 +index 2fa36de5d43e2c395e0db2017bd994a62a5b2feb..0bd3a2989be4e158ba343da09914328e819a0f89 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -469,4 +469,11 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0148-Implement-getI18NDisplayName.patch b/patches/server/0148-Implement-getI18NDisplayName.patch index 57dc64608b..0521ce4580 100644 --- a/patches/server/0148-Implement-getI18NDisplayName.patch +++ b/patches/server/0148-Implement-getI18NDisplayName.patch @@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 7e9e365fdce960bb266a4616d4bdc6d434cb2187..5aece14ec931f4c564e847a2797e92da8ffb569b 100644 +index 0bd3a2989be4e158ba343da09914328e819a0f89..709c0e9ba7b33e97666ac74412761bb0e770a037 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -476,4 +476,19 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0151-LivingEntity-setKiller.patch b/patches/server/0151-LivingEntity-setKiller.patch index 59c0bf521b..99c026dfbf 100644 --- a/patches/server/0151-LivingEntity-setKiller.patch +++ b/patches/server/0151-LivingEntity-setKiller.patch @@ -7,7 +7,7 @@ Subject: [PATCH] LivingEntity#setKiller public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 184ba082edac85a7df16eeebc4473a1a193b6a26..03d791e98d369c1d8fe4a4da11f89301392a934d 100644 +index 166dfd2cde916709ef952216643bb7b92e9e1600..0dd733873606ae47deb5956ed1170d4b9ad3b890 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -365,6 +365,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch index 7a3de7548d..74ae2a562d 100644 --- a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch @@ -90,7 +90,7 @@ index 81bfce0374f281069f963c24040163cd968e3958..e50f0ae7ba5e0271e4c0947ea73126c9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 18db64ff86517c7ceb98590c0c91e0c21855db72..4d324d2fc5f9966a6b27391f856c4efec98692c6 100644 +index 8c37947e9bc58f537691f2d83e2f419fc9f10d8e..6595ad35eeec3763cb3df277145c6dc7d5f1b1d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -288,6 +288,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch index ed44d61314..85d44b0d75 100644 --- a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch @@ -51,10 +51,10 @@ index 63acd109a79ed752a05df3d4f1b99309297c2055..d156f7cc71050f13b2feca00c52ca6b6 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e5750b2459e5a7513b34d644f672f3e06181172d..3205d86a63f8fcf3ccd13c6be0e0eefc27beb62a 100644 +index b7adb6acf4eca6aad0c9a48223ab47528ef7ce04..8a62231dffcff0260c1c15bd3115b27922c03239 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -332,6 +332,13 @@ public class CraftBlock implements Block { +@@ -327,6 +327,13 @@ public class CraftBlock implements Block { return CraftBlockStates.getBlockState(this); } diff --git a/patches/server/0167-AsyncTabCompleteEvent.patch b/patches/server/0167-AsyncTabCompleteEvent.patch index 7d7ee62672..830efe8223 100644 --- a/patches/server/0167-AsyncTabCompleteEvent.patch +++ b/patches/server/0167-AsyncTabCompleteEvent.patch @@ -91,10 +91,10 @@ index 1b856ecd7926e90a62045176f75d7ae6f0ac69d5..4ba7ed0a4ff52caa21632f69ab087564 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e42555a01a581a094bc4bd41bf4cd8a9a45bf7c1..2c4c8a1a4bb779de970068af5a30505f434029be 100644 +index cfb0846381f5ebfe33fc4074f21fb0993812f75c..1eb5f95848a25a0a002a3ec9e8edf03be63b140a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2132,7 +2132,7 @@ public final class CraftServer implements Server { +@@ -2131,7 +2131,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch index 524104d241..388526d9f5 100644 --- a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch @@ -14,7 +14,7 @@ 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 4d324d2fc5f9966a6b27391f856c4efec98692c6..18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc 100644 +index 6595ad35eeec3763cb3df277145c6dc7d5f1b1d6..9920a3d81c44972cba742d67764b5066362f79aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1540,7 +1540,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch index ec21bcdbde..c97292cc20 100644 --- a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch @@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java -index 4650b4cd7f8625ee5e1dba47f47ffa9221e3d097..e193572862fbc78b3adb531fd567c919afdc718e 100644 +index 46f295fb5f4a99924c41e6d0af74dc2437d08186..b47aac01f8d227699aac28a5beac8206802852cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java @@ -107,7 +107,22 @@ public class CraftSkull extends CraftBlockEntityState implemen @@ -48,7 +48,7 @@ index 4650b4cd7f8625ee5e1dba47f47ffa9221e3d097..e193572862fbc78b3adb531fd567c919 } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index f8e2315845b15af230f43521b53f943ee58b9117..fe7a8e48a620630a6365edd22466f348de0dc508 100644 +index b202f425cbb880079b9e3ec64d077482d7aa5f99..9b9e20014042da4324c9f4babb05d8ba9513f81d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -187,6 +187,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { diff --git a/patches/server/0175-Add-ArmorStand-Item-Meta.patch b/patches/server/0175-Add-ArmorStand-Item-Meta.patch index ce31026c13..a0ed3f16ca 100644 --- a/patches/server/0175-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0175-Add-ArmorStand-Item-Meta.patch @@ -255,10 +255,10 @@ index 4017933f2244fca32cf9d39444f3a4f550e8af01..e721517ce7b52a1aa10d039aa9f309eb + // 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 092695d4b45205fe2290f8f4375e881aaf89817d..8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff 100644 +index bea70b11dcd3039f22b1891f2ea3d86c79367024..157459f8e9772216229b132f5b9247bcb761072f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1462,6 +1462,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1463,6 +1463,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, CraftMetaSuspiciousStew.EFFECTS.NBT, diff --git a/patches/server/0182-Player.setPlayerProfile-API.patch b/patches/server/0182-Player.setPlayerProfile-API.patch index f6ca0acab5..6db7300946 100644 --- a/patches/server/0182-Player.setPlayerProfile-API.patch +++ b/patches/server/0182-Player.setPlayerProfile-API.patch @@ -40,7 +40,7 @@ index 41de3c342f1dae9fc6af1b4938a676d337bcf5fa..f870c20ecce27ebd893107a35e1b8f15 playerName = gameprofile.getName(); uniqueId = gameprofile.getId(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index b17fe83bcd7bde44ee8c1f872fffa8bf40707c50..aac78c13361b19efa7b43a0c95458390f1ba8340 100644 +index 498b14ca0e45b76259450d9a0c8206b1e9f25e70..c1ef6c8c8e5f030e18b6066a509350ee1e195987 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 @@ -55,7 +55,7 @@ index b17fe83bcd7bde44ee8c1f872fffa8bf40707c50..aac78c13361b19efa7b43a0c95458390 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 18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc..ec9c0fe82ae5bba9a272d8a834f3f6bcf01cf205 100644 +index 9920a3d81c44972cba742d67764b5066362f79aa..e864252e4fcd0927275d6b9009cdde78d3e289eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -271,11 +271,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -200,10 +200,10 @@ index 18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc..ec9c0fe82ae5bba9a272d8a834f3f6bc public void onEntityRemove(Entity entity) { this.invertedVisibilityEntities.remove(entity.getUUID()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 173a2832f029e3d568208a1b56419c1b8501483c..48cdd483c25825571043800f3cfa41a4d723f649 100644 +index 44b73939c465398c8cfda5dbea3280392f194add..aba415ab7203a21e916eadb923cb02c03b679f65 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -329,6 +329,12 @@ public class Commodore +@@ -338,6 +338,12 @@ public class Commodore return; } diff --git a/patches/server/0183-getPlayerUniqueId-API.patch b/patches/server/0183-getPlayerUniqueId-API.patch index 8b6772fe45..36cda224fb 100644 --- a/patches/server/0183-getPlayerUniqueId-API.patch +++ b/patches/server/0183-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2c4c8a1a4bb779de970068af5a30505f434029be..70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d 100644 +index 1eb5f95848a25a0a002a3ec9e8edf03be63b140a..b0f76a563d640360b73cb1779eae74fbf552f54e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1730,6 +1730,25 @@ public final class CraftServer implements Server { +@@ -1729,6 +1729,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0187-Flag-to-disable-the-channel-limit.patch b/patches/server/0187-Flag-to-disable-the-channel-limit.patch index c0de29b0a2..48f53078a7 100644 --- a/patches/server/0187-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0187-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 ec9c0fe82ae5bba9a272d8a834f3f6bcf01cf205..04b3dc0c856a515f09e56cb40f9313e970f20cca 100644 +index e864252e4fcd0927275d6b9009cdde78d3e289eb..28a51536bcfcb124fecc61095227cabd8844d4e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -194,6 +194,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch index 384e79120e..527c650c55 100644 --- a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,7 +34,7 @@ index 445b8839d2a7a5ec2debb853d606e499c2a1f20b..4c1911140197568685524721e3140739 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b0dba6f7211500ba5950a76d2b2252a09f65103..262e73f5b6ff9b681b6c441df3b2e79265ade02d 100644 +index 53a5f6709bca2aa76297e55e555cbfeb38e8ad4e..2104609f5dae00457725a57a03e3d51e2bb8b841 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1863,11 +1863,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 76bf7193bc..ea1eda36f6 100644 --- a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3dd759d030411420f93eb5ac51f2087ecbf2dc49..91fbc67eefea473211b99e4338f6464f58dc5592 100644 +index 134b138abdf17fae340226ecac3868ad7a993086..75d4c33768a8ab15a94bcb71b2aa724cad1ce0aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -592,6 +592,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -593,6 +593,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity = net.minecraft.world.entity.EntityType.BOAT.create(world); } entity.moveTo(x, y, z, yaw, pitch); diff --git a/patches/server/0204-Fix-CraftEntity-hashCode.patch b/patches/server/0204-Fix-CraftEntity-hashCode.patch index abbb6ca27b..bc20ef512e 100644 --- a/patches/server/0204-Fix-CraftEntity-hashCode.patch +++ b/patches/server/0204-Fix-CraftEntity-hashCode.patch @@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a6009f9075035e34150ff692d38cac47930363d1..0fd9119c710afdd46a60d81ae3f9ce5da88d2541 100644 +index d6583c6b77356d15025b961ebed3e20418d71318..e3ed6a4315f8e0411144a5e585f9f49114cdf1b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -841,14 +841,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -840,14 +840,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; diff --git a/patches/server/0207-Make-shield-blocking-delay-configurable.patch b/patches/server/0207-Make-shield-blocking-delay-configurable.patch index 874bede2bd..873cffe2fe 100644 --- a/patches/server/0207-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0207-Make-shield-blocking-delay-configurable.patch @@ -35,7 +35,7 @@ index 231ba23fabeb88b659a7ea9702eebe4aad72a209..5fb892e47b1ad33435e2aafeb1212ffe return this.isShiftKeyDown(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 03d791e98d369c1d8fe4a4da11f89301392a934d..78c27ec1135c55baf16d1794f4f33d9b36bc0aa6 100644 +index 0dd733873606ae47deb5956ed1170d4b9ad3b890..d38f1661c1d5bfc4a0c5601bfac959b7527022ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -810,5 +810,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0211-Expand-Explosions-API.patch b/patches/server/0211-Expand-Explosions-API.patch index 69153e513a..a87e7c6fba 100644 --- a/patches/server/0211-Expand-Explosions-API.patch +++ b/patches/server/0211-Expand-Explosions-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 262e73f5b6ff9b681b6c441df3b2e79265ade02d..3218f5409cb26fcbd74a754a50b6f5f1ec3cb4a7 100644 +index 2104609f5dae00457725a57a03e3d51e2bb8b841..f288570c8b3cee0c0b79981f332c1c067cd7bb9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -716,6 +716,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch index d671d46234..816010e115 100644 --- a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 78c27ec1135c55baf16d1794f4f33d9b36bc0aa6..f8340bd15c978c2b9124ee57dd55484bfd608f62 100644 +index d38f1661c1d5bfc4a0c5601bfac959b7527022ed..c2e83cc533decd31f21c7c732cdc32d8b52bc418 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -820,5 +820,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0215-Implement-World.getEntity-UUID-API.patch b/patches/server/0215-Implement-World.getEntity-UUID-API.patch index 761dbd4806..dac9f6070c 100644 --- a/patches/server/0215-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0215-Implement-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3218f5409cb26fcbd74a754a50b6f5f1ec3cb4a7..71ac1f681fe2518d2b0f52597310e7b538a0b1d8 100644 +index f288570c8b3cee0c0b79981f332c1c067cd7bb9e..a29cb2e267e0a9d7f4cec3cf503968933b999435 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1040,6 +1040,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0216-InventoryCloseEvent-Reason-API.patch b/patches/server/0216-InventoryCloseEvent-Reason-API.patch index 10df8131bc..a7c1ab6a9b 100644 --- a/patches/server/0216-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0216-InventoryCloseEvent-Reason-API.patch @@ -173,7 +173,7 @@ index e5b2686e466a2604ebcdb6e5c3b6fb7ff7bc6eec..aa131c233ee9d7926ca77e1afedd27ba @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 04b3dc0c856a515f09e56cb40f9313e970f20cca..4dc09147e29bc43c854546e18cf2af41622a8a8f 100644 +index 28a51536bcfcb124fecc61095227cabd8844d4e6..1f2c0e3788700a5900664fa61e811a286a347393 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1191,7 +1191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -186,7 +186,7 @@ index 04b3dc0c856a515f09e56cb40f9313e970f20cca..4dc09147e29bc43c854546e18cf2af41 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f51a0e99d7e3ad6379057175931cf95e863b45dd..dde0bc20808e988c6d44dd42e20155cbe72d1757 100644 +index 9546f716da41aef994d8e3799bdf5c6b74e96ad6..1ee49bb62df6f9c7e88a8484ce97103ada5d6d6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1306,7 +1306,7 @@ public class CraftEventFactory { diff --git a/patches/server/0226-Vanished-players-don-t-have-rights.patch b/patches/server/0226-Vanished-players-don-t-have-rights.patch index 5eec807aca..96d8cd6bff 100644 --- a/patches/server/0226-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0226-Vanished-players-don-t-have-rights.patch @@ -89,7 +89,7 @@ index 0b02ba70956ea1352ea8e67957b3789408b67f6b..8320bece16dfa339e33801e43ff2f297 public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index dde0bc20808e988c6d44dd42e20155cbe72d1757..f423e98fccb7712f7d989ee5780dd5e7b824255f 100644 +index 1ee49bb62df6f9c7e88a8484ce97103ada5d6d6d..5e20a49940e7fdbc470193b44a604829e38fbae6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1343,6 +1343,14 @@ public class CraftEventFactory { diff --git a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch index d3d640afc0..86c13487be 100644 --- a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch @@ -33,10 +33,10 @@ index 5a3f0a6e3f663718993cf3679ffc96c4af140e4d..cdc020e1787c258ba283d86a25ab1532 com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d..145476b25f7d7d60c7bc4891e71484c74011cac2 100644 +index b0f76a563d640360b73cb1779eae74fbf552f54e..c5a59f5f94ded049d39b1e1ffac1a71f4c5b9535 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -918,6 +918,7 @@ public final class CraftServer implements Server { +@@ -917,6 +917,7 @@ public final class CraftServer implements Server { @Override public void reload() { @@ -44,7 +44,7 @@ index 70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d..145476b25f7d7d60c7bc4891e71484c7 this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -1007,6 +1008,7 @@ public final class CraftServer implements Server { +@@ -1006,6 +1007,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index 4d0160d028..34206bbb74 100644 --- a/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 8ae78690748b2cb5d5186d8859871c1630e10130..b738e1f7debac7d70910d5ac908ca9d4f60640d5 100644 +index 5473e6ffe55c6e0a0947356e89831d71a86cf6a5..d10dcf5b9c987bbd4761470c16c9d4693ccf896d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -125,6 +125,13 @@ public class CraftChunk implements Chunk { +@@ -126,6 +126,13 @@ public class CraftChunk implements Chunk { @Override public BlockState[] getTileEntities() { @@ -22,7 +22,7 @@ index 8ae78690748b2cb5d5186d8859871c1630e10130..b738e1f7debac7d70910d5ac908ca9d4 if (!this.isLoaded()) { this.getWorld().getChunkAt(x, z); // Transient load for this tick } -@@ -134,7 +141,29 @@ public class CraftChunk implements Chunk { +@@ -135,7 +142,29 @@ public class CraftChunk implements Chunk { BlockState[] entities = new BlockState[chunk.blockEntities.size()]; for (BlockPos position : chunk.blockEntities.keySet()) { diff --git a/patches/server/0245-Optimize-CraftBlockData-Creation.patch b/patches/server/0245-Optimize-CraftBlockData-Creation.patch index f8689393eb..22f9194649 100644 --- a/patches/server/0245-Optimize-CraftBlockData-Creation.patch +++ b/patches/server/0245-Optimize-CraftBlockData-Creation.patch @@ -26,10 +26,10 @@ index 6c171199dcc30f56a6d0ab7ecf398b505d145067..916d7b35145345cb3bf5ca46df38eae0 private boolean calculateSolid() { if (((Block) this.owner).properties.forceSolidOn) { 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 745d2c589df8c59db327d7482024096473318812..c80aaa37b7d63acfb283641a4804dc2a32156eda 100644 +index bb3ebf590e3e6aa6d9ac892095d58b926d2fa50d..777539309639569d9057e4de86c3957a7a72a47f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -560,7 +560,17 @@ public class CraftBlockData implements BlockData { +@@ -561,7 +561,17 @@ public class CraftBlockData implements BlockData { return craft; } diff --git a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 9e08bc2db2..8223a1714e 100644 --- a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 71ac1f681fe2518d2b0f52597310e7b538a0b1d8..71e68b9cdafbacc84c317cfb2126d4da472d9f63 100644 +index a29cb2e267e0a9d7f4cec3cf503968933b999435..6e806ede0d94cb3cdb7e772ba56a010ad241590c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -400,7 +400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch index 08d76f881e..7da734e2eb 100644 --- a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch @@ -30,7 +30,7 @@ index 7d7c8772bd8dfb96cfff2c1f020719c0156a09cd..8f8f343139444cc6fddf0d13083194ec public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f8340bd15c978c2b9124ee57dd55484bfd608f62..3d9e4ebb29f670d32bfe044ad22daaf82313498d 100644 +index c2e83cc533decd31f21c7c732cdc32d8b52bc418..e327cc9f2513ae79a871ac2ab144389b71a88f2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch index 20ca3168a8..7a23ae5674 100644 --- a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch @@ -5,7 +5,7 @@ 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 4dc09147e29bc43c854546e18cf2af41622a8a8f..d141e55f92d6c7f211a1a91bd5379144137e7b25 100644 +index 1f2c0e3788700a5900664fa61e811a286a347393..9c988b83338c5cf2cbe12aabc729b9184bb3e97d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2843,6 +2843,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0253-Improve-death-events.patch b/patches/server/0253-Improve-death-events.patch index 12273b49e5..cb21c9b150 100644 --- a/patches/server/0253-Improve-death-events.patch +++ b/patches/server/0253-Improve-death-events.patch @@ -392,7 +392,7 @@ index 6483ad071c119353267a4f13b192a50931995c2a..7eecbe85949e47b367014c04d7a37c2c 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 d141e55f92d6c7f211a1a91bd5379144137e7b25..c4dd9c90c12b6c8fc11a2d683ff73fdc02ff5e5c 100644 +index 9c988b83338c5cf2cbe12aabc729b9184bb3e97d..92e64162181b73e5201e1e3e52db9e372c765a75 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2343,7 +2343,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -412,7 +412,7 @@ index d141e55f92d6c7f211a1a91bd5379144137e7b25..c4dd9c90c12b6c8fc11a2d683ff73fdc public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e070686375f68 100644 +index 5e20a49940e7fdbc470193b44a604829e38fbae6..a1f6b35eec45e99013db02a727159d186150474a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -865,9 +865,16 @@ public class CraftEventFactory { @@ -458,7 +458,7 @@ index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e0706 + event.setReviveHealth(event.getEntity().getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).getValue()); + event.setShouldPlayDeathSound(!victim.silentDeath && !victim.isSilent()); + net.minecraft.sounds.SoundEvent soundEffect = victim.getDeathSound(); -+ event.setDeathSound(soundEffect != null ? org.bukkit.craftbukkit.CraftSound.getBukkit(soundEffect) : null); ++ event.setDeathSound(soundEffect != null ? org.bukkit.craftbukkit.CraftSound.minecraftToBukkit(soundEffect) : null); + event.setDeathSoundCategory(org.bukkit.SoundCategory.valueOf(victim.getSoundSource().name())); + event.setDeathSoundVolume(victim.getSoundVolume()); + event.setDeathSoundPitch(victim.getVoicePitch()); @@ -471,7 +471,7 @@ index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e0706 + double x = event.getEntity().getLocation().getX(); + double y = event.getEntity().getLocation().getY(); + double z = event.getEntity().getLocation().getZ(); -+ net.minecraft.sounds.SoundEvent soundEffect = org.bukkit.craftbukkit.CraftSound.getSoundEffect(event.getDeathSound()); ++ net.minecraft.sounds.SoundEvent soundEffect = org.bukkit.craftbukkit.CraftSound.bukkitToMinecraft(event.getDeathSound()); + net.minecraft.sounds.SoundSource soundCategory = net.minecraft.sounds.SoundSource.valueOf(event.getDeathSoundCategory().name()); + victim.level().playSound(source, x, y, z, soundEffect, soundCategory, event.getDeathSoundVolume(), event.getDeathSoundPitch()); + } diff --git a/patches/server/0255-Mob-Pathfinding-API.patch b/patches/server/0255-Mob-Pathfinding-API.patch index e8e958cebd..ce0cbcfb6d 100644 --- a/patches/server/0255-Mob-Pathfinding-API.patch +++ b/patches/server/0255-Mob-Pathfinding-API.patch @@ -172,7 +172,7 @@ index 539dc45c3c7ffc60cf3fb47ae4df65e604e8627b..eea4c932d909145e7af848cf76e3f49d public Path(List nodes, BlockPos target, boolean reachesTarget) { this.nodes = nodes; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 659ccb6532506b2a8c9feb55dc5aee962f6da795..f36713771598ac5afdae5d94db10a5790949611d 100644 +index 2000755ac72a25a5d03f238844c458a804f1c033..ce244e96f674f7886179baced3d1e9b67fedfe73 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -15,8 +15,11 @@ import org.bukkit.loot.LootTable; diff --git a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index 91b9e0e37b..f452ccaa9c 100644 --- a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement an 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 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270f4ee8b14 100644 +index 157459f8e9772216229b132f5b9247bcb761072f..abccd9cb31c529142b64783873368fab7b38d312 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -83,6 +83,12 @@ import org.bukkit.persistence.PersistentDataContainer; +@@ -84,6 +84,12 @@ import org.bukkit.persistence.PersistentDataContainer; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -21,7 +21,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 /** * Children must include the following: * -@@ -271,6 +277,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -272,6 +278,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -32,7 +32,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 // We store the raw original JSON representation of all text data. See SPIGOT-5063, SPIGOT-5656, SPIGOT-5304 private String displayName; -@@ -284,6 +294,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -285,6 +295,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -43,7 +43,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 private static final Set HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -321,6 +335,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -322,6 +336,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -59,7 +59,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -384,6 +407,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -385,6 +408,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.persistentDataContainer.put(key, compound.get(key).copy()); } } @@ -91,7 +91,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 Set keys = tag.getAllKeys(); for (String key : keys) { -@@ -522,6 +570,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -523,6 +571,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.setDamage(damage); } @@ -126,7 +126,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(internal)); -@@ -650,6 +726,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -651,6 +727,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasDamage()) { itemTag.putInt(DAMAGE.NBT, damage); } @@ -150,7 +150,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 for (Map.Entry e : this.unhandledTags.entrySet()) { itemTag.put(e.getKey(), e.getValue()); -@@ -666,6 +759,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -667,6 +760,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -172,7 +172,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 ListTag createStringList(List list) { if (list == null) { return null; -@@ -749,7 +857,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -750,7 +858,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -181,7 +181,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 } // Paper start -@@ -1181,7 +1289,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1182,7 +1290,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 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 } /** -@@ -1216,6 +1328,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1217,6 +1329,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 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 return hash; } -@@ -1240,6 +1356,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1241,6 +1357,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 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1297,6 +1421,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1298,6 +1422,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -244,7 +244,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 final Map internalTags = new HashMap(this.unhandledTags); this.serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1469,6 +1610,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1470,6 +1611,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, CraftMetaArmorStand.MARKER.NBT, @@ -253,7 +253,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 // Paper end CraftMetaCompass.LODESTONE_DIMENSION.NBT, CraftMetaCompass.LODESTONE_POS.NBT, -@@ -1498,4 +1641,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1499,4 +1642,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end diff --git a/patches/server/0263-Hook-into-CB-plugin-rewrites.patch b/patches/server/0263-Hook-into-CB-plugin-rewrites.patch index d40c5ed17b..6696802ac7 100644 --- a/patches/server/0263-Hook-into-CB-plugin-rewrites.patch +++ b/patches/server/0263-Hook-into-CB-plugin-rewrites.patch @@ -8,25 +8,26 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac51245ef6 100644 +index aba415ab7203a21e916eadb923cb02c03b679f65..cfaa85dc3d567bf0110e45fc4e4f24a406b41a45 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -6,7 +6,9 @@ import java.io.FileOutputStream; - import java.io.InputStream; +@@ -7,8 +7,10 @@ import java.io.InputStream; + import java.util.ArrayList; import java.util.Arrays; import java.util.Enumeration; +import java.util.HashMap; import java.util.HashSet; + import java.util.List; +import java.util.Map; import java.util.Set; import java.util.jar.JarEntry; import java.util.jar.JarFile; -@@ -20,10 +22,15 @@ import org.bukkit.plugin.AuthorNagException; +@@ -22,11 +24,15 @@ import org.bukkit.plugin.AuthorNagException; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.FieldVisitor; -+import org.objectweb.asm.Handle; + import org.objectweb.asm.Handle; +import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; @@ -37,7 +38,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac /** * This file is imported from Commodore. * -@@ -46,6 +53,41 @@ public class Commodore +@@ -49,6 +55,41 @@ public class Commodore "org/bukkit/inventory/ItemStack (I)V setTypeId" ) ); @@ -79,7 +80,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac public static void main(String[] args) { OptionParser parser = new OptionParser(); -@@ -130,15 +172,86 @@ public class Commodore +@@ -133,15 +174,72 @@ public class Commodore cr.accept( new ClassVisitor( Opcodes.ASM9, cw ) { @@ -103,20 +104,6 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac { + // Paper start - Plugin rewrites + @Override -+ public void visitInvokeDynamicInsn(String name, String desc, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) -+ { -+ // Paper start - Rewrite plugins -+ name = getOriginalOrRewrite( name ); -+ if ( desc != null ) -+ { -+ desc = getOriginalOrRewrite( desc ); -+ } -+ // Paper end -+ -+ super.visitInvokeDynamicInsn( name, desc, bootstrapMethodHandle, bootstrapMethodArguments ); -+ } -+ -+ @Override + public void visitTypeInsn(int opcode, String type) + { + type = getOriginalOrRewrite( type ); @@ -166,7 +153,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ( owner.equals( "org/bukkit/block/Biome" ) ) { switch ( name ) -@@ -330,6 +443,11 @@ public class Commodore +@@ -339,6 +437,11 @@ public class Commodore } // Paper start - Rewrite plugins @@ -178,7 +165,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ((owner.equals("org/bukkit/OfflinePlayer") || owner.equals("org/bukkit/entity/Player")) && name.equals("getPlayerProfile") && desc.equals("()Lorg/bukkit/profile/PlayerProfile;")) { super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; -@@ -424,6 +542,13 @@ public class Commodore +@@ -433,6 +536,13 @@ public class Commodore @Override public void visitLdcInsn(Object value) { @@ -192,3 +179,17 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ( value instanceof String && ( (String) value ).equals( "com.mysql.jdbc.Driver" ) ) { super.visitLdcInsn( "com.mysql.cj.jdbc.Driver" ); +@@ -445,6 +555,13 @@ public class Commodore + @Override + public void visitInvokeDynamicInsn( String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments ) + { ++ // Paper start - Rewrite plugins ++ name = getOriginalOrRewrite( name ); ++ if ( descriptor != null ) ++ { ++ descriptor = getOriginalOrRewrite( descriptor ); ++ } ++ // Paper end - Rewrite plugins + if ( bootstrapMethodHandle.getOwner().equals( "java/lang/invoke/LambdaMetafactory" ) + && bootstrapMethodHandle.getName().equals( "metafactory" ) && bootstrapMethodArguments.length == 3 ) + { diff --git a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch index 05ddea3a69..f3d4f1a43c 100644 --- a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch @@ -56,7 +56,7 @@ index 4fdf034205ea0ff9d6803928672b23c185fd3065..ffed90c0fc1240fc10b4cdd8df837764 public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3d9e4ebb29f670d32bfe044ad22daaf82313498d..d5f53ddf1bb24c933bf38efbe142411663ec2470 100644 +index e327cc9f2513ae79a871ac2ab144389b71a88f2a..a3842078a394241a3a9b4c398d13fcdbcb5dbe10 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0266-Add-sun-related-API.patch b/patches/server/0266-Add-sun-related-API.patch index 9962323a27..fb9c514239 100644 --- a/patches/server/0266-Add-sun-related-API.patch +++ b/patches/server/0266-Add-sun-related-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add sun related API public net.minecraft.world.entity.Mob isSunBurnTick()Z diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 71e68b9cdafbacc84c317cfb2126d4da472d9f63..08058aced4b27cf86f38b8a205dd3faeea47b007 100644 +index 6e806ede0d94cb3cdb7e772ba56a010ad241590c..238669816f082704b62a7bef8b78058dceef8be2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -692,6 +692,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -25,7 +25,7 @@ index 71e68b9cdafbacc84c317cfb2126d4da472d9f63..08058aced4b27cf86f38b8a205dd3fae public long getGameTime() { return world.levelData.getGameTime(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index f36713771598ac5afdae5d94db10a5790949611d..c92f7f31c3bf96f22fb1d2e783b14b80512448a0 100644 +index ce244e96f674f7886179baced3d1e9b67fedfe73..522b7cb1db22b02279b004916ad2a14447a6bbed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -93,4 +93,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0282-Make-the-default-permission-message-configurable.patch b/patches/server/0282-Make-the-default-permission-message-configurable.patch index 83428ced3e..58965a428b 100644 --- a/patches/server/0282-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0282-Make-the-default-permission-message-configurable.patch @@ -18,10 +18,10 @@ index 0dd48e4098191c8b6e29945d62bc473e9f3a1e77..ae51993e0de706cb62c96795ca9de766 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 145476b25f7d7d60c7bc4891e71484c74011cac2..4acb515c423a55c9bb7ba87504cb5a04c58d2bf8 100644 +index c5a59f5f94ded049d39b1e1ffac1a71f4c5b9535..5fe9750472edaa5684ded6beb6acce3156bbc2b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2708,6 +2708,16 @@ public final class CraftServer implements Server { +@@ -2707,6 +2707,16 @@ public final class CraftServer implements Server { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 934c99f332..4577ba7887 100644 --- a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -40,7 +40,7 @@ index 98c4a1b8542486f5af1274f974b898a69f2684f1..45bfb32505dfd2a66d8a6ee4627ec293 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 aac78c13361b19efa7b43a0c95458390f1ba8340..f572a74b85df36a6da76b78ec29d807273867537 100644 +index c1ef6c8c8e5f030e18b6066a509350ee1e195987..779b6bac307e252fe614cfce958d2eeed94c5f77 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 @@ -106,7 +106,7 @@ index aac78c13361b19efa7b43a0c95458390f1ba8340..f572a74b85df36a6da76b78ec29d8072 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 c4dd9c90c12b6c8fc11a2d683ff73fdc02ff5e5c..14d8c5636b6a1fe0c18086a98469ba30f1325b6a 100644 +index 92e64162181b73e5201e1e3e52db9e372c765a75..d939e5385d250095674c1f0c6f4209cdf87ad7cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -195,6 +195,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch index 121eb4c612..62d94b6565 100644 --- a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 14d8c5636b6a1fe0c18086a98469ba30f1325b6a..6ef5547264dcd557a4dcdb5392b9fd5ef22d143d 100644 +index d939e5385d250095674c1f0c6f4209cdf87ad7cb..94cb3513aeef549da3626ff18c1ea0662252ecb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2890,6 +2890,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0299-Entity-getEntitySpawnReason.patch b/patches/server/0299-Entity-getEntitySpawnReason.patch index b72984e849..dc83a79c5b 100644 --- a/patches/server/0299-Entity-getEntitySpawnReason.patch +++ b/patches/server/0299-Entity-getEntitySpawnReason.patch @@ -120,10 +120,10 @@ index a9be524edb03c51300bc45d424fcf87c7491a8c0..a08c2dee792da1a54005f0a65a9eefab // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0fd9119c710afdd46a60d81ae3f9ce5da88d2541..c7cd18de51c5e7c9d194ba65902084194d4408ec 100644 +index e3ed6a4315f8e0411144a5e585f9f49114cdf1b6..fa2cf604910977c0275f7731286618fe3c355a36 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1307,5 +1307,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1306,5 +1306,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean fromMobSpawner() { return getHandle().spawnedViaMobSpawner; } diff --git a/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch index 29a3edd78d..aaeef4e981 100644 --- a/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch +++ b/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch @@ -6,7 +6,7 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items vanilla checks for == 0 diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 91eba1c571764c88489ea2598fb9b4736554d5cc..fda34d93a5b75919c840d3bc0efa0651e5eb4843 100644 +index 5744d726c4e7a970db5c1c3764d530d839d95597..2edc55f09b79ac75788a0ded8b3d2a6800674470 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -122,6 +122,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0307-Add-Heightmap-API.patch b/patches/server/0307-Add-Heightmap-API.patch index 42b59f7fd6..8767b51828 100644 --- a/patches/server/0307-Add-Heightmap-API.patch +++ b/patches/server/0307-Add-Heightmap-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 08058aced4b27cf86f38b8a205dd3faeea47b007..4776242cb73213686d3e020ef36fea77ef905598 100644 +index 238669816f082704b62a7bef8b78058dceef8be2..3ff94314e2dcfab964d230684ff218c634b75499 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -219,6 +219,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0308-Mob-Spawner-API-Enhancements.patch b/patches/server/0308-Mob-Spawner-API-Enhancements.patch index 7d927ec0a8..bbb2fa9463 100644 --- a/patches/server/0308-Mob-Spawner-API-Enhancements.patch +++ b/patches/server/0308-Mob-Spawner-API-Enhancements.patch @@ -69,10 +69,10 @@ index a08c2dee792da1a54005f0a65a9eefabc7bc7c60..369298dfd437c1c83801f3d4ba63484e nbt.putShort("MaxNearbyEntities", (short) this.maxNearbyEntities); nbt.putShort("RequiredPlayerRange", (short) this.requiredPlayerRange); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -index f733df6d082561bf80a3fcfaaab1731985213324..e2d0937f8609c1f65eff94a1cdae8c80b6347cc3 100644 +index 46d41520a5d429e7466e5a24ffb737a0e844921a..e34637160a8364ffe13be4fd9a85feb7afbb5f77 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -@@ -134,4 +134,28 @@ public class CraftCreatureSpawner extends CraftBlockEntityState diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index cecd7bd4a6dd66cfb2d632a232ff469e5fdcba44..5d742d072d2cc532ce86bff3de15a5f0f381d1c5 100644 +index 9b9d491c7c41590c93d606414902329b6636419f..a7eccb2f364ed633cb6d4914491eb686ff02e647 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -54,6 +54,7 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -44,15 +44,15 @@ index cecd7bd4a6dd66cfb2d632a232ff469e5fdcba44..5d742d072d2cc532ce86bff3de15a5f0 } private void tryToMerge(ItemEntity other) { -@@ -513,6 +514,7 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -512,6 +513,7 @@ public class ItemEntity extends Entity implements TraceableEntity { + public void setItem(ItemStack stack) { - com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit this.getEntityData().set(ItemEntity.DATA_ITEM, stack); + this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper } @Override -@@ -566,7 +568,7 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -565,7 +567,7 @@ public class ItemEntity extends Entity implements TraceableEntity { public void makeFakeItem() { this.setNeverPickUp(); diff --git a/patches/server/0343-Improve-Block-breakNaturally-API.patch b/patches/server/0343-Improve-Block-breakNaturally-API.patch index 4de6b7c5eb..1f5f088a1c 100644 --- a/patches/server/0343-Improve-Block-breakNaturally-API.patch +++ b/patches/server/0343-Improve-Block-breakNaturally-API.patch @@ -34,10 +34,10 @@ index 6f9cb55491da718cd6564425748ab3852fda9b68..5fbdc96f29e29dfc092b9e84a988032d if (world.dimensionType().ultraWarm()) { world.removeBlock(pos, false); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 93bf6b8e30e5e28fa9261b8b927081d85547e400..5534348ddb3ac42b6b8a687816c2c8c1858e3b3e 100644 +index ce8f3d66b0f64531e818823761fd1823da4f01d5..e172d05e9e2b8d7844ecff286430f94c1b2fd7db 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -477,6 +477,18 @@ public class CraftBlock implements Block { +@@ -451,6 +451,18 @@ public class CraftBlock implements Block { @Override public boolean breakNaturally(ItemStack item) { @@ -56,7 +56,7 @@ index 93bf6b8e30e5e28fa9261b8b927081d85547e400..5534348ddb3ac42b6b8a687816c2c8c1 // Order matters here, need to drop before setting to air so skulls can get their data net.minecraft.world.level.block.state.BlockState iblockdata = this.getNMS(); net.minecraft.world.level.block.Block block = iblockdata.getBlock(); -@@ -486,11 +498,35 @@ public class CraftBlock implements Block { +@@ -460,11 +472,35 @@ public class CraftBlock implements Block { // Modelled off EntityHuman#hasBlock if (block != Blocks.AIR && (item == null || !iblockdata.requiresCorrectToolForDrops() || nmsItem.isCorrectToolForDrops(iblockdata))) { net.minecraft.world.level.block.Block.dropResources(iblockdata, this.world.getMinecraftWorld(), position, this.world.getBlockEntity(position), null, nmsItem); diff --git a/patches/server/0348-Entity-Jump-API.patch b/patches/server/0348-Entity-Jump-API.patch index 7e52fa865a..5f414603d2 100644 --- a/patches/server/0348-Entity-Jump-API.patch +++ b/patches/server/0348-Entity-Jump-API.patch @@ -48,7 +48,7 @@ index 344e933311f5cdccb66069d486b111a003639dfe..add3cd866452df727107e94fb2039bdd } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d5f53ddf1bb24c933bf38efbe142411663ec2470..607e48cf2eb50f477bcacca636cacf27f01342ef 100644 +index a3842078a394241a3a9b4c398d13fcdbcb5dbe10..9ba85d099d0e6893dc3489ce0753119348e937b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -906,5 +906,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch index 8e0a42cc57..09a7646a95 100644 --- a/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch +++ b/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 01ce54dba8c3efcc147b694ba57e070686375f68..ceca2bccb4c36713cf15fb1d7cab0cbd3f31aff5 100644 +index a1f6b35eec45e99013db02a727159d186150474a..accf3399f813ad062a3dba6eba99c16afe66045a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -401,13 +401,18 @@ public class CraftEventFactory { diff --git a/patches/server/0357-Add-tick-times-API-and-mspt-command.patch b/patches/server/0357-Add-tick-times-API-and-mspt-command.patch index 9f51624fda..ab2086b3d8 100644 --- a/patches/server/0357-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0357-Add-tick-times-API-and-mspt-command.patch @@ -184,10 +184,10 @@ index 4d3cd4a5dbf7adb482e60dc88ededdaccf558061..951e283d38cb7601049ac6f24385acde + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fcb0f9cf49495ffbfd9acd25cd3049ca63fb33b9..93de9add395f36e3c1ba645434c858ae5e38e867 100644 +index fc1dcd6aae389d89ab2c0233448ea64b50c065a9..6e986a657af35ce6175c30abd7c68e3e3a878b83 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2533,6 +2533,16 @@ public final class CraftServer implements Server { +@@ -2532,6 +2532,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0358-Expose-MinecraftServer-isRunning.patch b/patches/server/0358-Expose-MinecraftServer-isRunning.patch index 1ea1387f8d..fb8eae4b49 100644 --- a/patches/server/0358-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0358-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 93de9add395f36e3c1ba645434c858ae5e38e867..81e8ff4c3901bb16ddfb09bda1237308b5c469e4 100644 +index 6e986a657af35ce6175c30abd7c68e3e3a878b83..79839c8e98e0489391579960b08aef055da931e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2764,5 +2764,10 @@ public final class CraftServer implements Server { +@@ -2763,5 +2763,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch index 178fa3a98c..a14a6ac426 100644 --- a/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 6f2b9d0d2cc8b18d74b59bf77fec394d14211a24..3544ffd3af1e71cfd6fb198b4fa45da3167cd62d 100644 +index e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c..46af63d8a36621f48a7610b5c3d55ae71639bcf5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -467,6 +467,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -448,6 +448,52 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0375-Implement-Player-Client-Options-API.patch b/patches/server/0375-Implement-Player-Client-Options-API.patch index c802d5b829..2a6f5b32ff 100644 --- a/patches/server/0375-Implement-Player-Client-Options-API.patch +++ b/patches/server/0375-Implement-Player-Client-Options-API.patch @@ -115,7 +115,7 @@ index 1ff911085da7d1a2a378c60c66f8e5364b9774b4..c13f088a74448f80e111bdeeb712087a if (getMainArm() != clientOptions.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6ef5547264dcd557a4dcdb5392b9fd5ef22d143d..f81ebf2e29bab66904644e106cdb2d1ca812a212 100644 +index 94cb3513aeef549da3626ff18c1ea0662252ecb9..f4a15de92c3af88624f337c36fadbea67d339064 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -604,6 +604,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch index 0db5713461..afc62f6ab7 100644 --- a/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -135,7 +135,7 @@ index 7eecbe85949e47b367014c04d7a37c2cbea80168..3d2d638da2d4b9c00f98477320b3300f } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ceca2bccb4c36713cf15fb1d7cab0cbd3f31aff5..0b45481cdbbfbe4e1756e19e696e1c11d8fccd00 100644 +index accf3399f813ad062a3dba6eba99c16afe66045a..1a2f03895f348e4c2620caef74f12cb1f41dec1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -868,6 +868,11 @@ public class CraftEventFactory { diff --git a/patches/server/0383-Villager-Restocks-API.patch b/patches/server/0383-Villager-Restocks-API.patch index 87278ca4a8..b263d39f2a 100644 --- a/patches/server/0383-Villager-Restocks-API.patch +++ b/patches/server/0383-Villager-Restocks-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Villager Restocks API public net.minecraft.world.entity.npc.Villager numberOfRestocksToday diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 0f12be424a9868c7c34174f92b503cd63399df19..6160f2c2886569b4400080d11beca399ef002ea0 100644 +index 6ee10f8a30041355a1fb0b805c7c61b7ac4ad5af..fb9f1fa2f66dbeb1ffea2679d6efe47ed616f0ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -85,6 +85,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -87,6 +87,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { this.getHandle().setVillagerXp(experience); } diff --git a/patches/server/0385-Expose-game-version.patch b/patches/server/0385-Expose-game-version.patch index 5765fe7db9..7cd7a4ea60 100644 --- a/patches/server/0385-Expose-game-version.patch +++ b/patches/server/0385-Expose-game-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 81e8ff4c3901bb16ddfb09bda1237308b5c469e4..e843466c691b348b24826a9acbefa06c9098a28b 100644 +index 79839c8e98e0489391579960b08aef055da931e4..eb74938bd7429e19d675557626fe8fe3f1f691a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -585,6 +585,13 @@ public final class CraftServer implements Server { +@@ -584,6 +584,13 @@ public final class CraftServer implements Server { return this.bukkitVersion; } diff --git a/patches/server/0388-misc-debugging-dumps.patch b/patches/server/0388-misc-debugging-dumps.patch index 779481523b..59ca3ab1b4 100644 --- a/patches/server/0388-misc-debugging-dumps.patch +++ b/patches/server/0388-misc-debugging-dumps.patch @@ -74,10 +74,10 @@ index ed80d9551cd7cc1ec26a5d5fd7bc185b38fddd78..77e19f345bf68d12686a65e669cd597c this.connection.disconnect(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e843466c691b348b24826a9acbefa06c9098a28b..d58ecb5bbfe0c64a88da1b7705d6482d2722da18 100644 +index eb74938bd7429e19d675557626fe8fe3f1f691a3..e0adcbfb44284602c60bd140b5232a6e1c3b9c8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1009,6 +1009,7 @@ public final class CraftServer implements Server { +@@ -1008,6 +1008,7 @@ public final class CraftServer implements Server { plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); diff --git a/patches/server/0391-Implement-Mob-Goal-API.patch b/patches/server/0391-Implement-Mob-Goal-API.patch index bc48cef1c0..487546a6c6 100644 --- a/patches/server/0391-Implement-Mob-Goal-API.patch +++ b/patches/server/0391-Implement-Mob-Goal-API.patch @@ -792,10 +792,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d58ecb5bbfe0c64a88da1b7705d6482d2722da18..dd0b8f158718af34275589d772c64d94dfcb911d 100644 +index e0adcbfb44284602c60bd140b5232a6e1c3b9c8f..f9672add712045eb53d46ff849ba9caf72149a02 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2777,5 +2777,11 @@ public final class CraftServer implements Server { +@@ -2776,5 +2776,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0392-Add-villager-reputation-API.patch b/patches/server/0392-Add-villager-reputation-API.patch index 570f87c373..a0dafd0a25 100644 --- a/patches/server/0392-Add-villager-reputation-API.patch +++ b/patches/server/0392-Add-villager-reputation-API.patch @@ -57,10 +57,10 @@ index a28f359202e6502c6ea5e9c918ec0b3e9a3fca61..76dffb2705e5207db96895f82f1c7c56 static record GossipEntry(UUID target, GossipType type, int value) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 6160f2c2886569b4400080d11beca399ef002ea0..b27b9001b8eb74c713e6766f0919110432775a2e 100644 +index fb9f1fa2f66dbeb1ffea2679d6efe47ed616f0ab..5e779b7f1ba40e418d24c9d37506420c83bfb3fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -16,6 +16,13 @@ import org.bukkit.entity.Villager; +@@ -18,6 +18,13 @@ import org.bukkit.entity.Villager; import org.bukkit.entity.ZombieVillager; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -74,9 +74,9 @@ index 6160f2c2886569b4400080d11beca399ef002ea0..b27b9001b8eb74c713e6766f09191104 public class CraftVillager extends CraftAbstractVillager implements Villager { public CraftVillager(CraftServer server, net.minecraft.world.entity.npc.Villager entity) { -@@ -140,4 +147,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { - public static VillagerProfession bukkitToNmsProfession(Profession bukkit) { - return BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey())); +@@ -176,4 +183,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { + .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); + } } + + // Paper start - Add villager reputation API diff --git a/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch b/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch index b4e0f5df2b..7bebe79b88 100644 --- a/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for maximum exp value when merging orbs diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0b45481cdbbfbe4e1756e19e696e1c11d8fccd00..b71024ebd675f4afd7ad2aa96393532758a28b63 100644 +index 1a2f03895f348e4c2620caef74f12cb1f41dec1b..463bd6c1327c2122b8c127a38399d80bf68ebdc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -688,16 +688,30 @@ public class CraftEventFactory { diff --git a/patches/server/0394-ExperienceOrbMergeEvent.patch b/patches/server/0394-ExperienceOrbMergeEvent.patch index c34bb892ed..7f2db94033 100644 --- a/patches/server/0394-ExperienceOrbMergeEvent.patch +++ b/patches/server/0394-ExperienceOrbMergeEvent.patch @@ -9,7 +9,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor metadata such as spawn reason, or conditionally move data from source to target. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b71024ebd675f4afd7ad2aa96393532758a28b63..7aba049b426a25981376205410acf41327993d30 100644 +index 463bd6c1327c2122b8c127a38399d80bf68ebdc0..5954367915f2f68383d892d6927c9bfa1b739b77 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -698,7 +698,7 @@ public class CraftEventFactory { diff --git a/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch index 569588e8d2..6dfeda8139 100644 --- a/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch +++ b/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 607e48cf2eb50f477bcacca636cacf27f01342ef..02b7780a05f0119c2d1e9d379321105822629793 100644 +index 9ba85d099d0e6893dc3489ce0753119348e937b3..71a2ac37046adb3826bc2e76b4ac385c7e331f5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -443,7 +443,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch index 728257ad50..f033ff0e3f 100644 --- a/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch @@ -22,10 +22,10 @@ index a107751a13ccef2729068e9b9822509374d20187..e2b4e7fb68aeaa2a95f3d1dfdd045217 // CraftBukkit end this.getConnection().stop(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd0b8f158718af34275589d772c64d94dfcb911d..126552d1d27028f1872e9355c25a8a27ce199c73 100644 +index f9672add712045eb53d46ff849ba9caf72149a02..858bad98e46a0eec5e9b2b34acf956728b2a0f6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1019,6 +1019,31 @@ public final class CraftServer implements Server { +@@ -1018,6 +1018,31 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index b647df5868..6856f7d5aa 100644 --- a/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -102,10 +102,10 @@ index b664a4ae7b10ce3ea83186a6112c0db0cbd6112a..c3844274b185decd92d021e7c7343adb } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 126552d1d27028f1872e9355c25a8a27ce199c73..f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf 100644 +index 858bad98e46a0eec5e9b2b34acf956728b2a0f6d..882801984304b8570669bc0ff9388fbfc3846dcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -958,8 +958,8 @@ public final class CraftServer implements Server { +@@ -957,8 +957,8 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { @@ -117,7 +117,7 @@ index 126552d1d27028f1872e9355c25a8a27ce199c73..f212b3b42fa6086c8d6b60e246591d9d for (SpawnCategory spawnCategory : SpawnCategory.values()) { if (CraftSpawnCategory.isValidForLimits(spawnCategory)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f5e54c4adc9466ba23a665cc8d14b2ce4efd00d5..872a0352008c6889f13b01f6a21e1a1da31f291e 100644 +index 0a9cf69ce0983f167ce63dc58eace455561da8e7..40a3a1e0bfb8c274b8de56d1ac3edca6c170296c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1145,7 +1145,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 28c24c3f4f..c84336bf37 100644 --- a/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa649290c48d147 100644 +index 882801984304b8570669bc0ff9388fbfc3846dcf..aa8b58a51792b1e4e6d18e13f06f697e3e2ebe72 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -385,7 +385,7 @@ public final class CraftServer implements Server { +@@ -384,7 +384,7 @@ public final class CraftServer implements Server { this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -34,7 +34,7 @@ index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa64929 this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); -@@ -938,7 +938,7 @@ public final class CraftServer implements Server { +@@ -937,7 +937,7 @@ public final class CraftServer implements Server { this.console.setMotd(config.motd); this.overrideSpawnLimits(); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -44,7 +44,7 @@ index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa64929 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 872a0352008c6889f13b01f6a21e1a1da31f291e..53213501b5e818cdee4103c446ca9987f7e71d6d 100644 +index 40a3a1e0bfb8c274b8de56d1ac3edca6c170296c..53d4f1687527f383841ecc35ffc16d8bf8eefb78 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -279,7 +279,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch index fbc3090505..00e8b2c465 100644 --- a/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Convert legacy attributes in Item Meta diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395bac63315c 100644 +index d4dba8c733c7560e5108b8d239b52e593f8debec..ea48f1119a940056c37d1d203437bfbfdf13663b 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -@@ -12,6 +12,20 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; +@@ -9,6 +9,20 @@ import org.bukkit.attribute.AttributeInstance; public class CraftAttributeMap implements Attributable { private final AttributeMap handle; @@ -30,10 +30,10 @@ index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395b public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d7102d83bb781b6cf296cf9c637f8270f4ee8b14..d1f21b5f5600dba41a93378853aadacd24f4a1f3 100644 +index abccd9cb31c529142b64783873368fab7b38d312..224b7336b2b80c6810b45fe78c8d8ce581a53b4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -483,7 +483,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -484,7 +484,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/server/0427-Support-components-in-ItemMeta.patch b/patches/server/0427-Support-components-in-ItemMeta.patch index d08ab5c3a5..2bc9b2294c 100644 --- a/patches/server/0427-Support-components-in-ItemMeta.patch +++ b/patches/server/0427-Support-components-in-ItemMeta.patch @@ -5,10 +5,10 @@ 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 d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e8fee88e0 100644 +index 224b7336b2b80c6810b45fe78c8d8ce581a53b4e..76b4c43343fd3ee13662ac7cd6e0e5ae4df0d615 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -877,11 +877,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -878,11 +878,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromJSONComponent(displayName); } @@ -32,7 +32,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1024,6 +1036,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1025,6 +1037,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent)); } @@ -47,7 +47,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1038,6 +1058,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1039,6 +1059,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1506,6 +1541,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1507,6 +1542,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0429-Add-entity-liquid-API.patch b/patches/server/0429-Add-entity-liquid-API.patch index 0118139b4d..137f3148f2 100644 --- a/patches/server/0429-Add-entity-liquid-API.patch +++ b/patches/server/0429-Add-entity-liquid-API.patch @@ -8,10 +8,10 @@ public net.minecraft.world.entity.Entity isInRain()Z public net.minecraft.world.entity.Entity isInBubbleColumn()Z diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c7cd18de51c5e7c9d194ba65902084194d4408ec..91d199250d856baa869258282bb04ed5897b14e9 100644 +index fa2cf604910977c0275f7731286618fe3c355a36..11d2fb9984f5d0cf91c8b3ae1153f0fcbb817a59 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1312,5 +1312,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1311,5 +1311,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason() { return getHandle().spawnReason; } diff --git a/patches/server/0432-Add-PrepareResultEvent.patch b/patches/server/0432-Add-PrepareResultEvent.patch index c1323ff095..7d404fbc9a 100644 --- a/patches/server/0432-Add-PrepareResultEvent.patch +++ b/patches/server/0432-Add-PrepareResultEvent.patch @@ -94,10 +94,10 @@ index 9c2fe69ced7a46bbd8b0fbe10fa67d0a39b0f375..70ecc3f673ebd56b65ad901e10f40c28 private void setupRecipeList(Container input, ItemStack stack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7aba049b426a25981376205410acf41327993d30..6018dc7aa4eaac45c1eee121925f4a22625b0e55 100644 +index 5954367915f2f68383d892d6927c9bfa1b739b77..e614b847543df4581dbbc79e3ffb69aa7c55e9cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1669,26 +1669,53 @@ public class CraftEventFactory { +@@ -1671,26 +1671,53 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0443-Brand-support.patch b/patches/server/0443-Brand-support.patch index a14c9447df..9391d71b8f 100644 --- a/patches/server/0443-Brand-support.patch +++ b/patches/server/0443-Brand-support.patch @@ -48,7 +48,7 @@ index d1808bf9dc19fad84da5eb3b4c3d549bc624b00a..cce6febce229abdad859f183716cdefb return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f81ebf2e29bab66904644e106cdb2d1ca812a212..8a74046fd65f1bfa7ff22a0019fd8cdf989c7a00 100644 +index f4a15de92c3af88624f337c36fadbea67d339064..28c80b15f83947cf44f71da9f9d971f2d6e5dd5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3007,6 +3007,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch index 1b6b0d9a7f..2518586ba3 100644 --- a/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 02b7780a05f0119c2d1e9d379321105822629793..a0da8d022b9ab9c7b6ac6a32022739e863c2c9a0 100644 +index 71a2ac37046adb3826bc2e76b4ac385c7e331f5e..8ed8bd2c539af20aa97bff1c0f719c4c2f793fc5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -920,5 +920,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index d802fd7dba..05ea1c1cfd 100644 --- a/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -21,7 +21,7 @@ index 6bb89597035894f9aedc52469a38f87f2be91893..2e2c85e58d311bff6fb65d7757987e42 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 53213501b5e818cdee4103c446ca9987f7e71d6d..874598a1ae8b9adc3e746c01565986c11d12ca45 100644 +index 53d4f1687527f383841ecc35ffc16d8bf8eefb78..0f448e2652eb1d334bf9b8d6343e680365cc9e0b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -259,12 +259,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0447-Add-moon-phase-API.patch b/patches/server/0447-Add-moon-phase-API.patch index afc9659d98..df66928ff7 100644 --- a/patches/server/0447-Add-moon-phase-API.patch +++ b/patches/server/0447-Add-moon-phase-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 91fbc67eefea473211b99e4338f6464f58dc5592..b5981001d8ad4d6c79b965be9a446352971b0d29 100644 +index 75d4c33768a8ab15a94bcb71b2aa724cad1ce0aa..93f44ca0c8388935baaa41f9b0ebb6de2f6906bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -980,4 +980,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -981,4 +981,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName()); } diff --git a/patches/server/0450-Add-BellRingEvent.patch b/patches/server/0450-Add-BellRingEvent.patch index 6ee48b9906..d1b4164b88 100644 --- a/patches/server/0450-Add-BellRingEvent.patch +++ b/patches/server/0450-Add-BellRingEvent.patch @@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a village bell. Passes along the bell block and the player who rang it. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6018dc7aa4eaac45c1eee121925f4a22625b0e55..9bdfb16720c9e5ca3254f8ea8463ca10077992ea 100644 +index e614b847543df4581dbbc79e3ffb69aa7c55e9cc..63b738c1f511e4663cad698e616cdc1528ee8c6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -367,10 +367,11 @@ public class CraftEventFactory { diff --git a/patches/server/0457-Add-methods-to-get-translation-keys.patch b/patches/server/0457-Add-methods-to-get-translation-keys.patch index e777a9128f..ce1256ed3e 100644 --- a/patches/server/0457-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0457-Add-methods-to-get-translation-keys.patch @@ -10,10 +10,10 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5534348ddb3ac42b6b8a687816c2c8c1858e3b3e..d2d5a43cfdf294ccc9353258250f5a990e205b88 100644 +index e172d05e9e2b8d7844ecff286430f94c1b2fd7db..5a1b0f2352016497099c68c5bcd09a43ebe8bf3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -694,5 +694,10 @@ public class CraftBlock implements Block { +@@ -668,5 +668,10 @@ public class CraftBlock implements Block { public org.bukkit.SoundGroup getBlockSoundGroup() { return org.bukkit.craftbukkit.CraftSoundGroup.getSoundGroup(this.getNMS().getSoundType()); } diff --git a/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch index c1ff218feb..a8eadef392 100644 --- a/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 5aece14ec931f4c564e847a2797e92da8ffb569b..ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc 100644 +index 709c0e9ba7b33e97666ac74412761bb0e770a037..aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -491,4 +491,41 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0459-Cache-block-data-strings.patch b/patches/server/0459-Cache-block-data-strings.patch index 8267b220db..16519200a0 100644 --- a/patches/server/0459-Cache-block-data-strings.patch +++ b/patches/server/0459-Cache-block-data-strings.patch @@ -17,10 +17,10 @@ index 04258e07f806acd9a0d659b682e0119a5dc23adf..14e82938f919975c4ff8d463307d1d26 if (this.isSameThread()) { 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 c80aaa37b7d63acfb283641a4804dc2a32156eda..68dc8455427b6e3f60a4472db3a625028c413561 100644 +index 777539309639569d9057e4de86c3957a7a72a47f..448f90b7e15bca1fd0bcc70164e2ee9cb95f7c4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -527,9 +527,39 @@ public class CraftBlockData implements BlockData { +@@ -528,9 +528,39 @@ public class CraftBlockData implements BlockData { Preconditions.checkState(CraftBlockData.MAP.put(nms, bukkit) == null, "Duplicate mapping %s->%s", nms, bukkit); } diff --git a/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index a52fbc0265..f72adda1b9 100644 --- a/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -69,10 +69,10 @@ index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35 if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 91d199250d856baa869258282bb04ed5897b14e9..889b24adb50825a3c4bd83f10c3d253e5cf80a1a 100644 +index 11d2fb9984f5d0cf91c8b3ae1153f0fcbb817a59..681a5d93933dcd02e857e260261b70e7252544a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -580,7 +580,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -579,7 +579,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // entity.setLocation() throws no event, and so cannot be cancelled diff --git a/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 472afd4a88..898f425c94 100644 --- a/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -21,10 +21,10 @@ index b0a73ddd7438b9ecd4462638f9f784d796c62c6c..71dc4112cb932c6b1305f0f22e99f069 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 3544ffd3af1e71cfd6fb198b4fa45da3167cd62d..336717e397d6d6572fd72da16f8585b349a80209 100644 +index 46af63d8a36621f48a7610b5c3d55ae71639bcf5..62ade83a9dbf4faf226b3a39c0e4249a231390dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -513,6 +513,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -494,6 +494,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/server/0466-Entity-isTicking.patch b/patches/server/0466-Entity-isTicking.patch index 4ef8d10eca..0467e6cc7c 100644 --- a/patches/server/0466-Entity-isTicking.patch +++ b/patches/server/0466-Entity-isTicking.patch @@ -19,10 +19,10 @@ index 71dc4112cb932c6b1305f0f22e99f069517cac08..cfdc8c37d41473300ca9a8c251e27cb2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 889b24adb50825a3c4bd83f10c3d253e5cf80a1a..3f2a8efc6ad9e6e2043bf96894c47e578c68e263 100644 +index 681a5d93933dcd02e857e260261b70e7252544a5..4b826ff8c3c2bc07ab471557faf41a3398dbdfb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1347,5 +1347,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1346,5 +1346,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInLava() { return getHandle().isInLava(); } diff --git a/patches/server/0471-Optimise-getType-calls.patch b/patches/server/0471-Optimise-getType-calls.patch index d135865cc4..46fa33fd85 100644 --- a/patches/server/0471-Optimise-getType-calls.patch +++ b/patches/server/0471-Optimise-getType-calls.patch @@ -28,7 +28,7 @@ index da878e180c6b94f98dc82c6e8395f63ecc9b2c1e..a9b0f5950b6f97ea4c2a1075946b9200 super(block, propertyMap, codec); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java -index eebac2ea211f58c385b2ceb36ab911ac5e115296..d1aaca5de055fd5e3bf2c6d39ef397bbb2deeaae 100644 +index 89be1b21c918c5b81ec29fc460fa57d413fb498f..26223227f467c65f62d62a5cba6403979f62c753 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java @@ -98,7 +98,7 @@ public class CraftChunkSnapshot implements ChunkSnapshot { @@ -41,10 +41,10 @@ index eebac2ea211f58c385b2ceb36ab911ac5e115296..d1aaca5de055fd5e3bf2c6d39ef397bb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index d2d5a43cfdf294ccc9353258250f5a990e205b88..2749f81fd74e466fa6b7c1c5f08d8defc5203b3e 100644 +index 5a1b0f2352016497099c68c5bcd09a43ebe8bf3a..ef1e77729b12a9ee0b13fa283f8200cc0c3968ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -224,7 +224,7 @@ public class CraftBlock implements Block { +@@ -219,7 +219,7 @@ public class CraftBlock implements Block { @Override public Material getType() { @@ -67,7 +67,7 @@ index 2773f47d4e7a9432ab1ccebfcdc22317ef762099..b722a207c0e745bb172d93b90e1241d7 public void setFlag(int flag) { 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 68dc8455427b6e3f60a4472db3a625028c413561..68ffdb2140bdf8d00ed86db19d316735d9a6b2d1 100644 +index 448f90b7e15bca1fd0bcc70164e2ee9cb95f7c4e..3aa4a2ac3b81abc1446b7f7dae7f636438341790 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -59,7 +59,7 @@ public class CraftBlockData implements BlockData { @@ -80,7 +80,7 @@ index 68dc8455427b6e3f60a4472db3a625028c413561..68ffdb2140bdf8d00ed86db19d316735 public net.minecraft.world.level.block.state.BlockState getState() { diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index 79b6f88a32ea5eaf77757b8cc3824b6dac1558a7..7bfb9bc9689c5d9899b572862f3fbe53812f36b1 100644 +index 35cf747196b43a0f1d9237fdc12424288962f8bd..54c7877f1da51ff8be467fac5e0a37b1fd573d37 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -95,7 +95,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { diff --git a/patches/server/0476-Player-elytra-boost-API.patch b/patches/server/0476-Player-elytra-boost-API.patch index 24243d0d54..15b812e401 100644 --- a/patches/server/0476-Player-elytra-boost-API.patch +++ b/patches/server/0476-Player-elytra-boost-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8a74046fd65f1bfa7ff22a0019fd8cdf989c7a00..c7205ab86236fdd70d1dc4ce24174e19737db1b2 100644 +index 28c80b15f83947cf44f71da9f9d971f2d6e5dd5b..a0ee2811d691f0088d94a308705dab5529d52810 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -626,6 +626,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch index 9711252056..4485061e14 100644 --- a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ca77f684288a26ee81e0f8bf5fa649290c48d147..aa16f21e6f47c3730294f1bec2c86ee8e3c028ba 100644 +index aa8b58a51792b1e4e6d18e13f06f697e3e2ebe72..2f04af83701777cddc1d5287b67921914779381f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1814,6 +1814,28 @@ public final class CraftServer implements Server { +@@ -1813,6 +1813,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/server/0482-Fix-client-lag-on-advancement-loading.patch b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch index d1fcc45325..ddef10d3c2 100644 --- a/patches/server/0482-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 336717e397d6d6572fd72da16f8585b349a80209..0fb0c8238be1e199220ef62576547ea6c9484a9c 100644 +index 62ade83a9dbf4faf226b3a39c0e4249a231390dd..b6436d708b2f99d3c923c112859ecd5ea2a123d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -346,7 +346,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -327,7 +327,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/server/0489-Add-Destroy-Speed-API.patch b/patches/server/0489-Add-Destroy-Speed-API.patch index 54a2a2c3dc..eda1608ac3 100644 --- a/patches/server/0489-Add-Destroy-Speed-API.patch +++ b/patches/server/0489-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic 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 68ffdb2140bdf8d00ed86db19d316735d9a6b2d1..f4e37764f714419a614a7e40718924788a204d28 100644 +index 3aa4a2ac3b81abc1446b7f7dae7f636438341790..5b67d4dd280688093d7e36e59e5b2ec6ebdc796c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -688,4 +688,19 @@ public class CraftBlockData implements BlockData { +@@ -689,4 +689,19 @@ public class CraftBlockData implements BlockData { public BlockState createBlockState() { return CraftBlockStates.getBlockState(this.state, null); } diff --git a/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 05d2a7bd40..cd353d7693 100644 --- a/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,7 +5,7 @@ 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 c7205ab86236fdd70d1dc4ce24174e19737db1b2..4e0612ebe2bee43d14a56679fa11b1aa69fe4bad 100644 +index a0ee2811d691f0088d94a308705dab5529d52810..47fdb3c21e10f86c34c1634708dac784577cd5f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2536,7 +2536,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0491-Add-LivingEntity-clearActiveItem.patch b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch index d761380070..3c5a99d1c4 100644 --- a/patches/server/0491-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a0da8d022b9ab9c7b6ac6a32022739e863c2c9a0..833c1d37fde5e726933da6ac0076c6ea072389ca 100644 +index 8ed8bd2c539af20aa97bff1c0f719c4c2f793fc5..66a4d3d3626e4382e07617d0af464e6fbd8a9427 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -887,6 +887,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch index 9795fec129..9ca7f86992 100644 --- a/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch +++ b/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix CraftSound backwards compatibility diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 180275a8b9d48d0c5a7bbaa950de619aed2dad53..5b68188d1a7b5a75e2f4b61e8d415b5784e0d8c0 100644 +index 260a738d5d61cf931b939502ea9c66451855b91e..dce716b6ac407d1e1ae07272ee5c8b14f891f5fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -@@ -27,4 +27,10 @@ public class CraftSound { - public static Sound getBukkit(SoundEvent soundEffect) { - return Registry.SOUNDS.get(CraftNamespacedKey.fromMinecraft(BuiltInRegistries.SOUND_EVENT.getKey(soundEffect))); +@@ -40,4 +40,10 @@ public class CraftSound { + throw new IllegalArgumentException("No Reference holder found for " + bukkit + + ", this can happen if a plugin creates its own sound effect with out properly registering it."); } + + // Paper start diff --git a/patches/server/0503-Expose-LivingEntity-hurt-direction.patch b/patches/server/0503-Expose-LivingEntity-hurt-direction.patch index 12b46ea681..e5c1724c82 100644 --- a/patches/server/0503-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0503-Expose-LivingEntity-hurt-direction.patch @@ -36,7 +36,7 @@ index 05d9a9968588381aaa3aeb06ef4d18fed4085229..c9f4f496a92ff8465a21f22f326dc025 public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 833c1d37fde5e726933da6ac0076c6ea072389ca..4d41a73281c851c1ff9506074f7590c06105efbb 100644 +index 66a4d3d3626e4382e07617d0af464e6fbd8a9427..a1e2d78fd9a57a59887419d356be8eab72045574 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -932,5 +932,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index b5cb8b8973..097c1f9904 100644 --- a/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9bdfb16720c9e5ca3254f8ea8463ca10077992ea..84941643036e4dc1cf135a24360e6a1c011969d5 100644 +index 63b738c1f511e4663cad698e616cdc1528ee8c6b..8a0c2d37830b002e7dab8e2e0567f6d1e597d5fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -302,6 +302,10 @@ public class CraftEventFactory { diff --git a/patches/server/0509-Additional-Block-Material-API-s.patch b/patches/server/0509-Additional-Block-Material-API-s.patch index 558eead684..1526eefd6e 100644 --- a/patches/server/0509-Additional-Block-Material-API-s.patch +++ b/patches/server/0509-Additional-Block-Material-API-s.patch @@ -9,10 +9,10 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 2749f81fd74e466fa6b7c1c5f08d8defc5203b3e..5e0f16acbd892f815cc504e03cd186070598b530 100644 +index ef1e77729b12a9ee0b13fa283f8200cc0c3968ce..4239fa3d992722bd1d9184bb5c33ce5c14010052 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -465,6 +465,25 @@ public class CraftBlock implements Block { +@@ -439,6 +439,25 @@ public class CraftBlock implements Block { return this.getNMS().liquid(); } diff --git a/patches/server/0520-Added-WorldGameRuleChangeEvent.patch b/patches/server/0520-Added-WorldGameRuleChangeEvent.patch index 0b2f2b4fbe..79640a9419 100644 --- a/patches/server/0520-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0520-Added-WorldGameRuleChangeEvent.patch @@ -64,7 +64,7 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 874598a1ae8b9adc3e746c01565986c11d12ca45..78d89ba85910f1a8b5a85c7f9a5ff0752d664d57 100644 +index 0f448e2652eb1d334bf9b8d6343e680365cc9e0b..9df709acc93157ffd86793c259e608bd3c0ff722 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1840,8 +1840,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch index cbf31d885b..20f3d70b06 100644 --- a/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch +++ b/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch @@ -32,10 +32,10 @@ index 7dd0570b2457c612484ab89a8efcedd094c4772c..b1ba2c1da9d7b59a5316574deb824740 } else { ItemStack itemstack = tileentitydispenser.getItem(i); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 84941643036e4dc1cf135a24360e6a1c011969d5..851ac82b242d513015487c15476a66d2b8b2158d 100644 +index 8a0c2d37830b002e7dab8e2e0567f6d1e597d5fb..93946b9e5a7dc61f797e81fcff9c2cef86e61340 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1997,4 +1997,12 @@ public class CraftEventFactory { +@@ -1999,4 +1999,12 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(event); return event; } diff --git a/patches/server/0530-Add-sendOpLevel-API.patch b/patches/server/0530-Add-sendOpLevel-API.patch index 6ac7b014b5..aa5163a0bf 100644 --- a/patches/server/0530-Add-sendOpLevel-API.patch +++ b/patches/server/0530-Add-sendOpLevel-API.patch @@ -32,7 +32,7 @@ index 709c37e41f566a8301ec26ca76eb28c44a9bf1cd..adc96e0c4f81375253b540a3b003a00e public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e0612ebe2bee43d14a56679fa11b1aa69fe4bad..ad04638955bebdf1392f9dc58be1de699858f5b3 100644 +index 47fdb3c21e10f86c34c1634708dac784577cd5f0..7362f0e73533c6b202021b93057cc0a23b5f3e99 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -640,6 +640,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0538-Implement-BlockPreDispenseEvent.patch b/patches/server/0538-Implement-BlockPreDispenseEvent.patch index d181c4d701..8f6bfbc56b 100644 --- a/patches/server/0538-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0538-Implement-BlockPreDispenseEvent.patch @@ -17,10 +17,10 @@ index 5cf5b451fecb1ff04d0c4aca1fb0b702c7f99bdf..9b1e51c1d95da885c80c6d05000d8343 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 851ac82b242d513015487c15476a66d2b8b2158d..b6648899c2146dbd41c3e4cafabeb3f7db129738 100644 +index 93946b9e5a7dc61f797e81fcff9c2cef86e61340..4bce7c239e33f675fef71416d0c825e6dc874f59 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2004,5 +2004,11 @@ public class CraftEventFactory { +@@ -2006,5 +2006,11 @@ public class CraftEventFactory { io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block); return event.callEvent(); } diff --git a/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch index d803e01df6..cbeafdb549 100644 --- a/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -122,10 +122,10 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..4eb97572a97a8d98af37c4223f42fc63 flag1 = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b6648899c2146dbd41c3e4cafabeb3f7db129738..afa573305f4fff403b72273b2faee76b1cb0e185 100644 +index 4bce7c239e33f675fef71416d0c825e6dc874f59..932035fe739404a1bafe05e9de71aa570ffa3726 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1592,8 +1592,10 @@ public class CraftEventFactory { +@@ -1594,8 +1594,10 @@ public class CraftEventFactory { return itemInHand; } diff --git a/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch index 8036fdcc36..63c3ff4747 100644 --- a/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index afa573305f4fff403b72273b2faee76b1cb0e185..5bb610230e5686dd8a35c5c14c506ffacd5868c9 100644 +index 932035fe739404a1bafe05e9de71aa570ffa3726..fc99df6033f4168ac1bc3ee7da11ac36d827f7bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -451,13 +451,30 @@ public class CraftEventFactory { diff --git a/patches/server/0550-living-entity-allow-attribute-registration.patch b/patches/server/0550-living-entity-allow-attribute-registration.patch index 680c5b9408..84f0585507 100644 --- a/patches/server/0550-living-entity-allow-attribute-registration.patch +++ b/patches/server/0550-living-entity-allow-attribute-registration.patch @@ -22,26 +22,23 @@ index d5dfb08f550f5644ff5164170d6c16a3b25a3748..7204b973c3ad9239e82355513f6d5381 + } diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -index 233e372ba5d785352c9ac12dac37395bac63315c..0e61caa5c9f21788fbeaa90ed75d23e10b816aac 100644 +index ea48f1119a940056c37d1d203437bfbfdf13663b..a3f989fd1775adbb84d197c51e22c1889a2f8e18 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -@@ -39,6 +39,14 @@ public class CraftAttributeMap implements Attributable { +@@ -35,4 +35,11 @@ public class CraftAttributeMap implements Attributable { + return (nms == null) ? null : new CraftAttributeInstance(nms, attribute); } - + // Paper start + @Override + public void registerAttribute(Attribute attribute) { + Preconditions.checkArgument(attribute != null, "attribute"); -+ handle.registerAttribute(CraftAttributeMap.toMinecraft(attribute)); ++ handle.registerAttribute(CraftAttribute.bukkitToMinecraft(attribute)); + } + // Paper end -+ - public static net.minecraft.world.entity.ai.attributes.Attribute toMinecraft(Attribute attribute) { - return BuiltInRegistries.ATTRIBUTE.get(CraftNamespacedKey.toMinecraft(attribute.getKey())); - } + } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 4d41a73281c851c1ff9506074f7590c06105efbb..13b4873923d64ab4b18795ce7f2dbc9a7abf067e 100644 +index a1e2d78fd9a57a59887419d356be8eab72045574..fac638e0eab8c50e6afd0ceee6f9d051127221eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -710,6 +710,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0553-Expose-Tracked-Players.patch b/patches/server/0553-Expose-Tracked-Players.patch index 706316556e..d0b87766ad 100644 --- a/patches/server/0553-Expose-Tracked-Players.patch +++ b/patches/server/0553-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 3f2a8efc6ad9e6e2043bf96894c47e578c68e263..de7deb9c27ffb7628124270091a5ba81b075c824 100644 +index 4b826ff8c3c2bc07ab471557faf41a3398dbdfb9..e7686273141637e5c7328703a33224b4042b6e2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1352,5 +1352,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1351,5 +1351,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isTicking() { return getHandle().isTicking(); } diff --git a/patches/server/0561-Add-Block-isValidTool.patch b/patches/server/0561-Add-Block-isValidTool.patch index 90157a5ee1..f28e5d98e0 100644 --- a/patches/server/0561-Add-Block-isValidTool.patch +++ b/patches/server/0561-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5e0f16acbd892f815cc504e03cd186070598b530..7dcc1fa9c058adf2d55b1ccc6f7abf468752e116 100644 +index 4239fa3d992722bd1d9184bb5c33ce5c14010052..5a6cc60d345dc146a2ce9bbd177b67a17bf5312b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -718,5 +718,9 @@ public class CraftBlock implements Block { +@@ -692,5 +692,9 @@ public class CraftBlock implements Block { public String translationKey() { return this.getNMS().getBlock().getDescriptionId(); } diff --git a/patches/server/0563-Expand-world-key-API.patch b/patches/server/0563-Expand-world-key-API.patch index cb8ec89bcb..c1ab64bc8f 100644 --- a/patches/server/0563-Expand-world-key-API.patch +++ b/patches/server/0563-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index b5981001d8ad4d6c79b965be9a446352971b0d29..0624ba7f1f5b352a5730b6b4736b24998af0ad2a 100644 +index 93f44ca0c8388935baaa41f9b0ebb6de2f6906bb..53b62be779bbb31723c4953221d8b5f22e77824c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -986,5 +986,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -987,5 +987,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public io.papermc.paper.world.MoonPhase getMoonPhase() { return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L); } @@ -20,10 +20,10 @@ index b5981001d8ad4d6c79b965be9a446352971b0d29..0624ba7f1f5b352a5730b6b4736b2499 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121ad99a0ac 100644 +index 2f04af83701777cddc1d5287b67921914779381f..ca03eb363438d97de71b1fe4b07304e4f8d3f422 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1140,9 +1140,15 @@ public final class CraftServer implements Server { +@@ -1139,9 +1139,15 @@ public final class CraftServer implements Server { File folder = new File(this.getWorldContainer(), name); World world = this.getWorld(name); @@ -41,7 +41,7 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 if (folder.exists()) { Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name); -@@ -1229,7 +1235,7 @@ public final class CraftServer implements Server { +@@ -1228,7 +1234,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -50,7 +50,7 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1321,6 +1327,15 @@ public final class CraftServer implements Server { +@@ -1320,6 +1326,15 @@ public final class CraftServer implements Server { return null; } @@ -67,10 +67,10 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0fb0c8238be1e199220ef62576547ea6c9484a9c..1f21a5c60c5472b1694d379326d391c0866456cc 100644 +index b6436d708b2f99d3c923c112859ecd5ea2a123d8..8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -524,6 +524,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -505,6 +505,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/server/0565-Item-Rarity-API.patch b/patches/server/0565-Item-Rarity-API.patch index 2a9be0545b..fa9a145dc3 100644 --- a/patches/server/0565-Item-Rarity-API.patch +++ b/patches/server/0565-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1f21a5c60c5472b1694d379326d391c0866456cc..d50b92daec5fec3056af9620681da28b10222829 100644 +index 8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67..2039442d5d7f99e6589e4625a76ebbc62944d018 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -529,6 +529,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -510,6 +510,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0569-Expose-protocol-version.patch b/patches/server/0569-Expose-protocol-version.patch index 0b31d15dba..213d964b4d 100644 --- a/patches/server/0569-Expose-protocol-version.patch +++ b/patches/server/0569-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d50b92daec5fec3056af9620681da28b10222829..da21cb49d986f899ed174c8c1abd35bcb03d31f2 100644 +index 2039442d5d7f99e6589e4625a76ebbc62944d018..aed137c6857190e6dad62ab70ae0be3613f3bea3 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -543,6 +543,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -524,6 +524,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0573-Set-area-affect-cloud-rotation.patch b/patches/server/0573-Set-area-affect-cloud-rotation.patch index 30ba5d84bd..963479559a 100644 --- a/patches/server/0573-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0573-Set-area-affect-cloud-rotation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 0624ba7f1f5b352a5730b6b4736b24998af0ad2a..42b6369015cdfea983b1489f7b99428eaa8c62a5 100644 +index 53b62be779bbb31723c4953221d8b5f22e77824c..0e8cf9386fa8b869e3738ac408be2dc86b9a2d9b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -952,6 +952,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -953,6 +953,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(location.getX(), location.getY(), location.getZ()); } else if (AreaEffectCloud.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z); diff --git a/patches/server/0580-More-World-API.patch b/patches/server/0580-More-World-API.patch index b77b6f98e0..a49876d9be 100644 --- a/patches/server/0580-More-World-API.patch +++ b/patches/server/0580-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 78d89ba85910f1a8b5a85c7f9a5ff0752d664d57..2091641963b0dec3931d0fb4701ba843533f0d51 100644 +index 9df709acc93157ffd86793c259e608bd3c0ff722..245464d5e805fa1a31c3a6ebe94e6705567ef5d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2083,6 +2083,69 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0596-Add-basic-Datapack-API.patch b/patches/server/0596-Add-basic-Datapack-API.patch index e42c671b7b..f4b6915d39 100644 --- a/patches/server/0596-Add-basic-Datapack-API.patch +++ b/patches/server/0596-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4ee0a3563 100644 +index ca03eb363438d97de71b1fe4b07304e4f8d3f422..3e505c1b680e1f384c5148ba309b6cf6b3da1e45 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -304,6 +304,7 @@ public final class CraftServer implements Server { +@@ -303,6 +303,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -103,7 +103,7 @@ index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4 public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -393,6 +394,7 @@ public final class CraftServer implements Server { +@@ -392,6 +393,7 @@ public final class CraftServer implements Server { if (this.configuration.getBoolean("settings.use-map-color-cache")) { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } @@ -111,7 +111,7 @@ index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4 } public boolean getCommandBlockOverride(String command) { -@@ -2845,5 +2847,11 @@ public final class CraftServer implements Server { +@@ -2844,5 +2846,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch index 95c5de6481..2bb04a477b 100644 --- a/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch @@ -144,7 +144,7 @@ index 73ea4907e81d7fd7830b3a9a368c88ac903428bb..4ba775edd90e716435c9ff5dc5579d96 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad04638955bebdf1392f9dc58be1de699858f5b3..18a446978fdf956e935e6a6c66413b7f528ea671 100644 +index 7362f0e73533c6b202021b93057cc0a23b5f3e99..944416df4eeed12c3ca0b98db7df8295f7e327ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1564,7 +1564,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0599-ItemStack-repair-check-API.patch b/patches/server/0599-ItemStack-repair-check-API.patch index 77d7423de8..bf21ddcf19 100644 --- a/patches/server/0599-ItemStack-repair-check-API.patch +++ b/patches/server/0599-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index da21cb49d986f899ed174c8c1abd35bcb03d31f2..1e70a661ec459edb1bca28ddf0a833c95c2453ac 100644 +index aed137c6857190e6dad62ab70ae0be3613f3bea3..794c1da115ccfa26fd77f7b28406e6298d88f3db 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -544,6 +544,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -525,6 +525,14 @@ public final class CraftMagicNumbers implements UnsafeValues { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0600-More-Enchantment-API.patch b/patches/server/0600-More-Enchantment-API.patch index 7cd15497dc..3be6d77887 100644 --- a/patches/server/0600-More-Enchantment-API.patch +++ b/patches/server/0600-More-Enchantment-API.patch @@ -66,7 +66,7 @@ index 57decf4156f176ebcc988478c17856cbc555c5e4..3d0ce0803e1da8a2681a3cb41096ac94 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 13b4873923d64ab4b18795ce7f2dbc9a7abf067e..9d9616a4adcbcc0d2567bdcf0d57efdabda076d4 100644 +index fac638e0eab8c50e6afd0ceee6f9d051127221eb..65f516044128328e7729c971a4a299cc81d51b0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -949,5 +949,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch index 156f945d70..453b9cca80 100644 --- a/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch @@ -360,10 +360,10 @@ index b850dba2b0fa5bc762b170ed7083cf8904761f17..7dee0f7d49f3492c92fceff7750e6962 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 d345a6a9ed7f97e3abcd38633617a2c4ee0a3563..3c2095addcf434ca52071100a9a22d6a8e2e6827 100644 +index 3e505c1b680e1f384c5148ba309b6cf6b3da1e45..a2eb6d59fca4ed219ee4215e46758c4c20d6e893 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1217,9 +1217,7 @@ public final class CraftServer implements Server { +@@ -1216,9 +1216,7 @@ public final class CraftServer implements Server { worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); @@ -374,7 +374,7 @@ index d345a6a9ed7f97e3abcd38633617a2c4ee0a3563..3c2095addcf434ca52071100a9a22d6a long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1230,6 +1228,13 @@ public final class CraftServer implements Server { +@@ -1229,6 +1227,13 @@ public final class CraftServer implements Server { biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/patches/server/0603-Add-Mob-lookAt-API.patch b/patches/server/0603-Add-Mob-lookAt-API.patch index 2179be5193..b60d6b1767 100644 --- a/patches/server/0603-Add-Mob-lookAt-API.patch +++ b/patches/server/0603-Add-Mob-lookAt-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Mob#lookAt API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index c92f7f31c3bf96f22fb1d2e783b14b80512448a0..4d0c6e3aaf984e295061d878dd4a8ef4d19511cb 100644 +index 522b7cb1db22b02279b004916ad2a14447a6bbed..c90f9b519c82327b787d2920b3bb079efb0c7e8a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -99,5 +99,53 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0606-Attributes-API-for-item-defaults.patch b/patches/server/0606-Attributes-API-for-item-defaults.patch index 46d838e328..a1c744a84d 100644 --- a/patches/server/0606-Attributes-API-for-item-defaults.patch +++ b/patches/server/0606-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1e70a661ec459edb1bca28ddf0a833c95c2453ac..1123bba2af7c707e8237fb1336f0b958861c4119 100644 +index 794c1da115ccfa26fd77f7b28406e6298d88f3db..b16e22ab5f371ce8d84a77a2f709d3541d48d3b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -552,6 +552,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -533,6 +533,19 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial)); } @@ -20,7 +20,7 @@ index 1e70a661ec459edb1bca28ddf0a833c95c2453ac..1123bba2af7c707e8237fb1336f0b958 + } + ImmutableMultimap.Builder attributeMapBuilder = ImmutableMultimap.builder(); + item.getDefaultAttributeModifiers(CraftEquipmentSlot.getNMS(equipmentSlot)).forEach((attributeBase, attributeModifier) -> { -+ attributeMapBuilder.put(CraftAttributeMap.fromMinecraft(net.minecraft.core.registries.BuiltInRegistries.ATTRIBUTE.getKey(attributeBase).toString()), CraftAttributeInstance.convert(attributeModifier, equipmentSlot)); ++ attributeMapBuilder.put(CraftAttribute.stringToBukkit(net.minecraft.core.registries.BuiltInRegistries.ATTRIBUTE.getKey(attributeBase).toString()), CraftAttributeInstance.convert(attributeModifier, equipmentSlot)); + }); + return attributeMapBuilder.build(); + } diff --git a/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch index f22f9d8f60..b04130b99e 100644 --- a/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -95,7 +95,7 @@ index 14b8011c8874e05647eb1636ee1eed5d90da8200..7bfc5bbfcf67e5bbf57e99e648ff5bed if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2091641963b0dec3931d0fb4701ba843533f0d51..aa30b166cc84088cac8ed27e9bcae0dd3403fd5a 100644 +index 245464d5e805fa1a31c3a6ebe94e6705567ef5d5..180bf822d361fbae7247c78e7cc3ae412a5a7e48 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1181,7 +1181,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0610-Add-PlayerKickEvent-causes.patch b/patches/server/0610-Add-PlayerKickEvent-causes.patch index 5137fa867c..9a1e7dcbd9 100644 --- a/patches/server/0610-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0610-Add-PlayerKickEvent-causes.patch @@ -479,7 +479,7 @@ index 6724d0a1af13e97bc1d3bd94fd43fef742a0deab..20ba0a0c9eae28658888a77dd2170f62 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 18a446978fdf956e935e6a6c66413b7f528ea671..058e5d18e72e07e50fc33e447e30d3c8861022ee 100644 +index 944416df4eeed12c3ca0b98db7df8295f7e327ec..cbda3c45af426d31dd950ddc03d36ae394d9420e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -586,7 +586,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch index ce33ff909f..8f2e06ffef 100644 --- a/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch +++ b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to fix items merging through walls diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 5d742d072d2cc532ce86bff3de15a5f0f381d1c5..b8db8750125315b15cc3d3e76ee629a60c4546a1 100644 +index a7eccb2f364ed633cb6d4914491eb686ff02e647..d70abca10e84b86310ce5e4d72eb939331dc00e4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -258,6 +258,14 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0620-Make-item-validations-configurable.patch b/patches/server/0620-Make-item-validations-configurable.patch index 3f5b80b14a..af27648f4f 100644 --- a/patches/server/0620-Make-item-validations-configurable.patch +++ b/patches/server/0620-Make-item-validations-configurable.patch @@ -32,10 +32,10 @@ index 5d72d2c6fcab478121eb9b4216cf79532b58299e..88c899e323eb554febe191ac7df678bb } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index b34f364f8580ae900e25ef3f31f58f4e8fee88e0..1481c8ca684eddca3eb5db3aceac4877043b9fcd 100644 +index 76b4c43343fd3ee13662ac7cd6e0e5ae4df0d615..9b266dd16dbf863dcf08783ec665dd237b048793 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -360,7 +360,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -361,7 +361,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CompoundTag display = tag.getCompound(DISPLAY.NBT); if (display.contains(NAME.NBT)) { @@ -44,7 +44,7 @@ index b34f364f8580ae900e25ef3f31f58f4e8fee88e0..1481c8ca684eddca3eb5db3aceac4877 } if (display.contains(LOCNAME.NBT)) { -@@ -371,7 +371,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -372,7 +372,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { ListTag list = display.getList(LORE.NBT, CraftMagicNumbers.NBT.TAG_STRING); this.lore = new ArrayList(list.size()); for (int index = 0; index < list.size(); index++) { diff --git a/patches/server/0621-Line-Of-Sight-Changes.patch b/patches/server/0621-Line-Of-Sight-Changes.patch index 2cad6b1f27..0efb326f77 100644 --- a/patches/server/0621-Line-Of-Sight-Changes.patch +++ b/patches/server/0621-Line-Of-Sight-Changes.patch @@ -19,10 +19,10 @@ index 59a377a291927b843b9e4fb4a558eeb729f3d6a8..1427616a0f1c80d381831d8928a4b632 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 42b6369015cdfea983b1489f7b99428eaa8c62a5..5a949e1d482e2485742e24b63395204b7fc7d1f5 100644 +index 0e8cf9386fa8b869e3738ac408be2dc86b9a2d9b..c3a26a55f46737a470448c6554d6827b1d6fc89c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -992,5 +992,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -993,5 +993,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public org.bukkit.NamespacedKey getKey() { return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.getHandle().getLevel().dimension().location()); } @@ -45,7 +45,7 @@ index 42b6369015cdfea983b1489f7b99428eaa8c62a5..5a949e1d482e2485742e24b63395204b // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9d9616a4adcbcc0d2567bdcf0d57efdabda076d4..40dd8ef6f034be2d5866a0c253566026d59ed91a 100644 +index 65f516044128328e7729c971a4a299cc81d51b0a..7876e243d6389bdfc33a5bf7e18eb3b33256919b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -583,6 +583,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0622-add-per-world-spawn-limits.patch b/patches/server/0622-add-per-world-spawn-limits.patch index d2b35a2549..5c4088d46b 100644 --- a/patches/server/0622-add-per-world-spawn-limits.patch +++ b/patches/server/0622-add-per-world-spawn-limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index aa30b166cc84088cac8ed27e9bcae0dd3403fd5a..b778a911ec072bf375232dd94fc29cb1de1ea88c 100644 +index 180bf822d361fbae7247c78e7cc3ae412a5a7e48..975b7c20f3755e463c1d65d8de7d63f26bfaf56b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -212,6 +212,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0624-Add-more-LimitedRegion-API.patch b/patches/server/0624-Add-more-LimitedRegion-API.patch index af3f4ff82e..2a50497e38 100644 --- a/patches/server/0624-Add-more-LimitedRegion-API.patch +++ b/patches/server/0624-Add-more-LimitedRegion-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more LimitedRegion API diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index bc606693566419c143d19284b110961602c2810b..23ffe4b8a19286543e12bf7408879e6d1305a78f 100644 +index a4aaa1da9987aaf2ac3b9338d272ca55ab2ac948..5830635e96ab9e10320f790f17a3b345c690ff85 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java @@ -249,4 +249,45 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe diff --git a/patches/server/0626-Missing-Entity-API.patch b/patches/server/0626-Missing-Entity-API.patch index 1e0ae53ca4..230b5aa981 100644 --- a/patches/server/0626-Missing-Entity-API.patch +++ b/patches/server/0626-Missing-Entity-API.patch @@ -360,10 +360,10 @@ index 61d4877b4f74362e38104bfeacb7d66534ad798e..454dd67920826b8b62c2654abfd43fc0 @Override protected EntityHitResult findHitEntity(Vec3 currentPosition, Vec3 nextPosition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5a949e1d482e2485742e24b63395204b7fc7d1f5..977012bfa4c42d619f2e9729c2be032999c403f7 100644 +index c3a26a55f46737a470448c6554d6827b1d6fc89c..c0186224fd64d70770a0e16752d17c0870121d8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -828,14 +828,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -829,14 +829,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (Phantom.class.isAssignableFrom(clazz)) { entity = net.minecraft.world.entity.EntityType.PHANTOM.create(world); } else if (Fish.class.isAssignableFrom(clazz)) { @@ -431,7 +431,7 @@ index 3f1f4d65525562b3117fdc21c8a7f535b12c3c46..90a989c7c9de6f9ba55ab640761915e9 + // Paper end - Horse API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java -index 1d910c34bc1154243b5a3bd774c70f1808d60a25..e2cfb4a162efaa3cae1fdae95ec74efe4a3af627 100644 +index 78487d6c87a9b4ae3b2065957290417323c1109e..c13d7fd15d8614f1ced30569fd1eae732a31b800 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java @@ -223,4 +223,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud @@ -530,13 +530,14 @@ index 86ad6073a130100258908d3f2c93c54e21e998f3..17608e0e8cc5288905d2e42ae1429f7d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java -index 566da8f88d9ee76baf41e5a4cdf0b73fd424c6b9..533a339a2c7369475f1a66ae2c8bb1df04914614 100644 +index 94be7d7d88b38d73592a6a76ee9b9b755ba6c588..6c9531c018be29b5794d047b50007fde1b50b494 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java -@@ -44,4 +44,25 @@ public class CraftCat extends CraftTameableAnimal implements Cat { - public void setCollarColor(DyeColor color) { - this.getHandle().setCollarColor(net.minecraft.world.item.DyeColor.byId(color.getWoolData())); +@@ -64,4 +64,26 @@ public class CraftCat extends CraftTameableAnimal implements Cat { + .byId(bukkit.ordinal()); + } } ++ + // Paper Start - More cat api + @Override + public void setLyingDown(boolean lyingDown) { @@ -657,10 +658,10 @@ index fc0f0e841dc974d080e1abb9bbafb5165801131f..d657fd2c507a5b215aeab0a5f3e9c2ee + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index de7deb9c27ffb7628124270091a5ba81b075c824..4fe558a882e87912e408b5bbd223666969e30029 100644 +index e7686273141637e5c7328703a33224b4042b6e2b..367d01e22ab423b17a0b3d4732e507f8ae2979ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -233,10 +233,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -232,10 +232,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { else { return new CraftSquid(server, (Squid) entity); } } else if (entity instanceof AbstractFish) { @@ -1147,10 +1148,10 @@ index c4f7216c7ca7a49048fcf5240ef2a8f80e843f1c..6079581ba2eef8ac9272d0bbbf77e31f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -index d83c0e08610fff76f7bce1103acfa48be674c018..3c14554a6a657223441eee97258734ea05965bc7 100644 +index e2a0c11867abee6add8775259c54f2052de7b1ad..fd968881eeec6dc5bdf90decc23a2bfc619c410d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -@@ -64,13 +64,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { +@@ -60,13 +60,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { @Override public void setConversionTime(int time) { diff --git a/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch index 4dd7979d6b..62c862fdb8 100644 --- a/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch +++ b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix return value of Block#applyBoneMeal always being false diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 7dcc1fa9c058adf2d55b1ccc6f7abf468752e116..50469bbd710375c6046647203435330c5bc21a4f 100644 +index 5a6cc60d345dc146a2ce9bbd177b67a17bf5312b..4c4e242305edf7b8bfa6761cd7e8c9498982608c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -583,7 +583,7 @@ public class CraftBlock implements Block { +@@ -557,7 +557,7 @@ public class CraftBlock implements Block { } } diff --git a/patches/server/0638-Stinger-API.patch b/patches/server/0638-Stinger-API.patch index 3933867aa6..9e8f26a8d2 100644 --- a/patches/server/0638-Stinger-API.patch +++ b/patches/server/0638-Stinger-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stinger API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 40dd8ef6f034be2d5866a0c253566026d59ed91a..1a911126ccb7b7e298b66d3fec832dcd0c0e58f7 100644 +index 7876e243d6389bdfc33a5bf7e18eb3b33256919b..59d0002c70e2dae6ab9cb896e0a80e16993e64f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -338,7 +338,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0640-Add-System.out-err-catcher.patch b/patches/server/0640-Add-System.out-err-catcher.patch index cdb6c08dc3..f191c334a6 100644 --- a/patches/server/0640-Add-System.out-err-catcher.patch +++ b/patches/server/0640-Add-System.out-err-catcher.patch @@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c2095addcf434ca52071100a9a22d6a8e2e6827..22610215d4b71843291eed9d482592dc3448ab0d 100644 +index a2eb6d59fca4ed219ee4215e46758c4c20d6e893..3253875b3001befebc8ff63a237bfa491fcd42f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -306,6 +306,7 @@ public final class CraftServer implements Server { +@@ -305,6 +305,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/server/0645-Add-PlayerSetSpawnEvent.patch b/patches/server/0645-Add-PlayerSetSpawnEvent.patch index e3c707ed20..dc78ab51dc 100644 --- a/patches/server/0645-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0645-Add-PlayerSetSpawnEvent.patch @@ -187,7 +187,7 @@ index 1a27b7faa22e6b3dc5fce329ed06425de56c4315..b9903c29bdea8d1e3b6fce0e97be6bd9 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 058e5d18e72e07e50fc33e447e30d3c8861022ee..471f25a82a109a58c4093d3a834d8131357c32da 100644 +index cbda3c45af426d31dd950ddc03d36ae394d9420e..18f37eff3c60c52580d49c3398e5ef01245b4412 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1323,9 +1323,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0658-Add-missing-team-sidebar-display-slots.patch b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch index 8743a4eb1c..84c701a25b 100644 --- a/patches/server/0658-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch @@ -52,10 +52,10 @@ index 73c5ffff70605b32188a9bb5fb6c0ee04cb66efe..711d227f5ee6d63356a94a0567968da4 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index fe5d3b60ad740b7f1cce040f9c8d96ac51245ef6..43ffc4180b1ef2d2000991ad58b0706141470d08 100644 +index cfaa85dc3d567bf0110e45fc4e4f24a406b41a45..313cd180cbad5727433daae4c15ffa4e1e948eaa 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -251,6 +251,14 @@ public class Commodore +@@ -239,6 +239,14 @@ public class Commodore desc = getOriginalOrRewrite( desc ); } // Paper end diff --git a/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch index 7acd6065b2..f6cee6d23f 100644 --- a/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -31,7 +31,7 @@ index b71e404acd353757cb64489cfe3804988db70409..257eedb5413521e1e3ce6a6a6376e0c8 blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b778a911ec072bf375232dd94fc29cb1de1ea88c..b2137bc4ef0282f9d14068609b7aca7d0708bfe3 100644 +index 975b7c20f3755e463c1d65d8de7d63f26bfaf56b..e4eb19d37ec3128a0f0c96e154605fccc8ba822a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -693,6 +693,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0661-Get-entity-default-attributes.patch b/patches/server/0661-Get-entity-default-attributes.patch index 2f03d56c79..cdb057450e 100644 --- a/patches/server/0661-Get-entity-default-attributes.patch +++ b/patches/server/0661-Get-entity-default-attributes.patch @@ -44,7 +44,7 @@ index 0000000000000000000000000000000000000000..12135ffeacd648f6bc4d7d327059ea1a +} diff --git a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java new file mode 100644 -index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283ca915565 +index 0000000000000000000000000000000000000000..68044b8439c302114240d0ae4da93ab3e0789cd2 --- /dev/null +++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java @@ -0,0 +1,32 @@ @@ -54,7 +54,7 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 +import org.bukkit.attribute.Attributable; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeInstance; -+import org.bukkit.craftbukkit.attribute.CraftAttributeMap; ++import org.bukkit.craftbukkit.attribute.CraftAttribute; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + @@ -68,7 +68,7 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + + @Override + public @Nullable AttributeInstance getAttribute(@NotNull Attribute attribute) { -+ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = CraftAttributeMap.toMinecraft(attribute); ++ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = CraftAttribute.bukkitToMinecraft(attribute); + if (!this.handle.hasAttribute(nmsAttribute)) { + return null; + } @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1123bba2af7c707e8237fb1336f0b958861c4119..ffd94f9af2e39f1fdb076835c32cc7287329f6dd 100644 +index b16e22ab5f371ce8d84a77a2f709d3541d48d3b6..b697619abf1bce42a15a38d959dad37d49055c30 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -569,6 +569,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -550,6 +550,18 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0662-Left-handed-API.patch b/patches/server/0662-Left-handed-API.patch index 3b4077b54a..367c9ed9bc 100644 --- a/patches/server/0662-Left-handed-API.patch +++ b/patches/server/0662-Left-handed-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Left handed API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 4d0c6e3aaf984e295061d878dd4a8ef4d19511cb..620d918e302a00d5a6640648e3096988d15535a0 100644 +index c90f9b519c82327b787d2920b3bb079efb0c7e8a..c526304d31fd9be1b3c895187f7d9fc45edf4866 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -147,5 +147,15 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0663-Add-more-advancement-API.patch b/patches/server/0663-Add-more-advancement-API.patch index 2acb44facc..1d9f8d9a4a 100644 --- a/patches/server/0663-Add-more-advancement-API.patch +++ b/patches/server/0663-Add-more-advancement-API.patch @@ -164,10 +164,10 @@ index 4aa8cda2bf72627b153e636a408fb3971caf2309..e29d7c6e1cef10a76c8630855fada11c private final DisplayInfo handle; diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 43ffc4180b1ef2d2000991ad58b0706141470d08..cacd9b59741c31e70e898e7af91a1a6ed3f87f07 100644 +index 313cd180cbad5727433daae4c15ffa4e1e948eaa..8f8b14cb845bf1ba28276b3e3c0d8f8c56106c7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -54,6 +54,7 @@ public class Commodore +@@ -56,6 +56,7 @@ public class Commodore ) ); // Paper start - Plugin rewrites @@ -175,7 +175,7 @@ index 43ffc4180b1ef2d2000991ad58b0706141470d08..cacd9b59741c31e70e898e7af91a1a6e private static final Map SEARCH_AND_REMOVE = initReplacementsMap(); private static Map initReplacementsMap() { -@@ -460,6 +461,11 @@ public class Commodore +@@ -454,6 +455,11 @@ public class Commodore super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; } diff --git a/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch index e5dbfedc65..ed29983bdd 100644 --- a/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc..3b02bf4e5b657af9debb432ab412fe50e1f7b922 100644 +index aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae..48a88dae70fdf2757537d4a90aa60046e6346323 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -528,4 +528,19 @@ public final class CraftItemFactory implements ItemFactory { @@ -29,10 +29,10 @@ index ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc..3b02bf4e5b657af9debb432ab412fe50 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index cacd9b59741c31e70e898e7af91a1a6ed3f87f07..b7d09079411f70353f44df3c623a0076367cf603 100644 +index 8f8b14cb845bf1ba28276b3e3c0d8f8c56106c7d..d7495ea25713e959d106764054ce6642af497035 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -467,6 +467,16 @@ public class Commodore +@@ -461,6 +461,16 @@ public class Commodore return; } // Paper end diff --git a/patches/server/0665-Add-critical-damage-API.patch b/patches/server/0665-Add-critical-damage-API.patch index 7879ed048b..b4fe4d7fb3 100644 --- a/patches/server/0665-Add-critical-damage-API.patch +++ b/patches/server/0665-Add-critical-damage-API.patch @@ -71,7 +71,7 @@ index f70f0764d9743dbfa2ead4c90d0df3dbc107672d..02574c777047b8e1375aa91e0cd75c73 int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5bb610230e5686dd8a35c5c14c506ffacd5868c9..f171124710b5e731652df0074fe24360239225b2 100644 +index fc99df6033f4168ac1bc3ee7da11ac36d827f7bf..6c7f7ae5208e9fa58694f202f048d2f3524b27a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1018,7 +1018,7 @@ public class CraftEventFactory { diff --git a/patches/server/0667-Add-isCollidable-methods-to-various-places.patch b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch index c6003c0743..b5addfe224 100644 --- a/patches/server/0667-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add isCollidable methods to various places public net.minecraft.world.level.block.state.BlockBehaviour hasCollision diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 50469bbd710375c6046647203435330c5bc21a4f..e649c3296363ea2f8429593e33a7833143bcabba 100644 +index 4c4e242305edf7b8bfa6761cd7e8c9498982608c..5fa6a77ccd01deb929d86efc227439f4f280ba53 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -482,6 +482,11 @@ public class CraftBlock implements Block { +@@ -456,6 +456,11 @@ public class CraftBlock implements Block { public boolean isSolid() { return this.getNMS().blocksMotion(); } @@ -39,10 +39,10 @@ index b722a207c0e745bb172d93b90e1241d7bfa173ce..792bfc7eab33b26462e76a1912bd712e + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ffd94f9af2e39f1fdb076835c32cc7287329f6dd..c6d38178513bd54bb51640334777d4a347a93284 100644 +index b697619abf1bce42a15a38d959dad37d49055c30..ce6b2198db6a48e9e1899db94c49a6c108950f61 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -581,6 +581,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -562,6 +562,12 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } diff --git a/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch index 4bbfe755cf..5bbc3a32d7 100644 --- a/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch @@ -27,10 +27,10 @@ index 3b7e54b4348f0486e43b4f7930ada0a16e989650..6512c3ca611233f7541c1d0119521e05 return this.isPassenger() ? false : this.saveAsPassenger(nbt); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4fe558a882e87912e408b5bbd223666969e30029..984e6fa489e6b3d833d5f83dd739a6ff8a3ec5f0 100644 +index 367d01e22ab423b17a0b3d4732e507f8ae2979ea..ad0ea49e2ee26d20ac93771a2353b186d0ccd41d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1371,5 +1371,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1370,5 +1370,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } return set; } @@ -47,10 +47,10 @@ index 4fe558a882e87912e408b5bbd223666969e30029..984e6fa489e6b3d833d5f83dd739a6ff // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index c6d38178513bd54bb51640334777d4a347a93284..e169c16626e967c30c6f9a324a40550adf5476dd 100644 +index ce6b2198db6a48e9e1899db94c49a6c108950f61..186959e6e7aef0dada59320d3f180c99a93bc90c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -492,6 +492,29 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -473,6 +473,29 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion()))); } diff --git a/patches/server/0674-Improve-and-expand-AsyncCatcher.patch b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch index 901a93acd6..dc14586dd1 100644 --- a/patches/server/0674-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch @@ -166,7 +166,7 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038 PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason}); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1a911126ccb7b7e298b66d3fec832dcd0c0e58f7..661638716cd4d1b20745f3a196f6d060b3de570c 100644 +index 59d0002c70e2dae6ab9cb896e0a80e16993e64f3..26054a3b4e2609cb68751d6e37bce22df94c46b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -464,6 +464,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch index 318fd7edce..3dfdeead72 100644 --- a/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -278,10 +278,10 @@ index 7983f9a21251cec4857529ad1180a62668ea5037..e1c4cf4b60b810837526c888ec82acbf // Paper start - add parameters and int ret type spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 22610215d4b71843291eed9d482592dc3448ab0d..a39127c21e313b9bdd7796b57cfb5c241d589db5 100644 +index 3253875b3001befebc8ff63a237bfa491fcd42f0..854980b4d52403a22847167b89b89cf3dda1793c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2184,6 +2184,11 @@ public final class CraftServer implements Server { +@@ -2183,6 +2183,11 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { @@ -294,7 +294,7 @@ index 22610215d4b71843291eed9d482592dc3448ab0d..a39127c21e313b9bdd7796b57cfb5c24 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b2137bc4ef0282f9d14068609b7aca7d0708bfe3..cda158bb560c32f7dbea05cd4adb3d38f6db5280 100644 +index e4eb19d37ec3128a0f0c96e154605fccc8ba822a..99f075d23484301259daabbab0569fc780e02b5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1699,9 +1699,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch index e5000ed732..1c3a82d35b 100644 --- a/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a39127c21e313b9bdd7796b57cfb5c241d589db5..f951c5ff4058f91540eb2da95ca433be5e590196 100644 +index 854980b4d52403a22847167b89b89cf3dda1793c..a68374e527a9d8f29863baf8e18fbd09d45e4185 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2364,6 +2364,88 @@ public final class CraftServer implements Server { +@@ -2363,6 +2363,88 @@ public final class CraftServer implements Server { return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME)); } diff --git a/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch index c0e3e643ee..1f09d15414 100644 --- a/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch +++ b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix ChunkSnapshot#isSectionEmpty(int) and optimize diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index b738e1f7debac7d70910d5ac908ca9d4f60640d5..007fd353bd55056ecddba2e16c5fa8c479961402 100644 +index d10dcf5b9c987bbd4761470c16c9d4693ccf896d..3a5fbdd0915ae19fc0bb717bc117792d71e73af8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -289,13 +289,17 @@ public class CraftChunk implements Chunk { +@@ -290,13 +290,17 @@ public class CraftChunk implements Chunk { PalettedContainerRO>[] biome = (includeBiome || includeBiomeTempRain) ? new PalettedContainer[cs.length] : null; Registry iregistry = this.worldServer.registryAccess().registryOrThrow(Registries.BIOME); @@ -31,7 +31,7 @@ index b738e1f7debac7d70910d5ac908ca9d4f60640d5..007fd353bd55056ecddba2e16c5fa8c4 LevelLightEngine lightengine = this.worldServer.getLightEngine(); DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(x, i, z)); -@@ -314,8 +318,7 @@ public class CraftChunk implements Chunk { +@@ -315,8 +319,7 @@ public class CraftChunk implements Chunk { } if (biome != null) { diff --git a/patches/server/0734-Entity-powdered-snow-API.patch b/patches/server/0734-Entity-powdered-snow-API.patch index 2ef1f74e6b..5f73447eb1 100644 --- a/patches/server/0734-Entity-powdered-snow-API.patch +++ b/patches/server/0734-Entity-powdered-snow-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Entity powdered snow API public net.minecraft.world.entity.monster.Skeleton inPowderSnowTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 984e6fa489e6b3d833d5f83dd739a6ff8a3ec5f0..f05d8107368e639adf60f3e5d944c65300087a3c 100644 +index ad0ea49e2ee26d20ac93771a2353b186d0ccd41d..e4c587d6304492d936ec3d84303c4cf3b093a2b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1381,5 +1381,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1380,5 +1380,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity.setRot(location.getYaw(), location.getPitch()); return !this.entity.valid && this.entity.level().addFreshEntity(this.entity, reason); } diff --git a/patches/server/0742-Bucketable-API.patch b/patches/server/0742-Bucketable-API.patch index 795b1844e3..4345ec75a6 100644 --- a/patches/server/0742-Bucketable-API.patch +++ b/patches/server/0742-Bucketable-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Bucketable API diff --git a/src/main/java/io/papermc/paper/entity/PaperBucketable.java b/src/main/java/io/papermc/paper/entity/PaperBucketable.java new file mode 100644 -index 0000000000000000000000000000000000000000..c4eee682f5b8cd82f71f92f0549f39b76e735cd8 +index 0000000000000000000000000000000000000000..d3fc2e5db9f3c20120b403bf03c3c340b9956cbd --- /dev/null +++ b/src/main/java/io/papermc/paper/entity/PaperBucketable.java @@ -0,0 +1,31 @@ @@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..c4eee682f5b8cd82f71f92f0549f39b7 + + @Override + default Sound getPickupSound() { -+ return CraftSound.getBukkit(this.getHandle().getPickupSound()); ++ return CraftSound.minecraftToBukkit(this.getHandle().getPickupSound()); + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAxolotl.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAxolotl.java diff --git a/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 48dec66567..52d08aef33 100644 --- a/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -18,10 +18,10 @@ index 6c02d5233c782b0e5049afdf84250687ae71dcde..2503e2b2436a6e07fa22c0e55ad1539b biomeProvider = gen.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f951c5ff4058f91540eb2da95ca433be5e590196..7efd83f26c26166e51f7c2c6f08cf83291db61c0 100644 +index a68374e527a9d8f29863baf8e18fbd09d45e4185..02faa85848ab286c7219f09e0b2048fdad0cd005 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1224,7 +1224,7 @@ public final class CraftServer implements Server { +@@ -1223,7 +1223,7 @@ public final class CraftServer implements Server { List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); LevelStem worlddimension = iregistry.get(actualDimension); @@ -31,10 +31,10 @@ index f951c5ff4058f91540eb2da95ca433be5e590196..7efd83f26c26166e51f7c2c6f08cf832 biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a26186b930 100644 +index 99f075d23484301259daabbab0569fc780e02b5b..e138428fe35c075cfffcc931b53f836129307154 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -202,6 +202,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -202,6 +202,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { public int getPlayerCount() { return world.players().size(); } @@ -45,15 +45,14 @@ index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a2 + + final net.minecraft.world.level.biome.BiomeSource biomeSource = serverCache.getGenerator().getBiomeSource(); + final net.minecraft.world.level.biome.Climate.Sampler sampler = serverCache.randomState().sampler(); -+ final net.minecraft.core.Registry biomeRegistry = this.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME); + + final List possibleBiomes = biomeSource.possibleBiomes().stream() -+ .map(biome -> CraftBlock.biomeBaseToBiome(biomeRegistry, biome)) ++ .map(biome -> org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biome)) + .toList(); + return new BiomeProvider() { + @Override + public Biome getBiome(final org.bukkit.generator.WorldInfo worldInfo, final int x, final int y, final int z) { -+ return CraftBlock.biomeBaseToBiome(biomeRegistry, biomeSource.getNoiseBiome(x >> 2, y >> 2, z >> 2, sampler)); ++ return org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biomeSource.getNoiseBiome(x >> 2, y >> 2, z >> 2, sampler)); + } + + @Override @@ -66,7 +65,7 @@ index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a2 private static final Random rand = new Random(); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java -index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c1043f47a38d 100644 +index 5d655d6cd3e23e0287069f8bdf77601487e862fd..cf57c6e9ce63f7b1d95d91ead2453409a31a5c52 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java @@ -17,8 +17,14 @@ public class CraftWorldInfo implements WorldInfo { @@ -101,7 +100,7 @@ index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c104 @Override public String getName() { return this.name; -@@ -65,4 +62,35 @@ public class CraftWorldInfo implements WorldInfo { +@@ -65,4 +62,34 @@ public class CraftWorldInfo implements WorldInfo { public int getMaxHeight() { return this.maxHeight; } @@ -118,14 +117,13 @@ index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c104 + registryAccess.lookupOrThrow(net.minecraft.core.registries.Registries.NOISE), getSeed()); + } + -+ final net.minecraft.core.Registry biomeRegistry = CraftWorldInfo.this.registryAccess.registryOrThrow(net.minecraft.core.registries.Registries.BIOME); + final java.util.List possibleBiomes = CraftWorldInfo.this.vanillaChunkGenerator.getBiomeSource().possibleBiomes().stream() -+ .map(biome -> org.bukkit.craftbukkit.block.CraftBlock.biomeBaseToBiome(biomeRegistry, biome)) ++ .map(biome -> org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biome)) + .toList(); + return new org.bukkit.generator.BiomeProvider() { + @Override + public org.bukkit.block.Biome getBiome(final WorldInfo worldInfo, final int x, final int y, final int z) { -+ return org.bukkit.craftbukkit.block.CraftBlock.biomeBaseToBiome(biomeRegistry, ++ return org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit( + CraftWorldInfo.this.vanillaChunkGenerator.getBiomeSource().getNoiseBiome(x >> 2, y >> 2, z >> 2, randomState.sampler())); + } + diff --git a/patches/server/0754-Multi-Block-Change-API-Implementation.patch b/patches/server/0754-Multi-Block-Change-API-Implementation.patch index b1439fff6d..a5b0a3f791 100644 --- a/patches/server/0754-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0754-Multi-Block-Change-API-Implementation.patch @@ -24,7 +24,7 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..e3f355c85eb7cc8c1683e3009502c10a public void write(FriendlyByteBuf buf) { buf.writeLong(this.sectionPos.asLong()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 471f25a82a109a58c4093d3a834d8131357c32da..5b9701ef6d2e6ba42d5459add9d3b6370df80f5a 100644 +index 18f37eff3c60c52580d49c3398e5ef01245b4412..16f3381e9cc42c7747199e7c178bd071b798f0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -891,6 +891,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0756-Freeze-Tick-Lock-API.patch b/patches/server/0756-Freeze-Tick-Lock-API.patch index bd658e6164..7d43ff10ef 100644 --- a/patches/server/0756-Freeze-Tick-Lock-API.patch +++ b/patches/server/0756-Freeze-Tick-Lock-API.patch @@ -59,10 +59,10 @@ index 2a23448e756199b631355cd10b567ea1d54caa37..7b4a04193f783a077cfec47887fc6b76 if (this.isInPowderSnow && this.canFreeze()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f05d8107368e639adf60f3e5d944c65300087a3c..87c303ff576cd05291d50d5676e86ca93a13b301 100644 +index e4c587d6304492d936ec3d84303c4cf3b093a2b0..03142d4eaa3ebdf590ec1131f28690da9c6fe748 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -669,6 +669,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -668,6 +668,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().isFullyFrozen(); } diff --git a/patches/server/0758-More-PotionEffectType-API.patch b/patches/server/0758-More-PotionEffectType-API.patch index 8a94899c11..dc8c655c09 100644 --- a/patches/server/0758-More-PotionEffectType-API.patch +++ b/patches/server/0758-More-PotionEffectType-API.patch @@ -5,7 +5,7 @@ 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 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4d2a93283 100644 +index 8f63c21186d8daa290286676bc2478d8629c533b..f05cbb27563fc5287875764b183c485c14589423 100644 --- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java +++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java @@ -128,4 +128,51 @@ public class CraftPotionEffectType extends PotionEffectType { @@ -25,7 +25,7 @@ index 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4 + final java.util.Map attributeMap = new java.util.HashMap<>(); + this.handle.getAttributeModifiers().forEach((attribute, attributeModifier) -> { + attributeMap.put( -+ org.bukkit.craftbukkit.attribute.CraftAttributeMap.fromMinecraft(attribute.toString()), ++ org.bukkit.craftbukkit.attribute.CraftAttribute.stringToBukkit(attribute.toString()), + // use zero as amplifier to get the base amount, as it is amount = base * (amplifier + 1) + org.bukkit.craftbukkit.attribute.CraftAttributeInstance.convert(attributeModifier.create(0)) + ); @@ -36,7 +36,7 @@ index 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4 + @Override + public double getAttributeModifierAmount(org.bukkit.attribute.Attribute attribute, int effectAmplifier) { + com.google.common.base.Preconditions.checkArgument(effectAmplifier >= 0, "effectAmplifier must be greater than or equal to 0"); -+ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = org.bukkit.craftbukkit.attribute.CraftAttributeMap.toMinecraft(attribute); ++ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = org.bukkit.craftbukkit.attribute.CraftAttribute.bukkitToMinecraft(attribute); + com.google.common.base.Preconditions.checkArgument(this.handle.getAttributeModifiers().containsKey(nmsAttribute), attribute + " is not present on " + this.getKey()); + return this.handle.getAttributeModifiers().get(nmsAttribute).create(effectAmplifier).getAmount(); + } diff --git a/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch index 58661a78dc..4761ed8ae4 100644 --- a/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch @@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7efd83f26c26166e51f7c2c6f08cf83291db61c0..bb57e6653bea7a465eec5c2eba68f2f08611a391 100644 +index 02faa85848ab286c7219f09e0b2048fdad0cd005..d68b4ee993b2b239900f60ab08da4bfba121892a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2015,6 +2015,13 @@ public final class CraftServer implements Server { +@@ -2014,6 +2014,13 @@ public final class CraftServer implements Server { return console.console; } diff --git a/patches/server/0762-Implement-regenerateChunk.patch b/patches/server/0762-Implement-regenerateChunk.patch index 7b18c96983..f8c44cd020 100644 --- a/patches/server/0762-Implement-regenerateChunk.patch +++ b/patches/server/0762-Implement-regenerateChunk.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement regenerateChunk Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b111e7397af92ac6e80001b783e42a26186b930..4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e 100644 +index e138428fe35c075cfffcc931b53f836129307154..8e382e4affddd416d12fa8687056ea8545b8f5e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -141,6 +141,7 @@ import org.jetbrains.annotations.NotNull; @@ -17,7 +17,7 @@ index 6b111e7397af92ac6e80001b783e42a26186b930..4c53a4188d20cc1d8c2de25485aa1cd2 private final ServerLevel world; private WorldBorder worldBorder; -@@ -426,27 +427,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -425,27 +426,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot diff --git a/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index 5d052d796c..5c0b4acf11 100644 --- a/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit Copies appropriate checks from CraftWorld#getSpawnLimit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bb57e6653bea7a465eec5c2eba68f2f08611a391..62d9ad45da897e7e336f12a49d1225dff5f089d0 100644 +index d68b4ee993b2b239900f60ab08da4bfba121892a..26dad89a499aeb4d789bdc02a844e47d87510654 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2192,6 +2192,8 @@ public final class CraftServer implements Server { +@@ -2191,6 +2191,8 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { // Paper start diff --git a/patches/server/0765-Add-GameEvent-tags.patch b/patches/server/0765-Add-GameEvent-tags.patch index d34eff7b13..b11fa8dab1 100644 --- a/patches/server/0765-Add-GameEvent-tags.patch +++ b/patches/server/0765-Add-GameEvent-tags.patch @@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 62d9ad45da897e7e336f12a49d1225dff5f089d0..69e5d0359a967bb766c189a89780f3743e33fcf4 100644 +index 26dad89a499aeb4d789bdc02a844e47d87510654..127870bd5c3d180921fd011e64a480a36b1ca672 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2613,6 +2613,15 @@ public final class CraftServer implements Server { +@@ -2612,6 +2612,15 @@ public final class CraftServer implements Server { return (org.bukkit.Tag) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey); } } @@ -65,7 +65,7 @@ index 62d9ad45da897e7e336f12a49d1225dff5f089d0..69e5d0359a967bb766c189a89780f374 default -> throw new IllegalArgumentException(); } -@@ -2645,6 +2654,13 @@ public final class CraftServer implements Server { +@@ -2644,6 +2653,13 @@ public final class CraftServer implements Server { net.minecraft.core.Registry> entityTags = BuiltInRegistries.ENTITY_TYPE; return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList()); } diff --git a/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch index d22b969011..30bab8b67d 100644 --- a/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch @@ -23,10 +23,10 @@ index 7d944606f7e136aa60a0ea376ef325887bd4e6a8..e7bd891260ad4c95c6161542e6d1412c if (worlddata.getCustomBossEvents() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 69e5d0359a967bb766c189a89780f3743e33fcf4..94526278422fc42a5893bec0bf96af707ae67c17 100644 +index 127870bd5c3d180921fd011e64a480a36b1ca672..bce73a95b57e4285756b2bc9a557760ae2b976e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1253,10 +1253,11 @@ public final class CraftServer implements Server { +@@ -1252,10 +1252,11 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0773-Custom-Potion-Mixes.patch b/patches/server/0773-Custom-Potion-Mixes.patch index 65c24723e3..feb6090e70 100644 --- a/patches/server/0773-Custom-Potion-Mixes.patch +++ b/patches/server/0773-Custom-Potion-Mixes.patch @@ -164,10 +164,10 @@ index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..c57efcb9a79337ec791e4e8f6671612f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab3d0c3b88 100644 +index bce73a95b57e4285756b2bc9a557760ae2b976e6..fc02629cc39e0207bbb2ebbe829eb9829f9246b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -307,6 +307,7 @@ public final class CraftServer implements Server { +@@ -306,6 +306,7 @@ public final class CraftServer implements Server { private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper @@ -175,7 +175,7 @@ index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); -@@ -336,7 +337,7 @@ public final class CraftServer implements Server { +@@ -335,7 +336,7 @@ public final class CraftServer implements Server { Enchantments.SHARPNESS.getClass(); org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations(); @@ -184,7 +184,7 @@ index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab MobEffects.BLINDNESS.getClass(); PotionEffectType.stopAcceptingRegistrations(); // Ugly hack :( -@@ -2972,5 +2973,10 @@ public final class CraftServer implements Server { +@@ -2971,5 +2972,10 @@ public final class CraftServer implements Server { return datapackManager; } diff --git a/patches/server/0775-Fix-falling-block-spawn-methods.patch b/patches/server/0775-Fix-falling-block-spawn-methods.patch index 316145f840..93652a8e6f 100644 --- a/patches/server/0775-Fix-falling-block-spawn-methods.patch +++ b/patches/server/0775-Fix-falling-block-spawn-methods.patch @@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server public net.minecraft.world.entity.item.FallingBlockEntity (Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 977012bfa4c42d619f2e9729c2be032999c403f7..5ca1bc3a0574c1080cb000245dbc8fa093ee7d01 100644 +index c0186224fd64d70770a0e16752d17c0870121d8f..30a893f7f63961b752e043b81dda20d946cd63aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -598,7 +598,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -599,7 +599,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { // Paper end } else if (FallingBlock.class.isAssignableFrom(clazz)) { BlockPos pos = BlockPos.containing(x, y, z); @@ -24,10 +24,10 @@ index 977012bfa4c42d619f2e9729c2be032999c403f7..5ca1bc3a0574c1080cb000245dbc8fa0 if (Snowball.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e..73069a5cdb42d6bc3db5c02f0b668af69e786501 100644 +index 8e382e4affddd416d12fa8687056ea8545b8f5e4..6993a7ec68ee0807ffb1d07667af1323a20b0bf7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1392,7 +1392,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1391,7 +1391,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Preconditions.checkArgument(material != null, "Material cannot be null"); Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material); @@ -41,7 +41,7 @@ index 4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e..73069a5cdb42d6bc3db5c02f0b668af6 return (FallingBlock) entity.getBukkitEntity(); } -@@ -1401,7 +1406,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1400,7 +1405,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Preconditions.checkArgument(location != null, "Location cannot be null"); Preconditions.checkArgument(data != null, "BlockData cannot be null"); diff --git a/patches/server/0778-More-Projectile-API.patch b/patches/server/0778-More-Projectile-API.patch index c6456c13f2..e1ba9d1fe9 100644 --- a/patches/server/0778-More-Projectile-API.patch +++ b/patches/server/0778-More-Projectile-API.patch @@ -116,7 +116,7 @@ index 40e5b19bc8fa3de3b3d54da0762aee5bd7bb8d7b..b3814bd6c6d6aae090fe417696535ed1 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -index 5056ec1ad51be9209591d34d32d256c350feed63..9f30946c7a198e2a277b65c02fcd75570c5dbad6 100644 +index 5056ec1ad51be9209591d34d32d256c350feed63..96a20efc60efef4485eca9ebffed92dc195ed357 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java @@ -58,20 +58,7 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { @@ -158,12 +158,12 @@ index 5056ec1ad51be9209591d34d32d256c350feed63..9f30946c7a198e2a277b65c02fcd7557 + @org.jetbrains.annotations.NotNull + @Override + public org.bukkit.Sound getHitSound() { -+ return org.bukkit.craftbukkit.CraftSound.getBukkit(this.getHandle().soundEvent); ++ return org.bukkit.craftbukkit.CraftSound.minecraftToBukkit(this.getHandle().soundEvent); + } + + @Override + public void setHitSound(@org.jetbrains.annotations.NotNull org.bukkit.Sound sound) { -+ this.getHandle().setSoundEvent(org.bukkit.craftbukkit.CraftSound.getSoundEffect(sound)); ++ this.getHandle().setSoundEvent(org.bukkit.craftbukkit.CraftSound.bukkitToMinecraft(sound)); + } + @Override diff --git a/patches/server/0781-Implement-getComputedBiome-API.patch b/patches/server/0781-Implement-getComputedBiome-API.patch index af32f7bebc..9644f0562d 100644 --- a/patches/server/0781-Implement-getComputedBiome-API.patch +++ b/patches/server/0781-Implement-getComputedBiome-API.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Implement getComputedBiome API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5ca1bc3a0574c1080cb000245dbc8fa093ee7d01..5be114bc70c6fdbcb7d804e7558a5172c4461b96 100644 +index 30a893f7f63961b752e043b81dda20d946cd63aa..57bb76050919d187adef4bfa8b21416a70867d23 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -220,6 +220,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor { - return CraftBlock.biomeBaseToBiome(this.getHandle().registryAccess().registryOrThrow(Registries.BIOME), this.getHandle().getNoiseBiome(x >> 2, y >> 2, z >> 2)); +@@ -221,6 +221,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor { + return CraftBiome.minecraftHolderToBukkit(this.getHandle().getNoiseBiome(x >> 2, y >> 2, z >> 2)); } + // Paper start + @Override + public Biome getComputedBiome(int x, int y, int z) { -+ return CraftBlock.biomeBaseToBiome(this.getHandle().registryAccess().registryOrThrow(Registries.BIOME), this.getHandle().getBiome(new BlockPos(x, y, z))); ++ return CraftBiome.minecraftHolderToBukkit(this.getHandle().getBiome(new BlockPos(x, y, z))); + } + // Paper end + @@ -23,10 +23,10 @@ index 5ca1bc3a0574c1080cb000245dbc8fa093ee7d01..5be114bc70c6fdbcb7d804e7558a5172 public void setBiome(Location location, Biome biome) { this.setBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ(), biome); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e649c3296363ea2f8429593e33a7833143bcabba..0a3fa0f75d2d9f09be8c29d35cb22953ceb8906b 100644 +index 5fa6a77ccd01deb929d86efc227439f4f280ba53..8fb44799c3273841ffc0996aa8984513e391c70d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -344,6 +344,13 @@ public class CraftBlock implements Block { +@@ -339,6 +339,13 @@ public class CraftBlock implements Block { return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ()); } @@ -41,7 +41,7 @@ index e649c3296363ea2f8429593e33a7833143bcabba..0a3fa0f75d2d9f09be8c29d35cb22953 public void setBiome(Biome bio) { this.getWorld().setBiome(this.getX(), this.getY(), this.getZ(), bio); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index 23ffe4b8a19286543e12bf7408879e6d1305a78f..935bca901f0618d77f3bf6c057bcbc606c742fac 100644 +index 5830635e96ab9e10320f790f17a3b345c690ff85..881de6bf2edf74783fc3faaf0d6b08e49c32334f 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java @@ -165,6 +165,14 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe diff --git a/patches/server/0783-Implement-enchantWithLevels-API.patch b/patches/server/0783-Implement-enchantWithLevels-API.patch index 6999d72cfe..ab96d4c51c 100644 --- a/patches/server/0783-Implement-enchantWithLevels-API.patch +++ b/patches/server/0783-Implement-enchantWithLevels-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement enchantWithLevels API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 3b02bf4e5b657af9debb432ab412fe50e1f7b922..4c0b250bb9e3cf52173b563b36fd27d9e893e154 100644 +index 48a88dae70fdf2757537d4a90aa60046e6346323..6e91c7ccc36e088be60739dd71b287f0b922a055 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -458,6 +458,21 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0784-Fix-saving-in-unloadWorld.patch b/patches/server/0784-Fix-saving-in-unloadWorld.patch index 16014f9a59..d0978c07dd 100644 --- a/patches/server/0784-Fix-saving-in-unloadWorld.patch +++ b/patches/server/0784-Fix-saving-in-unloadWorld.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f8d31fdbacf23a366ccbea4d96157fab3d0c3b88..a2b2d054232ba74935e94b899dc3944cbe374bbf 100644 +index fc02629cc39e0207bbb2ebbe829eb9829f9246b4..734e558bf61ca04b51fd3ae7f71cd5a9c1192725 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1301,7 +1301,7 @@ public final class CraftServer implements Server { +@@ -1300,7 +1300,7 @@ public final class CraftServer implements Server { try { if (save) { diff --git a/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch index 729df02c4d..ba9af2dff6 100644 --- a/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch @@ -196,7 +196,7 @@ index b13d89b1516130507402cd3b4bdb9f3c2a36e807..936644ec4a57e51a1c11a5bf4e8449ab } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f171124710b5e731652df0074fe24360239225b2..5a2fc10fb677291df95fceccff734cb9a78c81d6 100644 +index 6c7f7ae5208e9fa58694f202f048d2f3524b27a4..2581c8f91e6c7eca246d11220cba0187b9a2143f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1385,11 +1385,11 @@ public class CraftEventFactory { diff --git a/patches/server/0791-cache-resource-keys.patch b/patches/server/0791-cache-resource-keys.patch index c36993cac8..d444813b7a 100644 --- a/patches/server/0791-cache-resource-keys.patch +++ b/patches/server/0791-cache-resource-keys.patch @@ -4,38 +4,48 @@ Date: Sun, 20 Mar 2022 22:06:47 -0700 Subject: [PATCH] cache resource keys -diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 0a3fa0f75d2d9f09be8c29d35cb22953ceb8906b..df104b1f7753d98318a5cc511c6e0e1c68e5c277 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -369,12 +369,13 @@ public class CraftBlock implements Block { - return (biome == null) ? Biome.CUSTOM : biome; +diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java +index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java +@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.block; + import com.google.common.base.Preconditions; + import net.minecraft.core.Holder; + import net.minecraft.core.registries.Registries; ++import net.minecraft.resources.ResourceKey; + import org.bukkit.Registry; + import org.bukkit.block.Biome; + import org.bukkit.craftbukkit.CraftRegistry; +@@ -27,13 +28,14 @@ public class CraftBiome { + return CraftBiome.minecraftToBukkit(minecraft.value()); } -+ private static final java.util.Map> BIOME_KEY_CACHE = Collections.synchronizedMap(new java.util.EnumMap<>(Biome.class)); // Paper - public static Holder biomeToBiomeBase(net.minecraft.core.Registry registry, Biome bio) { - if (bio == null || bio == Biome.CUSTOM) { ++ private static final java.util.Map> BIOME_KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(Biome.class)); // Paper + public static net.minecraft.world.level.biome.Biome bukkitToMinecraft(Biome bukkit) { + if (bukkit == null || bukkit == Biome.CUSTOM) { return null; } -- return registry.getHolderOrThrow(ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(bio.getKey()))); -+ return registry.getHolderOrThrow(BIOME_KEY_CACHE.computeIfAbsent(bio, b -> ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(b.getKey())))); // Paper - cache key + return CraftRegistry.getMinecraftRegistry(Registries.BIOME) +- .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); ++ .getOptional(BIOME_KEY_CACHE.computeIfAbsent(bukkit, b -> ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(b.getKey())))).orElseThrow(); } - @Override -diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -index e0bf615fb1b99abbab2be55a4ee345204b36e218..7b3b12b4b2f5dbd37e23a7f5a0ad2abd04d259e2 100644 ---- a/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -+++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -@@ -16,9 +16,10 @@ public class CraftEntityTag extends CraftTag bukkitToMinecraftHolder(Biome bukkit) { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java +index 198f51b297aa65dad665a637b4a71036491406bc..18ef90b574dca82c1729868a83612ca06a6ccdce 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java +@@ -20,10 +20,10 @@ public class CraftEntityType { + return bukkit; } -+ private static final java.util.Map>> KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(EntityType.class)); // Paper - @Override - public boolean isTagged(EntityType entity) { -- return registry.getHolderOrThrow(ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(entity.getKey()))).is(tag); -+ return registry.getHolderOrThrow(KEY_CACHE.computeIfAbsent(entity, type -> ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(type.getKey())))).is(tag); // Paper - cache key ++ private static final java.util.Map>> KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(EntityType.class)); // Paper + public static net.minecraft.world.entity.EntityType bukkitToMinecraft(EntityType bukkit) { + Preconditions.checkArgument(bukkit != null); +- + return CraftRegistry.getMinecraftRegistry(Registries.ENTITY_TYPE) +- .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); ++ .getOptional(KEY_CACHE.computeIfAbsent(bukkit, type -> net.minecraft.resources.ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(type.getKey())))).orElseThrow(); } - - @Override + } diff --git a/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch index 50d9b37876..a58d230a06 100644 --- a/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch +++ b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch @@ -167,10 +167,10 @@ index 2e240ad721928a9a68370114ba61c21884ef1472..1a72fc5368731be617f9cab72e9e756d this.onChanged(server); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 73069a5cdb42d6bc3db5c02f0b668af69e786501..50820bf2a2050985947005ce682e27d11f587584 100644 +index 6993a7ec68ee0807ffb1d07667af1323a20b0bf7..a36fb1cf5970eaf7b9aaea9bee5de7f6bad1494c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1945,7 +1945,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1944,7 +1944,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule)); handle.deserialize(event.getValue()); // Paper @@ -179,7 +179,7 @@ index 73069a5cdb42d6bc3db5c02f0b668af69e786501..50820bf2a2050985947005ce682e27d1 return true; } -@@ -1986,7 +1986,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1985,7 +1985,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName())); handle.deserialize(event.getValue()); // Paper diff --git a/patches/server/0800-WorldCreator-keepSpawnLoaded.patch b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch index b473333506..866f96bd2f 100644 --- a/patches/server/0800-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch @@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a2b2d054232ba74935e94b899dc3944cbe374bbf..a264f215c65eab124dc420be92cdd5bee26e0fdd 100644 +index 734e558bf61ca04b51fd3ae7f71cd5a9c1192725..5649690f26ffdb5ae9b3bd7a94840896bb24f339 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1260,6 +1260,7 @@ public final class CraftServer implements Server { +@@ -1259,6 +1259,7 @@ public final class CraftServer implements Server { internal.setSpawnSettings(true, true); // Paper - move up diff --git a/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch index 13111af547..0c622e6685 100644 --- a/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch +++ b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch @@ -8,7 +8,7 @@ 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 f572a74b85df36a6da76b78ec29d807273867537..aa070258c1f2546ac68869cb62c8752c80c758ab 100644 +index 779b6bac307e252fe614cfce958d2eeed94c5f77..3762230eeee47114f683dfa428a8e55cf2f42b48 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; diff --git a/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch index 7b89c12c6c..a5c75ad33c 100644 --- a/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch @@ -45,10 +45,10 @@ index a197fa2864382363860b4a3db8160ed64f928df7..dd05048c5c9c37002708f0eee4e4fa0f this.profiler.popPush("connection"); MinecraftTimings.connectionTimer.startTiming(); // Spigot diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5fe65b6f6 100644 +index 5649690f26ffdb5ae9b3bd7a94840896bb24f339..b578cc60ae18fde838876dfe515f2d0f60948d46 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -877,6 +877,11 @@ public final class CraftServer implements Server { +@@ -876,6 +876,11 @@ public final class CraftServer implements Server { return new ArrayList(this.worlds.values()); } @@ -60,7 +60,7 @@ index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5 public DedicatedPlayerList getHandle() { return this.playerList; } -@@ -1136,6 +1141,7 @@ public final class CraftServer implements Server { +@@ -1135,6 +1140,7 @@ public final class CraftServer implements Server { @Override public World createWorld(WorldCreator creator) { Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP"); @@ -68,7 +68,7 @@ index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5 Preconditions.checkArgument(creator != null, "WorldCreator cannot be null"); String name = creator.name(); -@@ -1275,6 +1281,7 @@ public final class CraftServer implements Server { +@@ -1274,6 +1280,7 @@ public final class CraftServer implements Server { @Override public boolean unloadWorld(World world, boolean save) { diff --git a/patches/server/0818-Dont-resent-entity-on-art-update.patch b/patches/server/0818-Dont-resent-entity-on-art-update.patch index aa24ac355d..4ce24fc14e 100644 --- a/patches/server/0818-Dont-resent-entity-on-art-update.patch +++ b/patches/server/0818-Dont-resent-entity-on-art-update.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont resent entity on art update diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java -index be722f9c7f14270a29b1d3694c905426520d73c6..7f4b7ce6b85b4774f58be2c9afd4230a821dd9cc 100644 +index e780118d894d5421be8c50c8be02e41603cd0f32..3d13a79f9add2e45db7f8538ee15e0d4e37a1314 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java -@@ -37,7 +37,7 @@ public class CraftPainting extends CraftHanging implements Painting { +@@ -36,7 +36,7 @@ public class CraftPainting extends CraftHanging implements Painting { painting.setDirection(painting.getDirection()); return false; } diff --git a/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch index c0bd53a43f..5fba7c158e 100644 --- a/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch @@ -20,10 +20,10 @@ index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc Date date = new Date(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2e734dea30809bed1b11905a34e54ab5fe65b6f6..8f3c46827225ea8194b7759b5fb5ad7dc6a2bee1 100644 +index b578cc60ae18fde838876dfe515f2d0f60948d46..9cb82440c037e67b5fa5bb9cd6d584b4bfe20cb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1777,7 +1777,7 @@ public final class CraftServer implements Server { +@@ -1776,7 +1776,7 @@ public final class CraftServer implements Server { // Paper end Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch index c5e2423361..0e17a2f7d0 100644 --- a/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch @@ -18,16 +18,3 @@ index 4b1e55503e0ca813bc893a3a8258af8ab9a13f18..540fe85572003cb78dda7d996215d26a // Paper start - capture all item additions to the world if (captureDrops != null && entity instanceof net.minecraft.world.entity.item.ItemEntity) { captureDrops.add((net.minecraft.world.entity.item.ItemEntity) entity); -diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index b8db8750125315b15cc3d3e76ee629a60c4546a1..6b3a17e6717b8c03c5bd674771b29e4becd42c71 100644 ---- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -520,7 +520,7 @@ public class ItemEntity extends Entity implements TraceableEntity { - } - - public void setItem(ItemStack stack) { -- com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit -+ // com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit // Paper - Remove check - this.getEntityData().set(ItemEntity.DATA_ITEM, stack); - this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - } diff --git a/patches/server/0832-More-Teleport-API.patch b/patches/server/0832-More-Teleport-API.patch index 15b4b71ee9..213f919b8f 100644 --- a/patches/server/0832-More-Teleport-API.patch +++ b/patches/server/0832-More-Teleport-API.patch @@ -31,10 +31,10 @@ index 85651f43ef7c979d3024f168cb9f42956e544a7d..8014c067396dc595ec456847e05615f8 d0 = to.getX(); d1 = to.getY(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 87c303ff576cd05291d50d5676e86ca93a13b301..b19665fd570c86274caef62dc3e365f0e6a7ca8e 100644 +index 03142d4eaa3ebdf590ec1131f28690da9c6fe748..863d5a2c6729f8675b03a0575a7eb69ccaf04f4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -567,15 +567,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -566,15 +566,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @Override public boolean teleport(Location location, TeleportCause cause) { @@ -74,7 +74,7 @@ index 87c303ff576cd05291d50d5676e86ca93a13b301..b19665fd570c86274caef62dc3e365f0 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5b9701ef6d2e6ba42d5459add9d3b6370df80f5a..c0b8e37112c6e69fa04d35c39393fde6b780340d 100644 +index 16f3381e9cc42c7747199e7c178bd071b798f0e4..842471eb7dd0d68368e551220922b05b26e476e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1212,13 +1212,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch index 502d940d75..e60ad26bb8 100644 --- a/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch +++ b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch @@ -31,7 +31,7 @@ index e06d5eea4bc81be264a1f5d5fad2d4548c4ae8d2..55026e1731e41b4e3e4c6a8fef5d96a3 } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 6b3a17e6717b8c03c5bd674771b29e4becd42c71..22d29a2e58c5615dcee04ba68752fb76489c8a28 100644 +index d70abca10e84b86310ce5e4d72eb939331dc00e4..1a06d8c839e94fe2c1920035d606b62e0dc5cfba 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -64,7 +64,12 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch index b2390db67a..6a827aa08f 100644 --- a/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch @@ -18,10 +18,10 @@ index 7e898e34490a47b1c505a67f8d0266384f4e37ff..1531809d6bb80ae1fd50a08a541578f4 private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e50948ee4dab 100644 +index a36fb1cf5970eaf7b9aaea9bee5de7f6bad1494c..efefb334aba5a7dc03fbe210b9528109d31ad3fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -310,9 +310,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -309,9 +309,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean setSpawnLocation(int x, int y, int z) { return this.setSpawnLocation(x, y, z, 0.0F); } @@ -46,7 +46,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); if (chunk == null) { -@@ -427,6 +442,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -426,6 +441,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot @@ -54,7 +54,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - implement regenerateChunk method final ServerLevel serverLevel = this.world; final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource(); -@@ -517,6 +533,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -516,6 +532,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot @@ -62,7 +62,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper -@@ -580,6 +597,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -579,6 +596,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean addPluginChunkTicket(int x, int z, Plugin plugin) { @@ -70,7 +70,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 Preconditions.checkArgument(plugin != null, "null plugin"); Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled"); -@@ -648,6 +666,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -647,6 +665,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setChunkForceLoaded(int x, int z, boolean forced) { @@ -78,7 +78,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 this.getHandle().setChunkForced(x, z, forced); } -@@ -960,6 +979,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -959,6 +978,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -86,7 +86,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); } -@@ -2371,6 +2391,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2370,6 +2390,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot end // Paper start public java.util.concurrent.CompletableFuture getChunkAtAsync(int x, int z, boolean gen, boolean urgent) { diff --git a/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch index 3d19341d3e..09e0db6d59 100644 --- a/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c0b8e37112c6e69fa04d35c39393fde6b780340d..4fd4f2dee936c9b96b5297e16bb0061f3bfe2579 100644 +index 842471eb7dd0d68368e551220922b05b26e476e2..ff03991672c2ca9d23e370d406a9a138659cf050 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -652,6 +652,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0839-Collision-API.patch b/patches/server/0839-Collision-API.patch index 24c5f6349c..73e98382d8 100644 --- a/patches/server/0839-Collision-API.patch +++ b/patches/server/0839-Collision-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5be114bc70c6fdbcb7d804e7558a5172c4461b96..3b9d7f92f4e47da2d7eb1e9cb9e996ee36b57e4c 100644 +index 57bb76050919d187adef4bfa8b21416a70867d23..254cdf5efe85583c5ef126d46af7c5246daa97c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -1020,5 +1020,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1021,5 +1021,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { return this.getHandle().clip(new net.minecraft.world.level.ClipContext(start, end, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, null)).getType() == net.minecraft.world.phys.HitResult.Type.MISS; } @@ -22,10 +22,10 @@ index 5be114bc70c6fdbcb7d804e7558a5172c4461b96..3b9d7f92f4e47da2d7eb1e9cb9e996ee // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b19665fd570c86274caef62dc3e365f0e6a7ca8e..ba0c1be4f5303bd6a33fd27f4e8c9910a8325695 100644 +index 863d5a2c6729f8675b03a0575a7eb69ccaf04f4b..f4a9b72f76742b128632183720866df9283ca753 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1419,4 +1419,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1418,4 +1418,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } // Paper end diff --git a/patches/server/0841-Block-Ticking-API.patch b/patches/server/0841-Block-Ticking-API.patch index bce0100d29..ea73ea61f0 100644 --- a/patches/server/0841-Block-Ticking-API.patch +++ b/patches/server/0841-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index df104b1f7753d98318a5cc511c6e0e1c68e5c277..f3ac362b7b65a5273ff5fdad1d8065c5f654a53a 100644 +index 8fb44799c3273841ffc0996aa8984513e391c70d..e8dd0b9184e164b41cb4b361f23b6925e7670f8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -735,5 +735,21 @@ public class CraftBlock implements Block { +@@ -708,5 +708,21 @@ public class CraftBlock implements Block { public boolean isValidTool(ItemStack itemStack) { return getDrops(itemStack).size() != 0; } @@ -31,10 +31,10 @@ index df104b1f7753d98318a5cc511c6e0e1c68e5c277..f3ac362b7b65a5273ff5fdad1d8065c5 // 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 f4e37764f714419a614a7e40718924788a204d28..86fb50f946ff57d66c561ba0ee6f1116f63479fb 100644 +index 5b67d4dd280688093d7e36e59e5b2ec6ebdc796c..0bf863f597f3657a0f158756a2a91bda7eb453f6 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,11 @@ public class CraftBlockData implements BlockData { +@@ -704,4 +704,11 @@ public class CraftBlockData implements BlockData { return speed; } // Paper end - destroy speed API diff --git a/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch index 732f5e4db0..865dde2ada 100644 --- a/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch @@ -215,10 +215,10 @@ index f7ad9f51d4fb45d41c718a97c1fad72504d0c0ad..78810048fde7fd6299cdc99634ba6467 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8f3c46827225ea8194b7759b5fb5ad7dc6a2bee1..ef4c259504694d27534834a5d33e78a8d33ece6c 100644 +index 9cb82440c037e67b5fa5bb9cd6d584b4bfe20cb0..3b264f630a28416f0faacafba91e047bfb0f5190 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -806,7 +806,7 @@ public final class CraftServer implements Server { +@@ -805,7 +805,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/server/0844-Add-NamespacedKey-biome-methods.patch b/patches/server/0844-Add-NamespacedKey-biome-methods.patch index 0c72cf2690..2cce9ca951 100644 --- a/patches/server/0844-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0844-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e169c16626e967c30c6f9a324a40550adf5476dd..58f2eaf81f24f1548bdc9f46528cb4b94b18de69 100644 +index 186959e6e7aef0dada59320d3f180c99a93bc90c..437b331dc1f77d8fda895a42550bfb1035c8c3c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -610,6 +610,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -591,6 +591,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch index d88f3876b6..f2fc80e18c 100644 --- a/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch +++ b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 661638716cd4d1b20745f3a196f6d060b3de570c..c45d7e1262534255025392a804c9e4f47213f637 100644 +index 26054a3b4e2609cb68751d6e37bce22df94c46b8..f0d8000915db9ae497dddb09e9bde87a516a1b4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -509,8 +509,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index c9938548a4..dcc6c03d54 100644 --- a/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type TODO: Remove in 1.21? diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index b7d09079411f70353f44df3c623a0076367cf603..d2f4d7d129c692d92de74598dd94ea2d6a9f0d28 100644 +index d7495ea25713e959d106764054ce6642af497035..7131ae1fdfd7ac22f8178ff4d6265b4b6c14acb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -466,6 +466,12 @@ public class Commodore +@@ -460,6 +460,12 @@ public class Commodore super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, CB_PACKAGE + "/advancement/CraftAdvancement", "getDisplay0", desc, false); return; } diff --git a/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch index 9b591db9fe..8e624ce97f 100644 --- a/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -30,7 +30,7 @@ index fb7a401269a2ebfc998c14e1957dfd580d444c06..482e6b217c073ceff30c238c3a8cd8ea this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5a2fc10fb677291df95fceccff734cb9a78c81d6..4b28ae4a9bc9a295457cfcb84a86705db8f18502 100644 +index 2581c8f91e6c7eca246d11220cba0187b9a2143f..b00547dea90673a43715197bc5873cf94cfbd038 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -544,7 +544,13 @@ public class CraftEventFactory { diff --git a/patches/server/0864-Elder-Guardian-appearance-API.patch b/patches/server/0864-Elder-Guardian-appearance-API.patch index d8cd1b222a..6163706d91 100644 --- a/patches/server/0864-Elder-Guardian-appearance-API.patch +++ b/patches/server/0864-Elder-Guardian-appearance-API.patch @@ -5,7 +5,7 @@ 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 4fd4f2dee936c9b96b5297e16bb0061f3bfe2579..a60aa6f6fd00cc52cb7bedcf620b4b665191676d 100644 +index ff03991672c2ca9d23e370d406a9a138659cf050..68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3170,6 +3170,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0866-Add-entity-knockback-API.patch b/patches/server/0866-Add-entity-knockback-API.patch index 99dda3f088..a7530e45fb 100644 --- a/patches/server/0866-Add-entity-knockback-API.patch +++ b/patches/server/0866-Add-entity-knockback-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c45d7e1262534255025392a804c9e4f47213f637..2477c1be05de15f8210da464787c38cc039891c0 100644 +index f0d8000915db9ae497dddb09e9bde87a516a1b4b..f466b51947e1e6ed9e20ee1e5a0a535e9614efaa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1016,5 +1016,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0881-Add-Player-Warden-Warning-API.patch b/patches/server/0881-Add-Player-Warden-Warning-API.patch index 7664022221..37030b6551 100644 --- a/patches/server/0881-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0881-Add-Player-Warden-Warning-API.patch @@ -10,7 +10,7 @@ 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 a60aa6f6fd00cc52cb7bedcf620b4b665191676d..b119a4cce62a7fc10b1bf369f0abfa55e4fa9a38 100644 +index 68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a..527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3175,6 +3175,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch index 0592141896..9c5c52b756 100644 --- a/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch @@ -35,10 +35,10 @@ index 84cee8fb09f90424438de336f60d9388da1b39de..f555e29c7f9ea4ddb243a018bdc93d2b public void gossip(ServerLevel world, Villager villager, long time) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index b27b9001b8eb74c713e6766f0919110432775a2e..f29e221e5b850516c169c03bfbd2b0885d1a841b 100644 +index 5e779b7f1ba40e418d24c9d37506420c83bfb3fe..a67b5d20b956e0bf801c9eeb9330567c21927010 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -93,6 +93,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -95,6 +95,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { } // Paper start diff --git a/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch index 3d040ad44c..b1c3709097 100644 --- a/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch +++ b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch @@ -17,10 +17,10 @@ index 52fd12c474c01f3b53d0f6596b7a6fafee52bd0d..877498729c66de9aa6a27c9148f7494d BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3b9d7f92f4e47da2d7eb1e9cb9e996ee36b57e4c..d8908ba20280d21a2114afebdf13b1a5520e48e7 100644 +index 254cdf5efe85583c5ef126d46af7c5246daa97c2..6f3598c12ad8f5d35863669c1f85b5581aa82a60 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -401,10 +401,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -402,10 +402,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { ((ChorusFlowerBlock) Blocks.CHORUS_FLOWER).generatePlant(access, pos, random, 8); return true; case CRIMSON_FUNGUS: diff --git a/patches/server/0886-ItemStack-damage-API.patch b/patches/server/0886-ItemStack-damage-API.patch index 3ddc1cb75b..c46fbd71d9 100644 --- a/patches/server/0886-ItemStack-damage-API.patch +++ b/patches/server/0886-ItemStack-damage-API.patch @@ -11,7 +11,7 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 2477c1be05de15f8210da464787c38cc039891c0..0bd820f556494880926c719981a8d33797ee350d 100644 +index f466b51947e1e6ed9e20ee1e5a0a535e9614efaa..4971f918a014ba418f95a0d438aa3531eeef6908 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1017,6 +1017,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0887-Friction-API.patch b/patches/server/0887-Friction-API.patch index ee93938f68..2ac1f34308 100644 --- a/patches/server/0887-Friction-API.patch +++ b/patches/server/0887-Friction-API.patch @@ -54,7 +54,7 @@ index b8174fd81aba6d47d4882fdd442fb3c011b755ac..ac89d89081cde83b700dd7c13930cd14 if (nbt.contains("Attributes", 9) && this.level() != null && !this.level().isClientSide) { this.getAttributes().load(nbt.getList("Attributes", 10)); diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 22d29a2e58c5615dcee04ba68752fb76489c8a28..d39f31e7cf315c7cdc1daab28164380e44dd8341 100644 +index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c60cbbcab8 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -55,6 +55,7 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -132,7 +132,7 @@ index d160db37a3b7ef44b6de8fef209eeccef46c3a95..5e83fabb20bc2b0668cbf48530053ca1 public int getHealth() { return item.health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 0bd820f556494880926c719981a8d33797ee350d..dc6f09332d76b9f23e42fce42a2900d7a3d968a4 100644 +index 4971f918a014ba418f95a0d438aa3531eeef6908..b4b56bebf5308f4dcc51c1a2815f9689a6918b13 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1064,6 +1064,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0895-fix-Instruments.patch b/patches/server/0895-fix-Instruments.patch index 8ee99ca334..1810db2e54 100644 --- a/patches/server/0895-fix-Instruments.patch +++ b/patches/server/0895-fix-Instruments.patch @@ -6,46 +6,46 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b119a4cce62a7fc10b1bf369f0abfa55e4fa9a38..ecca4cc87fa3b00ac29db87ee69aaa1a24d4e00f 100644 +index 527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f..99d4c05c20089fb9520813de8a3b2de92b7d3829 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -726,29 +726,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; -- String instrumentName = switch (instrument.ordinal()) { -- case 0 -> "harp"; -- case 1 -> "basedrum"; -- case 2 -> "snare"; -- case 3 -> "hat"; -- case 4 -> "bass"; -- case 5 -> "flute"; -- case 6 -> "bell"; -- case 7 -> "guitar"; -- case 8 -> "chime"; -- case 9 -> "xylophone"; -- case 10 -> "iron_xylophone"; -- case 11 -> "cow_bell"; -- case 12 -> "didgeridoo"; -- case 13 -> "bit"; -- case 14 -> "banjo"; -- case 15 -> "pling"; -- case 16 -> "xylophone"; +- Sound instrumentSound = switch (instrument.ordinal()) { +- case 0 -> Sound.BLOCK_NOTE_BLOCK_HARP; +- case 1 -> Sound.BLOCK_NOTE_BLOCK_BASEDRUM; +- case 2 -> Sound.BLOCK_NOTE_BLOCK_SNARE; +- case 3 -> Sound.BLOCK_NOTE_BLOCK_HAT; +- case 4 -> Sound.BLOCK_NOTE_BLOCK_BASS; +- case 5 -> Sound.BLOCK_NOTE_BLOCK_FLUTE; +- case 6 -> Sound.BLOCK_NOTE_BLOCK_BELL; +- case 7 -> Sound.BLOCK_NOTE_BLOCK_GUITAR; +- case 8 -> Sound.BLOCK_NOTE_BLOCK_CHIME; +- case 9 -> Sound.BLOCK_NOTE_BLOCK_XYLOPHONE; +- case 10 -> Sound.BLOCK_NOTE_BLOCK_IRON_XYLOPHONE; +- case 11 -> Sound.BLOCK_NOTE_BLOCK_COW_BELL; +- case 12 -> Sound.BLOCK_NOTE_BLOCK_DIDGERIDOO; +- case 13 -> Sound.BLOCK_NOTE_BLOCK_BIT; +- case 14 -> Sound.BLOCK_NOTE_BLOCK_BANJO; +- case 15 -> Sound.BLOCK_NOTE_BLOCK_PLING; +- case 16 -> Sound.BLOCK_NOTE_BLOCK_XYLOPHONE; - default -> null; - }; - - float f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); -- this.getHandle().connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); +- this.getHandle().connection.send(new ClientboundSoundPacket(CraftSound.bukkitToMinecraftHolder(instrumentSound), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); + // Paper start - fix all this (modeled off of NoteBlock) -+ net.minecraft.world.level.block.state.properties.NoteBlockInstrument nms = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); -+ float f; -+ if (nms.isTunable()) { -+ f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); ++ net.minecraft.world.level.block.state.properties.NoteBlockInstrument noteBlockInstrument = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); ++ float pitch; ++ if (noteBlockInstrument.isTunable()) { ++ pitch = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); + } else { -+ f = 1.0f; ++ pitch = 1.0f; + } -+ if (!nms.hasCustomSound()) { -+ this.getHandle().connection.send(new ClientboundSoundPacket(nms.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); ++ if (!noteBlockInstrument.hasCustomSound()) { ++ this.getHandle().connection.send(new ClientboundSoundPacket(noteBlockInstrument.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, pitch, this.getHandle().getRandom().nextLong())); + } + // Paper end } diff --git a/patches/server/0899-Add-Sneaking-API-for-Entities.patch b/patches/server/0899-Add-Sneaking-API-for-Entities.patch index e2081bc135..f94fb0ad22 100644 --- a/patches/server/0899-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0899-Add-Sneaking-API-for-Entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ba0c1be4f5303bd6a33fd27f4e8c9910a8325695..6915da7ef7f1179f1efb3a959194c573e6b362e9 100644 +index f4a9b72f76742b128632183720866df9283ca753..c612c97ca33b445c019ffa8d5074038f4a624db7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1202,6 +1202,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1201,6 +1201,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return Pose.values()[this.getHandle().getPose().ordinal()]; } diff --git a/patches/server/0905-Flying-Fall-Damage.patch b/patches/server/0905-Flying-Fall-Damage.patch index 8a8aa0a61d..c891e1e6f9 100644 --- a/patches/server/0905-Flying-Fall-Damage.patch +++ b/patches/server/0905-Flying-Fall-Damage.patch @@ -26,7 +26,7 @@ index 6bf59f8e7f23ffabd2c6f739fe0daf9da6246e1d..d58b4c0dbe651b5068212e5f14dce316 } 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 ecca4cc87fa3b00ac29db87ee69aaa1a24d4e00f..3db0278b66d11cf2d7e4c415e859ed39efbec5d7 100644 +index 99d4c05c20089fb9520813de8a3b2de92b7d3829..17c24a282524d73372a95c06a3a37e44a7f1314b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2392,6 +2392,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch index b0bd1ad9c9..8f3fb0e7f4 100644 --- a/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch +++ b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch @@ -130,7 +130,7 @@ index da4609caecc8183d02c301c7cedbca52ed39323f..716021520c228b5bbced525b751f5d41 // See BlockStateFactory#createBlockState(World, BlockPosition, IBlockData, TileEntity) private static CraftBlockState getBlockState(World world, BlockPos blockPosition, net.minecraft.world.level.block.state.BlockState blockData, BlockEntity tileEntity) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 4b28ae4a9bc9a295457cfcb84a86705db8f18502..52875848c97be4569b03f3ebdb02a332da06e361 100644 +index b00547dea90673a43715197bc5873cf94cfbd038..4d96082a3135406f63c6e02e34d8bf6b2d184eb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1020,7 +1020,7 @@ public class CraftEventFactory { diff --git a/patches/server/0911-Win-Screen-API.patch b/patches/server/0911-Win-Screen-API.patch index 06a50044be..9e1aea3edc 100644 --- a/patches/server/0911-Win-Screen-API.patch +++ b/patches/server/0911-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3db0278b66d11cf2d7e4c415e859ed39efbec5d7..e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa 100644 +index 17c24a282524d73372a95c06a3a37e44a7f1314b..e91b45268d96dfa79cd6472824b203e5250df0a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1215,6 +1215,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0914-Add-Entity-Body-Yaw-API.patch b/patches/server/0914-Add-Entity-Body-Yaw-API.patch index 084c4be98b..e4d7a9ccab 100644 --- a/patches/server/0914-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0914-Add-Entity-Body-Yaw-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6915da7ef7f1179f1efb3a959194c573e6b362e9..fd89da8b92492c3b507b68d1040d293977528441 100644 +index c612c97ca33b445c019ffa8d5074038f4a624db7..56fe7baf22b040af77a08b7ebddad3aa8a53185f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1430,6 +1430,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1429,6 +1429,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInPowderedSnow() { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } @@ -41,7 +41,7 @@ index 6915da7ef7f1179f1efb3a959194c573e6b362e9..fd89da8b92492c3b507b68d1040d2939 // Paper Start - Collision API @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index dc6f09332d76b9f23e42fce42a2900d7a3d968a4..22847ea7063a660934515a1108e66f9265f1685f 100644 +index b4b56bebf5308f4dcc51c1a2815f9689a6918b13..e997aebe36436570e2461a4685f0fb371ce4ce14 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1056,6 +1056,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0917-Add-EntityFertilizeEggEvent.patch b/patches/server/0917-Add-EntityFertilizeEggEvent.patch index a55692c021..e2025f7a2c 100644 --- a/patches/server/0917-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0917-Add-EntityFertilizeEggEvent.patch @@ -69,10 +69,10 @@ index 36b3945832733b5ad66d25aa3a31335234d2acff..47a5125e44cea1ece84657cdb874807f this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F); } // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 52875848c97be4569b03f3ebdb02a332da06e361..bdcb1752d0959bbabc17d411f36680bad6669651 100644 +index 4d96082a3135406f63c6e02e34d8bf6b2d184eb9..be120d2d5dd58512a102ea670761b9336a48a8c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2049,4 +2049,29 @@ public class CraftEventFactory { +@@ -2051,4 +2051,29 @@ public class CraftEventFactory { return event.callEvent(); } // Paper end diff --git a/patches/server/0937-Add-Mob-Experience-reward-API.patch b/patches/server/0937-Add-Mob-Experience-reward-API.patch index 3c07d5e971..47d2f879f2 100644 --- a/patches/server/0937-Add-Mob-Experience-reward-API.patch +++ b/patches/server/0937-Add-Mob-Experience-reward-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Mob Experience reward API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 620d918e302a00d5a6640648e3096988d15535a0..18b9b0dc70f6872a9d71c120bcd2edca531b0ac4 100644 +index c526304d31fd9be1b3c895187f7d9fc45edf4866..153e4c88c168097eb4a78650e7c9c120bec202a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -158,4 +158,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch index 0460fff494..0b43d09dfa 100644 --- a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch +++ b/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix DamageCause for Falling Blocks diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bdcb1752d0959bbabc17d411f36680bad6669651..9f012b6ccedc2f325f1cb7ee2d4cb843db4e6a41 100644 +index be120d2d5dd58512a102ea670761b9336a48a8c3..87266f10b5922327060dbe910010e76559be8ca6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1060,6 +1060,11 @@ public class CraftEventFactory { diff --git a/patches/server/0944-Expand-PlayerItemMendEvent.patch b/patches/server/0944-Expand-PlayerItemMendEvent.patch index 25dc159753..c5799173eb 100644 --- a/patches/server/0944-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0944-Expand-PlayerItemMendEvent.patch @@ -33,7 +33,7 @@ index 8d8fe55a05eea237a8af99ed15ab16d6167daa77..eca634792d2a7cc649675e3394e84dba 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 e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa..6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9 100644 +index e91b45268d96dfa79cd6472824b203e5250df0a5..f036f8bbb5861edec3a05d4c96fc495dd055d529 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1737,11 +1737,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -51,7 +51,7 @@ index e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa..6a6e3dcdd4cbf93ab68361b0a388a102 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9f012b6ccedc2f325f1cb7ee2d4cb843db4e6a41..4798ece84ad42cce048811a6b1dc9bb779f73945 100644 +index 87266f10b5922327060dbe910010e76559be8ca6..862b38e552615eba73841bb7d1e3e87185eb6a5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1296,10 +1296,10 @@ public class CraftEventFactory { diff --git a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch index 2f5b244c61..2d866dedaa 100644 --- a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch +++ b/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ef4c259504694d27534834a5d33e78a8d33ece6c..9b0877f67d5845030b3f11240e89e77401a01c3e 100644 +index 3b264f630a28416f0faacafba91e047bfb0f5190..652730486f93ea829865f7e140823b600ce3bb64 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -360,7 +360,11 @@ public final class CraftServer implements Server { +@@ -359,7 +359,11 @@ public final class CraftServer implements Server { } this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); this.commandsConfiguration.options().copyDefaults(true); diff --git a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch index b1726ab069..c21ed94db8 100644 --- a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch +++ b/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 22847ea7063a660934515a1108e66f9265f1685f..5ce1c779addafad90d54f2dc76578ec6df5af071 100644 +index e997aebe36436570e2461a4685f0fb371ce4ce14..fe2124694eb080cab685a1ce1f6a66e2fcdf6a17 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -503,6 +503,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0962-Call-missing-BlockDispenseEvent.patch b/patches/server/0962-Call-missing-BlockDispenseEvent.patch index 0b125c6318..9d8ee0fc19 100644 --- a/patches/server/0962-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0962-Call-missing-BlockDispenseEvent.patch @@ -50,10 +50,10 @@ index c0baec6ae9bd90410f47aa04d7c7704233375d1a..e9b748a81ec223a701b56d2dc890c9eb for (int k = 0; k < 5; ++k) { worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 4798ece84ad42cce048811a6b1dc9bb779f73945..7e21999652796ae90f8c4b0747ecef2fd90c480a 100644 +index 862b38e552615eba73841bb7d1e3e87185eb6a5a..bef88faefc8023a9640b843eaa5216594d0c4386 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2055,6 +2055,32 @@ public class CraftEventFactory { +@@ -2057,6 +2057,32 @@ public class CraftEventFactory { } // Paper end diff --git a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch index 92343107f9..a9cac8a138 100644 --- a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch +++ b/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix item meta for tadpole buckets diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 4c0b250bb9e3cf52173b563b36fd27d9e893e154..3f4e55bb9a4134e54adddca3c662285164068d95 100644 +index 6e91c7ccc36e088be60739dd71b287f0b922a055..57f4cf40359fe9bb427eb0134660d00839a63c86 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -348,6 +348,7 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch b/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch index cd59fe39f9..ee6670b47c 100644 --- a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch +++ b/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch @@ -47,18 +47,18 @@ index c92981aedebe934cefa1c96a0328fb91fe17acbc..80138632e5216c71fe7060a59dbb2915 CraftMetaArmor(Map map) { super(map); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 1481c8ca684eddca3eb5db3aceac4877043b9fcd..076e06908a0cf97f86a64a15ca0231c5b0f06fec 100644 +index 9b266dd16dbf863dcf08783ec665dd237b048793..4bfa08fe53604145a7b1c4e7630bf46519223b59 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -488,7 +488,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -489,7 +489,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { continue; } -- Attribute attribute = CraftAttributeMap.fromMinecraft(attributeName); +- Attribute attribute = CraftAttribute.stringToBukkit(attributeName); + // Paper start + Attribute attribute; + try { -+ attribute = CraftAttributeMap.fromMinecraft(attributeName); ++ attribute = CraftAttribute.stringToBukkit(attributeName); + } catch (IllegalArgumentException e) { + attribute = null; + } @@ -67,7 +67,7 @@ index 1481c8ca684eddca3eb5db3aceac4877043b9fcd..076e06908a0cf97f86a64a15ca0231c5 continue; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index fe7a8e48a620630a6365edd22466f348de0dc508..cd7aa61a419c4610b841b74b74cfe5a636f292fb 100644 +index 9b9e20014042da4324c9f4babb05d8ba9513f81d..ee37b43060e0b102ab23cf318fd22041f5abaeb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -72,11 +72,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { @@ -78,7 +78,7 @@ index fe7a8e48a620630a6365edd22466f348de0dc508..cd7aa61a419c4610b841b74b74cfe5a6 if (tag.contains(SKULL_OWNER.NBT, CraftMagicNumbers.NBT.TAG_COMPOUND)) { this.setProfile(NbtUtils.readGameProfile(tag.getCompound(SKULL_OWNER.NBT))); } else if (tag.contains(SKULL_OWNER.NBT, CraftMagicNumbers.NBT.TAG_STRING) && !tag.getString(SKULL_OWNER.NBT).isEmpty()) { - this.setProfile(new CraftGameProfile(null, tag.getString(SKULL_OWNER.NBT))); + this.setProfile(new GameProfile(Util.NIL_UUID, tag.getString(SKULL_OWNER.NBT))); } + } catch (Exception ignored) {} // Paper diff --git a/patches/server/0969-Fix-BanList-API.patch b/patches/server/0969-Fix-BanList-API.patch index cfa843a407..ae76a83578 100644 --- a/patches/server/0969-Fix-BanList-API.patch +++ b/patches/server/0969-Fix-BanList-API.patch @@ -5,7 +5,7 @@ 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 aa070258c1f2546ac68869cb62c8752c80c758ab..c6129dc565b8f874b73e2fefcabd4be1c221fd73 100644 +index 3762230eeee47114f683dfa428a8e55cf2f42b48..fda82c7c3b7e28b6d3ed4b28c956a069a975c22c 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 @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9..8b2ed0f06bc8dd5cf3b1ad51ead49539c9206b30 100644 +index f036f8bbb5861edec3a05d4c96fc495dd055d529..d997deef986fd50a23c1fbb10774e4974e0a1cc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1635,23 +1635,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -256,7 +256,7 @@ index 6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9..8b2ed0f06bc8dd5cf3b1ad51ead49539 } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 8d2997efaacbe37d9007861ac871fd2719c2d663..b9af7d0591fee7dc1ce98b20387ffeb31096f6a6 100644 +index 2d877acc4cb338193449ae37cafb0cfdc452d6b0..51a6e84198f5b95488e8c757951ba14be4c55625 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerProfile; diff --git a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch index 36cecd13d0..8485ab1255 100644 --- a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch +++ b/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix possible NPE on painting creation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index d8908ba20280d21a2114afebdf13b1a5520e48e7..3d2b01a04bb0bf4aaa3bbc7550f13e953ed16895 100644 +index 6f3598c12ad8f5d35863669c1f85b5581aa82a60..3de391034dc8367c538008893615514c628d948e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -916,6 +916,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -917,6 +917,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { AABB bb = (ItemFrame.class.isAssignableFrom(clazz)) ? net.minecraft.world.entity.decoration.ItemFrame.calculateBoundingBox(null, pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height) : HangingEntity.calculateBoundingBox(null, pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height); @@ -16,7 +16,7 @@ index d8908ba20280d21a2114afebdf13b1a5520e48e7..3d2b01a04bb0bf4aaa3bbc7550f13e95 List list = (List) this.getHandle().getEntities(null, bb); for (Iterator it = list.iterator(); !taken && it.hasNext(); ) { net.minecraft.world.entity.Entity e = it.next(); -@@ -942,7 +943,8 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -943,7 +944,8 @@ public abstract class CraftRegionAccessor implements RegionAccessor { if (Painting.class.isAssignableFrom(clazz)) { if (this.isNormalWorld() && randomizeData) { entity = net.minecraft.world.entity.decoration.Painting.create(world, pos, dir).orElse(null); diff --git a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch index 393650c97e..aa8cb47353 100644 --- a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch +++ b/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7e21999652796ae90f8c4b0747ecef2fd90c480a..7f6e5c65306b3984804b7dd2751b34584f13a8f5 100644 +index bef88faefc8023a9640b843eaa5216594d0c4386..11f413f6c06a7da58c9411e4e240d48099774356 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -720,7 +720,10 @@ public class CraftEventFactory { diff --git a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch b/patches/server/0978-Folia-scheduler-and-owned-region-API.patch index a5b4d3ced8..f2b064b821 100644 --- a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0978-Folia-scheduler-and-owned-region-API.patch @@ -1224,10 +1224,10 @@ index ac7f1f317782a6c6ad41614fbe6c25498da63010..426023af3cbed9c17048e669c87a1c66 public void setLevelCallback(EntityInLevelCallback changeListener) { this.levelCallback = changeListener; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9b0877f67d5845030b3f11240e89e77401a01c3e..76adf846817aa8665f6601496317986e62a191cd 100644 +index 652730486f93ea829865f7e140823b600ce3bb64..3c5ae22e97a0dc7307161b6a96140dae2be25995 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -309,6 +309,76 @@ public final class CraftServer implements Server { +@@ -308,6 +308,76 @@ public final class CraftServer implements Server { private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper private final CraftPotionBrewer potionBrewer = new CraftPotionBrewer(); // Paper @@ -1305,7 +1305,7 @@ index 9b0877f67d5845030b3f11240e89e77401a01c3e..76adf846817aa8665f6601496317986e ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index fd89da8b92492c3b507b68d1040d293977528441..daa7c3e4cc59b1325d694fbc621e595c28c12c6b 100644 +index 56fe7baf22b040af77a08b7ebddad3aa8a53185f..39940331a3322213856b0ef4ca71f00965d05b4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -207,6 +207,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1324,7 +1324,7 @@ index fd89da8b92492c3b507b68d1040d293977528441..daa7c3e4cc59b1325d694fbc621e595c public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -831,6 +840,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -830,6 +839,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.entity; } diff --git a/patches/server/0980-API-for-updating-recipes-on-clients.patch b/patches/server/0980-API-for-updating-recipes-on-clients.patch index 34b781e1c0..b6d9838ada 100644 --- a/patches/server/0980-API-for-updating-recipes-on-clients.patch +++ b/patches/server/0980-API-for-updating-recipes-on-clients.patch @@ -39,10 +39,10 @@ index 723a87701a44e379c80e6def91c5340e37c87ba1..986ab7dd2135b4cb871923b20e3dc83e Iterator iterator1 = this.players.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e03d894c46 100644 +index 3c5ae22e97a0dc7307161b6a96140dae2be25995..a3d1d4d259014f55feda56dc97c2cfd48891de12 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1132,6 +1132,18 @@ public final class CraftServer implements Server { +@@ -1131,6 +1131,18 @@ public final class CraftServer implements Server { ReloadCommand.reload(console); } @@ -61,7 +61,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 private void loadIcon() { this.icon = new CraftIconCache(null); try { -@@ -1474,6 +1486,13 @@ public final class CraftServer implements Server { +@@ -1473,6 +1485,13 @@ public final class CraftServer implements Server { @Override public boolean addRecipe(Recipe recipe) { @@ -75,7 +75,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 CraftRecipe toAdd; if (recipe instanceof CraftRecipe) { toAdd = (CraftRecipe) recipe; -@@ -1503,6 +1522,11 @@ public final class CraftServer implements Server { +@@ -1502,6 +1521,11 @@ public final class CraftServer implements Server { } } toAdd.addToCraftingManager(); @@ -87,7 +87,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 return true; } -@@ -1622,10 +1646,23 @@ public final class CraftServer implements Server { +@@ -1621,10 +1645,23 @@ public final class CraftServer implements Server { @Override public boolean removeRecipe(NamespacedKey recipeKey) { diff --git a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch index c900f445f1..d0ab343b2d 100644 --- a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch +++ b/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix rotation when spawning display entities diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3d2b01a04bb0bf4aaa3bbc7550f13e953ed16895..e3501ff996487bc1020470a5bf7c892dbfcdaacd 100644 +index 3de391034dc8367c538008893615514c628d948e..7673e6c8a16455366d46a64df00c97663089c2ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -986,6 +986,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -987,6 +987,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { if (entity != null) { entity.setPos(x, y, z); diff --git a/patches/server/0982-Only-capture-actual-tree-growth.patch b/patches/server/0982-Only-capture-actual-tree-growth.patch index 15bc8126dc..146e0f5cad 100644 --- a/patches/server/0982-Only-capture-actual-tree-growth.patch +++ b/patches/server/0982-Only-capture-actual-tree-growth.patch @@ -57,10 +57,10 @@ index f43e6fe77e943239c1f1d6fa3e31235949f79546..53ac4e618fec3fe384d8a106c521f3ea } } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index f3ac362b7b65a5273ff5fdad1d8065c5f654a53a..bb5837c74edfecec9956b635546a8ecfe1c7dfa5 100644 +index e8dd0b9184e164b41cb4b361f23b6925e7670f8f..24ba4e1fd80d8effc8e70224103d3b93d69cb2ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -592,6 +592,7 @@ public class CraftBlock implements Block { +@@ -565,6 +565,7 @@ public class CraftBlock implements Block { if (!event.isCancelled()) { for (BlockState blockstate : blocks) { blockstate.update(true); diff --git a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch index 7d2fd2d075..dd08dc14b0 100644 --- a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch +++ b/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch @@ -9,10 +9,10 @@ Subject: [PATCH] Respect randomizeData on more entities when spawning * ExperienceOrb diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290bf58ea4d 100644 +index 7673e6c8a16455366d46a64df00c97663089c2ce..1a17875426468b287c8ea3f559ea516d0218f7a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -603,6 +603,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -604,6 +604,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (org.bukkit.entity.Item.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.item.ItemEntity(world, x, y, z, new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.DIRT)); // Paper end @@ -24,7 +24,7 @@ index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290 } else if (FallingBlock.class.isAssignableFrom(clazz)) { BlockPos pos = BlockPos.containing(x, y, z); entity = new FallingBlockEntity(world, x, y, z, this.getHandle().getBlockState(pos)); // Paper -@@ -658,6 +663,14 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -659,6 +664,14 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(x, y, z, yaw, pitch); } else if (Firework.class.isAssignableFrom(clazz)) { entity = new FireworkRocketEntity(world, x, y, z, net.minecraft.world.item.ItemStack.EMPTY); @@ -39,7 +39,7 @@ index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290 } } else if (Minecart.class.isAssignableFrom(clazz)) { if (PoweredMinecart.class.isAssignableFrom(clazz)) { -@@ -959,8 +972,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -960,8 +973,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); diff --git a/patches/server/0985-Use-correct-seed-on-api-world-load.patch b/patches/server/0985-Use-correct-seed-on-api-world-load.patch index ce69d5fe03..f518b6abe5 100644 --- a/patches/server/0985-Use-correct-seed-on-api-world-load.patch +++ b/patches/server/0985-Use-correct-seed-on-api-world-load.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use correct seed on api world load diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 87a4141c3fdaaa6ef855f6ceff5f44e03d894c46..cbe4d0c7743ab8bca93041177c8ffdf0fb570570 100644 +index a3d1d4d259014f55feda56dc97c2cfd48891de12..23c66510e877670e194b74a0935f1a810ce762b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1313,7 +1313,7 @@ public final class CraftServer implements Server { +@@ -1312,7 +1312,7 @@ public final class CraftServer implements Server { // Paper - move down diff --git a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch b/patches/server/0988-Fix-custom-statistic-criteria-creation.patch index 36b38e1ad4..361523edd9 100644 --- a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch +++ b/patches/server/0988-Fix-custom-statistic-criteria-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 58f2eaf81f24f1548bdc9f46528cb4b94b18de69..868d502a9bc49bf5e1295c28a76fc09ed37f8591 100644 +index 437b331dc1f77d8fda895a42550bfb1035c8c3c1..96f6e0554baf5915dd1f5b93f3bcfe7a13393c29 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -623,6 +623,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -604,6 +604,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.core.Holder biomeBase = cra.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey))); cra.setBiome(x, y, z, biomeBase); } diff --git a/patches/server/0989-Bandaid-fix-for-Effect.patch b/patches/server/0989-Bandaid-fix-for-Effect.patch index 3a386db86c..fcaf0489aa 100644 --- a/patches/server/0989-Bandaid-fix-for-Effect.patch +++ b/patches/server/0989-Bandaid-fix-for-Effect.patch @@ -45,10 +45,10 @@ index 5a5a8945c786e16ff0df62494ddd1ac85c42b53f..63f9735d356dafd579cee4423d3037eb case COMPOSTER_FILL_ATTEMPT: datavalue = ((Boolean) data) ? 1 : 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9707487f2533c30dc1998fafc626e50948ee4dab..1b996cbbbbf3f753f1144d553f763e15f23593bd 100644 +index efefb334aba5a7dc03fbe210b9528109d31ad3fa..7aef2714791674086246ab4b5b92c8965dbfdae0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1369,7 +1369,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1368,7 +1368,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public void playEffect(Location loc, Effect effect, T data, int radius) { if (data != null) { Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect); @@ -58,7 +58,7 @@ index 9707487f2533c30dc1998fafc626e50948ee4dab..1b996cbbbbf3f753f1144d553f763e15 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8b2ed0f06bc8dd5cf3b1ad51ead49539c9206b30..1975444d38d5130efde54f9122387997658d87e7 100644 +index d997deef986fd50a23c1fbb10774e4974e0a1cc0..7c73dd0717924531523e126bc79282aee4a3103c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -862,7 +862,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch index 20923b834a..1a0045c1c8 100644 --- a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch +++ b/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch @@ -7,10 +7,10 @@ Was obtainable through different methods, but you had to use different methods depending on the implementation of Entity you were working with. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index daa7c3e4cc59b1325d694fbc621e595c28c12c6b..4a84b595e33dd8a378b8bdefbc97aa22af4a1e72 100644 +index 39940331a3322213856b0ef4ca71f00965d05b4f..bcd25a26bab436504c58edc1f5fb0a0337459464 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1486,4 +1486,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1485,4 +1485,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level().noCollision(this.getHandle(), aabb); } // Paper End - Collision API diff --git a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch index c9aa97e359..9a940e8208 100644 --- a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch +++ b/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cbe4d0c7743ab8bca93041177c8ffdf0fb570570..fdd4cb183bc3689ed1df1ff40ceaa41c8a356ea4 100644 +index 23c66510e877670e194b74a0935f1a810ce762b5..7e38dd8b7015f8f648c551ab0a83c4822bfa37a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1855,6 +1855,11 @@ public final class CraftServer implements Server { +@@ -1854,6 +1854,11 @@ public final class CraftServer implements Server { ServerLevel worldServer = ((CraftWorld) world).getHandle(); Location structureLocation = world.locateNearestStructure(location, structureType, radius, findUnexplored); @@ -20,7 +20,7 @@ index cbe4d0c7743ab8bca93041177c8ffdf0fb570570..fdd4cb183bc3689ed1df1ff40ceaa41c BlockPos structurePosition = CraftLocation.toBlockPosition(structureLocation); // Create map with trackPlayer = true, unlimitedTracking = true -@@ -1865,6 +1870,31 @@ public final class CraftServer implements Server { +@@ -1864,6 +1869,31 @@ public final class CraftServer implements Server { return CraftItemStack.asBukkitCopy(stack); } diff --git a/patches/server/0998-Add-Listing-API-for-Player.patch b/patches/server/0998-Add-Listing-API-for-Player.patch index 8891b44b9a..d0c52891a0 100644 --- a/patches/server/0998-Add-Listing-API-for-Player.patch +++ b/patches/server/0998-Add-Listing-API-for-Player.patch @@ -113,7 +113,7 @@ index 986ab7dd2135b4cb871923b20e3dc83e17e2bae9..ba415d400c706c0483c0dc8da959b5ff // Paper end 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 1975444d38d5130efde54f9122387997658d87e7..5db28d16070b5d5ec076ec3c7c84e5d7cf230601 100644 +index 7c73dd0717924531523e126bc79282aee4a3103c..4f6c3bbb9850f307c382ee961e544f0035b2d29e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -184,6 +184,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch index cbe1991b7d..566e62b5de 100644 --- a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch +++ b/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch @@ -18,7 +18,7 @@ index 0435c8262480bf5d83fd4306205f32b979911811..1b0302df0ed420fd7f9d6803d796abf7 if (blockEvent.isCancelled()) { // Let the client know the block still exists diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7f6e5c65306b3984804b7dd2751b34584f13a8f5..e6f1df5706f2fd4e14f98053344bda03c1c12773 100644 +index 11f413f6c06a7da58c9411e4e240d48099774356..37bba53fe2c55668a8e280b669fc138d4413a405 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -650,13 +650,13 @@ public class CraftEventFactory { diff --git a/patches/server/1002-Expand-Pose-API.patch b/patches/server/1002-Expand-Pose-API.patch index 509291831f..67a17d8d1c 100644 --- a/patches/server/1002-Expand-Pose-API.patch +++ b/patches/server/1002-Expand-Pose-API.patch @@ -25,10 +25,10 @@ index 426023af3cbed9c17048e669c87a1c66bda4ad1b..f20ae9153b7098980ce6c0e75fcbbb4d if (pose == this.getPose()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4a84b595e33dd8a378b8bdefbc97aa22af4a1e72..327c9db9907a0b6953fa9ca133ec2f7dd3c74127 100644 +index bcd25a26bab436504c58edc1f5fb0a0337459464..e932cfac619c30b8c7444a9fa41e0403a6eadf6a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1227,6 +1227,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1226,6 +1226,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isSneaking() { return this.getHandle().isShiftKeyDown(); } diff --git a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch b/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch index f37bf37494..cca7331663 100644 --- a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch +++ b/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch @@ -5,10 +5,10 @@ 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 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecfd8f05dfa 100644 +index 4bfa08fe53604145a7b1c4e7630bf46519223b59..9d4cb06b8009c6e22db4237cffa99008bbec6e84 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -303,7 +303,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -17,7 +17,7 @@ index 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecf private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -344,8 +344,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -345,8 +345,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.destroyableKeys = new java.util.HashSet<>(meta.destroyableKeys); } // Paper end @@ -30,7 +30,7 @@ index 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecf this.internalTag = meta.internalTag; if (this.internalTag != null) { -@@ -1393,7 +1395,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1394,7 +1396,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); } diff --git a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch b/patches/server/1010-Implement-OfflinePlayer-isConnected.patch index 157d1931e9..94c72e3a58 100644 --- a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/1010-Implement-OfflinePlayer-isConnected.patch @@ -5,7 +5,7 @@ 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 c6129dc565b8f874b73e2fefcabd4be1c221fd73..c1b874cd6e0498fce3cd53fdbaca30d290e004d7 100644 +index fda82c7c3b7e28b6d3ed4b28c956a069a975c22c..03fc90a470c0f63d44161843cac88bea09166858 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 @@ -23,7 +23,7 @@ index c6129dc565b8f874b73e2fefcabd4be1c221fd73..c1b874cd6e0498fce3cd53fdbaca30d2 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 5db28d16070b5d5ec076ec3c7c84e5d7cf230601..ae3ded93ea1440ec2cb9bb7740e9a983210de0fa 100644 +index 4f6c3bbb9850f307c382ee961e544f0035b2d29e..e188bb3ba5d2ec28421947c0b66b25eecb569bfe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -274,6 +274,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch index 7e78a4e41b..1faf111c41 100644 --- a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch @@ -79,7 +79,7 @@ index 5b01ffcdbfff7dbd05143cb08479c90e9b29dfba..017e97c1618b8ee4640b36a0ec1b0702 if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper player.containerMenu = container; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e6f1df5706f2fd4e14f98053344bda03c1c12773..10330600acecdc1a1024183c5989dd36a3b176bd 100644 +index 37bba53fe2c55668a8e280b669fc138d4413a405..50fed722bbba5c663e4be33a179ea75dfa2dd9e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1415,10 +1415,21 @@ public class CraftEventFactory { diff --git a/work/Bukkit b/work/Bukkit index d7a7a6c677..dfe1fb4853 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit d7a7a6c677a84a646a24069572b2ba8b189b4693 +Subproject commit dfe1fb4853158bd17f6955527ad3bf85f4d5150d diff --git a/work/CraftBukkit b/work/CraftBukkit index 28c1023286..f71a799f03 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 28c10232864804265dd3fa4e2008a55e1718b128 +Subproject commit f71a799f03aae4277a48b4a1082b478833975682