From 3c04f9f668c3a42cb294c5e55a846793894312e5 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 14 Jun 2024 13:07:50 +0200 Subject: [PATCH] Fix a few compile errors --- .../paper/registry/keys/DamageTypeKeys.java | 2 - .../paper/registry/keys/EnchantmentKeys.java | 4 - .../paper/registry/keys/MobEffectKeys.java | 8 - .../paper/registry/keys/StructureKeys.java | 2 - .../paper/registry/keys/TrimPatternKeys.java | 3 - ...0108-ItemStack-getMaxItemUseDuration.patch | 22 ++- ...PI-additions-for-quantity-flags-lore.patch | 6 +- .../0171-Fix-Spigot-annotation-mistakes.patch | 8 +- ...Add-Raw-Byte-ItemStack-Serialization.patch | 4 +- ...-Add-methods-to-get-translation-keys.patch | 8 +- .../api/0259-Improve-Item-Rarity-API.patch | 4 +- .../api/0277-ItemStack-repair-check-API.patch | 4 +- patches/api/0280-ItemStack-editMeta.patch | 4 +- .../api/0346-Add-enchantWithLevels-API.patch | 4 +- patches/api/0382-ItemStack-damage-API.patch | 4 +- ...proper-checking-of-empty-item-stacks.patch | 4 +- ...ry-durability-check-in-ItemStack-isS.patch | 4 +- ...add-missing-Experimental-annotations.patch | 145 +----------------- patches/api/0440-Improve-Registry.patch | 4 +- patches/api/0452-ItemStack-Tooltip-API.patch | 4 +- .../0462-Deprecate-ItemStack-setType.patch | 6 +- patches/api/0468-Fix-ItemFlags.patch | 4 +- ...-Add-missing-wind-charge-damage-type.patch | 8 +- ...Allow-to-define-new-map-cursor-types.patch | 4 +- patches/server/0009-MC-Utils.patch | 2 +- patches/server/0023-Timings-v2.patch | 2 +- .../server/0066-Chunk-Save-Reattempt.patch | 6 +- ...egionFileCache-and-make-configurable.patch | 4 +- .../0157-Add-PlayerArmorChangeEvent.patch | 4 +- ...5-PlayerNaturallySpawnCreaturesEvent.patch | 2 +- ...0194-ItemStack-getMaxItemUseDuration.patch | 34 +++- ...e-shield-blocking-delay-configurable.patch | 2 +- .../0203-Add-entity-knockback-events.patch | 2 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 2 +- ...-ray-tracing-methods-to-LivingEntity.patch | 2 +- .../server/0244-Improve-death-events.patch | 2 +- ...254-Add-LivingEntity-getTargetEntity.patch | 2 +- ...entity-dismount-during-teleportation.patch | 2 +- ...0287-PlayerDeathEvent-getItemsToKeep.patch | 4 +- ...revent-consuming-the-wrong-itemstack.patch | 2 +- ...layerDeathEvent-shouldDropExperience.patch | 2 +- .../0313-Tracking-Range-Improvements.patch | 2 +- patches/server/0320-Entity-Jump-API.patch | 2 +- ...spawn-settings-and-per-player-option.patch | 2 +- ...-PlayerChunkMap-adds-crashing-server.patch | 2 +- .../server/0336-Don-t-tick-dead-players.patch | 2 +- ...move-existing-players-to-world-spawn.patch | 2 +- ...vent-opening-inventories-when-frozen.patch | 2 +- ...-entity-collision-code-if-not-needed.patch | 2 +- ...-Implement-Player-Client-Options-API.patch | 2 +- ...nEvent-when-Player-is-actually-ready.patch | 4 +- ...PlayerAttackEntityCooldownResetEvent.patch | 2 +- ...item-duplication-and-teleport-issues.patch | 2 +- ...k-for-portal-on-world-gen-entity-add.patch | 2 +- patches/server/0396-Brand-support.patch | 2 +- .../server/0435-Add-API-for-quit-reason.patch | 2 +- ...-should-not-bypass-cramming-gamerule.patch | 2 +- ...-shield-blocking-on-dimension-change.patch | 2 +- patches/server/0490-Add-EntityMoveEvent.patch | 2 +- ...ItemConsumeEvent-cancelling-properly.patch | 2 +- ...pawnEvent-fix-passed-parameter-issue.patch | 2 +- ...537-Expand-PlayerGameModeChangeEvent.patch | 2 +- .../server/0558-Line-Of-Sight-Changes.patch | 2 +- ...PlayerDropItemEvent-using-wrong-item.patch | 2 +- ...k-event-leave-message-not-being-sent.patch | 2 +- ...n-t-apply-cramming-damage-to-players.patch | 2 +- .../server/0577-Add-PlayerSetSpawnEvent.patch | 2 +- ...-logic-for-inventories-on-chunk-unlo.patch | 2 +- ...0604-Improve-and-expand-AsyncCatcher.patch | 2 +- ...primise-map-impl-for-tracked-players.patch | 2 +- .../0621-Ensure-valid-vehicle-status.patch | 2 +- ...sive-velocity-through-repeated-crits.patch | 2 +- ...-data-to-disk-if-it-serializes-witho.patch | 8 +- .../server/0663-Freeze-Tick-Lock-API.patch | 2 +- patches/server/0683-More-Projectile-API.patch | 4 +- ...ables-running-when-mob-loot-gamerule.patch | 2 +- .../0707-Add-PlayerStopUsingItemEvent.patch | 2 +- ...-strict-advancement-dimension-checks.patch | 2 +- ...ook-changes-from-crashing-the-server.patch | 2 +- .../0755-Fix-a-bunch-of-vanilla-bugs.patch | 2 +- ...0-Add-PlayerInventorySlotChangeEvent.patch | 2 +- ...global-player-list-where-appropriate.patch | 2 +- patches/server/0780-Friction-API.patch | 2 +- .../0783-Sync-offhand-slot-in-menus.patch | 2 +- .../0784-Player-Entity-Tracking-Events.patch | 2 +- ...nk-items-during-EntityResurrectEvent.patch | 2 +- ...tItemStack-setAmount-null-assignment.patch | 4 +- ...vancement-triggers-for-entity-damage.patch | 2 +- ...46-fix-item-meta-for-tadpole-buckets.patch | 4 +- ...ntity-tracking-range-by-Y-coordinate.patch | 2 +- .../server/0885-Fix-inventory-desync.patch | 2 +- ...-titleOverride-to-InventoryOpenEvent.patch | 2 +- ...proper-checking-of-empty-item-stacks.patch | 4 +- ...k-if-we-can-see-non-visible-entities.patch | 2 +- ...tem-packets-with-collector-as-source.patch | 2 +- ...n-t-fire-sync-events-during-worldgen.patch | 2 +- ...estore-vanilla-entity-drops-behavior.patch | 4 +- ...-on-null-loc-for-EntityTeleportEvent.patch | 2 +- .../0928-Add-drops-to-shear-events.patch | 4 +- ...date-ResourceLocation-in-NBT-reading.patch | 2 +- ...llocation-of-Vec3D-by-entity-tracker.patch | 2 +- .../0946-Deprecate-ItemStack-setType.patch | 4 +- ...966-Fix-shield-disable-inconsistency.patch | 2 +- ...a-handling-of-LivingEntity-actuallyH.patch | 2 +- ...ve-checking-handled-tags-in-itemmeta.patch | 20 +-- .../server/0973-General-ItemMeta-fixes.patch | 6 +- ...oversized-item-data-in-equipment-and.patch | 2 +- 107 files changed, 205 insertions(+), 317 deletions(-) diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java index ed52d2393e..b9931bda8f 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java @@ -333,8 +333,6 @@ public final class DamageTypeKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey WIND_CHARGE = create(key("wind_charge")); /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java index 3c64bc0790..0acf663315 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java @@ -61,7 +61,6 @@ public final class EnchantmentKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey BREACH = create(key("breach")); /** @@ -77,7 +76,6 @@ public final class EnchantmentKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey DENSITY = create(key("density")); /** @@ -323,8 +321,6 @@ public final class EnchantmentKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey WIND_BURST = create(key("wind_burst")); private EnchantmentKeys() { diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java index 83835bd7ff..5f3525a4da 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java @@ -117,7 +117,6 @@ public final class MobEffectKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey INFESTED = create(key("infested")); /** @@ -188,8 +187,6 @@ public final class MobEffectKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey OOZING = create(key("oozing")); /** @@ -204,8 +201,6 @@ public final class MobEffectKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey RAID_OMEN = create(key("raid_omen")); /** @@ -263,7 +258,6 @@ public final class MobEffectKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey TRIAL_OMEN = create(key("trial_omen")); /** @@ -293,7 +287,6 @@ public final class MobEffectKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey WEAVING = create(key("weaving")); /** @@ -302,7 +295,6 @@ public final class MobEffectKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey WIND_CHARGED = create(key("wind_charged")); /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java index 22d644aa24..4fc0d8f198 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java @@ -228,8 +228,6 @@ public final class StructureKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey TRIAL_CHAMBERS = create(key("trial_chambers")); /** diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java index b3e92fbbe2..ec8930239a 100644 --- a/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java +++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java @@ -33,7 +33,6 @@ public final class TrimPatternKeys { * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey BOLT = create(key("bolt")); /** @@ -62,8 +61,6 @@ public final class TrimPatternKeys { * * @apiNote This field is version-dependant and may be removed in future Minecraft versions */ - @ApiStatus.Experimental - @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) public static final TypedKey FLOW = create(key("flow")); /** diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch index e657a66f40..8d422d216e 100644 --- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch +++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch @@ -6,20 +6,36 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 29bc12cb3095282a31f01f08ac66c15b24f42524..a11cc672fa1116addab8b43b7a4360ea182a0584 100644 +index 29bc12cb3095282a31f01f08ac66c15b24f42524..90cec86f6f75809e2c6e06313b1a96e77c992c18 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -670,5 +670,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -13,6 +13,7 @@ import org.bukkit.Translatable; + import org.bukkit.Utility; + import org.bukkit.configuration.serialization.ConfigurationSerializable; + import org.bukkit.enchantments.Enchantment; ++import org.bukkit.entity.LivingEntity; + import org.bukkit.inventory.meta.Damageable; + import org.bukkit.inventory.meta.ItemMeta; + import org.bukkit.material.MaterialData; +@@ -670,5 +671,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public String getI18NDisplayName() { return Bukkit.getServer().getItemFactory().getI18NDisplayName(this); } + ++ /** ++ * @deprecated use {@link #getMaxItemUseDuration(LivingEntity)}; crossbows, later possibly more items require an entity parameter ++ */ ++ @Deprecated(forRemoval = true) + public int getMaxItemUseDuration() { ++ return getMaxItemUseDuration(null); ++ } ++ ++ public int getMaxItemUseDuration(@NotNull final LivingEntity entity) { + if (type == null || type == Material.AIR || !type.isItem()) { + return 0; + } + // Requires access to NMS -+ return ensureServerConversions().getMaxItemUseDuration(); ++ return ensureServerConversions().getMaxItemUseDuration(entity); + } // Paper end } diff --git a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch index 706b84bccd..532219c194 100644 --- a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -5,12 +5,12 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a11cc672fa1116addab8b43b7a4360ea182a0584..991448ce7d1455b02889cc8da345e8d7200a8215 100644 +index 90cec86f6f75809e2c6e06313b1a96e77c992c18..93cce80df2c2c8d6379dbe1753748c3e10b73195 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -678,5 +678,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -687,5 +687,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat // Requires access to NMS - return ensureServerConversions().getMaxItemUseDuration(); + return ensureServerConversions().getMaxItemUseDuration(entity); } + + /** diff --git a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch index fe3778cf5b..a36bc077a7 100644 --- a/patches/api/0171-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0171-Fix-Spigot-annotation-mistakes.patch @@ -1412,7 +1412,7 @@ index 3d08beee52f2247db6f6e679206ed6a965fbf9a8..1b4f9b93860e58762ac28715adad5a67 /** diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 991448ce7d1455b02889cc8da345e8d7200a8215..8fba0996b371276b281c86570dff01d652915247 100644 +index 93cce80df2c2c8d6379dbe1753748c3e10b73195..2129243467b11e5599969a5b0d40ca354fbad467 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -10,6 +10,7 @@ import org.bukkit.Material; @@ -1423,7 +1423,7 @@ index 991448ce7d1455b02889cc8da345e8d7200a8215..8fba0996b371276b281c86570dff01d6 import org.bukkit.Utility; import org.bukkit.configuration.serialization.ConfigurationSerializable; import org.bukkit.enchantments.Enchantment; -@@ -179,8 +180,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -180,8 +181,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Gets the MaterialData for this stack of items * * @return MaterialData for this item @@ -1434,7 +1434,7 @@ index 991448ce7d1455b02889cc8da345e8d7200a8215..8fba0996b371276b281c86570dff01d6 public MaterialData getData() { Material mat = Bukkit.getUnsafe().toLegacy(getType()); if (data == null && mat != null && mat.getData() != null) { -@@ -194,7 +197,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -195,7 +198,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Sets the MaterialData for this stack of items * * @param data New MaterialData for this item @@ -1444,7 +1444,7 @@ index 991448ce7d1455b02889cc8da345e8d7200a8215..8fba0996b371276b281c86570dff01d6 public void setData(@Nullable MaterialData data) { if (data == null) { this.data = data; -@@ -574,7 +579,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -575,7 +580,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * * @return a copy of the current ItemStack's ItemData */ diff --git a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch index df493c82bb..2fb50dece8 100644 --- a/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch @@ -20,10 +20,10 @@ index da997507b96908027c49dabc6daf7c787dcad95d..cb7aef53cbffc76dea9fec28445ea8ae // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 8fba0996b371276b281c86570dff01d652915247..adb6576ba60219c15bcfddae03cd90e24906b01a 100644 +index 2129243467b11e5599969a5b0d40ca354fbad467..59de575055623f832a0775ffb7de742f5d6be402 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -661,6 +661,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -662,6 +662,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/patches/api/0207-Add-methods-to-get-translation-keys.patch b/patches/api/0207-Add-methods-to-get-translation-keys.patch index 1ddbcd7537..2d6f22cf69 100644 --- a/patches/api/0207-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0207-Add-methods-to-get-translation-keys.patch @@ -526,10 +526,10 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db + } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index adb6576ba60219c15bcfddae03cd90e24906b01a..427e0012376effbd1b459da094ac8e4d6324e38e 100644 +index 59de575055623f832a0775ffb7de742f5d6be402..6a0f1d5996edb8217b24172466768c4be573873a 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable; +@@ -28,7 +28,7 @@ import org.jetbrains.annotations.Nullable; * use this class to encapsulate Materials for which {@link Material#isItem()} * returns false. */ @@ -538,7 +538,7 @@ index adb6576ba60219c15bcfddae03cd90e24906b01a..427e0012376effbd1b459da094ac8e4d private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -628,6 +628,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -629,6 +629,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat @Override @NotNull @@ -546,7 +546,7 @@ index adb6576ba60219c15bcfddae03cd90e24906b01a..427e0012376effbd1b459da094ac8e4d public String getTranslationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } -@@ -887,5 +888,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -896,5 +897,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat ItemMeta itemMeta = getItemMeta(); return itemMeta != null && itemMeta.hasItemFlag(flag); } diff --git a/patches/api/0259-Improve-Item-Rarity-API.patch b/patches/api/0259-Improve-Item-Rarity-API.patch index 13716c349c..1978ba0b55 100644 --- a/patches/api/0259-Improve-Item-Rarity-API.patch +++ b/patches/api/0259-Improve-Item-Rarity-API.patch @@ -110,10 +110,10 @@ index e7931f73f10fe35ebd5fe4a04b036d53bb117ebd..cbce835ed6d44e5b8c9aaae4e36a77f8 + // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 427e0012376effbd1b459da094ac8e4d6324e38e..decc49d86de34c43daa04316320288fa33f935e5 100644 +index 6a0f1d5996edb8217b24172466768c4be573873a..938dc055a78fb8959d03f1b89270cc4655e4def0 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -899,5 +899,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -908,5 +908,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public @NotNull String translationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0277-ItemStack-repair-check-API.patch b/patches/api/0277-ItemStack-repair-check-API.patch index 8ceaba3a16..e4d5879ddc 100644 --- a/patches/api/0277-ItemStack-repair-check-API.patch +++ b/patches/api/0277-ItemStack-repair-check-API.patch @@ -25,10 +25,10 @@ index 8635846c9f672e39f0929eec7bf83b22536ed284..51f1a09164d501de6d2561ed90175f2c // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index decc49d86de34c43daa04316320288fa33f935e5..b2a9cb36d3bd0ba604514457294e337364a67756 100644 +index 938dc055a78fb8959d03f1b89270cc4655e4def0..bbc3a36c0a9f8688230fe63a27f5d9323c79ac32 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -911,5 +911,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -920,5 +920,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public io.papermc.paper.inventory.ItemRarity getRarity() { return io.papermc.paper.inventory.ItemRarity.valueOf(this.getItemMeta().getRarity().name()); } diff --git a/patches/api/0280-ItemStack-editMeta.patch b/patches/api/0280-ItemStack-editMeta.patch index 28ebc47a4c..0cc2444972 100644 --- a/patches/api/0280-ItemStack-editMeta.patch +++ b/patches/api/0280-ItemStack-editMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b2a9cb36d3bd0ba604514457294e337364a67756..95e11895856101013c4ac434546a229eab09586e 100644 +index bbc3a36c0a9f8688230fe63a27f5d9323c79ac32..d4178bc7a51bdcfb2446510de66e4fff1b0a86ec 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -574,6 +574,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -575,6 +575,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return result.ensureServerConversions(); // Paper } diff --git a/patches/api/0346-Add-enchantWithLevels-API.patch b/patches/api/0346-Add-enchantWithLevels-API.patch index c26d04ca9b..9aa2a3ee6d 100644 --- a/patches/api/0346-Add-enchantWithLevels-API.patch +++ b/patches/api/0346-Add-enchantWithLevels-API.patch @@ -70,10 +70,10 @@ index 96546712f788e091749a1b4eebc6b1d6c3db7814..bd0e55562f1cabef3078573182e0cf9f + // Paper end - enchantWithLevels API } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 95e11895856101013c4ac434546a229eab09586e..a46b9b0efcc7becaf86fd885da5b8104d4f12982 100644 +index d4178bc7a51bdcfb2446510de66e4fff1b0a86ec..6fffdec6fa82f7aae901984dc0a844da02e6eb2e 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -678,6 +678,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -679,6 +679,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } // Paper start diff --git a/patches/api/0382-ItemStack-damage-API.patch b/patches/api/0382-ItemStack-damage-API.patch index df27ac6b45..64aba9c068 100644 --- a/patches/api/0382-ItemStack-damage-API.patch +++ b/patches/api/0382-ItemStack-damage-API.patch @@ -66,10 +66,10 @@ index 8dd993ce32686431e1c759d446a3620cb52f7ec1..0d665a31152c9a667576f2e9d91ffec5 + // Paper end - ItemStack damage API } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a46b9b0efcc7becaf86fd885da5b8104d4f12982..19dd25964803ca1cc3c377e69b4ed2d0df58c824 100644 +index 6fffdec6fa82f7aae901984dc0a844da02e6eb2e..3c48ba63c62d44096762251e730c226f7e189b31 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -995,5 +995,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1004,5 +1004,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public boolean canRepair(@NotNull ItemStack toBeRepaired) { return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this); } diff --git a/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch index 9d68e698e0..ab2cc037cd 100644 --- a/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch +++ b/patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow proper checking of empty item stacks This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method. diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 19dd25964803ca1cc3c377e69b4ed2d0df58c824..a2deadbceaa74232a82daa5a3f42a81dc93ba670 100644 +index 3c48ba63c62d44096762251e730c226f7e189b31..a6a066fee62c7a66b8fefd7eca550eaf3644815e 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -1009,5 +1009,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1018,5 +1018,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public @NotNull ItemStack damage(int amount, @NotNull org.bukkit.entity.LivingEntity livingEntity) { return livingEntity.damageItemStack(this, amount); } diff --git a/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch index 2ee51bd5bb..1c5227e973 100644 --- a/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch +++ b/patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch @@ -9,10 +9,10 @@ By removing this check we avoid unnecessarily allocating useless `ItemMeta` obje This is a leftover from when checking for the item's durability was "free" because the durability was stored in the `ItemStack` itself, this [was changed in Minecraft 1.13](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/f8b2086d60942eb2cd7ac25a2a1408cb790c222c#src/main/java/org/bukkit/inventory/ItemStack.java). diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a2deadbceaa74232a82daa5a3f42a81dc93ba670..f8573571cd256b9bf68e0e8c6fa523be5b46b83e 100644 +index a6a066fee62c7a66b8fefd7eca550eaf3644815e..b413703266b5037b85c26089f2c3e208016fcf8b 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -307,7 +307,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -308,7 +308,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return true; } Material comparisonType = (this.type.isLegacy()) ? Bukkit.getUnsafe().fromLegacy(this.getData(), true) : this.type; // This may be called from legacy item stacks, try to get the right material diff --git a/patches/api/0438-add-missing-Experimental-annotations.patch b/patches/api/0438-add-missing-Experimental-annotations.patch index 8b64dfa889..9cd3d827a6 100644 --- a/patches/api/0438-add-missing-Experimental-annotations.patch +++ b/patches/api/0438-add-missing-Experimental-annotations.patch @@ -25,14 +25,14 @@ index 7522c611b5214dd09867c434d5f7cf161f5c04ca..026b1832bcd163ab89668c991bf002e6 /** diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index c4f067598a40b0381bc9e601a3809e2683c10407..8001189dfb0425aaccf956d0c743e9df9b9d1ddb 100644 +index c4f067598a40b0381bc9e601a3809e2683c10407..54704da43cf9c429f3914f0580246dde99aa93c0 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -2497,6 +2497,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), -+ @MinecraftExperimental(Requires.BUNDLE) // Paper - add missing annotation ++ @MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.BUNDLE) // Paper - add missing annotation + @ApiStatus.Experimental // Paper - add missing annotation BUNDLE(16835, 1), FISHING_ROD(4167, 1, 64), @@ -57,66 +57,17 @@ index b2ff1da3386223a544ab5fc363a90c66c8869242..8c7b50906fc5b84c5570408f35741081 ITEM_CHORUS_FRUIT_TELEPORT("item.chorus_fruit.teleport"), ITEM_CROP_PLANT("item.crop.plant"), diff --git a/src/main/java/org/bukkit/Tag.java b/src/main/java/org/bukkit/Tag.java -index 8bfec649f7c6dda956bc388a21b489f3565ff384..63f35e9ff5952a6d03243fa511157c1a5020e9fb 100644 +index 8bfec649f7c6dda956bc388a21b489f3565ff384..a303bb1a8d8b5749de5d69d079383e6da2e446d1 100644 --- a/src/main/java/org/bukkit/Tag.java +++ b/src/main/java/org/bukkit/Tag.java -@@ -774,6 +774,8 @@ public interface Tag extends Keyed { - /** - * Vanilla block tag representing all blocks which block wind charge explosions. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag BLOCKS_WIND_CHARGE_EXPLOSIONS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("blocks_wind_charge_explosions"), Material.class); - /** - * Vanilla block tag representing solid blocks which do not block hopper operation. -@@ -1150,6 +1152,8 @@ public interface Tag extends Keyed { - /** - * Vanilla item tag representing all items enchantable with mace enchantments. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag ITEMS_ENCHANTABLE_MACE = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("enchantable/mace"), Material.class); - /** - * Vanilla item tag representing all items that confer freeze immunity on -@@ -1243,6 +1247,8 @@ public interface Tag extends Keyed { - /** - * Vanilla tag representing entities which deflect projectiles. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag ENTITY_TYPES_DEFLECTS_PROJECTILES = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("deflects_projectiles"), EntityType.class); - /** - * Vanilla tag representing entities which deflect arrows. -@@ -1253,6 +1259,8 @@ public interface Tag extends Keyed { +@@ -1253,6 +1253,7 @@ public interface Tag extends Keyed { /** * Vanilla tag representing entities which can turn in boats. */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation Tag ENTITY_TYPES_CAN_TURN_IN_BOATS = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("can_turn_in_boats"), EntityType.class); /** * Vanilla tag representing all entities sensitive to illager enchantments. -@@ -1301,14 +1309,20 @@ public interface Tag extends Keyed { - /** - * Vanilla tag representing all entities which do not receive anger from wind charges. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag ENTITY_TYPES_NO_ANGER_FROM_WIND_CHARGE = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("no_anger_from_wind_charge"), EntityType.class); - /** - * Vanilla tag representing all entities which are immune from the oozing effect. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag ENTITY_TYPES_IMMUNE_TO_OOZING = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("immune_to_oozing"), EntityType.class); - /** - * Vanilla tag representing all entities which are immune from the infested effect. - */ -+ @MinecraftExperimental(MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - Tag ENTITY_TYPES_IMMUNE_TO_INFESTED = Bukkit.getTag(REGISTRY_ENTITY_TYPES, NamespacedKey.minecraft("immune_to_infested"), EntityType.class); - /** - * Vanilla tag representing all projectiles which can be punched back. diff --git a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java b/src/main/java/org/bukkit/inventory/meta/BundleMeta.java index e404cd1e2ba44e4c2d09524bc7cf730d8ffbdabd..cea0ebf50876dd32ab7fba6025b30f297d0a69c4 100644 --- a/src/main/java/org/bukkit/inventory/meta/BundleMeta.java @@ -129,43 +80,11 @@ index e404cd1e2ba44e4c2d09524bc7cf730d8ffbdabd..cea0ebf50876dd32ab7fba6025b30f29 @ApiStatus.Experimental public interface BundleMeta extends ItemMeta { -diff --git a/src/main/java/org/bukkit/inventory/meta/OminousBottleMeta.java b/src/main/java/org/bukkit/inventory/meta/OminousBottleMeta.java -index 5c741228b2338a7c4de2fe736eb789511abf4880..0a25483bcf88e8f7b8e6755d754467930e1a9c65 100644 ---- a/src/main/java/org/bukkit/inventory/meta/OminousBottleMeta.java -+++ b/src/main/java/org/bukkit/inventory/meta/OminousBottleMeta.java -@@ -5,6 +5,8 @@ import org.jetbrains.annotations.NotNull; - /** - * Represents an ominous bottle with an amplifier of the bad omen effect. - */ -+@org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+@org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public interface OminousBottleMeta extends ItemMeta { - - /** -diff --git a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java -index f2242ddc4085f7e7cdd748d860857822e3d9b007..9133a889c1936b4cf7dbf17f744ee926d57362a3 100644 ---- a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java -+++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java -@@ -78,10 +78,14 @@ public interface TrimPattern extends Keyed, Translatable { - /** - * {@link Material#FLOW_ARMOR_TRIM_SMITHING_TEMPLATE}. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final TrimPattern FLOW = Registry.TRIM_PATTERN.get(NamespacedKey.minecraft("flow")); - /** - * {@link Material#BOLT_ARMOR_TRIM_SMITHING_TEMPLATE}. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final TrimPattern BOLT = Registry.TRIM_PATTERN.get(NamespacedKey.minecraft("bolt")); - - // Paper start - adventure diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index 1afa33ca0d900d9301d52ace3ddb0bd50b5ce4e8..c7100c2bc2be9e294957862d943e629ae9916468 100644 +index 1afa33ca0d900d9301d52ace3ddb0bd50b5ce4e8..65133e057690eba612520cce6ef9e45312258066 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java -@@ -311,13 +311,29 @@ public final class MapCursor { +@@ -311,12 +311,25 @@ public final class MapCursor { BANNER_RED(24, "banner_red"), BANNER_BLACK(25, "banner_black"), RED_X(26, "red_x"), @@ -188,58 +107,6 @@ index 1afa33ca0d900d9301d52ace3ddb0bd50b5ce4e8..c7100c2bc2be9e294957862d943e629a + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation JUNGLE_TEMPLE(32, "jungle_temple"), + @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.TRADE_REBALANCE) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation SWAMP_HUT(33, "swamp_hut"), -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS(34, "trial_chambers") ; - -diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java -index 10fa51d116b40450b51af9110d5637f3505ebf65..4716df59a46c2fb1d5108c7c2a11a3235d98db4e 100644 ---- a/src/main/java/org/bukkit/potion/PotionEffectType.java -+++ b/src/main/java/org/bukkit/potion/PotionEffectType.java -@@ -193,31 +193,43 @@ public abstract class PotionEffectType implements Keyed, Translatable, net.kyori - /** - * Causes trial spawners to become ominous. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType TRIAL_OMEN = getPotionEffectType(34, "trial_omen"); - - /** - * Triggers a raid when a player enters a village. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType RAID_OMEN = getPotionEffectType(35, "raid_omen"); - - /** - * Emits a wind burst upon death. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType WIND_CHARGED = getPotionEffectType(36, "wind_charged"); - - /** - * Creates cobwebs upon death. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType WEAVING = getPotionEffectType(37, "weaving"); - - /** - * Causes slimes to spawn upon death. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType OOZING = getPotionEffectType(38, "oozing"); - - /** - * Chance of spawning silverfish when hurt. - */ -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation -+ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - public static final PotionEffectType INFESTED = getPotionEffectType(39, "infested"); - - @NotNull diff --git a/patches/api/0440-Improve-Registry.patch b/patches/api/0440-Improve-Registry.patch index 4106b895dc..a106bba08d 100644 --- a/patches/api/0440-Improve-Registry.patch +++ b/patches/api/0440-Improve-Registry.patch @@ -153,10 +153,10 @@ index 941fac4eee338870d8c30cb1f64cab572cf54548..74816d6da4d7c8d2fa8a7b93fdc4bf29 + // Paper end - Registry#getKey } diff --git a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java -index 9133a889c1936b4cf7dbf17f744ee926d57362a3..6079bd05a056153c9d66f37396c96dbad9dca7a1 100644 +index f2242ddc4085f7e7cdd748d860857822e3d9b007..087e99ed281c0b282d91345067bfca80762faa0b 100644 --- a/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java +++ b/src/main/java/org/bukkit/inventory/meta/trim/TrimPattern.java -@@ -104,4 +104,14 @@ public interface TrimPattern extends Keyed, Translatable { +@@ -100,4 +100,14 @@ public interface TrimPattern extends Keyed, Translatable { @Deprecated(forRemoval = true) @org.jetbrains.annotations.NotNull String getTranslationKey(); // Paper end - adventure diff --git a/patches/api/0452-ItemStack-Tooltip-API.patch b/patches/api/0452-ItemStack-Tooltip-API.patch index 275df8305e..91a7aacc6b 100644 --- a/patches/api/0452-ItemStack-Tooltip-API.patch +++ b/patches/api/0452-ItemStack-Tooltip-API.patch @@ -119,10 +119,10 @@ index 3f1b48fd65df954e874e6dc6b9093cb12370e2c5..0e9ccfee7a03d341e7c4d271f53b4ed1 + @NotNull java.util.List computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f8573571cd256b9bf68e0e8c6fa523be5b46b83e..61de2daa17957079ccc3ae36d40745d6cb516d16 100644 +index b413703266b5037b85c26089f2c3e208016fcf8b..782dc4f31a391896c3d568fb9903e6e5e032c0a3 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -1029,4 +1029,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1038,4 +1038,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return type.isAir() || amount <= 0; } // Paper end diff --git a/patches/api/0462-Deprecate-ItemStack-setType.patch b/patches/api/0462-Deprecate-ItemStack-setType.patch index e3d3ede818..e9bee06119 100644 --- a/patches/api/0462-Deprecate-ItemStack-setType.patch +++ b/patches/api/0462-Deprecate-ItemStack-setType.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate ItemStack#setType diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 61de2daa17957079ccc3ae36d40745d6cb516d16..e0c5685356e4de53389e9cacad9514b58dceeaf2 100644 +index 782dc4f31a391896c3d568fb9903e6e5e032c0a3..40802479d2238b832e99ca52b64bccd44c7436aa 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -143,8 +143,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -144,8 +144,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * {@link Material#isItem()} returns false. * * @param type New type to set the items in this stack to @@ -27,7 +27,7 @@ index 61de2daa17957079ccc3ae36d40745d6cb516d16..e0c5685356e4de53389e9cacad9514b5 public void setType(@NotNull Material type) { Preconditions.checkArgument(type != null, "Material cannot be null"); this.type = type; -@@ -157,6 +167,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -158,6 +168,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat this.data = null; } } diff --git a/patches/api/0468-Fix-ItemFlags.patch b/patches/api/0468-Fix-ItemFlags.patch index 96365d0a14..6b7fdf98b9 100644 --- a/patches/api/0468-Fix-ItemFlags.patch +++ b/patches/api/0468-Fix-ItemFlags.patch @@ -47,10 +47,10 @@ index 5b8dac777bb1640dc00bbe98feb6460c36eebb98..1af15fd327e0613cd1a179bd7fef1e83 /** * Setting to show/hide item-specific information, including, but not limited to: diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index e0c5685356e4de53389e9cacad9514b58dceeaf2..40cde68c7b73a0a92e2a96667a90138d67ce66ff 100644 +index 40802479d2238b832e99ca52b64bccd44c7436aa..35338358aec881c30ba4e004ed5f36708366fc12 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -588,6 +588,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -589,6 +589,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat Object raw = args.get("meta"); if (raw instanceof ItemMeta) { ((ItemMeta) raw).setVersion(version); diff --git a/patches/api/0473-Add-missing-wind-charge-damage-type.patch b/patches/api/0473-Add-missing-wind-charge-damage-type.patch index 3ae5ccd47a..8b5bd35be7 100644 --- a/patches/api/0473-Add-missing-wind-charge-damage-type.patch +++ b/patches/api/0473-Add-missing-wind-charge-damage-type.patch @@ -5,23 +5,21 @@ Subject: [PATCH] Add missing wind charge damage type diff --git a/src/main/java/org/bukkit/damage/DamageType.java b/src/main/java/org/bukkit/damage/DamageType.java -index 69abda41ef3a1d8948982d16b193a9a565fafa38..5e332d7def0ef346c7d55018f18b3136e69deb3f 100644 +index 69abda41ef3a1d8948982d16b193a9a565fafa38..9ec1abbd741198705d2a7685bbd2e2660679461d 100644 --- a/src/main/java/org/bukkit/damage/DamageType.java +++ b/src/main/java/org/bukkit/damage/DamageType.java -@@ -66,6 +66,12 @@ public interface DamageType extends Keyed, Translatable { +@@ -66,6 +66,10 @@ public interface DamageType extends Keyed, Translatable { public static final DamageType BAD_RESPAWN_POINT = getDamageType("bad_respawn_point"); public static final DamageType OUTSIDE_BORDER = getDamageType("outside_border"); public static final DamageType GENERIC_KILL = getDamageType("generic_kill"); + // Paper start -+ @org.bukkit.MinecraftExperimental(org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) -+ @ApiStatus.Experimental + @org.jetbrains.annotations.Nullable + DamageType WIND_CHARGE = getExperimentalDamageType("wind_charge"); + // Paper end @NotNull private static DamageType getDamageType(@NotNull String key) { -@@ -73,6 +79,12 @@ public interface DamageType extends Keyed, Translatable { +@@ -73,6 +77,12 @@ public interface DamageType extends Keyed, Translatable { return Preconditions.checkNotNull(Registry.DAMAGE_TYPE.get(namespacedKey), "No DamageType found for %s. This is a bug.", namespacedKey); } diff --git a/patches/api/0480-Allow-to-define-new-map-cursor-types.patch b/patches/api/0480-Allow-to-define-new-map-cursor-types.patch index ccec02bac5..d80375bc03 100644 --- a/patches/api/0480-Allow-to-define-new-map-cursor-types.patch +++ b/patches/api/0480-Allow-to-define-new-map-cursor-types.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow to define new map cursor types diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index c7100c2bc2be9e294957862d943e629ae9916468..bd3c733d4d9042a510034ce8615c04d68d79796c 100644 +index 65133e057690eba612520cce6ef9e45312258066..21bc42ea602c7cc4eab5f9ac59a7e539131a2254 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java @@ -221,8 +221,8 @@ public final class MapCursor { @@ -19,7 +19,7 @@ index c7100c2bc2be9e294957862d943e629ae9916468..bd3c733d4d9042a510034ce8615c04d6 } this.type = type; } -@@ -337,6 +337,8 @@ public final class MapCursor { +@@ -334,6 +334,8 @@ public final class MapCursor { TRIAL_CHAMBERS(34, "trial_chambers") ; diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 962f14b733..f3c8e4cada 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6342,7 +6342,7 @@ index 5d4336210e11ee39521b4096a5f0874329053cdc..526d5b9bd6ce8eade59d3d3cf8bd7ad7 + // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 5b920beb39dad8d392b4e5e12a89880720e41942..319f51eb8adde7584c74780ac0539f4b8ef8fe7f 100644 +index 419a27a8bdc8adfeb6ea89e3bfe1838a80d75a33..ce0d22452171857e3cf070bf01450a7653ec7142 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -170,6 +170,62 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch index b94c0b1761..5a6f57a089 100644 --- a/patches/server/0023-Timings-v2.patch +++ b/patches/server/0023-Timings-v2.patch @@ -978,7 +978,7 @@ index d38ecbc208c34509eaf77751ac45d9ef51a5dce8..b51c3f8c485496734ea58c15377a1215 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 319f51eb8adde7584c74780ac0539f4b8ef8fe7f..ddadb0f13b96a39ec89cdaeea7bc02ee62ef2a06 100644 +index ce0d22452171857e3cf070bf01450a7653ec7142..6581566ca4e4fac0691e4f5851f8895d9ac7a38f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1,8 +1,10 @@ diff --git a/patches/server/0066-Chunk-Save-Reattempt.patch b/patches/server/0066-Chunk-Save-Reattempt.patch index 120ee75594..0347b2117c 100644 --- a/patches/server/0066-Chunk-Save-Reattempt.patch +++ b/patches/server/0066-Chunk-Save-Reattempt.patch @@ -19,10 +19,10 @@ index b24e8255ab18eb5b2e4968aa62aa3d72ef33f0eb..12b7d50f49a2184aaf220a4a50a137b2 } } diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -index 40f2f4d052add3b4270d29c843e49fb621e1bc8d..df099d4c7f101f50d40dae99b45c271b02712434 100644 +index 4091d4d68b58bdefb2fdac1815e351d4f7c8a523..b7d0a48f38f0d8ae586012bb4e9a9faec21103c2 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -@@ -134,6 +134,11 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -134,6 +134,11 @@ public class RegionFileStorage implements AutoCloseable { protected void write(ChunkPos pos, @Nullable CompoundTag nbt) throws IOException { RegionFile regionfile = this.getRegionFile(pos, false); // CraftBukkit @@ -34,7 +34,7 @@ index 40f2f4d052add3b4270d29c843e49fb621e1bc8d..df099d4c7f101f50d40dae99b45c271b if (nbt == null) { regionfile.clear(pos); -@@ -158,7 +163,18 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -158,7 +163,18 @@ public class RegionFileStorage implements AutoCloseable { dataoutputstream.close(); } } diff --git a/patches/server/0082-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0082-Sanitise-RegionFileCache-and-make-configurable.patch index 2693eaeb7c..8116e8a235 100644 --- a/patches/server/0082-Sanitise-RegionFileCache-and-make-configurable.patch +++ b/patches/server/0082-Sanitise-RegionFileCache-and-make-configurable.patch @@ -11,10 +11,10 @@ The implementation uses a LinkedHashMap as an LRU cache (modified from HashMap). The maximum size of the RegionFileCache is also made configurable. diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -index df099d4c7f101f50d40dae99b45c271b02712434..491035aaefff4ee96435ec5d3f9417e28eae0796 100644 +index b7d0a48f38f0d8ae586012bb4e9a9faec21103c2..7d4aa3d375bde32e0d2606346202929d481acad0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -@@ -39,7 +39,7 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -39,7 +39,7 @@ public class RegionFileStorage implements AutoCloseable { if (regionfile != null) { return regionfile; } else { diff --git a/patches/server/0157-Add-PlayerArmorChangeEvent.patch b/patches/server/0157-Add-PlayerArmorChangeEvent.patch index b0ad17cbab..87c9ce36ee 100644 --- a/patches/server/0157-Add-PlayerArmorChangeEvent.patch +++ b/patches/server/0157-Add-PlayerArmorChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 57ba53cf9f84b21185bbaefd482f9d6dea2cb772..77365cfbaf6b9eb2ebefdf174066b40d120fc295 100644 +index 57ba53cf9f84b21185bbaefd482f9d6dea2cb772..1d26fd55cd841c0f3ab4769a5a46a149fdc30b21 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3140,6 +3140,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -13,7 +13,7 @@ index 57ba53cf9f84b21185bbaefd482f9d6dea2cb772..77365cfbaf6b9eb2ebefdf174066b40d if (this.equipmentHasChanged(itemstack1, itemstack2)) { + // Paper start - PlayerArmorChangeEvent -+ if (this instanceof ServerPlayer && enumitemslot.getType() == EquipmentSlot.Type.ARMOR) { ++ if (this instanceof ServerPlayer && enumitemslot.getType() == EquipmentSlot.Type.HUMANOID_ARMOR) { + final org.bukkit.inventory.ItemStack oldItem = CraftItemStack.asBukkitCopy(itemstack1); + final org.bukkit.inventory.ItemStack newItem = CraftItemStack.asBukkitCopy(itemstack2); + new com.destroystokyo.paper.event.player.PlayerArmorChangeEvent((Player) this.getBukkitEntity(), com.destroystokyo.paper.event.player.PlayerArmorChangeEvent.SlotType.valueOf(enumitemslot.name()), oldItem, newItem).callEvent(); diff --git a/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch index 780a4a79f3..f5479de5b0 100644 --- a/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch @@ -9,7 +9,7 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index ddadb0f13b96a39ec89cdaeea7bc02ee62ef2a06..d04b69838c6f5fd1808782cacb31c6e00087bbac 100644 +index 6581566ca4e4fac0691e4f5851f8895d9ac7a38f..c96346bd0207537899d266fe2c8f29a1663e10c3 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1101,7 +1101,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0194-ItemStack-getMaxItemUseDuration.patch b/patches/server/0194-ItemStack-getMaxItemUseDuration.patch index 999f5c771e..2131e2bf3a 100644 --- a/patches/server/0194-ItemStack-getMaxItemUseDuration.patch +++ b/patches/server/0194-ItemStack-getMaxItemUseDuration.patch @@ -6,17 +6,43 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f3f567bf61e655862fbeea4be87241d6f7f15785..9cf035486cedfc2e3ba522416e8fea3ad01cfec5 100644 +index f3f567bf61e655862fbeea4be87241d6f7f15785..52622ed31fe2f3616a53681030cc01517b63e7ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -187,6 +187,13 @@ public final class CraftItemStack extends ItemStack { +@@ -7,14 +7,17 @@ import net.minecraft.core.Holder; + import net.minecraft.core.component.DataComponentPatch; + import net.minecraft.core.component.DataComponents; + import net.minecraft.world.item.Item; ++import net.minecraft.world.item.Items; + import net.minecraft.world.item.enchantment.EnchantmentHelper; + import net.minecraft.world.item.enchantment.ItemEnchantments; + import org.bukkit.Material; + import org.bukkit.configuration.serialization.DelegateDeserialization; + import org.bukkit.craftbukkit.enchantments.CraftEnchantment; ++import org.bukkit.craftbukkit.entity.CraftLivingEntity; + import org.bukkit.craftbukkit.util.CraftLegacy; + import org.bukkit.craftbukkit.util.CraftMagicNumbers; + import org.bukkit.enchantments.Enchantment; ++import org.bukkit.entity.LivingEntity; + import org.bukkit.inventory.ItemStack; + import org.bukkit.inventory.meta.ItemMeta; + import org.bukkit.material.MaterialData; +@@ -187,6 +190,21 @@ public final class CraftItemStack extends ItemStack { return (this.handle == null) ? Material.AIR.getMaxStackSize() : this.handle.getMaxStackSize(); } + // Paper start + @Override -+ public int getMaxItemUseDuration() { -+ return handle == null ? 0 : handle.getUseDuration(); ++ public int getMaxItemUseDuration(final LivingEntity entity) { ++ if (handle == null) { ++ return 0; ++ } ++ ++ // Make sure plugins calling the old method don't blow up ++ if (entity == null && handle.is(Items.CROSSBOW)) { ++ throw new UnsupportedOperationException("This item requires an entity to determine the max use duration"); ++ } ++ return handle.getUseDuration(((CraftLivingEntity) entity).getHandle()); + } + // Paper end + diff --git a/patches/server/0200-Make-shield-blocking-delay-configurable.patch b/patches/server/0200-Make-shield-blocking-delay-configurable.patch index cf9c4ab3c1..0a0ba03619 100644 --- a/patches/server/0200-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0200-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 77365cfbaf6b9eb2ebefdf174066b40d120fc295..804d5c53e9d0abd89168687395e3ab2e4bc08930 100644 +index 1d26fd55cd841c0f3ab4769a5a46a149fdc30b21..6577b705e8ca04acc8cda85fbcc4088fd1302f60 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3938,12 +3938,24 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0203-Add-entity-knockback-events.patch b/patches/server/0203-Add-entity-knockback-events.patch index ef96719c3a..7c47d80340 100644 --- a/patches/server/0203-Add-entity-knockback-events.patch +++ b/patches/server/0203-Add-entity-knockback-events.patch @@ -37,7 +37,7 @@ index d6017d9d71fb4b3a3df6eaa44da0ebda54c83da4..5e7cf17779685355011bb0f684c11080 this.hasImpulse = true; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 804d5c53e9d0abd89168687395e3ab2e4bc08930..e306ed222c7285191fe5716786cbcdfdd6739d9b 100644 +index 6577b705e8ca04acc8cda85fbcc4088fd1302f60..170b4f796f0a495a635147dd62ad0ab51dd86a92 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1517,7 +1517,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0227-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0227-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index d443d145a4..a6502e83fc 100644 --- a/patches/server/0227-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/patches/server/0227-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index d04b69838c6f5fd1808782cacb31c6e00087bbac..96b7f0ac35a1e87c3f78a24180b207c32749fb71 100644 +index c96346bd0207537899d266fe2c8f29a1663e10c3..e2f176d34443f0d1b00649efa45c65138042a015 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1321,6 +1321,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch index 981f5bc631..bfb82ade0e 100644 --- a/patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0242-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 e306ed222c7285191fe5716786cbcdfdd6739d9b..04f5281ce800895fe19acf3493ce625faef3de13 100644 +index 170b4f796f0a495a635147dd62ad0ab51dd86a92..63c3bef55dae608ddd19cf6c8348b3027460e2af 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3949,6 +3949,19 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0244-Improve-death-events.patch b/patches/server/0244-Improve-death-events.patch index f7729594ab..a289cb1361 100644 --- a/patches/server/0244-Improve-death-events.patch +++ b/patches/server/0244-Improve-death-events.patch @@ -80,7 +80,7 @@ index 2758f4fc1c230c0029ece90718057a7b111909f0..a75b325111c1c6ff2686854d43a2f684 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 04f5281ce800895fe19acf3493ce625faef3de13..f1f78e3f82ad5ff9a2ec0c8ad2ab1334a69425e6 100644 +index 63c3bef55dae608ddd19cf6c8348b3027460e2af..d8681ace0ba74a6eb3b6abafe4915b5e753c02f0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -283,6 +283,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0254-Add-LivingEntity-getTargetEntity.patch b/patches/server/0254-Add-LivingEntity-getTargetEntity.patch index 155cd2be53..3606293700 100644 --- a/patches/server/0254-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0254-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 f1f78e3f82ad5ff9a2ec0c8ad2ab1334a69425e6..6e903d11ea07e427abdc4983ebe1a2f8eb9bd475 100644 +index d8681ace0ba74a6eb3b6abafe4915b5e753c02f0..bf493378dca5f9ebb4e098c7552d9fdb1ea1822d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -127,6 +127,7 @@ import net.minecraft.world.level.storage.loot.LootTable; diff --git a/patches/server/0269-force-entity-dismount-during-teleportation.patch b/patches/server/0269-force-entity-dismount-during-teleportation.patch index 6b84363655..867ea5e33e 100644 --- a/patches/server/0269-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0269-force-entity-dismount-during-teleportation.patch @@ -106,7 +106,7 @@ index 3830440b913bd2693f2922483e57419c76117315..5b3de422b07f680e6639ee84f076bffb 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 6e903d11ea07e427abdc4983ebe1a2f8eb9bd475..6bac6b338302ff0e0e93d5b66d2fd3ea0e666114 100644 +index bf493378dca5f9ebb4e098c7552d9fdb1ea1822d..d73f3ca9ff9584628ab9b0434d76368a20bca51e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3591,9 +3591,15 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0287-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0287-PlayerDeathEvent-getItemsToKeep.patch index 3ed594ff6e..46c4139bb0 100644 --- a/patches/server/0287-PlayerDeathEvent-getItemsToKeep.patch +++ b/patches/server/0287-PlayerDeathEvent-getItemsToKeep.patch @@ -11,7 +11,7 @@ Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 public net.minecraft.world.entity.player.Inventory compartments diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dfa3542035924ed53a1fafb032334b0bffbe0282..187cbb9e3c39204f1fb53e85788c954059dc7efc 100644 +index dfa3542035924ed53a1fafb032334b0bffbe0282..f92ff999422ffc1833a26afb80c11ba5156b8679 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -899,6 +899,46 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @@ -34,7 +34,7 @@ index dfa3542035924ed53a1fafb032334b0bffbe0282..187cbb9e3c39204f1fb53e85788c9540 + + for (int i = 0; i < inv.size(); ++i) { + ItemStack item = inv.get(i); -+ if (EnchantmentHelper.hasVanishingCurse(item) || itemsToKeep.isEmpty() || item.isEmpty()) { ++ if (EnchantmentHelper.has(item, EnchantmentEffectComponents.PREVENT_EQUIPMENT_DROP) || itemsToKeep.isEmpty() || item.isEmpty()) { + inv.set(i, ItemStack.EMPTY); + continue; + } diff --git a/patches/server/0299-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0299-Prevent-consuming-the-wrong-itemstack.patch index 9f11859765..82cf04e36c 100644 --- a/patches/server/0299-Prevent-consuming-the-wrong-itemstack.patch +++ b/patches/server/0299-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 6bac6b338302ff0e0e93d5b66d2fd3ea0e666114..3a9c823193e939a6bbf6a43cd440d3fae129a252 100644 +index d73f3ca9ff9584628ab9b0434d76368a20bca51e..545d4c481a785dc7f795ee0fa41d6343f2967d44 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3827,9 +3827,14 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0305-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0305-PlayerDeathEvent-shouldDropExperience.patch index dc8963aeea..8bbdfe2174 100644 --- a/patches/server/0305-PlayerDeathEvent-shouldDropExperience.patch +++ b/patches/server/0305-PlayerDeathEvent-shouldDropExperience.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 187cbb9e3c39204f1fb53e85788c954059dc7efc..f77edea8a82ef0b77ebe22ec1ee0fc22f94f67a5 100644 +index f92ff999422ffc1833a26afb80c11ba5156b8679..5fea622d5fc7fc4bcdd0c1010936736c8fcb213f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1020,7 +1020,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0313-Tracking-Range-Improvements.patch b/patches/server/0313-Tracking-Range-Improvements.patch index c72f88f8c8..ce3b2f8004 100644 --- a/patches/server/0313-Tracking-Range-Improvements.patch +++ b/patches/server/0313-Tracking-Range-Improvements.patch @@ -8,7 +8,7 @@ Sets tracking range of watermobs to animals instead of misc and simplifies code Also ignores Enderdragon, defaulting it to Mojang's setting diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 96b7f0ac35a1e87c3f78a24180b207c32749fb71..795c81c8f6fa59eded8b5a5084a8acb46d118fdb 100644 +index e2f176d34443f0d1b00649efa45c65138042a015..3784fbe3548727ab5ad8cfefef2d8d594a76123f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1613,6 +1613,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0320-Entity-Jump-API.patch b/patches/server/0320-Entity-Jump-API.patch index 8c02ea8f2b..88d2bc6214 100644 --- a/patches/server/0320-Entity-Jump-API.patch +++ b/patches/server/0320-Entity-Jump-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Entity Jump API public net.minecraft.world.entity.LivingEntity jumping diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3a9c823193e939a6bbf6a43cd440d3fae129a252..191ec36c917f377246e3379c410c9aa2d930cebc 100644 +index 545d4c481a785dc7f795ee0fa41d6343f2967d44..a2ea54c4a3aedbc3b8ec775851ebfba889e855cf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3405,8 +3405,10 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0332-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0332-Pillager-patrol-spawn-settings-and-per-player-option.patch index 792ceab91f..5d935bce8f 100644 --- a/patches/server/0332-Pillager-patrol-spawn-settings-and-per-player-option.patch +++ b/patches/server/0332-Pillager-patrol-spawn-settings-and-per-player-option.patch @@ -10,7 +10,7 @@ When not per player it will use the Vanilla mechanic of one delay per world and the world age for the start day. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f77edea8a82ef0b77ebe22ec1ee0fc22f94f67a5..f47f95f44252a1be48efbbec284a8dbcd494c760 100644 +index 5fea622d5fc7fc4bcdd0c1010936736c8fcb213f..ee1bf0b2346f1b5d2dfaacca8db7033e0dc322ba 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -269,6 +269,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0335-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/server/0335-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch index 2f32768c21..580844dd61 100644 --- a/patches/server/0335-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch +++ b/patches/server/0335-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch @@ -7,7 +7,7 @@ Suspected case would be around the technique used in .stopRiding Stack will identify any causer of this and warn instead of crashing. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 795c81c8f6fa59eded8b5a5084a8acb46d118fdb..1709821c73362b2ae54681ec1d59b40bfa9335b3 100644 +index 3784fbe3548727ab5ad8cfefef2d8d594a76123f..5732aded2e4dbeea84dbe6ebac71c2ad5ce4729a 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1308,6 +1308,13 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0336-Don-t-tick-dead-players.patch b/patches/server/0336-Don-t-tick-dead-players.patch index ab7318137c..8f980193ad 100644 --- a/patches/server/0336-Don-t-tick-dead-players.patch +++ b/patches/server/0336-Don-t-tick-dead-players.patch @@ -7,7 +7,7 @@ Causes sync chunk loads and who knows what all else. This is safe because Spectators are skipped in unloaded chunks too in vanilla. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f47f95f44252a1be48efbbec284a8dbcd494c760..d2f5ff035d4d496c035b8ae0c04c67e3de78fd4b 100644 +index ee1bf0b2346f1b5d2dfaacca8db7033e0dc322ba..c1a09c0f9ce8f9c89df2291dd3cde56b435d89f3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -767,7 +767,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0338-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0338-Don-t-move-existing-players-to-world-spawn.patch index 18766aae5d..413accc6a8 100644 --- a/patches/server/0338-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0338-Don-t-move-existing-players-to-world-spawn.patch @@ -13,7 +13,7 @@ By skipping this, we avoid potential for a large spike on server start. public net.minecraft.server.level.ServerPlayer fudgeSpawnLocation(Lnet/minecraft/server/level/ServerLevel;)V diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d2f5ff035d4d496c035b8ae0c04c67e3de78fd4b..142bdd74f930a1a2a004c8b6d9435318d1a07b71 100644 +index c1a09c0f9ce8f9c89df2291dd3cde56b435d89f3..7fc681cd64f508d1a833255654d526c133f98269 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -358,7 +358,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0342-Prevent-opening-inventories-when-frozen.patch b/patches/server/0342-Prevent-opening-inventories-when-frozen.patch index 1f3b9d6580..9f579a9987 100644 --- a/patches/server/0342-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0342-Prevent-opening-inventories-when-frozen.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 142bdd74f930a1a2a004c8b6d9435318d1a07b71..9bb7eafb72d5264a5c53a2f53dc60d94ec976431 100644 +index 7fc681cd64f508d1a833255654d526c133f98269..a5291e17ab08d1ceeca0bb73f4c8fe433fcbd536 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -712,7 +712,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0343-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0343-Don-t-run-entity-collision-code-if-not-needed.patch index 4f49647a64..dfd1354b1e 100644 --- a/patches/server/0343-Don-t-run-entity-collision-code-if-not-needed.patch +++ b/patches/server/0343-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 191ec36c917f377246e3379c410c9aa2d930cebc..c5721045681bcd2db99eec42a1c1455515868af1 100644 +index a2ea54c4a3aedbc3b8ec775851ebfba889e855cf..4210c822f067041833f9d3845806d5ecf50501ba 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3516,10 +3516,24 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0344-Implement-Player-Client-Options-API.patch b/patches/server/0344-Implement-Player-Client-Options-API.patch index a7e823ea46..a1b22b9ec7 100644 --- a/patches/server/0344-Implement-Player-Client-Options-API.patch +++ b/patches/server/0344-Implement-Player-Client-Options-API.patch @@ -87,7 +87,7 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9bb7eafb72d5264a5c53a2f53dc60d94ec976431..df6fb7dd6015ce6e558a97598c822243dcc1c284 100644 +index a5291e17ab08d1ceeca0bb73f4c8fe433fcbd536..8110cdcdcf9513a71caae38abd235b690c64af2c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -359,7 +359,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0346-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0346-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch index 56b3cbc72f..76421f2a1a 100644 --- a/patches/server/0346-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch +++ b/patches/server/0346-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch @@ -31,7 +31,7 @@ delays anymore. public net.minecraft.server.level.ChunkMap addEntity(Lnet/minecraft/world/entity/Entity;)V diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 1709821c73362b2ae54681ec1d59b40bfa9335b3..68a1cc5f4f7f5997dfb7d40647e3e027c23ffb14 100644 +index 5732aded2e4dbeea84dbe6ebac71c2ad5ce4729a..d1247df5c51b0d377a27ea7cc5b5a2d1f1bf9b32 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1315,6 +1315,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -43,7 +43,7 @@ index 1709821c73362b2ae54681ec1d59b40bfa9335b3..68a1cc5f4f7f5997dfb7d40647e3e027 EntityType entitytypes = entity.getType(); int i = entitytypes.clientTrackingRange() * 16; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index df6fb7dd6015ce6e558a97598c822243dcc1c284..b808d9c710d6cd59ac34ea537f603fd4002073d0 100644 +index 8110cdcdcf9513a71caae38abd235b690c64af2c..21cb50ebcdd58a8c27a2f4277b6471ca63eaf971 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -288,6 +288,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0348-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0348-Add-PlayerAttackEntityCooldownResetEvent.patch index e7c7e02e1a..304ad615ed 100644 --- a/patches/server/0348-Add-PlayerAttackEntityCooldownResetEvent.patch +++ b/patches/server/0348-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 c5721045681bcd2db99eec42a1c1455515868af1..1886cebc32ded9c4e0c7409a4db6f78fcdf847ea 100644 +index 4210c822f067041833f9d3845806d5ecf50501ba..d475a0f36a7c302fc5cf23ab2ad6d0b835710abb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2248,7 +2248,16 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0351-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0351-Fix-item-duplication-and-teleport-issues.patch index 8c3120ae4c..2a7ff6fe57 100644 --- a/patches/server/0351-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0351-Fix-item-duplication-and-teleport-issues.patch @@ -69,7 +69,7 @@ index 2ce2926f4e3a79a1a329cdd684852970f6f104f2..b1d870b9a3b414ed49b4674afc2c6088 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 1886cebc32ded9c4e0c7409a4db6f78fcdf847ea..94c0de0a50e2a076e5aed86a673fe03d9698ba36 100644 +index d475a0f36a7c302fc5cf23ab2ad6d0b835710abb..96894dba3ddbf1d52266e5df0c280cc30d54d5de 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1717,9 +1717,9 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0387-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0387-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch index f6bb2bdc44..8f99a0e26e 100644 --- a/patches/server/0387-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch +++ b/patches/server/0387-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 94c0de0a50e2a076e5aed86a673fe03d9698ba36..a85321f1dc8b0bc4338bf5f23c5686c0ca733cec 100644 +index 96894dba3ddbf1d52266e5df0c280cc30d54d5de..3d4417af63e36c45175f8663f95c00ed9e9c6c5d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3630,7 +3630,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0396-Brand-support.patch b/patches/server/0396-Brand-support.patch index b00669312d..44eb18e93f 100644 --- a/patches/server/0396-Brand-support.patch +++ b/patches/server/0396-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b808d9c710d6cd59ac34ea537f603fd4002073d0..45d36070735cd7a8baee585165a95a169d7059b4 100644 +index 21cb50ebcdd58a8c27a2f4277b6471ca63eaf971..c6b2ea4eeb2d1e20266ff63c46aca0d0503f9b62 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -294,6 +294,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0435-Add-API-for-quit-reason.patch b/patches/server/0435-Add-API-for-quit-reason.patch index bd00466113..c4bac08ec9 100644 --- a/patches/server/0435-Add-API-for-quit-reason.patch +++ b/patches/server/0435-Add-API-for-quit-reason.patch @@ -28,7 +28,7 @@ index 134810ac91d828d67759cd1ed56f11b71e292917..ba41646a5edb57c4d9766df08bbc5701 Connection.LOGGER.debug("Failed to sent packet", throwable); if (this.getSending() == PacketFlow.CLIENTBOUND) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 45d36070735cd7a8baee585165a95a169d7059b4..2c24de44e48a1c55b81e2ecfb92c57e42546cc41 100644 +index c6b2ea4eeb2d1e20266ff63c46aca0d0503f9b62..483f03005552ea59bb8fb4641ffe4923aead9eeb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -295,6 +295,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0443-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0443-Climbing-should-not-bypass-cramming-gamerule.patch index 924f825c02..3ccfacc9e5 100644 --- a/patches/server/0443-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0443-Climbing-should-not-bypass-cramming-gamerule.patch @@ -44,7 +44,7 @@ index ee4495b67c46cf1282cdd6ad15b224b0b7b10bfb..e382a29b441b656f35bc24cb90f95cb4 } 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 a85321f1dc8b0bc4338bf5f23c5686c0ca733cec..f26f7760a2452af9b59c1b64d27700f56b32af97 100644 +index 3d4417af63e36c45175f8663f95c00ed9e9c6c5d..c16bc3afe2a1d90c761c43fc534a385009dd13db 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3544,7 +3544,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0488-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0488-Reset-shield-blocking-on-dimension-change.patch index 99b07ebe94..610bb5d52f 100644 --- a/patches/server/0488-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0488-Reset-shield-blocking-on-dimension-change.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2c24de44e48a1c55b81e2ecfb92c57e42546cc41..8afd1245316d9df8f1a1b45c669c9a8b7de77aa6 100644 +index 483f03005552ea59bb8fb4641ffe4923aead9eeb..0c51127d84ba4000c81b739a17606f085d0fd834 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1352,6 +1352,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0490-Add-EntityMoveEvent.patch b/patches/server/0490-Add-EntityMoveEvent.patch index 92edefe613..ed5994857e 100644 --- a/patches/server/0490-Add-EntityMoveEvent.patch +++ b/patches/server/0490-Add-EntityMoveEvent.patch @@ -29,7 +29,7 @@ index deabbf30a550ff1835530257177b8f47e4710414..6b2d00878a373680bc3d59e19ae11a2d public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunk(x, z, false); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f26f7760a2452af9b59c1b64d27700f56b32af97..d23b13c1d2f53aa1a9085576e4ebf5ccc768b92d 100644 +index c16bc3afe2a1d90c761c43fc534a385009dd13db..32ffca96dd3647f657bc63c212904c8d46324201 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3481,6 +3481,20 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0513-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0513-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index 2105436737..9263944a8d 100644 --- a/patches/server/0513-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0513-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 d23b13c1d2f53aa1a9085576e4ebf5ccc768b92d..55381753736e3ec4a84730f22731544cdddfcb29 100644 +index 32ffca96dd3647f657bc63c212904c8d46324201..32e82bd01bcbbedd6609a482be6c7f2f35fccc10 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3982,6 +3982,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0525-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0525-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch index 4aed00f28b..4b6b871ac2 100644 --- a/patches/server/0525-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch +++ b/patches/server/0525-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expand PlayerRespawnEvent, fix passed parameter issues Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8afd1245316d9df8f1a1b45c669c9a8b7de77aa6..1cc771bfecc8d86d103879fbef28dbf993a7903e 100644 +index 0c51127d84ba4000c81b739a17606f085d0fd834..70e7e94ceaf8e8142fedfd8a006deb36560fc339 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1197,7 +1197,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch index 42408d687f..4a75b94d12 100644 --- a/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0537-Expand-PlayerGameModeChangeEvent.patch @@ -45,7 +45,7 @@ index 7f09119bc7d661e08a960dd2bd46006efe752d3e..d1da3600dc07107309b20ebe6e7c0c4d } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1cc771bfecc8d86d103879fbef28dbf993a7903e..ff6a8a3977ec489a372c72323e6285c16f00bd7f 100644 +index 70e7e94ceaf8e8142fedfd8a006deb36560fc339..35cc5e6db0a860ddcc8b1eff1344f2a32df4bc88 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2087,10 +2087,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0558-Line-Of-Sight-Changes.patch b/patches/server/0558-Line-Of-Sight-Changes.patch index 688f2d72a3..3d75be636c 100644 --- a/patches/server/0558-Line-Of-Sight-Changes.patch +++ b/patches/server/0558-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 55381753736e3ec4a84730f22731544cdddfcb29..3bcc79b4f4d69ca7bbf1c8311869243853a19f3e 100644 +index 32e82bd01bcbbedd6609a482be6c7f2f35fccc10..9aa38a42d41a5092186c4eb6188752b5729796e9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3726,7 +3726,8 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0562-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0562-Fix-PlayerDropItemEvent-using-wrong-item.patch index 92eb8d5365..fa462a043a 100644 --- a/patches/server/0562-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0562-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -31,7 +31,7 @@ index c81fd3e1108fb0a02f9240263404af2b968c8494..0d9de4c61c7b26a6ff37c12fde629161 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ff6a8a3977ec489a372c72323e6285c16f00bd7f..90855f6929a0de660d0827aff41f466677d80e0b 100644 +index 35cc5e6db0a860ddcc8b1eff1344f2a32df4bc88..997bea27d9aba6b10352e25f84b06caec4d56e01 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2483,7 +2483,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch index e5a45438bf..99330c396b 100644 --- a/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 90855f6929a0de660d0827aff41f466677d80e0b..db04b3dcd83599042c02566b533a8ec0c9f0fcd4 100644 +index 997bea27d9aba6b10352e25f84b06caec4d56e01..1bcaf0c663070364c36f00a912c85fe0fca07f53 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -289,7 +289,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0570-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0570-Don-t-apply-cramming-damage-to-players.patch index 035356d2ad..8912e212bd 100644 --- a/patches/server/0570-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0570-Don-t-apply-cramming-damage-to-players.patch @@ -11,7 +11,7 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index db04b3dcd83599042c02566b533a8ec0c9f0fcd4..0b2d9f069a5f4aa77a267a2df92b87817c503691 100644 +index 1bcaf0c663070364c36f00a912c85fe0fca07f53..0ea096ce4105e14729f12167a3ff1e62dd37971f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -95,6 +95,7 @@ import net.minecraft.util.Mth; diff --git a/patches/server/0577-Add-PlayerSetSpawnEvent.patch b/patches/server/0577-Add-PlayerSetSpawnEvent.patch index b0e5115164..7f17515fc9 100644 --- a/patches/server/0577-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0577-Add-PlayerSetSpawnEvent.patch @@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..15db9368227dbc29d07d74e85bd126b3 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0b2d9f069a5f4aa77a267a2df92b87817c503691..bc0a26cfbc5e1d21880f976c6bd4d0e30b277767 100644 +index 0ea096ce4105e14729f12167a3ff1e62dd37971f..08390a3608513a2172f5a5415b147af2369c8e6c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1425,7 +1425,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0602-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0602-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 4dc769ac68..60586a4459 100644 --- a/patches/server/0602-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0602-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -28,7 +28,7 @@ index efc27bb4072172f10839c181de9b5fba1f488b6f..4c739717fcf53b28312e8a98f9bf0989 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bc0a26cfbc5e1d21880f976c6bd4d0e30b277767..586f9bda04a74990b3eebbd2a52dcdb7273e8484 100644 +index 08390a3608513a2172f5a5415b147af2369c8e6c..d31319cba4cb5698c63bacbdbdb91a800affc5e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1718,6 +1718,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0604-Improve-and-expand-AsyncCatcher.patch b/patches/server/0604-Improve-and-expand-AsyncCatcher.patch index 810f7e260b..91741ab2cc 100644 --- a/patches/server/0604-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0604-Improve-and-expand-AsyncCatcher.patch @@ -29,7 +29,7 @@ index 83b0df341f4be1191191718e871dac6842d4a31a..c501f30418767678f9da2b54666da0d3 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 3bcc79b4f4d69ca7bbf1c8311869243853a19f3e..e54e41f2a94b19f9df3d087f88a2ceb6fc52d1dc 100644 +index 9aa38a42d41a5092186c4eb6188752b5729796e9..01bf2ae30885aefa7cd1ba3c79be4860bc355640 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1121,7 +1121,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0613-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0613-Oprimise-map-impl-for-tracked-players.patch index 2cadeeb2a0..ad5326c8f4 100644 --- a/patches/server/0613-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0613-Oprimise-map-impl-for-tracked-players.patch @@ -7,7 +7,7 @@ Reference2BooleanOpenHashMap is going to have better lookups than HashMap. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 68a1cc5f4f7f5997dfb7d40647e3e027c23ffb14..77f064fb4437c1d98cf91dde98d4d88b28afa7c8 100644 +index d1247df5c51b0d377a27ea7cc5b5a2d1f1bf9b32..cf7c7813d528429a18dc25051df7fc06dc159930 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1529,7 +1529,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0621-Ensure-valid-vehicle-status.patch b/patches/server/0621-Ensure-valid-vehicle-status.patch index 223892323b..80ece6b202 100644 --- a/patches/server/0621-Ensure-valid-vehicle-status.patch +++ b/patches/server/0621-Ensure-valid-vehicle-status.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure valid vehicle status diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 586f9bda04a74990b3eebbd2a52dcdb7273e8484..279c323bc2c2658fa1848d0c98f0614fbeb97e99 100644 +index d31319cba4cb5698c63bacbdbdb91a800affc5e5..640c7c5076267f58bb8f16e9b151a6eb862dec7a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -576,7 +576,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0634-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0634-Prevent-excessive-velocity-through-repeated-crits.patch index 36662e4adc..6cad6a1123 100644 --- a/patches/server/0634-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0634-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 e54e41f2a94b19f9df3d087f88a2ceb6fc52d1dc..65ab2a1e47d9f338dbb13062d25f6c9a3d5cc7ff 100644 +index 01bf2ae30885aefa7cd1ba3c79be4860bc355640..7aa26994e5740399ebe560840c5e0e8693a1d5de 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2744,17 +2744,29 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch index 80c053acc6..148e6899d1 100644 --- a/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch +++ b/patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch @@ -44,10 +44,10 @@ index 12b7d50f49a2184aaf220a4a50a137b217c57124..f1237f6fd6414900ffbad0caee31aa83 public void close() throws IOException { ByteBuffer bytebuffer = ByteBuffer.wrap(this.buf, 0, this.count); diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -index 491035aaefff4ee96435ec5d3f9417e28eae0796..4c1212c6ef48594e766fa9e35a6e15916602d587 100644 +index 7d4aa3d375bde32e0d2606346202929d481acad0..36e914b26de070035f195f67c65ee1df0d10daf0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -@@ -147,10 +147,17 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -147,10 +147,17 @@ public class RegionFileStorage implements AutoCloseable { try { NbtIo.write(nbt, (DataOutput) dataoutputstream); @@ -66,7 +66,7 @@ index 491035aaefff4ee96435ec5d3f9417e28eae0796..4c1212c6ef48594e766fa9e35a6e1591 } catch (Throwable throwable1) { throwable.addSuppressed(throwable1); } -@@ -158,10 +165,7 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -158,10 +165,7 @@ public class RegionFileStorage implements AutoCloseable { throw throwable; } @@ -78,7 +78,7 @@ index 491035aaefff4ee96435ec5d3f9417e28eae0796..4c1212c6ef48594e766fa9e35a6e1591 } // Paper start - Chunk save reattempt return; -@@ -208,4 +212,13 @@ public final class RegionFileStorage implements AutoCloseable { +@@ -208,4 +212,13 @@ public class RegionFileStorage implements AutoCloseable { public RegionStorageInfo info() { return this.info; } diff --git a/patches/server/0663-Freeze-Tick-Lock-API.patch b/patches/server/0663-Freeze-Tick-Lock-API.patch index 7d9fe3a50a..b8d9e5813b 100644 --- a/patches/server/0663-Freeze-Tick-Lock-API.patch +++ b/patches/server/0663-Freeze-Tick-Lock-API.patch @@ -46,7 +46,7 @@ index 038c22d09818c9a8310a8457d87b7e61119bb0dd..ad049687cd6c6c98bd08b512c6233b72 } 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 65ab2a1e47d9f338dbb13062d25f6c9a3d5cc7ff..60394f1b0e727d6dec4af37b452a6312eb3ae375 100644 +index 7aa26994e5740399ebe560840c5e0e8693a1d5de..547ab66ef905767ed0e7a1b10046070630de711b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3468,7 +3468,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0683-More-Projectile-API.patch b/patches/server/0683-More-Projectile-API.patch index 895b0e5e0b..673260ed45 100644 --- a/patches/server/0683-More-Projectile-API.patch +++ b/patches/server/0683-More-Projectile-API.patch @@ -733,10 +733,10 @@ index e0c1eab089fff724e029ed8109a653403e15fc77..877990d391432f144e0013679aca8c9c } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 9cf035486cedfc2e3ba522416e8fea3ad01cfec5..80423156c5582b07911561d29ec494dc03a57f07 100644 +index 52622ed31fe2f3616a53681030cc01517b63e7ab..7fd33fa4b3b0d9faf603c0f17ecd035e5a620bb1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -295,12 +295,22 @@ public final class CraftItemStack extends ItemStack { +@@ -306,12 +306,22 @@ public final class CraftItemStack extends ItemStack { public ItemMeta getItemMeta() { return CraftItemStack.getItemMeta(this.handle); } diff --git a/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch index 272defd685..e0e016beb1 100644 --- a/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch +++ b/patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 279c323bc2c2658fa1848d0c98f0614fbeb97e99..660dd568ba30037170db1abc470e91c9af614f4c 100644 +index 640c7c5076267f58bb8f16e9b151a6eb862dec7a..4b3c53406ee9a420c997d75e996c5a3d82300b0c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -961,12 +961,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0707-Add-PlayerStopUsingItemEvent.patch b/patches/server/0707-Add-PlayerStopUsingItemEvent.patch index 04edb2a7fb..fde5fa1e6a 100644 --- a/patches/server/0707-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0707-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 60394f1b0e727d6dec4af37b452a6312eb3ae375..81302c76a8a104a52a162caf9f6a46b31ba76819 100644 +index 547ab66ef905767ed0e7a1b10046070630de711b..5775ab650946548cc90c09da39fa8baf0dfb4f2e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -4044,6 +4044,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch index 1779f26007..565ab435d6 100644 --- a/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch +++ b/patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch @@ -24,7 +24,7 @@ index 01b8f7024fbc965bc6a7f97f79ba3dec964ef769..801823d003a8e28a13fe90db4604cd09 } else { BlockPos blockPos = BlockPos.containing(x, y, z); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 660dd568ba30037170db1abc470e91c9af614f4c..015db96646c603fb4d9b3b9ceb8853f680332944 100644 +index 4b3c53406ee9a420c997d75e996c5a3d82300b0c..44f7a8e71f1a4e43a7ecc169d3b6c41bc146c08b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1390,6 +1390,12 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch index 8fa0fba1ff..83fe0e5640 100644 --- a/patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch +++ b/patches/server/0743-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 81302c76a8a104a52a162caf9f6a46b31ba76819..0f330b53fb62907a79b436ce90a1466e33375b3a 100644 +index 5775ab650946548cc90c09da39fa8baf0dfb4f2e..680695f5827d541bd9ec64721dd3067101843a48 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3129,37 +3129,15 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch index 2990ef17bd..881132c6fa 100644 --- a/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch @@ -85,7 +85,7 @@ index 6854ca4d4fec2b4fa541c3fabf63787665572609..e7b444a10b244828827b3c66c5346520 } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 77f064fb4437c1d98cf91dde98d4d88b28afa7c8..ccbd527803a2a4e911a01f815cc9c7ab785af836 100644 +index cf7c7813d528429a18dc25051df7fc06dc159930..ef46d904fa49a779c235971883380b3e33e6dba1 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1091,7 +1091,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch index 125ea58f8c..b8b08a3592 100644 --- a/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 015db96646c603fb4d9b3b9ceb8853f680332944..319b1a60f2e0b26713c56f989a4759840e11961e 100644 +index 44f7a8e71f1a4e43a7ecc169d3b6c41bc146c08b..b8436860aa301baf3f4b9c45d947812fec566751 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -352,6 +352,25 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0777-check-global-player-list-where-appropriate.patch b/patches/server/0777-check-global-player-list-where-appropriate.patch index 327b50b5f3..412ae0a7f3 100644 --- a/patches/server/0777-check-global-player-list-where-appropriate.patch +++ b/patches/server/0777-check-global-player-list-where-appropriate.patch @@ -24,7 +24,7 @@ index 15607da2883653cd757a3220ddf79833afd39330..b9d3a98824fc146128f35244f5f15bba + // Paper end - check global player list where appropriate } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0f330b53fb62907a79b436ce90a1466e33375b3a..795a3f09c7ee0a1119dd5762ce097c72a41cad94 100644 +index 680695f5827d541bd9ec64721dd3067101843a48..7f7e1054b57a25a004ab70ee9bac02602a38e8f4 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3694,7 +3694,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0780-Friction-API.patch b/patches/server/0780-Friction-API.patch index a38fc99323..b52a8fdcd1 100644 --- a/patches/server/0780-Friction-API.patch +++ b/patches/server/0780-Friction-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Friction API diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 795a3f09c7ee0a1119dd5762ce097c72a41cad94..1d414e243562397703519f84269dd3e37a5b27a0 100644 +index 7f7e1054b57a25a004ab70ee9bac02602a38e8f4..f1e61796d54bcdf797b9350623fb61eabfd9d12d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0783-Sync-offhand-slot-in-menus.patch b/patches/server/0783-Sync-offhand-slot-in-menus.patch index 49ce07c459..02fc790cef 100644 --- a/patches/server/0783-Sync-offhand-slot-in-menus.patch +++ b/patches/server/0783-Sync-offhand-slot-in-menus.patch @@ -8,7 +8,7 @@ offhand slot isn't sent. This is not correct because you *can* put stuff into th by pressing the offhand swap item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 319b1a60f2e0b26713c56f989a4759840e11961e..e16474c6c4a371070a81324037a441e6bafbb78e 100644 +index b8436860aa301baf3f4b9c45d947812fec566751..58e7bb57ef9915cf9c497ad53e67e95535291ddd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -321,6 +321,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0784-Player-Entity-Tracking-Events.patch b/patches/server/0784-Player-Entity-Tracking-Events.patch index bdc7e8779e..4b16731def 100644 --- a/patches/server/0784-Player-Entity-Tracking-Events.patch +++ b/patches/server/0784-Player-Entity-Tracking-Events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player Entity Tracking Events diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index ccbd527803a2a4e911a01f815cc9c7ab785af836..e2521e1a56df8dcb1de815e5973de952408d3b8b 100644 +index ef46d904fa49a779c235971883380b3e33e6dba1..8eae75993ad60226a86456487f3b3a59999ab423 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1601,7 +1601,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch index d293455678..2bb49f6ef4 100644 --- a/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch @@ -22,7 +22,7 @@ This patch corrects this behaviour by only shrinking the item if a totem of undying was found and the event was called uncancelled. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1d414e243562397703519f84269dd3e37a5b27a0..1a44fa4a9a6f620e63a4105ac992795d58d6967a 100644 +index f1e61796d54bcdf797b9350623fb61eabfd9d12d..a0953db6207864208c97a0c0b961424baedc6be7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1621,7 +1621,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch index 299b77830e..04050cfc0f 100644 --- a/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch +++ b/patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch @@ -16,10 +16,10 @@ with less than zero amounts, so this code doesn't create a problem with operations on the vanilla ItemStack. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 80423156c5582b07911561d29ec494dc03a57f07..1abef66189f3340e6dba7f73b9517044ae9be6e6 100644 +index 7fd33fa4b3b0d9faf603c0f17ecd035e5a620bb1..f6f08debfa85e39225463125279e8113999cbcf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -160,7 +160,7 @@ public final class CraftItemStack extends ItemStack { +@@ -163,7 +163,7 @@ public final class CraftItemStack extends ItemStack { } this.handle.setCount(amount); diff --git a/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch index 08f1ac5d29..3ad297e9ed 100644 --- a/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch @@ -23,7 +23,7 @@ index 2ebbf7954dc5e0d6c9d53327d05b725eec310086..c5bd2e90ad74ba08910f65a2e07b6f76 return !this.getResponse(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 1a44fa4a9a6f620e63a4105ac992795d58d6967a..54bb93eae61ed223a9287671f5d47d978170824f 100644 +index a0953db6207864208c97a0c0b961424baedc6be7..17d567f7555c155949d70a8d3365a883c244c981 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2359,7 +2359,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch index cb7401f59f..5305d85742 100644 --- a/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch +++ b/patches/server/0846-fix-item-meta-for-tadpole-buckets.patch @@ -17,10 +17,10 @@ index e1605d97bbcdbb8903d78848c7b98b44fec34705..5f8dd54596aa90e45ed430be699b1d41 case GLOW_ITEM_FRAME: case PAINTING: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 1abef66189f3340e6dba7f73b9517044ae9be6e6..099b5364aa16afb4fb30ffca3e1bea8f52185150 100644 +index f6f08debfa85e39225463125279e8113999cbcf3..fa5639fca9298738e73f12f1225d9c3a3e7a7055 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -604,6 +604,7 @@ public final class CraftItemStack extends ItemStack { +@@ -615,6 +615,7 @@ public final class CraftItemStack extends ItemStack { case COD_BUCKET: case PUFFERFISH_BUCKET: case SALMON_BUCKET: diff --git a/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch index a437b50f0f..3c28b2c60f 100644 --- a/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch +++ b/patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable entity tracking range by Y coordinate Options to configure entity tracking by Y coordinate, also for each entity category. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index e2521e1a56df8dcb1de815e5973de952408d3b8b..6c5557aad2455b79bb2adf8939eb9a6127ccc3c3 100644 +index 8eae75993ad60226a86456487f3b3a59999ab423..38df456d3646c384d17ae9aec60c18fcd0651b4b 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1593,6 +1593,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0885-Fix-inventory-desync.patch b/patches/server/0885-Fix-inventory-desync.patch index 9c73c10742..4163acd104 100644 --- a/patches/server/0885-Fix-inventory-desync.patch +++ b/patches/server/0885-Fix-inventory-desync.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix inventory desync diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e16474c6c4a371070a81324037a441e6bafbb78e..d52b6fcaf59a798925c32076fc6ecd8ba822bf48 100644 +index 58e7bb57ef9915cf9c497ad53e67e95535291ddd..c31d5459cdee1ba6ebb68bcf9785f98234ab5594 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -402,6 +402,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch index 27263030ca..f238f3db79 100644 --- a/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add titleOverride to InventoryOpenEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d52b6fcaf59a798925c32076fc6ecd8ba822bf48..82906acbaa7e34de7519f15559bf40772f0f6ff2 100644 +index c31d5459cdee1ba6ebb68bcf9785f98234ab5594..1e0089b379d0d01d119f385916cc4b3d8b04bae6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1659,12 +1659,17 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { diff --git a/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch index e92d0f41f5..62401e7f99 100644 --- a/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch +++ b/patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow proper checking of empty item stacks diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 099b5364aa16afb4fb30ffca3e1bea8f52185150..0774711e3797c10526c65b7e5824a739c04597e7 100644 +index fa5639fca9298738e73f12f1225d9c3a3e7a7055..b5902c2262b59ffd321bf8b9324d7946d0fda305 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -36,12 +36,19 @@ public final class CraftItemStack extends ItemStack { +@@ -39,12 +39,19 @@ public final class CraftItemStack extends ItemStack { } // Paper end - MC Utils diff --git a/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch index 109e1a443b..43404ba162 100644 --- a/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch +++ b/patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't check if we can see non-visible entities diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 6c5557aad2455b79bb2adf8939eb9a6127ccc3c3..469f1dcb22c06025681e727e281b5b53f2b21c1f 100644 +index 38df456d3646c384d17ae9aec60c18fcd0651b4b..cf4517e57169856acd0782e5ced4eb8c045b8d78 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1604,7 +1604,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch index c44c689c19..dc40dd2151 100644 --- a/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch +++ b/patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Broadcast take item packets with collector as source This fixes players (which can't view the collector) seeing item pickups with themselves as the target. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 54bb93eae61ed223a9287671f5d47d978170824f..a4940a6dccb6937a2461d7b34a9250c2699083e3 100644 +index 17d567f7555c155949d70a8d3365a883c244c981..25af0dd807e258453ae419abcb6dcc245b997bb7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3720,7 +3720,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch index bf517c0fe1..29872895d1 100644 --- a/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch @@ -68,7 +68,7 @@ index 5fb3279342506611882b5780cfbee0371919c93c..b98f9246b60daf31460f41ce214dfa7c }, () -> { EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a4940a6dccb6937a2461d7b34a9250c2699083e3..ca3d2ce80eb65e732429ead7128d7eba5d2faeee 100644 +index 25af0dd807e258453ae419abcb6dcc245b997bb7..bfbdc0f4a707e81c6d62ebb208b97def186e6e73 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1137,6 +1137,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch index f2771c2261..258b8c23f3 100644 --- a/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0922-Restore-vanilla-entity-drops-behavior.patch @@ -9,7 +9,7 @@ on dropping the item instead of generalizing it for all dropped items like CB does. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 82906acbaa7e34de7519f15559bf40772f0f6ff2..586347e0ab845188969adeafec28e73841858564 100644 +index 1e0089b379d0d01d119f385916cc4b3d8b04bae6..c39ba9d193122d08d3bf43bf3e148e98aa1a57e2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -978,22 +978,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @@ -104,7 +104,7 @@ index b425a0b309af4603b5341bff1b6c978121257c64..44c56b4e48d4d884db4bfed04d1b0f3f return this.spawnAtLocation(entityitem); } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ca3d2ce80eb65e732429ead7128d7eba5d2faeee..73a6ceef98f94ec801c14ca6d3c33f801b2ae442 100644 +index bfbdc0f4a707e81c6d62ebb208b97def186e6e73..4bb6788adb78b8ac5ebbb1f7bea2c623d60990a0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -278,7 +278,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch index a16bdcd013..1c9f726e07 100644 --- a/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch +++ b/patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch @@ -26,7 +26,7 @@ index a306b30af19277386a2f3e560b4902a8b5796f2a..54851f6cc0d5fddb32a9a1e84a4f5ae4 x = to.getX(); y = to.getY(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 73a6ceef98f94ec801c14ca6d3c33f801b2ae442..0e8888ca5f8cde764efa9e2cda8c59e9ecb3190c 100644 +index 4bb6788adb78b8ac5ebbb1f7bea2c623d60990a0..bc8ee398dfe4fb15cb513e52dd3da7347be0544a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -4200,7 +4200,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0928-Add-drops-to-shear-events.patch b/patches/server/0928-Add-drops-to-shear-events.patch index cdea107841..fad646e19c 100644 --- a/patches/server/0928-Add-drops-to-shear-events.patch +++ b/patches/server/0928-Add-drops-to-shear-events.patch @@ -306,10 +306,10 @@ index 54c9c19d773df01b0004da6587f7c7a388e61c21..a4ea5d942eb61ee733eb1b8b4a3c50fb public static Cancellable handleStatisticsIncrease(net.minecraft.world.entity.player.Player entityHuman, net.minecraft.stats.Stat statistic, int current, int newValue) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 0774711e3797c10526c65b7e5824a739c04597e7..94adc5c827c69f3cca08404faf0764ae91a9d1df 100644 +index b5902c2262b59ffd321bf8b9324d7946d0fda305..1740b24516193a918623467ce88df3ad60814e28 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -65,6 +65,16 @@ public final class CraftItemStack extends ItemStack { +@@ -68,6 +68,16 @@ public final class CraftItemStack extends ItemStack { return stack; } diff --git a/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch index 46d92fed6d..3500a62b66 100644 --- a/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch +++ b/patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch @@ -66,7 +66,7 @@ index b98f9246b60daf31460f41ce214dfa7c011f5684..842b0cec0397d7ae5166617627340ffa @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0e8888ca5f8cde764efa9e2cda8c59e9ecb3190c..d535bb7adff273c9d4cdaac73f7dfe5bbd663c15 100644 +index bc8ee398dfe4fb15cb513e52dd3da7347be0544a..d89f6f6546b351334eb99e7dc554262fc86329a8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -886,11 +886,13 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch index 86bd3e7f29..357d185f0a 100644 --- a/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch +++ b/patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch @@ -18,7 +18,7 @@ index a043ac10834562d357ef0b5aded2e916e2a0d056..74276c368016fcc4dbf9579b2ecbadc9 @VisibleForTesting static long encode(double value) { diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 469f1dcb22c06025681e727e281b5b53f2b21c1f..2ce7da9707d7c1a48b5609ae51a516d599d7aee8 100644 +index cf4517e57169856acd0782e5ced4eb8c045b8d78..6129720c9da217745fcd281186de7894597c267c 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1587,10 +1587,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0946-Deprecate-ItemStack-setType.patch b/patches/server/0946-Deprecate-ItemStack-setType.patch index dd1ebf415a..a909fcfb22 100644 --- a/patches/server/0946-Deprecate-ItemStack-setType.patch +++ b/patches/server/0946-Deprecate-ItemStack-setType.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate ItemStack#setType diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 94adc5c827c69f3cca08404faf0764ae91a9d1df..f6e84cccb0e805f73efe2c9625986c94099bb0d4 100644 +index 1740b24516193a918623467ce88df3ad60814e28..6816f32ba7bd2e639901330057dfd9a3f2ed0caf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -711,4 +711,24 @@ public final class CraftItemStack extends ItemStack { +@@ -722,4 +722,24 @@ public final class CraftItemStack extends ItemStack { static boolean hasItemMeta(net.minecraft.world.item.ItemStack item) { return !(item == null || item.getComponentsPatch().isEmpty()); } diff --git a/patches/server/0966-Fix-shield-disable-inconsistency.patch b/patches/server/0966-Fix-shield-disable-inconsistency.patch index 4e5bb64de4..5653036c7f 100644 --- a/patches/server/0966-Fix-shield-disable-inconsistency.patch +++ b/patches/server/0966-Fix-shield-disable-inconsistency.patch @@ -8,7 +8,7 @@ it will not disable the shield if the attacker is holding an axe item. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index d535bb7adff273c9d4cdaac73f7dfe5bbd663c15..890d453fa5ee4b167ec83cce8e2882e2e4585b14 100644 +index d89f6f6546b351334eb99e7dc554262fc86329a8..e01090e078373f24e158a2dad0d0641ad0403d4d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2325,7 +2325,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch index bfa6943204..4e3efb9b25 100644 --- a/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch +++ b/patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Revert to vanilla handling of LivingEntity#actuallyHurt diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 890d453fa5ee4b167ec83cce8e2882e2e4585b14..81b70e2dcf31ef651256a0ddf928c6370458c3dd 100644 +index e01090e078373f24e158a2dad0d0641ad0403d4d..3a23338e07afa8554d95729a98d731a02dbfcad7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2210,7 +2210,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch index f47891b8bc..955dfaca5d 100644 --- a/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch +++ b/patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] improve checking handled tags in itemmeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b891ef7c458 100644 +index 6816f32ba7bd2e639901330057dfd9a3f2ed0caf..886f86bd20f6d2fea954d7d01bb05311bc3ec4d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -156,10 +156,11 @@ public final class CraftItemStack extends ItemStack { +@@ -159,10 +159,11 @@ public final class CraftItemStack extends ItemStack { } else if (this.handle == null) { this.handle = new net.minecraft.world.item.ItemStack(CraftItemType.bukkitToMinecraft(type), 1); } else { @@ -21,7 +21,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 } } this.setData(null); -@@ -312,6 +313,19 @@ public final class CraftItemStack extends ItemStack { +@@ -323,6 +324,19 @@ public final class CraftItemStack extends ItemStack { public ItemMeta getItemMeta() { return CraftItemStack.getItemMeta(this.handle); } @@ -41,7 +41,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 // Paper start public static void applyMetaToItem(net.minecraft.world.item.ItemStack itemStack, ItemMeta itemMeta) { final CraftMetaItem.Applicator tag = new CraftMetaItem.Applicator(); -@@ -324,14 +338,19 @@ public final class CraftItemStack extends ItemStack { +@@ -335,14 +349,19 @@ public final class CraftItemStack extends ItemStack { } public static ItemMeta getItemMeta(net.minecraft.world.item.ItemStack item, Material material) { // Paper end @@ -63,7 +63,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case CREEPER_HEAD: case CREEPER_WALL_HEAD: case DRAGON_HEAD: -@@ -346,7 +365,7 @@ public final class CraftItemStack extends ItemStack { +@@ -357,7 +376,7 @@ public final class CraftItemStack extends ItemStack { case WITHER_SKELETON_WALL_SKULL: case ZOMBIE_HEAD: case ZOMBIE_WALL_HEAD: @@ -72,7 +72,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case CHAINMAIL_HELMET: case CHAINMAIL_CHESTPLATE: case CHAINMAIL_LEGGINGS: -@@ -368,28 +387,28 @@ public final class CraftItemStack extends ItemStack { +@@ -379,28 +398,28 @@ public final class CraftItemStack extends ItemStack { case NETHERITE_LEGGINGS: case NETHERITE_BOOTS: case TURTLE_HELMET: @@ -109,7 +109,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case BLACK_BANNER: case BLACK_WALL_BANNER: case BLUE_BANNER: -@@ -422,7 +441,7 @@ public final class CraftItemStack extends ItemStack { +@@ -433,7 +452,7 @@ public final class CraftItemStack extends ItemStack { case WHITE_WALL_BANNER: case YELLOW_BANNER: case YELLOW_WALL_BANNER: @@ -118,7 +118,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case ARMADILLO_SPAWN_EGG: case ALLAY_SPAWN_EGG: case AXOLOTL_SPAWN_EGG: -@@ -503,11 +522,11 @@ public final class CraftItemStack extends ItemStack { +@@ -514,11 +533,11 @@ public final class CraftItemStack extends ItemStack { case ZOMBIE_SPAWN_EGG: case ZOMBIE_VILLAGER_SPAWN_EGG: case ZOMBIFIED_PIGLIN_SPAWN_EGG: @@ -133,7 +133,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case FURNACE: case CHEST: case TRAPPED_CHEST: -@@ -609,15 +628,15 @@ public final class CraftItemStack extends ItemStack { +@@ -620,15 +639,15 @@ public final class CraftItemStack extends ItemStack { case CRAFTER: case TRIAL_SPAWNER: case VAULT: @@ -154,7 +154,7 @@ index f6e84cccb0e805f73efe2c9625986c94099bb0d4..3c0d3faddcfcba74d90e1d5fccb60b89 case COD_BUCKET: case PUFFERFISH_BUCKET: case SALMON_BUCKET: -@@ -625,17 +644,17 @@ public final class CraftItemStack extends ItemStack { +@@ -636,17 +655,17 @@ public final class CraftItemStack extends ItemStack { case ITEM_FRAME: case GLOW_ITEM_FRAME: case PAINTING: diff --git a/patches/server/0973-General-ItemMeta-fixes.patch b/patches/server/0973-General-ItemMeta-fixes.patch index 4f8cacd3ea..ee7ee45e11 100644 --- a/patches/server/0973-General-ItemMeta-fixes.patch +++ b/patches/server/0973-General-ItemMeta-fixes.patch @@ -66,10 +66,10 @@ index 397eb1a101bd60f49dbb2fa8eddf28f6f233167f..2c61e8d5bbab59c691f4cb003041e7e5 protected void load(T tileEntity) { if (tileEntity != null && tileEntity != this.snapshot) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 3c0d3faddcfcba74d90e1d5fccb60b891ef7c458..ddaa96a313bc92249f240deec1796150adc5d3aa 100644 +index 886f86bd20f6d2fea954d7d01bb05311bc3ec4d9..42549c7e5c803e0fdcc0243e847d5d17c0aae18a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -328,7 +328,14 @@ public final class CraftItemStack extends ItemStack { +@@ -339,7 +339,14 @@ public final class CraftItemStack extends ItemStack { // Paper end - improve handled tags on type change // Paper start public static void applyMetaToItem(net.minecraft.world.item.ItemStack itemStack, ItemMeta itemMeta) { @@ -85,7 +85,7 @@ index 3c0d3faddcfcba74d90e1d5fccb60b891ef7c458..ddaa96a313bc92249f240deec1796150 ((CraftMetaItem) itemMeta).applyToItem(tag); itemStack.applyComponents(tag.build()); } -@@ -683,15 +690,20 @@ public final class CraftItemStack extends ItemStack { +@@ -694,15 +701,20 @@ public final class CraftItemStack extends ItemStack { if (itemMeta == null) return true; if (!((CraftMetaItem) itemMeta).isEmpty()) { diff --git a/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch index bac1de123c..b1d8b519d5 100644 --- a/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch @@ -214,7 +214,7 @@ index addf6f02980f0089763c8119623dff6c01259950..ea0fc33d12a2147db71347c88df1df6c } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 81b70e2dcf31ef651256a0ddf928c6370458c3dd..0a9fe513df3afc50baae656bf6a9b2a6122465c1 100644 +index 3a23338e07afa8554d95729a98d731a02dbfcad7..23ce3f5fefceaeff5011f91f04ec8b200a503d21 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3322,7 +3322,7 @@ public abstract class LivingEntity extends Entity implements Attackable {