From 4cdbb0c86c40f5ff93a9a7cdca3102636b35b6d4 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 29 Sep 2023 10:28:26 +1000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) 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: 044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce() 43373c44 PR-904: Update FeatureFlag for 1.20.2 a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods 0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity bcd8d2aa PR-912: Update Minecraft Wiki URLs CraftBukkit Changes: 99aafc222 Increase outdated build delay dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 041b29ae3 Upgrade specialsource-maven-plugin 851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce() 251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods 46e4ba627 Upgrade specialsource-maven-plugin df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity 8d0fea457 PR-1262: Update Minecraft Wiki URLs e62905aab SPIGOT-7490: Fix entity equipment updates Spigot Changes: a0f3d486 Rebuild patches --- patches/api/0005-Adventure.patch | 2 +- patches/api/0008-Paper-Plugins.patch | 6 +-- patches/api/0010-Timings-v2.patch | 4 +- patches/api/0014-Version-Command-2.0.patch | 4 +- patches/api/0055-Fix-upstream-javadocs.patch | 39 --------------- patches/api/0152-Material-API-additions.patch | 2 +- .../0172-Fix-Spigot-annotation-mistakes.patch | 28 +++++------ ...Add-Raw-Byte-ItemStack-Serialization.patch | 4 +- ...-Add-methods-to-get-translation-keys.patch | 4 +- ...y-Counter-to-allow-plugins-to-use-va.patch | 4 +- ...Cache-the-result-of-Material-isBlock.patch | 2 +- patches/api/0264-Expand-world-key-API.patch | 6 +-- patches/api/0265-Item-Rarity-API.patch | 6 +-- .../api/0266-Expose-protocol-version.patch | 4 +- patches/api/0282-Add-basic-Datapack-API.patch | 8 ++-- .../api/0284-ItemStack-repair-check-API.patch | 4 +- ...289-Attributes-API-for-item-defaults.patch | 6 +-- patches/api/0299-Missing-Entity-API.patch | 2 +- .../0316-Get-entity-default-attributes.patch | 4 +- ...Collidable-methods-to-various-places.patch | 10 ++-- ...24-Add-Raw-Byte-Entity-Serialization.patch | 4 +- patches/api/0353-More-Projectile-API.patch | 6 +-- .../0360-WorldCreator-keepSpawnLoaded.patch | 2 +- ...0374-Add-NamespacedKey-biome-methods.patch | 4 +- .../api/0379-Add-getDrops-to-BlockState.patch | 4 +- ...x-custom-statistic-criteria-creation.patch | 4 +- .../server/0001-Setup-Gradle-project.patch | 4 +- .../server/0003-Build-system-changes.patch | 4 +- patches/server/0005-Paper-config-files.patch | 2 +- patches/server/0006-MC-Dev-fixes.patch | 13 +++++ patches/server/0009-MC-Utils.patch | 39 ++++++++++++++- patches/server/0010-Adventure.patch | 30 ++++++------ patches/server/0014-Timings-v2.patch | 4 +- .../server/0018-Rewrite-chunk-system.patch | 47 +++++++++++++++++++ ...-option-to-load-extra-plugin-jars-no.patch | 2 +- ...ient-crashes-server-lists-and-Mojang.patch | 4 +- .../0041-Disable-explosion-knockback.patch | 2 +- ...oreboards-for-non-players-by-default.patch | 2 +- ...2-Custom-replacement-for-eaten-items.patch | 2 +- ...cing-for-EntityLiving-hasLineOfSight.patch | 2 +- ...th-absorb-values-and-repair-bad-data.patch | 2 +- ...ityRegainHealthEvent-isFastRegen-API.patch | 2 +- ...-API-Replenishable-Lootables-Feature.patch | 8 ++-- ...0-Optional-TNT-doesn-t-move-in-water.patch | 2 +- .../0102-Add-server-name-parameter.patch | 2 +- ...PI-for-Reason-Source-Triggering-play.patch | 2 +- .../server/0128-Cap-Entity-Collisions.patch | 2 +- ...oleAppender-for-console-improvements.patch | 2 +- .../server/0141-Basic-PlayerProfile-API.patch | 2 +- .../0150-Fix-this-stupid-bullshit.patch | 4 +- .../0162-Add-PlayerArmorChangeEvent.patch | 2 +- ...-get-a-BlockState-without-a-snapshot.patch | 12 ++--- ...-Add-setPlayerProfile-API-for-Skulls.patch | 6 +-- ...e-shield-blocking-delay-configurable.patch | 2 +- ...KnockbackByEntityEvent-and-EntityPus.patch | 2 +- ...Allow-disabling-armour-stand-ticking.patch | 4 +- ...-ray-tracing-methods-to-LivingEntity.patch | 2 +- .../server/0253-Improve-death-events.patch | 4 +- ...nt-furnace-cook-speed-multiplier-API.patch | 8 ++-- ...265-Add-LivingEntity-getTargetEntity.patch | 2 +- ...entity-dismount-during-teleportation.patch | 2 +- .../0309-Mob-Spawner-API-Enhancements.patch | 8 ++-- ...ate-location-if-we-failed-to-read-it.patch | 4 +- ...revent-consuming-the-wrong-itemstack.patch | 2 +- .../0347-Improve-java-version-check.patch | 2 +- patches/server/0349-Entity-Jump-API.patch | 2 +- .../0370-Improved-Watchdog-Support.patch | 2 +- ...-entity-collision-code-if-not-needed.patch | 2 +- ...PlayerAttackEntityCooldownResetEvent.patch | 2 +- ...m-duplication-issues-and-teleport-is.patch | 4 +- ...-per-thread-native-byte-buffer-cache.patch | 2 +- ...k-for-portal-on-world-gen-entity-add.patch | 2 +- .../server/0472-Optimise-getType-calls.patch | 4 +- ...0486-Beacon-API-custom-effect-ranges.patch | 10 ++-- ...-should-not-bypass-cramming-gamerule.patch | 4 +- patches/server/0546-EntityMoveEvent.patch | 2 +- ...ItemConsumeEvent-cancelling-properly.patch | 2 +- ...Add-EntityBlockStorage-clearEntities.patch | 9 ++-- .../server/0609-More-Lidded-Block-API.patch | 32 +++++++------ .../server/0622-Line-Of-Sight-Changes.patch | 2 +- ...g-for-mobs-immune-to-default-effects.patch | 2 +- ...3-Improve-boat-collision-performance.patch | 2 +- ...mize-entity-tracker-passenger-checks.patch | 2 +- ...tem-frame-map-cursor-update-interval.patch | 2 +- .../server/0658-More-CommandBlock-API.patch | 4 +- ...Collidable-methods-to-various-places.patch | 8 ++-- ...0675-Improve-and-expand-AsyncCatcher.patch | 2 +- ...-packets-for-hard-colliding-entities.patch | 2 +- ...-Fix-upstreams-block-state-factories.patch | 13 ++++- ...sive-velocity-through-repeated-crits.patch | 2 +- ...oversized-item-data-in-equipment-and.patch | 4 +- ...de-unnecessary-itemmeta-from-clients.patch | 4 +- .../server/0727-Collision-optimisations.patch | 2 +- .../server/0730-Add-more-Campfire-API.patch | 8 ++-- .../server/0757-Freeze-Tick-Lock-API.patch | 2 +- ...-for-StructureTemplate.Pallete-cache.patch | 4 +- .../server/0768-Furnace-RecipesUsed-API.patch | 4 +- ...igurable-sculk-sensor-listener-range.patch | 9 ++-- .../0773-Fix-Entity-Position-Desync.patch | 2 +- patches/server/0779-More-Projectile-API.patch | 11 ++--- ...verriding-a-block-entity-during-worl.patch | 8 ++-- .../0807-Add-PlayerStopUsingItemEvent.patch | 2 +- patches/server/0823-Nameable-Banner-API.patch | 9 ++-- ...ix-plugin-loggers-on-server-shutdown.patch | 2 +- ...ook-changes-from-crashing-the-server.patch | 2 +- .../0858-Add-getDrops-to-BlockState.patch | 4 +- .../server/0873-Add-Moving-Piston-API.patch | 8 +++- ...global-player-list-where-appropriate.patch | 2 +- patches/server/0888-Friction-API.patch | 2 +- ...nk-items-during-EntityResurrectEvent.patch | 2 +- ...vancement-triggers-for-entity-damage.patch | 2 +- ...hives-generating-from-using-bonemeal.patch | 8 ++-- ...esh-ProjectileSource-for-projectiles.patch | 4 +- ...ayerChunkLoaderData-in-order-to-prep.patch | 2 +- .../0957-Properly-Cancel-Usable-Items.patch | 2 +- ...58-Add-event-for-player-editing-sign.patch | 4 +- ...ck-item-frames-if-players-can-see-it.patch | 2 +- ...0965-Add-Sign-getInteractableSideFor.patch | 4 +- .../0987-Cache-map-ids-on-item-frames.patch | 2 +- .../server/0990-SculkCatalyst-bloom-API.patch | 8 ++-- ...-Remove-Spigot-Bug-Fix-for-MC-109346.patch | 4 +- .../server/1028-Lag-compensation-ticks.patch | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 125 files changed, 379 insertions(+), 302 deletions(-) diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 69687107e6..6e11557e8b 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -1476,7 +1476,7 @@ index ac5e263d737973af077e3406a84a84baca4370db..2d91924b7f5ef16a91d40cdc1bfc3d68 + // Paper end } diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 650adcecdca839518e0b57bc47935d010ca0f64f..fd0ae07b8a19f6b628601a487329a929f3a26c91 100644 +index 68194147e96307eca1147f3b2be5771270efb3d7..90b0253bd16a2b3c2ba3155f3eb9af35aab9f36f 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -25,6 +25,15 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0008-Paper-Plugins.patch b/patches/api/0008-Paper-Plugins.patch index 4b8401f996..fde562e55f 100644 --- a/patches/api/0008-Paper-Plugins.patch +++ b/patches/api/0008-Paper-Plugins.patch @@ -1346,10 +1346,10 @@ index 0000000000000000000000000000000000000000..6bf3d212a6156ad9ab0e82d1ca0a04f8 + +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index fd0ae07b8a19f6b628601a487329a929f3a26c91..2042e3fb0ea347148814d9838cd7bb475bd23984 100644 +index 90b0253bd16a2b3c2ba3155f3eb9af35aab9f36f..08b7e95f56d0454de57de492327542c36f46369d 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -101,4 +101,14 @@ public interface UnsafeValues { +@@ -100,4 +100,14 @@ public interface UnsafeValues { @Nullable FeatureFlag getFeatureFlag(@NotNull NamespacedKey key); @@ -1449,7 +1449,7 @@ index 94f8ceb965cecb5669a84a0ec61c0f706c2a2673..e773db6da357ad210eb24d4c389af2dc } } diff --git a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java -index 0eae1c027cab0444a125ae4efed7f9fcb1b9934f..07e8908d25fcd4e5eabadc9f019b54acff3b5e3c 100644 +index 539df5665a7cc1406a358fc435e36365b9c14068..32986df9a9854e561a77eefab99c934efbcb5aac 100644 --- a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java +++ b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java @@ -197,7 +197,7 @@ import org.yaml.snakeyaml.representer.Representer; diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch index 8ca1f76a25..13135b7d35 100644 --- a/patches/api/0010-Timings-v2.patch +++ b/patches/api/0010-Timings-v2.patch @@ -2897,7 +2897,7 @@ index e3602c6703b29ffec17ef7806c9deb3eead8a112..3e642d8a0294f7290c3d4310813e6e8a * Sends the component to the player * diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 2042e3fb0ea347148814d9838cd7bb475bd23984..f68ef89f37057cf677a767026ab395f7a839a2f9 100644 +index 08b7e95f56d0454de57de492327542c36f46369d..5d089d2fbbead69e744bb5a7dd172183e28d0eab 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -35,6 +35,7 @@ public interface UnsafeValues { @@ -2908,7 +2908,7 @@ index 2042e3fb0ea347148814d9838cd7bb475bd23984..f68ef89f37057cf677a767026ab395f7 Material toLegacy(Material material); Material fromLegacy(Material material); -@@ -111,4 +112,12 @@ public interface UnsafeValues { +@@ -110,4 +111,12 @@ public interface UnsafeValues { return !Bukkit.getUnsafe().isSupportedApiVersion(plugin.getDescription().getAPIVersion()); } // Paper end diff --git a/patches/api/0014-Version-Command-2.0.patch b/patches/api/0014-Version-Command-2.0.patch index f77d6d0dde..164e1d9fb9 100644 --- a/patches/api/0014-Version-Command-2.0.patch +++ b/patches/api/0014-Version-Command-2.0.patch @@ -56,10 +56,10 @@ index 0000000000000000000000000000000000000000..a736d7bcdc5861a01b66ba36158db1c7 + } +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index f68ef89f37057cf677a767026ab395f7a839a2f9..a6aa33b9574d0278e10927007a62290e1d102e73 100644 +index 5d089d2fbbead69e744bb5a7dd172183e28d0eab..7ded4b932917a4a7b00b419e94a98aa8d59efe59 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -119,5 +119,12 @@ public interface UnsafeValues { +@@ -118,5 +118,12 @@ public interface UnsafeValues { * @return name */ String getTimingsServerName(); diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 656a21cc3b..038bf29af0 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -74,32 +74,6 @@ index 0cf808356a1a5c6fc4bcf97a694ed9beb80a776a..dc765dea47a9a1c1520fb16ddb24f814 * @param z Z-coordinate (0-15) * @return temperature at given coordinate */ -diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 0b6c1065751b4315b30f9710a18bbcd5620ef97c..8e04b99ee2152209d132c2b2e4228d5ddae9e339 100644 ---- a/src/main/java/org/bukkit/Material.java -+++ b/src/main/java/org/bukkit/Material.java -@@ -7919,7 +7919,7 @@ public enum Material implements Keyed, Translatable { - *
  • Only occluding blocks can be "powered" ({@link Block#isBlockPowered()}). - * - * This list may be inconclusive. For a full list of the side effects of an occluding -- * block, see the Minecraft Wiki. -+ * block, see the Minecraft Wiki. - * - * @return True if this material is a block and occludes light - */ -diff --git a/src/main/java/org/bukkit/MinecraftExperimental.java b/src/main/java/org/bukkit/MinecraftExperimental.java -index 4e7e69219876eb6162f6e2cdf2ac3d242f7d75f6..41dbf018e26efe3624d78293aed7159cbd5dc123 100644 ---- a/src/main/java/org/bukkit/MinecraftExperimental.java -+++ b/src/main/java/org/bukkit/MinecraftExperimental.java -@@ -9,7 +9,7 @@ import org.jetbrains.annotations.ApiStatus; - - /** - * Indicates that the annotated element (class, method, field, etc.) is part of a -- * minecraft experimental feature -+ * minecraft experimental feature - * and is subject to changes by Mojang. - *

    - * Note: Elements marked with this annotation require the use of a datapack or otherwise diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java index 73b782c3975ad13159b6236976783fcfabd20493..e9cbbdf310e48011ee538c5592baee2535965fee 100644 --- a/src/main/java/org/bukkit/Particle.java @@ -534,19 +508,6 @@ index af5110b4160979c39cc1e5de6fa3bd7957b21403..15a0a733b0e5804655b5957cbf208312 * * @param location the location to remove * @see #getExploredLocations() -diff --git a/src/main/java/org/bukkit/entity/SpawnCategory.java b/src/main/java/org/bukkit/entity/SpawnCategory.java -index a2772ada27a3d26be1a01a5389a57d8a6b7c54fe..87daa4cf7c92e193fb581ff941ac1243d81785d7 100644 ---- a/src/main/java/org/bukkit/entity/SpawnCategory.java -+++ b/src/main/java/org/bukkit/entity/SpawnCategory.java -@@ -3,7 +3,7 @@ package org.bukkit.entity; - /** - * Represents groups of entities with shared spawn behaviors and mob caps. - * -- * @see Minecraft Wiki -+ * @see Minecraft Wiki - */ - public enum SpawnCategory { - diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java index 6bf3af3ed81b66f61e53105d3591165ea74dba0e..a91400cd8bb4c72d1f3200a17f6de025540fe09d 100644 --- a/src/main/java/org/bukkit/entity/Villager.java diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch index 27ff61b297..6705f33335 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 8e04b99ee2152209d132c2b2e4228d5ddae9e339..56de3e2c3a7e2de59e739b64004002689a0cf691 100644 +index 7ed67f356cf0ef8b3252256dcd4185f18573c989..d56d899ca7737b537ea55c13a384888a873f5da3 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; diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index a176b7a9d1..62b30242e7 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -90,7 +90,7 @@ 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 56de3e2c3a7e2de59e739b64004002689a0cf691..1e5116b7633e4a8607cf73100990ff952c1cce5f 100644 +index d56d899ca7737b537ea55c13a384888a873f5da3..cbec3b145a44ceee20823ae0e9c8162b15726189 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -4468,11 +4468,11 @@ public enum Material implements Keyed, Translatable { @@ -355,10 +355,10 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7f // Spigot end diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java -index 631cbf2be51040eee00aa39a39c5ec4003f91843..3147e278eac674ed21d714bbe318b135c0a6b408 100644 +index 7c5438fa92053cdbd7a01483a9baa4d48df07b24..a4f0a5270693e1c4af4fad827fa0a2ce753e07b5 100644 --- a/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java -@@ -35,8 +35,10 @@ public interface BlockState extends Metadatable { +@@ -36,8 +36,10 @@ public interface BlockState extends Metadatable { * Gets the metadata for this block state. * * @return block specific metadata @@ -369,7 +369,7 @@ index 631cbf2be51040eee00aa39a39c5ec4003f91843..3147e278eac674ed21d714bbe318b135 MaterialData getData(); /** -@@ -131,7 +133,9 @@ public interface BlockState extends Metadatable { +@@ -141,7 +143,9 @@ public interface BlockState extends Metadatable { * Sets the metadata for this block state. * * @param data New block specific metadata @@ -507,26 +507,24 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba /** diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java -index c854860c13912f9a8707eb825cca23763d1323a6..a523fca4baab447181ef91df67fa69b24e010149 100644 +index 906b33b7569fff5dd78258f9765e879180a52834..06e3ad9cd8f39de0ef6ead794df1492415bc4302 100644 --- a/src/main/java/org/bukkit/entity/Projectile.java +++ b/src/main/java/org/bukkit/entity/Projectile.java -@@ -29,7 +29,9 @@ public interface Projectile extends Entity { - * If a small fireball does not bounce it will set the target on fire. - * +@@ -29,7 +29,7 @@ public interface Projectile extends Entity { * @return true if it should bounce. -+ * @deprecated Does not do anything + * @deprecated does not do anything */ -+ @Deprecated(forRemoval = true) // Paper +- @Deprecated ++ @Deprecated(forRemoval = true) public boolean doesBounce(); /** -@@ -37,6 +39,8 @@ public interface Projectile extends Entity { - * something. - * +@@ -39,6 +39,6 @@ public interface Projectile extends Entity { * @param doesBounce whether or not it should bounce. -+ * @deprecated Does not do anything + * @deprecated does not do anything */ -+ @Deprecated(forRemoval = true) // Paper +- @Deprecated ++ @Deprecated(forRemoval = true) public void setBounce(boolean doesBounce); } diff --git a/src/main/java/org/bukkit/entity/SplashPotion.java b/src/main/java/org/bukkit/entity/SplashPotion.java diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch index 58fe15d776..f0a5b45329 100644 --- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index a6aa33b9574d0278e10927007a62290e1d102e73..beddcb13a598d799c8ae1cec9c01c900e38b1458 100644 +index 7ded4b932917a4a7b00b419e94a98aa8d59efe59..27178f6eee7d60caa6ee864554b60092442c9002 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -126,5 +126,9 @@ public interface UnsafeValues { +@@ -125,5 +125,9 @@ public interface UnsafeValues { default com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.util.VersionFetcher.DummyVersionFetcher(); } 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 ed9805d637..c73972b31a 100644 --- a/patches/api/0211-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0211-Add-methods-to-get-translation-keys.patch @@ -119,7 +119,7 @@ index 938c3217f92e6d3ef9a637269c469f8359af6347..ef49495909a37d718a87d5dfbcd644d4 /** diff --git a/src/main/java/org/bukkit/GameRule.java b/src/main/java/org/bukkit/GameRule.java -index 9443baf6de101a6d9af421314c013d8954798881..8108d6a82879e02384b83ab3f26b140e2ae2ed4c 100644 +index 3ac563da8c7d2ef70d46fc451a6752f6b1fc1d1e..695a299a3544547bbc24095980221205ce5469ba 100644 --- a/src/main/java/org/bukkit/GameRule.java +++ b/src/main/java/org/bukkit/GameRule.java @@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; @@ -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 1e5116b7633e4a8607cf73100990ff952c1cce5f..a2d2981aff95d00c93130c139a5ab08edb05a7e1 100644 +index cbec3b145a44ceee20823ae0e9c8162b15726189..fdb36def5f2f4451b810624e0c3c04b4a0534528 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; diff --git a/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index f151559a94..ad18c50696 100644 --- a/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index beddcb13a598d799c8ae1cec9c01c900e38b1458..eabbe1cd18316948f70e7b56fb80827fdd3672f0 100644 +index 27178f6eee7d60caa6ee864554b60092442c9002..591cc561f6e60bcab3e45fd56f1a50e43e728f4c 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -130,5 +130,12 @@ public interface UnsafeValues { +@@ -129,5 +129,12 @@ public interface UnsafeValues { byte[] serializeItem(ItemStack item); ItemStack deserializeItem(byte[] data); 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 c033493092..514a9409e0 100644 --- a/patches/api/0259-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch @@ -5,7 +5,7 @@ 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 a2d2981aff95d00c93130c139a5ab08edb05a7e1..292e6d1ac000bff3ae4ce7a73a2010419086b9fc 100644 +index fdb36def5f2f4451b810624e0c3c04b4a0534528..74f9626b485aca594cdb9f11c363c6c38c78a661 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -4397,6 +4397,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla diff --git a/patches/api/0264-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch index d0f45acac2..5fa795ea37 100644 --- a/patches/api/0264-Expand-world-key-API.patch +++ b/patches/api/0264-Expand-world-key-API.patch @@ -78,10 +78,10 @@ index c8a312bf6cef6ba62114d4f46555f517f53c7576..2bfb1cfb4d669f4bb5a4ef540683bcee * Create a new virtual {@link WorldBorder}. *

    diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index eabbe1cd18316948f70e7b56fb80827fdd3672f0..a00d93eee9710bb0fdf0fb791ef1a9262f89ef60 100644 +index 591cc561f6e60bcab3e45fd56f1a50e43e728f4c..1c07e3ef0b7bf3bc0bfe234434114cb6c2f18d42 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -137,5 +137,10 @@ public interface UnsafeValues { +@@ -136,5 +136,10 @@ public interface UnsafeValues { * Use this when sending custom packets, so that there are no collisions on the client or server. */ public int nextEntityId(); @@ -93,7 +93,7 @@ index eabbe1cd18316948f70e7b56fb80827fdd3672f0..a00d93eee9710bb0fdf0fb791ef1a926 // Paper end } diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java -index cbe6b3a1ba7b04826d97c3558e8eb4e5ba11f92f..cbdcac688afb7c13dd7058fa522bbd2c5adc445e 100644 +index f9fa287d25a0243de8d8d7b0d13144ce919750b0..29f0bb4d5bb1d5ef1b6bd64726ca84c25091f9e4 100644 --- a/src/main/java/org/bukkit/WorldCreator.java +++ b/src/main/java/org/bukkit/WorldCreator.java @@ -12,6 +12,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 a307eda124..6200960345 100644 --- a/patches/api/0265-Item-Rarity-API.patch +++ b/patches/api/0265-Item-Rarity-API.patch @@ -39,7 +39,7 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 292e6d1ac000bff3ae4ce7a73a2010419086b9fc..d350e9bd4437302ef050702f09452b7fc6bd7c2f 100644 +index 74f9626b485aca594cdb9f11c363c6c38c78a661..cfe35b0ca1f502c5c9af0d307bd22dcecc3b0f32 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -4463,6 +4463,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla @@ -61,10 +61,10 @@ index 292e6d1ac000bff3ae4ce7a73a2010419086b9fc..d350e9bd4437302ef050702f09452b7f /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index a00d93eee9710bb0fdf0fb791ef1a9262f89ef60..f79784e1823f646181a434a6dbce3bac0eaf25c9 100644 +index 1c07e3ef0b7bf3bc0bfe234434114cb6c2f18d42..2c79e05db0b87599fcc650df3c81ed906ad3e76a 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -142,5 +142,22 @@ public interface UnsafeValues { +@@ -141,5 +141,22 @@ public interface UnsafeValues { * Just don't use it. */ @org.jetbrains.annotations.NotNull String getMainLevelName(); diff --git a/patches/api/0266-Expose-protocol-version.patch b/patches/api/0266-Expose-protocol-version.patch index 278855acb1..af2edf8e08 100644 --- a/patches/api/0266-Expose-protocol-version.patch +++ b/patches/api/0266-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index f79784e1823f646181a434a6dbce3bac0eaf25c9..a27e14e00d759d6c15530ef038bcf4b5cbd9f120 100644 +index 2c79e05db0b87599fcc650df3c81ed906ad3e76a..664c0221566e48eb5c2fe5ce046608573e735b2a 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -159,5 +159,12 @@ public interface UnsafeValues { +@@ -158,5 +158,12 @@ public interface UnsafeValues { * @return the itemstack rarity */ public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack); diff --git a/patches/api/0282-Add-basic-Datapack-API.patch b/patches/api/0282-Add-basic-Datapack-API.patch index 805a5fd293..292b9f12a5 100644 --- a/patches/api/0282-Add-basic-Datapack-API.patch +++ b/patches/api/0282-Add-basic-Datapack-API.patch @@ -129,13 +129,13 @@ index 2bfb1cfb4d669f4bb5a4ef540683bcee409fc49e..156f014f94ed100d4d352a4ee5d0a2dc // Paper end } diff --git a/src/main/java/org/bukkit/packs/DataPack.java b/src/main/java/org/bukkit/packs/DataPack.java -index e424680e54fb18e836f580d199e527532345380c..61b50774b4965e55efeb49143d86300c1c260a17 100644 +index 3d5af25a399589f1bdf95b77f584ae0ae5c26f02..ab512c7ee9d2442055b719d02d0d0ecc7ea8d992 100644 --- a/src/main/java/org/bukkit/packs/DataPack.java +++ b/src/main/java/org/bukkit/packs/DataPack.java -@@ -8,8 +8,10 @@ import org.jetbrains.annotations.NotNull; - - /** +@@ -10,8 +10,10 @@ import org.jetbrains.annotations.NotNull; * Represents a data pack. + * + * @see Minecraft wiki + * @deprecated use {@link io.papermc.paper.datapack.Datapack} */ @ApiStatus.Experimental diff --git a/patches/api/0284-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch index d35e2fa9ad..f446663ea1 100644 --- a/patches/api/0284-ItemStack-repair-check-API.patch +++ b/patches/api/0284-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index a27e14e00d759d6c15530ef038bcf4b5cbd9f120..00e61ab3103c86c9aabcdfa2fd4c565adcc091da 100644 +index 664c0221566e48eb5c2fe5ce046608573e735b2a..edc9b1ec665a57d9e4954c8409b1a42b29118b8c 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -160,6 +160,16 @@ public interface UnsafeValues { +@@ -159,6 +159,16 @@ public interface UnsafeValues { */ public io.papermc.paper.inventory.ItemRarity getItemStackRarity(ItemStack itemStack); diff --git a/patches/api/0289-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch index 17e5c6c5b9..b7b2aac3ef 100644 --- a/patches/api/0289-Attributes-API-for-item-defaults.patch +++ b/patches/api/0289-Attributes-API-for-item-defaults.patch @@ -5,7 +5,7 @@ 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 d350e9bd4437302ef050702f09452b7fc6bd7c2f..99a9c2f8b45f3c7339588b5a256598acf1f3be12 100644 +index cfe35b0ca1f502c5c9af0d307bd22dcecc3b0f32..9be00bc616b1c6ad9619d9a48d5870f6d7ffb917 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -4474,6 +4474,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla @@ -31,10 +31,10 @@ index d350e9bd4437302ef050702f09452b7fc6bd7c2f..99a9c2f8b45f3c7339588b5a256598ac /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 00e61ab3103c86c9aabcdfa2fd4c565adcc091da..a9e7c64e1f98ff73c1804466d7c79eaf343dde7c 100644 +index edc9b1ec665a57d9e4954c8409b1a42b29118b8c..d30cdfece8d324fb95c96c156974317450518274 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -170,6 +170,18 @@ public interface UnsafeValues { +@@ -169,6 +169,18 @@ public interface UnsafeValues { */ public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial); diff --git a/patches/api/0299-Missing-Entity-API.patch b/patches/api/0299-Missing-Entity-API.patch index 7393c75b6a..c7880c07a0 100644 --- a/patches/api/0299-Missing-Entity-API.patch +++ b/patches/api/0299-Missing-Entity-API.patch @@ -994,7 +994,7 @@ index 28cdb3b544572ba7aeb9061e3163e3895ac7d4e6..c8015ff610e3c1222cb368ea1d8a0c2f +} +// Paper end diff --git a/src/main/java/org/bukkit/entity/TropicalFish.java b/src/main/java/org/bukkit/entity/TropicalFish.java -index bc5055f2d96addb722d576a9ed1dfad3deb203ed..bbe4324370812fdac1190242122762a55910626a 100644 +index ab31289bb0f9c8e581537a88e1db22bcdbd3d484..84bba32e80d755f094975b667f1bf2a132087f4f 100644 --- a/src/main/java/org/bukkit/entity/TropicalFish.java +++ b/src/main/java/org/bukkit/entity/TropicalFish.java @@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull; diff --git a/patches/api/0316-Get-entity-default-attributes.patch b/patches/api/0316-Get-entity-default-attributes.patch index 32c28f3adf..4ce69b5623 100644 --- a/patches/api/0316-Get-entity-default-attributes.patch +++ b/patches/api/0316-Get-entity-default-attributes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Get entity default attributes diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index a9e7c64e1f98ff73c1804466d7c79eaf343dde7c..c2b042ced0f32b0dafc13a2933c2bd9b18db774a 100644 +index d30cdfece8d324fb95c96c156974317450518274..827da519862c32907b41be77f61d51a244b2a749 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -188,5 +188,22 @@ public interface UnsafeValues { +@@ -187,5 +187,22 @@ public interface UnsafeValues { * @return the server's protocol version */ int getProtocolVersion(); 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 dddc80b8e4..5ab0fd7766 100644 --- a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch @@ -5,7 +5,7 @@ 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 99a9c2f8b45f3c7339588b5a256598acf1f3be12..060a77008871682cc2deac72833a3641031408de 100644 +index 9be00bc616b1c6ad9619d9a48d5870f6d7ffb917..da6e36a16e609272b60fc41ff69a6fa3c34926c0 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -4489,6 +4489,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla @@ -26,10 +26,10 @@ index 99a9c2f8b45f3c7339588b5a256598acf1f3be12..060a77008871682cc2deac72833a3641 /** diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index c2b042ced0f32b0dafc13a2933c2bd9b18db774a..820c7e8f28d7276e4d4b31a81746720a1cc10f09 100644 +index 827da519862c32907b41be77f61d51a244b2a749..c9fdcda4d86a8419852d7acc0e85fe51656a829b 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -205,5 +205,14 @@ public interface UnsafeValues { +@@ -204,5 +204,14 @@ public interface UnsafeValues { * @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first) */ @org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey); @@ -63,10 +63,10 @@ index 0f0eee8a03ef301c1ab6a408ff718411d3d64e82..c5670b40880fa124c7615f9b1d379b75 /** diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java -index 3147e278eac674ed21d714bbe318b135c0a6b408..10cbe71917bc32cca61748bcb0aa3395c554dbf8 100644 +index a4f0a5270693e1c4af4fad827fa0a2ce753e07b5..c439cf0bb6c50db2b3304c60e50046f096392f9f 100644 --- a/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java -@@ -225,4 +225,13 @@ public interface BlockState extends Metadatable { +@@ -235,4 +235,13 @@ public interface BlockState extends Metadatable { * or 'virtual' (e.g. on an itemstack) */ boolean isPlaced(); diff --git a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch index f824dd3957..91aea20aaa 100644 --- a/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/api/0324-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 820c7e8f28d7276e4d4b31a81746720a1cc10f09..fed8f959f87f82a7f8fb8afe770f5cb73fcf27b2 100644 +index c9fdcda4d86a8419852d7acc0e85fe51656a829b..943736891bf58e620c47391b37c1d00610f68744 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -131,6 +131,14 @@ public interface UnsafeValues { +@@ -130,6 +130,14 @@ public interface UnsafeValues { ItemStack deserializeItem(byte[] data); diff --git a/patches/api/0353-More-Projectile-API.patch b/patches/api/0353-More-Projectile-API.patch index fac92210c3..569c337346 100644 --- a/patches/api/0353-More-Projectile-API.patch +++ b/patches/api/0353-More-Projectile-API.patch @@ -178,7 +178,7 @@ index 94e1a30ea1bc26821065a6d89c1f5669bd1d08ae..6ed83d3e4d23e0dc0e1b156a1ee221aa + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Projectile.java b/src/main/java/org/bukkit/entity/Projectile.java -index a523fca4baab447181ef91df67fa69b24e010149..81ff7003e15e209358e8434a6875af79a4eb57f2 100644 +index 06e3ad9cd8f39de0ef6ead794df1492415bc4302..c3933fb5cd9708826effeef2ad2f81c9f7900a37 100644 --- a/src/main/java/org/bukkit/entity/Projectile.java +++ b/src/main/java/org/bukkit/entity/Projectile.java @@ -12,6 +12,7 @@ public interface Projectile extends Entity { @@ -189,9 +189,9 @@ index a523fca4baab447181ef91df67fa69b24e010149..81ff7003e15e209358e8434a6875af79 */ @Nullable public ProjectileSource getShooter(); -@@ -43,4 +44,89 @@ public interface Projectile extends Entity { +@@ -41,4 +42,89 @@ public interface Projectile extends Entity { */ - @Deprecated(forRemoval = true) // Paper + @Deprecated(forRemoval = true) public void setBounce(boolean doesBounce); + // Paper start + diff --git a/patches/api/0360-WorldCreator-keepSpawnLoaded.patch b/patches/api/0360-WorldCreator-keepSpawnLoaded.patch index c148a391f4..a39d4b99a9 100644 --- a/patches/api/0360-WorldCreator-keepSpawnLoaded.patch +++ b/patches/api/0360-WorldCreator-keepSpawnLoaded.patch @@ -5,7 +5,7 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java -index cbdcac688afb7c13dd7058fa522bbd2c5adc445e..dc92ce261b9e67979da3f82cb75292ff980ad87e 100644 +index 29f0bb4d5bb1d5ef1b6bd64726ca84c25091f9e4..649256cb267bcf05ef4c15699cbf4e7e7e99b612 100644 --- a/src/main/java/org/bukkit/WorldCreator.java +++ b/src/main/java/org/bukkit/WorldCreator.java @@ -22,6 +22,7 @@ public class WorldCreator { diff --git a/patches/api/0374-Add-NamespacedKey-biome-methods.patch b/patches/api/0374-Add-NamespacedKey-biome-methods.patch index 24cd2b9867..784c83013f 100644 --- a/patches/api/0374-Add-NamespacedKey-biome-methods.patch +++ b/patches/api/0374-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/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index fed8f959f87f82a7f8fb8afe770f5cb73fcf27b2..c661eab343ae76488de701630424e2d589f44fc0 100644 +index 943736891bf58e620c47391b37c1d00610f68744..fd340351587b408c59d5b2da1965357dc72be356 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -222,5 +222,32 @@ public interface UnsafeValues { +@@ -221,5 +221,32 @@ public interface UnsafeValues { * @throws IllegalArgumentException if {@link Material#isBlock()} is false */ boolean isCollidable(@org.jetbrains.annotations.NotNull Material material); diff --git a/patches/api/0379-Add-getDrops-to-BlockState.patch b/patches/api/0379-Add-getDrops-to-BlockState.patch index 48f3a99f04..78e5ef8f79 100644 --- a/patches/api/0379-Add-getDrops-to-BlockState.patch +++ b/patches/api/0379-Add-getDrops-to-BlockState.patch @@ -7,10 +7,10 @@ Originally added isPreferredTool to BlockData but upstream added that. diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java -index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..37ca7b6b0fcee8bec12026ec3715dcc47400cc11 100644 +index c439cf0bb6c50db2b3304c60e50046f096392f9f..ac277e43ba677dc1f47feb41b254a363771b6b73 100644 --- a/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java -@@ -233,5 +233,34 @@ public interface BlockState extends Metadatable { +@@ -243,5 +243,34 @@ public interface BlockState extends Metadatable { * @return true if collidable */ boolean isCollidable(); diff --git a/patches/api/0424-Fix-custom-statistic-criteria-creation.patch b/patches/api/0424-Fix-custom-statistic-criteria-creation.patch index 3073bec5bb..8c5d91400e 100644 --- a/patches/api/0424-Fix-custom-statistic-criteria-creation.patch +++ b/patches/api/0424-Fix-custom-statistic-criteria-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index c661eab343ae76488de701630424e2d589f44fc0..de36dab37d3af249cf51573d163731c12346066a 100644 +index fd340351587b408c59d5b2da1965357dc72be356..9237e2fca0557890b718de9029207a552396e45a 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -249,5 +249,7 @@ public interface UnsafeValues { +@@ -248,5 +248,7 @@ public interface UnsafeValues { * @throws IllegalStateException if no biome by the given key is registered. */ void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey); diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index 9f400e92ea..2f45986ef3 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -173,7 +173,7 @@ index 0000000000000000000000000000000000000000..813e9019e5bd487edfbb7a52592f9794 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 533f4ac3041ff81a4691591e42f16f710a7d23ac..0000000000000000000000000000000000000000 +index 0a4c743922d62b6b8c1f00729579bc13c224e134..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null @@ -1,596 +0,0 @@ @@ -586,7 +586,7 @@ index 533f4ac3041ff81a4691591e42f16f710a7d23ac..00000000000000000000000000000000 - - net.md-5 - specialsource-maven-plugin -- 2.0.0 +- 2.0.2 - - - package diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 2d6f516053..4ec13e781a 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -146,7 +146,7 @@ index 7db49f077704f03d1815f8382523199bd6c9a0dc..4ed8f38ba9c7b075b99a0da0e213a1e9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index bf691570a019d4c1e2affceb7b707b65e943345b..541aa0cd6c89a6df8e4244aaea7a610cf7200e54 100644 +index effbf096caa179929a6809452c1c08d24163c536..85b8e4ca89e9745d0fa27501712113937770de1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -209,7 +209,7 @@ public class Main { @@ -157,7 +157,7 @@ index bf691570a019d4c1e2affceb7b707b65e943345b..541aa0cd6c89a6df8e4244aaea7a610c + Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -3); + deadline.add(Calendar.DAY_OF_YEAR, -7); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 9e319ed276..0263a4dc9f 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -4789,7 +4789,7 @@ index 671095a9fb124cc496700e680bab1ef118a7fb5b..2d5627f5dc48c0d51464452907b50bbe world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 541aa0cd6c89a6df8e4244aaea7a610cf7200e54..8d5c4fbaab751802fdb47d218c7d28f619d9eb62 100644 +index 85b8e4ca89e9745d0fa27501712113937770de1f..6b93a90f2871781e7721499b8d322d5108254092 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -141,6 +141,19 @@ public class Main { diff --git a/patches/server/0006-MC-Dev-fixes.patch b/patches/server/0006-MC-Dev-fixes.patch index d889d94c33..67b9c5da40 100644 --- a/patches/server/0006-MC-Dev-fixes.patch +++ b/patches/server/0006-MC-Dev-fixes.patch @@ -257,3 +257,16 @@ index 69a19dbf58cde41680d086e78b9a12ffee602dbf..5dcb7f9cab097990148f5a7c4ccbe155 return AbortableIterationConsumer.Continuation.ABORT; } } +diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/StructurePiece.java b/src/main/java/net/minecraft/world/level/levelgen/structure/StructurePiece.java +index 9b1d6cad982d85874fd7cedee730e5155dba8f80..507c0f1e92a5e1bfe2a64a6d125af9353b3c67aa 100644 +--- a/src/main/java/net/minecraft/world/level/levelgen/structure/StructurePiece.java ++++ b/src/main/java/net/minecraft/world/level/levelgen/structure/StructurePiece.java +@@ -489,7 +489,7 @@ public abstract class StructurePiece { + } + + public static BoundingBox createBoundingBox(Stream pieces) { +- Stream stream1 = pieces.map(StructurePiece::getBoundingBox); ++ Stream stream1 = pieces.map(StructurePiece::getBoundingBox); // Paper - decompile fx + + Objects.requireNonNull(stream1); + return (BoundingBox) BoundingBox.encapsulatingBoxes(stream1::iterator).orElseThrow(() -> { diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 5c9faa8f6a..a5c13820bd 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -7205,7 +7205,7 @@ index 0863d7acce248895d57a4c0496881b542e4b79f1..6c5000ff3dbb7517d095e9fb2cdf5552 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 96f94f11d5d98cddf98020fdbf5ec658d6d53f38..e24e61a35fe9cffce4a2174d46b88cf934f4b69f 100644 +index d2458b1e6c34477b2e97a748edba9981af792587..e472679f23d2b9e727fec6f322f84fabbe0d02be 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -258,6 +258,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -8234,6 +8234,43 @@ index b5506411a893e5eccfb83ab58d718753338b490a..bf6e87116df29a99d7aad3250e8e59d2 // ======================================================================== public static byte toLegacyData(BlockState data) { +diff --git a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java +index 17f8529d89aec34fe198a79ce463367c63098136..7c110a758a84c5e22f36b788dec84998e607af6c 100644 +--- a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java ++++ b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java +@@ -59,6 +59,7 @@ import net.minecraft.world.ticks.LevelTickAccess; + import net.minecraft.world.ticks.ScheduledTick; + import net.minecraft.world.ticks.TickPriority; + import org.bukkit.event.entity.CreatureSpawnEvent; ++import org.jetbrains.annotations.Nullable; + + public abstract class DelegatedGeneratorAccess implements WorldGenLevel { + +@@ -818,4 +819,24 @@ public abstract class DelegatedGeneratorAccess implements WorldGenLevel { + public int getMoonPhase() { + return this.handle.getMoonPhase(); + } ++ ++ // Paper start ++ @Nullable ++ @Override ++ public BlockState getBlockStateIfLoaded(final BlockPos blockposition) { ++ return null; ++ } ++ ++ @Nullable ++ @Override ++ public FluidState getFluidIfLoaded(final BlockPos blockposition) { ++ return null; ++ } ++ ++ @Nullable ++ @Override ++ public ChunkAccess getChunkIfLoadedImmediately(final int x, final int z) { ++ return null; ++ } ++ // Paper end + } diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java index d2026d218405a40a6949c5f491c04704811b72b5..629178347039893fb9de710810fe8112499bb91c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 34689e87f5..33a5178e76 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -3122,7 +3122,7 @@ index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 8d5c4fbaab751802fdb47d218c7d28f619d9eb62..83784b0087e15fd5c827884b366fd7cf59213176 100644 +index 6b93a90f2871781e7721499b8d322d5108254092..eb8120877490944ea8f5cbae2986f190c78b144b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -20,6 +20,12 @@ public class Main { @@ -3139,10 +3139,10 @@ index 8d5c4fbaab751802fdb47d218c7d28f619d9eb62..83784b0087e15fd5c827884b366fd7cf OptionParser parser = new OptionParser() { { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -index 94435aa3c57ed82dcb249b1e1d4ebb3212c443a7..da3437eb0ce3374a44a09c55834f341e1a55c162 100644 +index 3ddf4cb8d6398bb6b0784c23b4eaae4abfbab47d..57925335811f814fbd6010e58dc0566401cae21d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -@@ -67,6 +67,19 @@ public class CraftBeacon extends CraftBlockEntityState implem +@@ -71,6 +71,19 @@ public class CraftBeacon extends CraftBlockEntityState implem this.getSnapshot().secondaryPower = (effect != null) ? CraftPotionEffectType.bukkitToMinecraft(effect) : null; } @@ -3163,12 +3163,12 @@ index 94435aa3c57ed82dcb249b1e1d4ebb3212c443a7..da3437eb0ce3374a44a09c55834f341e public String getCustomName() { BeaconBlockEntity beacon = this.getSnapshot(); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java -index 02fc6b189541fdedd0acef6700722eb7e53346c4..c4ea6760f489e6171f9e6e170160b932597f842f 100644 +index 5a5ebbf8de32b94109efc67a0dd0053f9fb80917..bdd0647d683565088e5cfcd43fb26f4b776db338 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java -@@ -30,4 +30,16 @@ public class CraftCommandBlock extends CraftBlockEntityState - public void setName(String name) { - getSnapshot().getCommandBlock().setName(CraftChatMessage.fromStringOrNull(name != null ? name : "@")); +@@ -39,4 +39,16 @@ public class CraftCommandBlock extends CraftBlockEntityState + public CraftCommandBlock copy() { + return new CraftCommandBlock(this); } + + // Paper start @@ -3184,10 +3184,10 @@ index 02fc6b189541fdedd0acef6700722eb7e53346c4..c4ea6760f489e6171f9e6e170160b932 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java -index 05f37f306d623280823c7cf9516027189659f902..65104a0506131373b6b33433a118c7e1cd3696dc 100644 +index 8b1a9874aaedec259690f0a625dd39ef0472d0c1..8f7203d999da04977dafe0f8754f5304f8a0d3e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java -@@ -27,6 +27,19 @@ public abstract class CraftContainer extends +@@ -31,6 +31,19 @@ public abstract class CraftContainer extends this.getSnapshot().lockKey = (key == null) ? LockCode.NO_LOCK : new LockCode(key); } @@ -3208,11 +3208,11 @@ index 05f37f306d623280823c7cf9516027189659f902..65104a0506131373b6b33433a118c7e1 public String getCustomName() { T container = this.getSnapshot(); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftEnchantingTable.java b/src/main/java/org/bukkit/craftbukkit/block/CraftEnchantingTable.java -index 0beb96dc896f63003e1b1ae458b73902bdbe648a..102eb86bad3000f258775ac06ecd1a6dad174b0a 100644 +index 459e134e96121e611dd864f66a3f2cb64dbaf61c..ecb6f846cdaa2e9f01853001b16263152f03c657 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftEnchantingTable.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftEnchantingTable.java -@@ -11,6 +11,19 @@ public class CraftEnchantingTable extends CraftBlockEntityState extends CraftBlockEntityState< +@@ -33,6 +33,23 @@ public class CraftSign extends CraftBlockEntityState< this.back = new CraftSignSide(this.getSnapshot().getBackText()); } @@ -3259,7 +3259,7 @@ index bd43440fcbcf461fb8ca94b96cd256f392efeb84..5af30bff1bfdf09daa585071f2ec1fe0 @Override public String[] getLines() { return this.front.getLines(); -@@ -121,6 +138,20 @@ public class CraftSign extends CraftBlockEntityState< +@@ -132,6 +149,20 @@ public class CraftSign extends CraftBlockEntityState< ((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index 5ad1e1c85c..750734d37a 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -1424,7 +1424,7 @@ index fe7180dfc7ddaac8d60422c072d2e172d669cf57..cea1a8eaae8dfc36efd09e3ac57a7062 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e24e61a35fe9cffce4a2174d46b88cf934f4b69f..cef17e8165009169f8de21915d2efc8e97aae21f 100644 +index e472679f23d2b9e727fec6f322f84fabbe0d02be..de73a18438462b478af813a7a709964506b41174 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -140,7 +140,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -1461,7 +1461,7 @@ index e24e61a35fe9cffce4a2174d46b88cf934f4b69f..cef17e8165009169f8de21915d2efc8e - SpigotTimings.timerEntityTickRest.stopTiming(); // Spigot } - public void detectEquipmentUpdates() { + public void detectEquipmentUpdatesPublic() { // CraftBukkit @@ -3167,7 +3163,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.setDeltaMovement(d0, d1, d2); diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch index 12b7328dc6..3970605ebd 100644 --- a/patches/server/0018-Rewrite-chunk-system.patch +++ b/patches/server/0018-Rewrite-chunk-system.patch @@ -22860,6 +22860,53 @@ index 20592dc147f4f0b84928dabcfa349622f1de691c..d46ccc3b3aaacf937631a44a7e0f91b7 } @Override +diff --git a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java +index 7c110a758a84c5e22f36b788dec84998e607af6c..cbedb6f002bc01daa16d349421c4ef04d4bcbcb2 100644 +--- a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java ++++ b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java +@@ -824,19 +824,39 @@ public abstract class DelegatedGeneratorAccess implements WorldGenLevel { + @Nullable + @Override + public BlockState getBlockStateIfLoaded(final BlockPos blockposition) { +- return null; ++ return this.handle.getBlockStateIfLoaded(blockposition); + } + + @Nullable + @Override + public FluidState getFluidIfLoaded(final BlockPos blockposition) { +- return null; ++ return this.handle.getFluidIfLoaded(blockposition); + } + + @Nullable + @Override + public ChunkAccess getChunkIfLoadedImmediately(final int x, final int z) { +- return null; ++ return this.handle.getChunkIfLoadedImmediately(x, z); ++ } ++ ++ @Override ++ public void getHardCollidingEntities(final Entity except, final AABB box, final Predicate predicate, final List into) { ++ this.handle.getHardCollidingEntities(except, box, predicate, into); ++ } ++ ++ @Override ++ public List getHardCollidingEntities(final Entity except, final AABB box, final Predicate predicate) { ++ return this.handle.getHardCollidingEntities(except, box, predicate); ++ } ++ ++ @Override ++ public void getEntities(final Entity except, final AABB box, final Predicate predicate, final List into) { ++ this.handle.getEntities(except, box, predicate, into); ++ } ++ ++ @Override ++ public void getEntitiesByClass(final Class clazz, final Entity except, final AABB box, final List into, final Predicate predicate) { ++ this.handle.getEntitiesByClass(clazz, except, box, into, predicate); + } + // Paper end + } diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java index 629178347039893fb9de710810fe8112499bb91c..d5861dfa771c4eb217e082e3c832c3a6c603710d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java 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 f2cc631154..818be105c8 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 @@ -47,7 +47,7 @@ index 8377270a5daa3257cd9799e242fe8894a6d22c5c..d1b6c5689e036285515f74263d6b6bc7 if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 83784b0087e15fd5c827884b366fd7cf59213176..e469180a85e68fbcdab88e8b567aefbb072f87d3 100644 +index eb8120877490944ea8f5cbae2986f190c78b144b..3c5bbc60a1a2da6ff4dd25f9a6c1929b1a5be6f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -159,6 +159,12 @@ public class Main { 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 5545cdd868..796eb240aa 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 @@ -32,11 +32,11 @@ index d1b6c5689e036285515f74263d6b6bc7c32af108..4327b8da53f2417ef3dabd221e0caf79 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index e469180a85e68fbcdab88e8b567aefbb072f87d3..c4a7da71046a4669eb98d7260d3e00b4f5411a7a 100644 +index 3c5bbc60a1a2da6ff4dd25f9a6c1929b1a5be6f5..f85240cb888688ac0a2b6bedd83fb1c1e1dd5722 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -240,12 +240,25 @@ public class Main { - deadline.add(Calendar.DAY_OF_YEAR, -3); + deadline.add(Calendar.DAY_OF_YEAR, -7); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); - System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***"); diff --git a/patches/server/0041-Disable-explosion-knockback.patch b/patches/server/0041-Disable-explosion-knockback.patch index f2ecdfc4b8..c161f7c8f1 100644 --- a/patches/server/0041-Disable-explosion-knockback.patch +++ b/patches/server/0041-Disable-explosion-knockback.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Disable explosion knockback diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index cef17e8165009169f8de21915d2efc8e97aae21f..c1eb34c19ce713d750f8628b69e9c4dc5cbf9a02 100644 +index de73a18438462b478af813a7a709964506b41174..7fd5e2cb9139f53c0c08cf14760db311347f843d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1476,10 +1476,12 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0062-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0062-Disable-Scoreboards-for-non-players-by-default.patch index 1df1030bc9..0f00f22dcd 100644 --- a/patches/server/0062-Disable-Scoreboards-for-non-players-by-default.patch +++ b/patches/server/0062-Disable-Scoreboards-for-non-players-by-default.patch @@ -23,7 +23,7 @@ index 1b301b9b577b632470a1e6d23f34288875c5ffb8..a8608e7b3dae15a54185d720c01a49d3 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c1eb34c19ce713d750f8628b69e9c4dc5cbf9a02..edaa25912a2de7122e2786f2a9c0cae796303de1 100644 +index 7fd5e2cb9139f53c0c08cf14760db311347f843d..f22055ef2b5ff7a98c9388b0324b8e3e4b5e1172 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -833,6 +833,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0072-Custom-replacement-for-eaten-items.patch b/patches/server/0072-Custom-replacement-for-eaten-items.patch index bfcc189c25..fa9a9bffe7 100644 --- a/patches/server/0072-Custom-replacement-for-eaten-items.patch +++ b/patches/server/0072-Custom-replacement-for-eaten-items.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index edaa25912a2de7122e2786f2a9c0cae796303de1..21ad3b6c1105bc22a30137d57a6e8ba0e4233c2b 100644 +index f22055ef2b5ff7a98c9388b0324b8e3e4b5e1172..a2cc42373e4fe078197d90e2f16245fb75cd18bb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3699,10 +3699,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0073-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0073-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 6d81cc3915..30bfa44f8c 100644 --- a/patches/server/0073-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0073-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -26,7 +26,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 21ad3b6c1105bc22a30137d57a6e8ba0e4233c2b..c5d4f36dda7c977b3a7563f4d2d74ebcf7dc61ef 100644 +index a2cc42373e4fe078197d90e2f16245fb75cd18bb..dc5ff4fc1fb2472ff1e9b1f142b5d964e9d740ee 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3467,7 +3467,7 @@ public abstract class LivingEntity extends Entity implements Attackable { 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 e0f98a51ef..89459a2a7d 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 @@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c5d4f36dda7c977b3a7563f4d2d74ebcf7dc61ef..fa03c3a9debe419dd4e60764de4d9544de1ae0f3 100644 +index dc5ff4fc1fb2472ff1e9b1f142b5d964e9d740ee..82eee07363edd313c6f1f6243867d91185076382 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -794,7 +794,13 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0092-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/server/0092-EntityRegainHealthEvent-isFastRegen-API.patch index 5b58ce4afb..c147b7613e 100644 --- a/patches/server/0092-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/patches/server/0092-EntityRegainHealthEvent-isFastRegen-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API Don't even get me started diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index fa03c3a9debe419dd4e60764de4d9544de1ae0f3..c61ddc868fa2eed1dce72ebcf98940756cca401e 100644 +index 82eee07363edd313c6f1f6243867d91185076382..a820cdc5cf39bd5021e118bf9efdc8a8c92c722b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1323,10 +1323,16 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0096-LootTable-API-Replenishable-Lootables-Feature.patch b/patches/server/0096-LootTable-API-Replenishable-Lootables-Feature.patch index f143c3f8ec..4d682b759f 100644 --- a/patches/server/0096-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/patches/server/0096-LootTable-API-Replenishable-Lootables-Feature.patch @@ -709,10 +709,10 @@ index 111494c30a2b7d8464237a92cf5c98f7f4cca19d..e11618247ad889fa8fadbb2c7addd0de if (player != null) { builder.withLuck(player.getLuck()).withParameter(LootContextParams.THIS_ENTITY, player); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBrushableBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBrushableBlock.java -index d5bfa06a90158fb6d9cc54f7a9b44a277f2c480f..dbdf9b009a488767bb63b0867943fd932fac16e4 100644 +index 750192aa5e4969fbd6d4d77e2d2a812b1f9e84f3..69af0368dcef1b449c77c9bdaa554fce90163df9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBrushableBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBrushableBlock.java -@@ -60,7 +60,7 @@ public class CraftBrushableBlock extends CraftBlockEntityState extends CraftBlockStat private final T tileEntity; private final T snapshot; -+ public final boolean snapshotDisabled; // Paper ++ public boolean snapshotDisabled; // Paper + public static boolean DISABLE_SNAPSHOT = false; // Paper public CraftBlockEntityState(World world, T tileEntity) { @@ -100,10 +100,10 @@ index f698424feb30a8579e2ca581c48be08edf5bbf59..84550b6e4eaf62806a8ad83656d4051b + // Paper end } - public void refreshSnapshot() { -@@ -118,4 +129,11 @@ public class CraftBlockEntityState extends CraftBlockStat - T vanillaTileEntitiy = (T) BlockEntity.loadStatic(CraftLocation.toBlockPosition(location), getHandle(), this.getSnapshotNBT()); - return ClientboundBlockEntityDataPacket.create(vanillaTileEntitiy); + protected CraftBlockEntityState(CraftBlockEntityState state) { +@@ -136,4 +147,11 @@ public class CraftBlockEntityState extends CraftBlockStat + public CraftBlockEntityState copy() { + return new CraftBlockEntityState<>(this); } + + // Paper start diff --git a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch index c97292cc20..391dc50612 100644 --- a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch @@ -7,10 +7,10 @@ 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 46f295fb5f4a99924c41e6d0af74dc2437d08186..b47aac01f8d227699aac28a5beac8206802852cc 100644 +index 34aa42dce4340d80906750369633bfafc8189b88..4b46863cd0fb32cd1423370605f0be9312e77935 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 +@@ -111,7 +111,22 @@ public class CraftSkull extends CraftBlockEntityState implemen } } @@ -33,7 +33,7 @@ index 46f295fb5f4a99924c41e6d0af74dc2437d08186..b47aac01f8d227699aac28a5beac8206 public PlayerProfile getOwnerProfile() { if (!this.hasOwner()) { return null; -@@ -117,11 +132,12 @@ public class CraftSkull extends CraftBlockEntityState implemen +@@ -121,11 +136,12 @@ public class CraftSkull extends CraftBlockEntityState implemen } @Override diff --git a/patches/server/0207-Make-shield-blocking-delay-configurable.patch b/patches/server/0207-Make-shield-blocking-delay-configurable.patch index 873cffe2fe..7774c43630 100644 --- a/patches/server/0207-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0207-Make-shield-blocking-delay-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 231ba23fabeb88b659a7ea9702eebe4aad72a209..5fb892e47b1ad33435e2aafeb1212ffe6b89ffdd 100644 +index 29d6fcdd74445a8e9088db6078ce1d8bd176029e..4fabac2c6e5edc64ff71f92b527d8ceead36e498 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3809,12 +3809,24 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0210-Implement-EntityKnockbackByEntityEvent-and-EntityPus.patch b/patches/server/0210-Implement-EntityKnockbackByEntityEvent-and-EntityPus.patch index f15d42d34c..04d8e9e2e8 100644 --- a/patches/server/0210-Implement-EntityKnockbackByEntityEvent-and-EntityPus.patch +++ b/patches/server/0210-Implement-EntityKnockbackByEntityEvent-and-EntityPus.patch @@ -33,7 +33,7 @@ index 1d21c5d5ea84f76d4cafe9d2d22226cf50232ee1..ca773bca9df5a313d979e97e3a5245e7 protected void markHurt() { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5fb892e47b1ad33435e2aafeb1212ffe6b89ffdd..7d7c8772bd8dfb96cfff2c1f020719c0156a09cd 100644 +index 4fabac2c6e5edc64ff71f92b527d8ceead36e498..b3690175df91a21517d2d192a824984d75473d1e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1516,7 +1516,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0227-Allow-disabling-armour-stand-ticking.patch b/patches/server/0227-Allow-disabling-armour-stand-ticking.patch index 38d4842049..ee05ce58ed 100644 --- a/patches/server/0227-Allow-disabling-armour-stand-ticking.patch +++ b/patches/server/0227-Allow-disabling-armour-stand-ticking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow disabling armour stand ticking diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 4859a4c78e59745ef75155bc8d6915fce5a217d8..6483ad071c119353267a4f13b192a50931995c2a 100644 +index 4859a4c78e59745ef75155bc8d6915fce5a217d8..5176e17e39719def9a97473b87cebf1719653e60 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java @@ -93,9 +93,16 @@ public class ArmorStand extends LivingEntity { @@ -67,7 +67,7 @@ index 4859a4c78e59745ef75155bc8d6915fce5a217d8..6483ad071c119353267a4f13b192a509 + + if (this.noTickEquipmentDirty) { + this.noTickEquipmentDirty = false; -+ this.detectEquipmentUpdates(); ++ this.detectEquipmentUpdatesPublic(); + } + + return; 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 7da734e2eb..7c0d35214b 100644 --- a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7d7c8772bd8dfb96cfff2c1f020719c0156a09cd..8f8f343139444cc6fddf0d13083194ec7bbce545 100644 +index b3690175df91a21517d2d192a824984d75473d1e..05595ff2336b25712b59b8ad6b11163dd333e6c0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3830,6 +3830,20 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0253-Improve-death-events.patch b/patches/server/0253-Improve-death-events.patch index cb21c9b150..4dc884c63c 100644 --- a/patches/server/0253-Improve-death-events.patch +++ b/patches/server/0253-Improve-death-events.patch @@ -70,7 +70,7 @@ index 63d0b6a241c9ef2e6f7b13e7354e59083a2ffb0a..ba938eb9844157cccedb5f673a447205 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 8f8f343139444cc6fddf0d13083194ec7bbce545..4fdf034205ea0ff9d6803928672b23c185fd3065 100644 +index 05595ff2336b25712b59b8ad6b11163dd333e6c0..96e9616f4ceedf95ec94854a0b1d8526a80057f5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -260,6 +260,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -301,7 +301,7 @@ index bb399f775a5530a01f59332848c8ab9b8eceb2b5..14edfe103e61024b569f33de0b6608f3 public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 6483ad071c119353267a4f13b192a50931995c2a..7eecbe85949e47b367014c04d7a37c2cbea80168 100644 +index 5176e17e39719def9a97473b87cebf1719653e60..86c08e36779af6f85932c1c346c54594f543db0d 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java @@ -492,8 +492,10 @@ public class ArmorStand extends LivingEntity { diff --git a/patches/server/0259-Implement-furnace-cook-speed-multiplier-API.patch b/patches/server/0259-Implement-furnace-cook-speed-multiplier-API.patch index 4afc712bed..696f2a665f 100644 --- a/patches/server/0259-Implement-furnace-cook-speed-multiplier-API.patch +++ b/patches/server/0259-Implement-furnace-cook-speed-multiplier-API.patch @@ -105,13 +105,13 @@ index 2f628f36c32752d1bac910e180b90639c1ae2c9d..d7a89c2b70de20f632ee210780ede0bc this.setChanged(); } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -index facf95a44b5d3a63fda156c6afc8cabe50b21d32..3da4616c904d47bbecae0d4cb6970496fbec9a8b 100644 +index 2f25a502c5c7223101f2d8c125977e2c614cd899..f98cf44e929d326037e1089dafe4f82c6f6d8647 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -@@ -78,4 +78,20 @@ public abstract class CraftFurnace extends +@@ -85,4 +85,20 @@ public abstract class CraftFurnace extends - return recipesUsed.build(); - } + @Override + public abstract CraftFurnace copy(); + + // Paper start - cook speed multiplier API + @Override diff --git a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch index f3d4f1a43c..d9fa93d24e 100644 --- a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4fdf034205ea0ff9d6803928672b23c185fd3065..ffed90c0fc1240fc10b4cdd8df8377647b75beda 100644 +index 96e9616f4ceedf95ec94854a0b1d8526a80057f5..4778851ce1592d5f7fafb03310a7c965b6cde492 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -116,6 +116,7 @@ import net.minecraft.world.level.storage.loot.LootTable; diff --git a/patches/server/0285-force-entity-dismount-during-teleportation.patch b/patches/server/0285-force-entity-dismount-during-teleportation.patch index 3370e15d3d..38961193e1 100644 --- a/patches/server/0285-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0285-force-entity-dismount-during-teleportation.patch @@ -72,7 +72,7 @@ index 63f9f874ef9da0d5f0c6d6df2901be27df5e30a0..72c33eaa232503c373bf8cf9a1c1c760 if (this.valid) { Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ffed90c0fc1240fc10b4cdd8df8377647b75beda..0f7f90a6b358402c7a05217f59768448eabfce53 100644 +index 4778851ce1592d5f7fafb03310a7c965b6cde492..491ba787cbcc89ec2fee4885d29940e58d0d09b0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3472,9 +3472,15 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0309-Mob-Spawner-API-Enhancements.patch b/patches/server/0309-Mob-Spawner-API-Enhancements.patch index bbb2fa9463..f31f550c94 100644 --- a/patches/server/0309-Mob-Spawner-API-Enhancements.patch +++ b/patches/server/0309-Mob-Spawner-API-Enhancements.patch @@ -69,12 +69,12 @@ 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 46d41520a5d429e7466e5a24ffb737a0e844921a..e34637160a8364ffe13be4fd9a85feb7afbb5f77 100644 +index 78d987b56a2a0acefafe801332eef4d64dc7715c..2479cc081b5f7c70531f79ec4eda2d1da10c2b05 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -@@ -135,4 +135,28 @@ public class CraftCreatureSpawner extends CraftBlockEntityState extends CraftBlockStat @@ -30,4 +30,4 @@ index 84550b6e4eaf62806a8ad83656d4051b09c9c97d..fbf2c487d7ea0e6530ab664ba706cbcf + // Paper end } - public void refreshSnapshot() { + protected CraftBlockEntityState(CraftBlockEntityState state) { diff --git a/patches/server/0322-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0322-Prevent-consuming-the-wrong-itemstack.patch index 74400336b9..3f07aa44c8 100644 --- a/patches/server/0322-Prevent-consuming-the-wrong-itemstack.patch +++ b/patches/server/0322-Prevent-consuming-the-wrong-itemstack.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent consuming the wrong itemstack diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0f7f90a6b358402c7a05217f59768448eabfce53..ac59a1e5ae4fe84af44220d721b60f2e157e0f1f 100644 +index 491ba787cbcc89ec2fee4885d29940e58d0d09b0..30defcdf671696125314a6baf81aa3e36010340b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3710,9 +3710,14 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0347-Improve-java-version-check.patch b/patches/server/0347-Improve-java-version-check.patch index 2a3fce4999..a93a93adeb 100644 --- a/patches/server/0347-Improve-java-version-check.patch +++ b/patches/server/0347-Improve-java-version-check.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Improve java version check Co-Authored-By: MiniDigger diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index bf34d343fd0b3158bf00f9ce22b45dfd82c75dc5..8c9a6e1b34865c3a15eea40637d6a4b540396a5c 100644 +index a271ac2e6b17524bf61ef0bc5df7f865dacbe6b0..30f752f99ab888fd78ff58c0263372ec899fe7d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -200,23 +200,27 @@ public class Main { diff --git a/patches/server/0349-Entity-Jump-API.patch b/patches/server/0349-Entity-Jump-API.patch index 966a75cfd9..d86787dab8 100644 --- a/patches/server/0349-Entity-Jump-API.patch +++ b/patches/server/0349-Entity-Jump-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity Jump API diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ac59a1e5ae4fe84af44220d721b60f2e157e0f1f..81a64f4fc3e06ff9b32f91fc502809e0436d6e26 100644 +index 30defcdf671696125314a6baf81aa3e36010340b..1a6581a1524ab6599b13e6ae3fd419d59a1c915d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3284,8 +3284,10 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0370-Improved-Watchdog-Support.patch b/patches/server/0370-Improved-Watchdog-Support.patch index 3731fb00ff..16f8269555 100644 --- a/patches/server/0370-Improved-Watchdog-Support.patch +++ b/patches/server/0370-Improved-Watchdog-Support.patch @@ -320,7 +320,7 @@ index d2cdb8100fbbdc3d92eb7a61748340c40de343f7..535e71bdb2531432974dc91ec9d5edb2 final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 8c9a6e1b34865c3a15eea40637d6a4b540396a5c..c561677e81095ab6735d81a414a249838b135f7a 100644 +index 30f752f99ab888fd78ff58c0263372ec899fe7d6..491abe3a2768ec4e8c43d3117177c472c205e7bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -178,6 +178,36 @@ public class Main { diff --git a/patches/server/0375-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0375-Don-t-run-entity-collision-code-if-not-needed.patch index dbbda78b54..e20d2f8ac2 100644 --- a/patches/server/0375-Don-t-run-entity-collision-code-if-not-needed.patch +++ b/patches/server/0375-Don-t-run-entity-collision-code-if-not-needed.patch @@ -12,7 +12,7 @@ The entity's current team collision rule causes them to NEVER collide. Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 81a64f4fc3e06ff9b32f91fc502809e0436d6e26..5fe5fef2e10944edc0c43da6e9d137e418c189c9 100644 +index 1a6581a1524ab6599b13e6ae3fd419d59a1c915d..4c4a0f8d9c48f15095d9ce5c1773bf58b35137af 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3399,10 +3399,24 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0380-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0380-Add-PlayerAttackEntityCooldownResetEvent.patch index 34f32a82ff..4960bb859c 100644 --- a/patches/server/0380-Add-PlayerAttackEntityCooldownResetEvent.patch +++ b/patches/server/0380-Add-PlayerAttackEntityCooldownResetEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5fe5fef2e10944edc0c43da6e9d137e418c189c9..1f8c62aa221241c6532eb60e2c9b7344ef834b23 100644 +index 4c4a0f8d9c48f15095d9ce5c1773bf58b35137af..4edf7a989f12cae065977d1f529e856a7d3a932b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2196,7 +2196,16 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0383-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/patches/server/0383-Fix-numerous-item-duplication-issues-and-teleport-is.patch index b69a1f5ddd..e94b26fd01 100644 --- a/patches/server/0383-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/patches/server/0383-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -80,7 +80,7 @@ index eed16b541a9c39ed4697e783612e6f7b7ff23b70..1d2dd9b8ae43f22d875cb530130118df public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1f8c62aa221241c6532eb60e2c9b7344ef834b23..655bd3b1ba3c2c02d70d41ae343c4aa97c3ce9a0 100644 +index 4edf7a989f12cae065977d1f529e856a7d3a932b..f01a5ba97d391292192100b6cd7fa018cdeb7e05 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1711,9 +1711,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -113,7 +113,7 @@ index 1f8c62aa221241c6532eb60e2c9b7344ef834b23..655bd3b1ba3c2c02d70d41ae343c4aa9 this.drops = new ArrayList<>(); // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 7eecbe85949e47b367014c04d7a37c2cbea80168..3d2d638da2d4b9c00f98477320b3300f36cff119 100644 +index 86c08e36779af6f85932c1c346c54594f543db0d..7e996a527a632a2b382f5eea6df6be839a7a0ef4 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java @@ -637,7 +637,7 @@ public class ArmorStand extends LivingEntity { diff --git a/patches/server/0388-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/server/0388-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch index eedbc31feb..0b310dac44 100644 --- a/patches/server/0388-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch +++ b/patches/server/0388-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch @@ -17,7 +17,7 @@ keeping long lived large direct buffers in cache. Set system properly at server startup if not set already to help protect from this. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index c561677e81095ab6735d81a414a249838b135f7a..224be855fd16b37c8766c3c07b81905d50d5518d 100644 +index 491abe3a2768ec4e8c43d3117177c472c205e7bf..84c9998a01000d5b7d70e5724dd03be1536ba297 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -26,6 +26,7 @@ public class Main { diff --git a/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch index f131d7c71f..5ea3c4c20b 100644 --- a/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch +++ b/patches/server/0434-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 655bd3b1ba3c2c02d70d41ae343c4aa97c3ce9a0..b80192d4d35cfb6ad155ac34b5296d689a154387 100644 +index f01a5ba97d391292192100b6cd7fa018cdeb7e05..e09eb0437ec274ecaae7ec6f1efd1ac058fbb57f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3511,7 +3511,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0472-Optimise-getType-calls.patch b/patches/server/0472-Optimise-getType-calls.patch index 46fa33fd85..a5f4af7fad 100644 --- a/patches/server/0472-Optimise-getType-calls.patch +++ b/patches/server/0472-Optimise-getType-calls.patch @@ -54,10 +54,10 @@ index 5a1b0f2352016497099c68c5bcd09a43ebe8bf3a..ef1e77729b12a9ee0b13fa283f8200cc @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index 2773f47d4e7a9432ab1ccebfcdc22317ef762099..b722a207c0e745bb172d93b90e1241d7bfa173ce 100644 +index 3fa5e395faf68c80f4f35afcb83003538e153af1..eb895090384b6ce0943e8286a3aae55506f4310a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -161,7 +161,7 @@ public class CraftBlockState implements BlockState { +@@ -170,7 +170,7 @@ public class CraftBlockState implements BlockState { @Override public Material getType() { diff --git a/patches/server/0486-Beacon-API-custom-effect-ranges.patch b/patches/server/0486-Beacon-API-custom-effect-ranges.patch index cb9f27cca3..6dd6575eb1 100644 --- a/patches/server/0486-Beacon-API-custom-effect-ranges.patch +++ b/patches/server/0486-Beacon-API-custom-effect-ranges.patch @@ -95,10 +95,10 @@ index cd28ee0cbc69713a641a21c9a626c694a4bcbfc9..3a50fe20294048a1c818ae717a918bb1 public void setCustomName(@Nullable Component customName) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -index da3437eb0ce3374a44a09c55834f341e1a55c162..453fd72f6bab51acd4af25173f95873cf71cc318 100644 +index 57925335811f814fbd6010e58dc0566401cae21d..7aa4c30149289412991f54b1e730857a8e120eb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -@@ -28,7 +28,7 @@ public class CraftBeacon extends CraftBlockEntityState implem +@@ -32,7 +32,7 @@ public class CraftBeacon extends CraftBlockEntityState implem if (tileEntity instanceof BeaconBlockEntity) { BeaconBlockEntity beacon = (BeaconBlockEntity) tileEntity; @@ -107,9 +107,9 @@ index da3437eb0ce3374a44a09c55834f341e1a55c162..453fd72f6bab51acd4af25173f95873c Collection bukkit = new ArrayList(nms.size()); for (Player human : nms) { -@@ -105,4 +105,21 @@ public class CraftBeacon extends CraftBlockEntityState implem - public void setLock(String key) { - this.getSnapshot().lockKey = (key == null) ? LockCode.NO_LOCK : new LockCode(key); +@@ -114,4 +114,21 @@ public class CraftBeacon extends CraftBlockEntityState implem + public CraftBeacon copy() { + return new CraftBeacon(this); } + + // Paper start diff --git a/patches/server/0496-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0496-Climbing-should-not-bypass-cramming-gamerule.patch index 62309e7552..f2f7df4bc9 100644 --- a/patches/server/0496-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0496-Climbing-should-not-bypass-cramming-gamerule.patch @@ -45,7 +45,7 @@ index d15e62da0307728a7c2be191a27f87da1bb29f49..de06ae3e8757c923a6f3f475a34885d2 } else if (entity.level().isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) { return false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b80192d4d35cfb6ad155ac34b5296d689a154387..c5843bc4f2e14ff41faaaaad2e0a727fc5cc2e3b 100644 +index e09eb0437ec274ecaae7ec6f1efd1ac058fbb57f..583a86ac39c7e8526f51f12ab9a39f6340949610 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3427,7 +3427,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -117,7 +117,7 @@ index e7a8120a7d8bc9d668050c7f8fe94df90133b36c..9f46eb8417ad19e6f1bbf369f4c6b94f } diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 3d2d638da2d4b9c00f98477320b3300f36cff119..0b678cb034b2625d322758cc4486d534ab39e48f 100644 +index 7e996a527a632a2b382f5eea6df6be839a7a0ef4..25bf917fae922b34cc639148993bac39a50b4ce5 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java @@ -343,7 +343,7 @@ public class ArmorStand extends LivingEntity { diff --git a/patches/server/0546-EntityMoveEvent.patch b/patches/server/0546-EntityMoveEvent.patch index a2e865ae5b..b231814915 100644 --- a/patches/server/0546-EntityMoveEvent.patch +++ b/patches/server/0546-EntityMoveEvent.patch @@ -29,7 +29,7 @@ index 18a69ab85de7f23f5ff468307bf2669544eba8af..e0a94d75ddf5cc0988876e7438fbcc44 final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c5843bc4f2e14ff41faaaaad2e0a727fc5cc2e3b..5074744f1d52765a3856b7c1aa75bfe5aa35c1d4 100644 +index 583a86ac39c7e8526f51f12ab9a39f6340949610..e0aa747992218e59440fbd9d7d87b72f9126b13b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3362,6 +3362,20 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0572-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0572-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index 702fe896b1..c0be17ee97 100644 --- a/patches/server/0572-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0572-Fix-PlayerItemConsumeEvent-cancelling-properly.patch @@ -9,7 +9,7 @@ till their item is switched. This patch clears the active item when the event is cancelled diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5074744f1d52765a3856b7c1aa75bfe5aa35c1d4..01a47bcae1ac1a7e03b5580e5e587bc54db2ce1a 100644 +index e0aa747992218e59440fbd9d7d87b72f9126b13b..f2aa9f94f47bd2190e21287d06cb13c58df98e04 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3860,6 +3860,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0590-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0590-Add-EntityBlockStorage-clearEntities.patch index 5b7203c33d..2ff1e7a041 100644 --- a/patches/server/0590-Add-EntityBlockStorage-clearEntities.patch +++ b/patches/server/0590-Add-EntityBlockStorage-clearEntities.patch @@ -21,13 +21,14 @@ index ea63802f2644bc2b5b3b0c72d7d09813cb68139d..82ad97800cb115cc4830337a59cc4608 return (Integer) state.getValue(BeehiveBlock.HONEY_LEVEL); } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java -index e4333169c9b229208824f778ba65ac06654d36e0..380897c010521f368848a3e6986d307cf47ff319 100644 +index d01aa63f97da4cc31c385325809911e79d012d40..2b906fccdb0a5ecddaf487ee931d05b511f84351 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeehive.java -@@ -81,4 +81,10 @@ public class CraftBeehive extends CraftBlockEntityState impl - - getSnapshot().addOccupant(((CraftBee) entity).getHandle(), false); +@@ -90,4 +90,11 @@ public class CraftBeehive extends CraftBlockEntityState impl + public CraftBeehive copy() { + return new CraftBeehive(this); } ++ + // Paper start - Add EntityBlockStorage clearEntities + @Override + public void clearEntities() { diff --git a/patches/server/0609-More-Lidded-Block-API.patch b/patches/server/0609-More-Lidded-Block-API.patch index 135fd68698..a72c613eb8 100644 --- a/patches/server/0609-More-Lidded-Block-API.patch +++ b/patches/server/0609-More-Lidded-Block-API.patch @@ -5,12 +5,12 @@ Subject: [PATCH] More Lidded Block API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java -index 9d0c272b1d89a96b0b63603fa8e4649f11fb6c51..d5fdf4504a0ca76fb0483f4ae5861c93fb622b2d 100644 +index d1046001f0c994174e5ead9e9bf423e61f4ae5c7..3ee3bbb2231d8fcdd6ff9610ec38d40ac5dd219d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBarrel.java -@@ -58,4 +58,11 @@ public class CraftBarrel extends CraftLootable implements Bar - } - getTileEntity().openersCounter.opened = false; +@@ -67,4 +67,11 @@ public class CraftBarrel extends CraftLootable implements Bar + public CraftBarrel copy() { + return new CraftBarrel(this); } + + // Paper start - More Lidded Block API @@ -21,12 +21,12 @@ index 9d0c272b1d89a96b0b63603fa8e4649f11fb6c51..d5fdf4504a0ca76fb0483f4ae5861c93 + // Paper end - More Lidded Block API } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java -index 82b3f3b3aced73ce136b6b94fe212972ac6090ef..b4bc5cbb71007b4d1a27bb841ff787a95e9ecbdc 100644 +index 51b5edd8adf029041da69a33da0423da8f6803c8..09dc268cf5a6ba675ed198e03f252c944f4f7117 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftChest.java -@@ -78,4 +78,11 @@ public class CraftChest extends CraftLootable implements Chest - } - getTileEntity().openersCounter.opened = false; +@@ -87,4 +87,11 @@ public class CraftChest extends CraftLootable implements Chest + public CraftChest copy() { + return new CraftChest(this); } + + // Paper start - More Lidded Block API @@ -37,12 +37,12 @@ index 82b3f3b3aced73ce136b6b94fe212972ac6090ef..b4bc5cbb71007b4d1a27bb841ff787a9 + // Paper end - More Lidded Block API } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java b/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java -index 6513acb46591b2903d1baf18c23ed1fc8c2a731f..b8ab67fd1820613520203f708f2f267587ace67b 100644 +index aeaf0dc35ffa230664f7e6a45e1881fa093fdac6..89f95b39a4e655ed6999e3de2f0d928ba9bace70 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftEnderChest.java -@@ -36,4 +36,11 @@ public class CraftEnderChest extends CraftBlockEntityState implem +@@ -59,7 +59,7 @@ public class CraftShulkerBox extends CraftLootable implem if (getTileEntity().opened && getWorldHandle() instanceof net.minecraft.world.level.Level) { net.minecraft.world.level.Level world = getTileEntity().getLevel(); world.blockEvent(getPosition(), getTileEntity().getBlockState().getBlock(), 1, 0); @@ -65,6 +65,10 @@ index 2d5205a9adfa66545f40a13bf0e37dc62ac0fdb9..72074b4c0feea8136e80589345538552 } getTileEntity().opened = false; } +@@ -68,4 +68,11 @@ public class CraftShulkerBox extends CraftLootable implem + public CraftShulkerBox copy() { + return new CraftShulkerBox(this); + } + + // Paper start - More Lidded Block API + @Override diff --git a/patches/server/0622-Line-Of-Sight-Changes.patch b/patches/server/0622-Line-Of-Sight-Changes.patch index 6cc67403a7..8ded2bb1b7 100644 --- a/patches/server/0622-Line-Of-Sight-Changes.patch +++ b/patches/server/0622-Line-Of-Sight-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Line Of Sight Changes diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 01a47bcae1ac1a7e03b5580e5e587bc54db2ce1a..256bb189d6546e3d984134f2a3d6c0058d6a7f77 100644 +index f2aa9f94f47bd2190e21287d06cb13c58df98e04..c46e543cfe8fa5cef2e09c72b0cf82f66359482a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3607,7 +3607,8 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch index e817291c81..be1d9fc586 100644 --- a/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0634-Add-config-for-mobs-immune-to-default-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config for mobs immune to default effects diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 256bb189d6546e3d984134f2a3d6c0058d6a7f77..3457aa99084dfb8141922bf0eb0073ea41387713 100644 +index c46e543cfe8fa5cef2e09c72b0cf82f66359482a..3ece54f48b1cda01a04d6b943e2b10a9ad8c2af5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1165,7 +1165,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0643-Improve-boat-collision-performance.patch b/patches/server/0643-Improve-boat-collision-performance.patch index 9b03112d60..65a69531ec 100644 --- a/patches/server/0643-Improve-boat-collision-performance.patch +++ b/patches/server/0643-Improve-boat-collision-performance.patch @@ -17,7 +17,7 @@ index 5e9401f0c2de0743aca9237ee8c4dfba586cfdb9..25b2d7016b60ee9bad0a2fb4a2c7c8ee }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3457aa99084dfb8141922bf0eb0073ea41387713..e7876303b545ae0b856666c88a3d20948a8d2f25 100644 +index 3ece54f48b1cda01a04d6b943e2b10a9ad8c2af5..14d5d124c34a2092f7a0fc9e1e1305ac9b17ce81 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1414,7 +1414,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch index 705463a8e3..524e1fabfb 100644 --- a/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch +++ b/patches/server/0648-Optimize-entity-tracker-passenger-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize entity tracker passenger checks diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index bd04537cdc33fddd94fe2b2efcc78875bf96be8c..784de390f812d98cb0b72552a7ecd2ab9f8aa0a3 100644 +index 90d2fa5b90d64ddb28075a50f4478b464a29a285..7cdebafd7a9f5606980ae89c8f3823f9ce560a9e 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -79,7 +79,7 @@ public class ServerEntity { diff --git a/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch index 2d2358bef2..a1e4f933cb 100644 --- a/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch +++ b/patches/server/0652-Configurable-item-frame-map-cursor-update-interval.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable item frame map cursor update interval diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 784de390f812d98cb0b72552a7ecd2ab9f8aa0a3..4fa9cb61a72e2713175a91e38ba96493ed12f8b8 100644 +index 7cdebafd7a9f5606980ae89c8f3823f9ce560a9e..04ca37b872a1585c55ac0b64d776073bf678ab0d 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -117,7 +117,7 @@ public class ServerEntity { diff --git a/patches/server/0658-More-CommandBlock-API.patch b/patches/server/0658-More-CommandBlock-API.patch index 08e4be7648..162a84f2e6 100644 --- a/patches/server/0658-More-CommandBlock-API.patch +++ b/patches/server/0658-More-CommandBlock-API.patch @@ -44,7 +44,7 @@ index 0000000000000000000000000000000000000000..0b42306f17bf8850a13a51067c2d19e7 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java -index c4ea6760f489e6171f9e6e170160b932597f842f..245a9b062a0033a39fd42f3ff94350192570aec4 100644 +index bdd0647d683565088e5cfcd43fb26f4b776db338..42c39c91d2b8e2bc32592adb8813f8a13936f34a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCommandBlock.java @@ -5,7 +5,7 @@ import org.bukkit.World; @@ -56,7 +56,7 @@ index c4ea6760f489e6171f9e6e170160b932597f842f..245a9b062a0033a39fd42f3ff9435019 public CraftCommandBlock(World world, CommandBlockEntity tileEntity) { super(world, tileEntity); -@@ -41,5 +41,10 @@ public class CraftCommandBlock extends CraftBlockEntityState +@@ -50,5 +50,10 @@ public class CraftCommandBlock extends CraftBlockEntityState public void name(net.kyori.adventure.text.Component name) { getSnapshot().getCommandBlock().setName(name == null ? net.minecraft.network.chat.Component.literal("@") : io.papermc.paper.adventure.PaperAdventure.asVanilla(name)); } diff --git a/patches/server/0668-Add-isCollidable-methods-to-various-places.patch b/patches/server/0668-Add-isCollidable-methods-to-various-places.patch index b5addfe224..f503e60c72 100644 --- a/patches/server/0668-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0668-Add-isCollidable-methods-to-various-places.patch @@ -23,12 +23,12 @@ index 4c4e242305edf7b8bfa6761cd7e8c9498982608c..5fa6a77ccd01deb929d86efc227439f4 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index b722a207c0e745bb172d93b90e1241d7bfa173ce..792bfc7eab33b26462e76a1912bd712e8af70073 100644 +index eb895090384b6ce0943e8286a3aae55506f4310a..1308720c6f3072a5442b93d495e03735419d59eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -317,4 +317,11 @@ public class CraftBlockState implements BlockState { - protected void requirePlaced() { - Preconditions.checkState(this.isPlaced(), "The blockState must be placed to call this method"); +@@ -331,4 +331,11 @@ public class CraftBlockState implements BlockState { + public CraftBlockState copy() { + return new CraftBlockState(this); } + + // Paper start diff --git a/patches/server/0675-Improve-and-expand-AsyncCatcher.patch b/patches/server/0675-Improve-and-expand-AsyncCatcher.patch index 7e587655e1..4050bab51e 100644 --- a/patches/server/0675-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0675-Improve-and-expand-AsyncCatcher.patch @@ -29,7 +29,7 @@ index ca60102128cd798572a39b3c2eb6c86eba465e90..7119c6377a86cf33e4bddbaf5db15944 if (player.isRemoved()) { LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName()); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e7876303b545ae0b856666c88a3d20948a8d2f25..fdac3d377b9090594e7e5d5c67387652854a2068 100644 +index 14d5d124c34a2092f7a0fc9e1e1305ac9b17ce81..a92345f1f7c4a4153fa55e2b23f4097faf90161d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1119,7 +1119,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch index 5adbf439aa..f005ae7e71 100644 --- a/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/0686-Send-full-pos-packets-for-hard-colliding-entities.patch @@ -9,7 +9,7 @@ Configurable under `send-full-pos-for-hard-colliding-entities` diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 4fa9cb61a72e2713175a91e38ba96493ed12f8b8..fbcb6843492c25a03bdc2efb4efb529f9fecc221 100644 +index 04ca37b872a1585c55ac0b64d776073bf678ab0d..e0802f1cb73a80b08482832c2b269ac8485d5c1a 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -177,7 +177,7 @@ public class ServerEntity { diff --git a/patches/server/0712-Fix-upstreams-block-state-factories.patch b/patches/server/0712-Fix-upstreams-block-state-factories.patch index aadbb1c017..86d1fc56bc 100644 --- a/patches/server/0712-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0712-Fix-upstreams-block-state-factories.patch @@ -26,7 +26,7 @@ index d156f7cc71050f13b2feca00c52ca6b64572b60e..e3557f4c8cee7c88b3e352cd246078da if (state instanceof InventoryHolder) return (InventoryHolder) state; return null; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index fbf2c487d7ea0e6530ab664ba706cbcf81fc60a3..e30d5235c89a23b31ef259a480e23aa07d959a4f 100644 +index 2ced6d0b3a839935dfb715f339a9501e9e519cf8..a78f0f94302a2a887b79dafdcbbbc3433c663092 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -13,7 +13,7 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -38,6 +38,17 @@ index fbf2c487d7ea0e6530ab664ba706cbcf81fc60a3..e30d5235c89a23b31ef259a480e23aa0 private final T tileEntity; private final T snapshot; +@@ -153,9 +153,7 @@ public class CraftBlockEntityState extends CraftBlockStat + } + + @Override +- public CraftBlockEntityState copy() { +- return new CraftBlockEntityState<>(this); +- } ++ public abstract CraftBlockEntityState copy(); // Paper - make abstract + + // Paper start + @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java index 17e1131c79ad140c0803a914621ce7924f0f2a6d..da4609caecc8183d02c301c7cedbca52ed39323f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java diff --git a/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch index 492deb23b0..949aa4cef7 100644 --- a/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0717-Prevent-excessive-velocity-through-repeated-crits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent excessive velocity through repeated crits diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index fdac3d377b9090594e7e5d5c67387652854a2068..9a555f26e35441fb25d00f0623bf6d2cce1aa803 100644 +index a92345f1f7c4a4153fa55e2b23f4097faf90161d..743ad0879e240bb88b2a6735b565911c44cfad8b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2683,13 +2683,26 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch index 67ee6fba0a..3bdd3a358e 100644 --- a/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0720-Prevent-sending-oversized-item-data-in-equipment-and.patch @@ -18,7 +18,7 @@ index 97da8896865ff0bdd4fe8f2155b0830b42051bb1..9ca897d92c5bdd2764d114c74d64c776 @Override diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index fbcb6843492c25a03bdc2efb4efb529f9fecc221..dcf412aa557cdc7464893264b86b916e0ffbb0b8 100644 +index e0802f1cb73a80b08482832c2b269ac8485d5c1a..8d2870c780c4c253f6570c7ef73f6e7c2ccc46ad 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -335,7 +335,10 @@ public class ServerEntity { @@ -34,7 +34,7 @@ index fbcb6843492c25a03bdc2efb4efb529f9fecc221..dcf412aa557cdc7464893264b86b916e } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 9a555f26e35441fb25d00f0623bf6d2cce1aa803..bcc155d1273786b7271850428a57480d78ca94e5 100644 +index 743ad0879e240bb88b2a6735b565911c44cfad8b..f8738a28fb30c8fdb52ed3e6f8000144129c1f00 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3194,7 +3194,10 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch index cf6202185d..d672865ef7 100644 --- a/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch +++ b/patches/server/0721-Hide-unnecessary-itemmeta-from-clients.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Hide unnecessary itemmeta from clients diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index dcf412aa557cdc7464893264b86b916e0ffbb0b8..1f71e11ec2bd617595de788f42562a436e61c156 100644 +index 8d2870c780c4c253f6570c7ef73f6e7c2ccc46ad..0cbb5dd17c5b37ad90ce11a31b64470722026d06 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -337,7 +337,7 @@ public class ServerEntity { @@ -33,7 +33,7 @@ index e8ca93305e8baaee3e72932b630a2d6907444593..65f36454b08d7527aca0d3e667979fd5 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index bcc155d1273786b7271850428a57480d78ca94e5..632961c45d4460767354a17c36dc8b18f5ff7eaa 100644 +index f8738a28fb30c8fdb52ed3e6f8000144129c1f00..58186adba67a43188784efffd4bc9c8d98ac2848 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3196,7 +3196,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0727-Collision-optimisations.patch b/patches/server/0727-Collision-optimisations.patch index 96e0afaffb..ac8a342576 100644 --- a/patches/server/0727-Collision-optimisations.patch +++ b/patches/server/0727-Collision-optimisations.patch @@ -2469,7 +2469,7 @@ index 4b135772f8346103c2e6e1473af95f0bfa9754ef..f91cbf742ee12f29cdebbd0a1481f0ea } diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java -index 0b678cb034b2625d322758cc4486d534ab39e48f..9b19cca3b8231b8fbda674f080922673503b1260 100644 +index 25bf917fae922b34cc639148993bac39a50b4ce5..1c7702a5c888846f93f8f80d3b854a26c11499be 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java @@ -353,7 +353,7 @@ public class ArmorStand extends LivingEntity { diff --git a/patches/server/0730-Add-more-Campfire-API.patch b/patches/server/0730-Add-more-Campfire-API.patch index 2b5b75162e..5ba5d97bdf 100644 --- a/patches/server/0730-Add-more-Campfire-API.patch +++ b/patches/server/0730-Add-more-Campfire-API.patch @@ -66,12 +66,12 @@ index 04b2697ee857e714b1202d02d093b0c60f079a6f..d80855b22dc10dbf697578d5f78664ed @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCampfire.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCampfire.java -index 391ff41951f51a5f9225bf4a9e28c0a4d064d8c9..eafba0532920a3162575dbe656e07734605590f5 100644 +index 28e33d2921c779ee9e96865b0b6c6309a6c27a21..df8c2110d84341e822b7ad981f6c4fe2e1c71601 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCampfire.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCampfire.java -@@ -47,4 +47,40 @@ public class CraftCampfire extends CraftBlockEntityState im - public void setCookTimeTotal(int index, int cookTimeTotal) { - getSnapshot().cookingTime[index] = cookTimeTotal; +@@ -56,4 +56,40 @@ public class CraftCampfire extends CraftBlockEntityState im + public CraftCampfire copy() { + return new CraftCampfire(this); } + + // Paper start diff --git a/patches/server/0757-Freeze-Tick-Lock-API.patch b/patches/server/0757-Freeze-Tick-Lock-API.patch index c2c1fac22d..5c78304b29 100644 --- a/patches/server/0757-Freeze-Tick-Lock-API.patch +++ b/patches/server/0757-Freeze-Tick-Lock-API.patch @@ -46,7 +46,7 @@ index da8bd9746a3ddef673230c12370a34c8228aa0c7..a1e795810e7e49acf4959b9c88bed1f9 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 632961c45d4460767354a17c36dc8b18f5ff7eaa..57a96d44b2a37bb4feb17b872d263e1906971f18 100644 +index 58186adba67a43188784efffd4bc9c8d98ac2848..7c686b6734d52287c3c41bfe0942761656da9e36 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3446,7 +3446,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch index 839a5f95d4..84ed67d62f 100644 --- a/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch +++ b/patches/server/0760-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Use a CHM for StructureTemplate.Pallete cache fixes a CME due to this collection being shared across threads diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -index 1ceeeebc759385d9f306822601b6057aa2aba0c2..020e436f77f9f2de631727c00ccd41e9293b1f47 100644 +index 9f6feac85e8d7266a419bc8c8e11ef976e8f0f83..b56262bdf817de092e49183cd9ded7da55758873 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java +++ b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -@@ -825,7 +825,7 @@ public class StructureTemplate { +@@ -852,7 +852,7 @@ public class StructureTemplate { public static final class Palette { private final List blocks; diff --git a/patches/server/0768-Furnace-RecipesUsed-API.patch b/patches/server/0768-Furnace-RecipesUsed-API.patch index 9de9cfd745..075cd97b56 100644 --- a/patches/server/0768-Furnace-RecipesUsed-API.patch +++ b/patches/server/0768-Furnace-RecipesUsed-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Furnace RecipesUsed API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -index 3da4616c904d47bbecae0d4cb6970496fbec9a8b..2b9e2892909e2584be8b0e4c6b76b51a7e4114b8 100644 +index f98cf44e929d326037e1089dafe4f82c6f6d8647..e48208d511353913b96d81e0960e56deaadff11a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -@@ -93,5 +93,37 @@ public abstract class CraftFurnace extends +@@ -100,5 +100,37 @@ public abstract class CraftFurnace extends snapshot.cookSpeedMultiplier = multiplier; snapshot.cookingTotalTime = AbstractFurnaceBlockEntity.getTotalCookTime(this.isPlaced() ? this.world.getHandle() : null, snapshot.recipeType, snapshot, snapshot.cookSpeedMultiplier); // Update the snapshot's current total cook time to scale with the newly set multiplier } diff --git a/patches/server/0769-Configurable-sculk-sensor-listener-range.patch b/patches/server/0769-Configurable-sculk-sensor-listener-range.patch index c68e2d2cc3..6d55376b1e 100644 --- a/patches/server/0769-Configurable-sculk-sensor-listener-range.patch +++ b/patches/server/0769-Configurable-sculk-sensor-listener-range.patch @@ -84,13 +84,14 @@ index a6c226da995eecc323d69a3eff1f8d202410e069..5d3740875de337e24fdba28305f61e96 } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkSensor.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkSensor.java -index de804383467518ef0f063aea948514db568f59db..f2599117cc8c12d9402e22c34c76f323b5a1ec5c 100644 +index 7e4cef6ce439d3fdf148b456120f29dbc1efb432..40578b3f8374ee9c754c743ab263f80deeee5a36 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkSensor.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkSensor.java -@@ -21,4 +21,16 @@ public class CraftSculkSensor extends CraftBlo - Preconditions.checkArgument(0 <= lastVibrationFrequency && lastVibrationFrequency <= 15, "Vibration frequency must be between 0-15"); - getSnapshot().lastVibrationFrequency = lastVibrationFrequency; +@@ -30,4 +30,17 @@ public class CraftSculkSensor extends CraftBlo + public CraftSculkSensor copy() { + return new CraftSculkSensor<>(this); } ++ + // Paper start + @Override + public int getListenerRange() { diff --git a/patches/server/0773-Fix-Entity-Position-Desync.patch b/patches/server/0773-Fix-Entity-Position-Desync.patch index ed0f79734d..1a885e69f8 100644 --- a/patches/server/0773-Fix-Entity-Position-Desync.patch +++ b/patches/server/0773-Fix-Entity-Position-Desync.patch @@ -9,7 +9,7 @@ This excludes hanging entities, as this fix caused problematic behavior due to t position field. diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 1f71e11ec2bd617595de788f42562a436e61c156..e7df888c8fa3cde13d727b3bd6b4d66aabea4527 100644 +index 0cbb5dd17c5b37ad90ce11a31b64470722026d06..9d5d32705f9d8aadb51019f17b4db76a9bc6a04b 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -171,7 +171,7 @@ public class ServerEntity { diff --git a/patches/server/0779-More-Projectile-API.patch b/patches/server/0779-More-Projectile-API.patch index e1ba9d1fe9..afbc251aa0 100644 --- a/patches/server/0779-More-Projectile-API.patch +++ b/patches/server/0779-More-Projectile-API.patch @@ -45,13 +45,13 @@ index a3ee89cb4acfa475076e65f06f1047232bcf684f..3abcb29ff95c29b9b178e0a02d98bf26 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java b/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java -index 40e5b19bc8fa3de3b3d54da0762aee5bd7bb8d7b..b3814bd6c6d6aae090fe417696535ed1376d84d5 100644 +index 91c2d0b40d3fca86938cd454e1415a4eea3df7c7..2c376687349825833e6d9a5ca92ce6afb98c36a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/AbstractProjectile.java -@@ -21,5 +21,66 @@ public abstract class AbstractProjectile extends CraftEntity implements Projecti - public void setBounce(boolean doesBounce) { - this.doesBounce = doesBounce; - } +@@ -17,4 +17,65 @@ public abstract class AbstractProjectile extends CraftEntity implements Projecti + @Override + public void setBounce(boolean doesBounce) {} + + // Paper start + @Override + public boolean hasLeftShooter() { @@ -113,7 +113,6 @@ index 40e5b19bc8fa3de3b3d54da0762aee5bd7bb8d7b..b3814bd6c6d6aae090fe417696535ed1 + return this.getHandle().ownerUUID; + } + // Paper end - } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java index 5056ec1ad51be9209591d34d32d256c350feed63..96a20efc60efef4485eca9ebffed92dc195ed357 100644 diff --git a/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch index 5fb11187b2..e9c2bc86cd 100644 --- a/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch +++ b/patches/server/0794-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch @@ -9,10 +9,10 @@ is not a WorldGenRegion, we can bypass the deadlock entirely. See https://bugs.mojang.com/browse/MC-246262 diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -index 020e436f77f9f2de631727c00ccd41e9293b1f47..25872fc1e827ee1f736c121282585cacec532fb8 100644 +index b56262bdf817de092e49183cd9ded7da55758873..8988fbf5684e85677586d4fd27e21d3c630f3b65 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java +++ b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -@@ -266,7 +266,11 @@ public class StructureTemplate { +@@ -279,7 +279,11 @@ public class StructureTemplate { if (definedstructure_blockinfo.nbt != null) { tileentity = world.getBlockEntity(blockposition2); @@ -24,8 +24,8 @@ index 020e436f77f9f2de631727c00ccd41e9293b1f47..25872fc1e827ee1f736c121282585cac + // Paper end world.setBlock(blockposition2, Blocks.BARRIER.defaultBlockState(), 20); } - -@@ -379,7 +383,11 @@ public class StructureTemplate { + // CraftBukkit start +@@ -406,7 +410,11 @@ public class StructureTemplate { if (pair1.getSecond() != null) { tileentity = world.getBlockEntity(blockposition6); if (tileentity != null) { diff --git a/patches/server/0807-Add-PlayerStopUsingItemEvent.patch b/patches/server/0807-Add-PlayerStopUsingItemEvent.patch index f73b524a4b..d54ba2a89c 100644 --- a/patches/server/0807-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0807-Add-PlayerStopUsingItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 57a96d44b2a37bb4feb17b872d263e1906971f18..93f6842555aebaaaca2b66addcd0e624cd554684 100644 +index 7c686b6734d52287c3c41bfe0942761656da9e36..4d7c0063000eb6c0469b837122c881a4a728629a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -4019,6 +4019,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0823-Nameable-Banner-API.patch b/patches/server/0823-Nameable-Banner-API.patch index 78f176be32..351d3597e0 100644 --- a/patches/server/0823-Nameable-Banner-API.patch +++ b/patches/server/0823-Nameable-Banner-API.patch @@ -5,13 +5,14 @@ Subject: [PATCH] Nameable Banner API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java -index 85f7ed3041befcc37729e9cd25723644600c7f62..31d916bc2364d0c518652b5b5868ab3d45a77ccc 100644 +index 2b7fcd30b6eb0ab60b44de31ad0e0b20033f45c5..0a80bd370dd41ffbfbbe6b0d88cd6fa8a47a5725 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java -@@ -99,4 +99,25 @@ public class CraftBanner extends CraftBlockEntityState implem - } - banner.itemPatterns = newPatterns; +@@ -108,4 +108,26 @@ public class CraftBanner extends CraftBlockEntityState implem + public CraftBanner copy() { + return new CraftBanner(this); } ++ + // Paper start + @Override + public net.kyori.adventure.text.Component customName() { diff --git a/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch index b4dc775c2f..1255d4ddb9 100644 --- a/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch +++ b/patches/server/0846-Fix-plugin-loggers-on-server-shutdown.patch @@ -49,7 +49,7 @@ index dd05048c5c9c37002708f0eee4e4fa0f6d86834c..b5ffa564cf6389b6af281ecf12b8daa1 // Paper end - move final shutdown items here } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 224be855fd16b37c8766c3c07b81905d50d5518d..6f816ec287f35dca6e196f86d016a2c28617bab6 100644 +index 84c9998a01000d5b7d70e5724dd03be1536ba297..cac89e4a445262b97c727640d1593a3d74e82b72 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -18,6 +18,12 @@ public class Main { diff --git a/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch index 631689484d..7d002304ae 100644 --- a/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch +++ b/patches/server/0847-Stop-large-look-changes-from-crashing-the-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Stop large look changes from crashing the server Co-authored-by: Jaren Knodel diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 93f6842555aebaaaca2b66addcd0e624cd554684..6e07148a0f6c2c94c12d3870e51d8ad5d53b96a7 100644 +index 4d7c0063000eb6c0469b837122c881a4a728629a..e25b6a9f50eea2e012315f5a395f369761117de5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3062,37 +3062,15 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0858-Add-getDrops-to-BlockState.patch b/patches/server/0858-Add-getDrops-to-BlockState.patch index 7f9d14aad9..75ef1dadb3 100644 --- a/patches/server/0858-Add-getDrops-to-BlockState.patch +++ b/patches/server/0858-Add-getDrops-to-BlockState.patch @@ -7,10 +7,10 @@ Originally added isPreferredTool to BlockData but upstream added that. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index 792bfc7eab33b26462e76a1912bd712e8af70073..b1abb332eca597b23888bca42d21d5b587f61b13 100644 +index 1308720c6f3072a5442b93d495e03735419d59eb..cfd1c68d7ad23ef20242306d7d8148921d697ca5 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -323,5 +323,33 @@ public class CraftBlockState implements BlockState { +@@ -337,5 +337,33 @@ public class CraftBlockState implements BlockState { public boolean isCollidable() { return this.data.getBlock().hasCollision; } diff --git a/patches/server/0873-Add-Moving-Piston-API.patch b/patches/server/0873-Add-Moving-Piston-API.patch index 53df041ba1..b0b64257f1 100644 --- a/patches/server/0873-Add-Moving-Piston-API.patch +++ b/patches/server/0873-Add-Moving-Piston-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Moving Piston API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java b/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java -index 04857cc934daee87e8bff1a8bbd8ade349c3952b..b779b4abbf3c257c2aa90697b2ed43172290bf73 100644 +index c685846a539756ca7f0857e27f2b60d25cc13959..93ad5fed9a4d92169af0546c7e1cd8a62d19d1d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftMovingPiston.java -@@ -3,9 +3,30 @@ package org.bukkit.craftbukkit.block; +@@ -3,7 +3,7 @@ package org.bukkit.craftbukkit.block; import net.minecraft.world.level.block.piston.PistonMovingBlockEntity; import org.bukkit.World; @@ -17,7 +17,11 @@ index 04857cc934daee87e8bff1a8bbd8ade349c3952b..b779b4abbf3c257c2aa90697b2ed4317 public CraftMovingPiston(World world, PistonMovingBlockEntity tileEntity) { super(world, tileEntity); +@@ -17,4 +17,26 @@ public class CraftMovingPiston extends CraftBlockEntityState extends CraftBlockEntityState< +@@ -139,9 +139,15 @@ public class CraftSign extends CraftBlockEntityState< Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed"); Preconditions.checkArgument(sign.getWorld() == player.getWorld(), "Sign must be in same world as Player"); diff --git a/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch index 2d0d9457d6..b3de8c9a7c 100644 --- a/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch +++ b/patches/server/0959-Only-tick-item-frames-if-players-can-see-it.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Only tick item frames if players can see it In the event that an item frame cannot be seen by any players, ticking the item frame every tick is unnecessary. This can be a very hot section of the entity tracker when lots of item frames are present on a server, so this reduces the logic which speeds it up. diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index e7df888c8fa3cde13d727b3bd6b4d66aabea4527..e2795f6ee05141374736dd5821e23431b26c6162 100644 +index 9d5d32705f9d8aadb51019f17b4db76a9bc6a04b..625a598eb5f3c9c5ea60ae9ea50974bb08abbf85 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -111,7 +111,7 @@ public class ServerEntity { diff --git a/patches/server/0965-Add-Sign-getInteractableSideFor.patch b/patches/server/0965-Add-Sign-getInteractableSideFor.patch index 4521623224..2d3d9a47fb 100644 --- a/patches/server/0965-Add-Sign-getInteractableSideFor.patch +++ b/patches/server/0965-Add-Sign-getInteractableSideFor.patch @@ -30,10 +30,10 @@ index e34f7426df5d6c94fcc4101b28702e6c1d9fccff..9eea2982e92e9bc7a53962dc6b21de60 float f1 = (float) (Mth.atan2(d1, d0) * 57.2957763671875D) - 90.0F; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index 6d40e8a75126eff3f863ab6fbea8a85ab43ac9c9..c6c1ebe93a6977b4355db5551b0493b9ce53a61d 100644 +index 975c107ccb27e0e5bcd125bb59593a86d730fa43..736f76f31abedc051ec511524a55da98b77d111d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -@@ -158,6 +158,14 @@ public class CraftSign extends CraftBlockEntityState< +@@ -169,6 +169,14 @@ public class CraftSign extends CraftBlockEntityState< } // Paper end diff --git a/patches/server/0987-Cache-map-ids-on-item-frames.patch b/patches/server/0987-Cache-map-ids-on-item-frames.patch index 6e67ceed13..9b22a5bbd5 100644 --- a/patches/server/0987-Cache-map-ids-on-item-frames.patch +++ b/patches/server/0987-Cache-map-ids-on-item-frames.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache map ids on item frames diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index e2795f6ee05141374736dd5821e23431b26c6162..b6639c363653a8ac802d800d7228d85c078ff163 100644 +index 625a598eb5f3c9c5ea60ae9ea50974bb08abbf85..9f1b424f8437f0f859d4f177ecc52233ad8e3357 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -118,7 +118,7 @@ public class ServerEntity { diff --git a/patches/server/0990-SculkCatalyst-bloom-API.patch b/patches/server/0990-SculkCatalyst-bloom-API.patch index 4a09d2ddf2..8b4fa56999 100644 --- a/patches/server/0990-SculkCatalyst-bloom-API.patch +++ b/patches/server/0990-SculkCatalyst-bloom-API.patch @@ -7,12 +7,12 @@ Subject: [PATCH] SculkCatalyst bloom API public net.minecraft.world.level.block.entity.SculkCatalystBlockEntity$CatalystListener bloom(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)V diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java -index bd86d6abea6185f9be61f0bc5a6aaa4870b2920a..5229a3757907262c7e00ede12b1c77db4e94acd6 100644 +index 403abbc5061e4d2ca3e9a3917edf272614af470e..1299aadf8c132ec7e329d258bbd7d9c8e8bd33c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSculkCatalyst.java -@@ -23,4 +23,20 @@ public class CraftSculkCatalyst extends CraftBlockEntityState