aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-06-14 13:07:50 +0200
committerNassim Jahnke <[email protected]>2024-06-14 13:07:50 +0200
commit3c04f9f668c3a42cb294c5e55a846793894312e5 (patch)
treec762ee49a5c4d13de6e2fffb70ca2193dd8a2905
parent6a34750160dd86201db605210eb638eb33d897a1 (diff)
downloadPaper-3c04f9f668c3a42cb294c5e55a846793894312e5.tar.gz
Paper-3c04f9f668c3a42cb294c5e55a846793894312e5.zip
Fix a few compile errors
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/DamageTypeKeys.java2
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/EnchantmentKeys.java4
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/MobEffectKeys.java8
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/StructureKeys.java2
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/TrimPatternKeys.java3
-rw-r--r--patches/api/0108-ItemStack-getMaxItemUseDuration.patch22
-rw-r--r--patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch6
-rw-r--r--patches/api/0171-Fix-Spigot-annotation-mistakes.patch8
-rw-r--r--patches/api/0187-Add-Raw-Byte-ItemStack-Serialization.patch4
-rw-r--r--patches/api/0207-Add-methods-to-get-translation-keys.patch8
-rw-r--r--patches/api/0259-Improve-Item-Rarity-API.patch4
-rw-r--r--patches/api/0277-ItemStack-repair-check-API.patch4
-rw-r--r--patches/api/0280-ItemStack-editMeta.patch4
-rw-r--r--patches/api/0346-Add-enchantWithLevels-API.patch4
-rw-r--r--patches/api/0382-ItemStack-damage-API.patch4
-rw-r--r--patches/api/0428-Allow-proper-checking-of-empty-item-stacks.patch4
-rw-r--r--patches/api/0436-Remove-unnecessary-durability-check-in-ItemStack-isS.patch4
-rw-r--r--patches/api/0438-add-missing-Experimental-annotations.patch145
-rw-r--r--patches/api/0440-Improve-Registry.patch4
-rw-r--r--patches/api/0452-ItemStack-Tooltip-API.patch4
-rw-r--r--patches/api/0462-Deprecate-ItemStack-setType.patch6
-rw-r--r--patches/api/0468-Fix-ItemFlags.patch4
-rw-r--r--patches/api/0473-Add-missing-wind-charge-damage-type.patch8
-rw-r--r--patches/api/0480-Allow-to-define-new-map-cursor-types.patch4
-rw-r--r--patches/server/0009-MC-Utils.patch2
-rw-r--r--patches/server/0023-Timings-v2.patch2
-rw-r--r--patches/server/0066-Chunk-Save-Reattempt.patch6
-rw-r--r--patches/server/0082-Sanitise-RegionFileCache-and-make-configurable.patch4
-rw-r--r--patches/server/0157-Add-PlayerArmorChangeEvent.patch4
-rw-r--r--patches/server/0165-PlayerNaturallySpawnCreaturesEvent.patch2
-rw-r--r--patches/server/0194-ItemStack-getMaxItemUseDuration.patch34
-rw-r--r--patches/server/0200-Make-shield-blocking-delay-configurable.patch2
-rw-r--r--patches/server/0203-Add-entity-knockback-events.patch2
-rw-r--r--patches/server/0227-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch2
-rw-r--r--patches/server/0242-Add-ray-tracing-methods-to-LivingEntity.patch2
-rw-r--r--patches/server/0244-Improve-death-events.patch2
-rw-r--r--patches/server/0254-Add-LivingEntity-getTargetEntity.patch2
-rw-r--r--patches/server/0269-force-entity-dismount-during-teleportation.patch2
-rw-r--r--patches/server/0287-PlayerDeathEvent-getItemsToKeep.patch4
-rw-r--r--patches/server/0299-Prevent-consuming-the-wrong-itemstack.patch2
-rw-r--r--patches/server/0305-PlayerDeathEvent-shouldDropExperience.patch2
-rw-r--r--patches/server/0313-Tracking-Range-Improvements.patch2
-rw-r--r--patches/server/0320-Entity-Jump-API.patch2
-rw-r--r--patches/server/0332-Pillager-patrol-spawn-settings-and-per-player-option.patch2
-rw-r--r--patches/server/0335-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch2
-rw-r--r--patches/server/0336-Don-t-tick-dead-players.patch2
-rw-r--r--patches/server/0338-Don-t-move-existing-players-to-world-spawn.patch2
-rw-r--r--patches/server/0342-Prevent-opening-inventories-when-frozen.patch2
-rw-r--r--patches/server/0343-Don-t-run-entity-collision-code-if-not-needed.patch2
-rw-r--r--patches/server/0344-Implement-Player-Client-Options-API.patch2
-rw-r--r--patches/server/0346-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch4
-rw-r--r--patches/server/0348-Add-PlayerAttackEntityCooldownResetEvent.patch2
-rw-r--r--patches/server/0351-Fix-item-duplication-and-teleport-issues.patch2
-rw-r--r--patches/server/0387-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch2
-rw-r--r--patches/server/0396-Brand-support.patch2
-rw-r--r--patches/server/0435-Add-API-for-quit-reason.patch2
-rw-r--r--patches/server/0443-Climbing-should-not-bypass-cramming-gamerule.patch2
-rw-r--r--patches/server/0488-Reset-shield-blocking-on-dimension-change.patch2
-rw-r--r--patches/server/0490-Add-EntityMoveEvent.patch2
-rw-r--r--patches/server/0513-Fix-PlayerItemConsumeEvent-cancelling-properly.patch2
-rw-r--r--patches/server/0525-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch2
-rw-r--r--patches/server/0537-Expand-PlayerGameModeChangeEvent.patch2
-rw-r--r--patches/server/0558-Line-Of-Sight-Changes.patch2
-rw-r--r--patches/server/0562-Fix-PlayerDropItemEvent-using-wrong-item.patch2
-rw-r--r--patches/server/0569-Fix-kick-event-leave-message-not-being-sent.patch2
-rw-r--r--patches/server/0570-Don-t-apply-cramming-damage-to-players.patch2
-rw-r--r--patches/server/0577-Add-PlayerSetSpawnEvent.patch2
-rw-r--r--patches/server/0602-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch2
-rw-r--r--patches/server/0604-Improve-and-expand-AsyncCatcher.patch2
-rw-r--r--patches/server/0613-Oprimise-map-impl-for-tracked-players.patch2
-rw-r--r--patches/server/0621-Ensure-valid-vehicle-status.patch2
-rw-r--r--patches/server/0634-Prevent-excessive-velocity-through-repeated-crits.patch2
-rw-r--r--patches/server/0643-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch8
-rw-r--r--patches/server/0663-Freeze-Tick-Lock-API.patch2
-rw-r--r--patches/server/0683-More-Projectile-API.patch4
-rw-r--r--patches/server/0693-fix-player-loottables-running-when-mob-loot-gamerule.patch2
-rw-r--r--patches/server/0707-Add-PlayerStopUsingItemEvent.patch2
-rw-r--r--patches/server/0719-Add-option-for-strict-advancement-dimension-checks.patch2
-rw-r--r--patches/server/0743-Stop-large-look-changes-from-crashing-the-server.patch2
-rw-r--r--patches/server/0755-Fix-a-bunch-of-vanilla-bugs.patch2
-rw-r--r--patches/server/0760-Add-PlayerInventorySlotChangeEvent.patch2
-rw-r--r--patches/server/0777-check-global-player-list-where-appropriate.patch2
-rw-r--r--patches/server/0780-Friction-API.patch2
-rw-r--r--patches/server/0783-Sync-offhand-slot-in-menus.patch2
-rw-r--r--patches/server/0784-Player-Entity-Tracking-Events.patch2
-rw-r--r--patches/server/0801-Correctly-shrink-items-during-EntityResurrectEvent.patch2
-rw-r--r--patches/server/0803-Remove-CraftItemStack-setAmount-null-assignment.patch4
-rw-r--r--patches/server/0811-Fix-advancement-triggers-for-entity-damage.patch2
-rw-r--r--patches/server/0846-fix-item-meta-for-tadpole-buckets.patch4
-rw-r--r--patches/server/0873-Configurable-entity-tracking-range-by-Y-coordinate.patch2
-rw-r--r--patches/server/0885-Fix-inventory-desync.patch2
-rw-r--r--patches/server/0886-Add-titleOverride-to-InventoryOpenEvent.patch2
-rw-r--r--patches/server/0892-Allow-proper-checking-of-empty-item-stacks.patch4
-rw-r--r--patches/server/0905-Don-t-check-if-we-can-see-non-visible-entities.patch2
-rw-r--r--patches/server/0911-Broadcast-take-item-packets-with-collector-as-source.patch2
-rw-r--r--patches/server/0919-Don-t-fire-sync-events-during-worldgen.patch2
-rw-r--r--patches/server/0922-Restore-vanilla-entity-drops-behavior.patch4
-rw-r--r--patches/server/0926-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch2
-rw-r--r--patches/server/0928-Add-drops-to-shear-events.patch4
-rw-r--r--patches/server/0930-Validate-ResourceLocation-in-NBT-reading.patch2
-rw-r--r--patches/server/0934-Reduce-allocation-of-Vec3D-by-entity-tracker.patch2
-rw-r--r--patches/server/0946-Deprecate-ItemStack-setType.patch4
-rw-r--r--patches/server/0966-Fix-shield-disable-inconsistency.patch2
-rw-r--r--patches/server/0971-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch2
-rw-r--r--patches/server/0972-improve-checking-handled-tags-in-itemmeta.patch20
-rw-r--r--patches/server/0973-General-ItemMeta-fixes.patch6
-rw-r--r--patches/server/0982-Prevent-sending-oversized-item-data-in-equipment-and.patch2
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<DamageType> 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<Enchantment> 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<Enchantment> 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<Enchantment> 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<PotionEffectType> 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<PotionEffectType> 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<PotionEffectType> 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<PotionEffectType> 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<PotionEffectType> 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<PotionEffectType> 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<Structure> 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<TrimPattern> 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<TrimPattern> 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.</b>
*/
@@ -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<T extends Keyed> 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<Material> 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<T extends Keyed> 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<Material> 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<T extends Keyed> 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<EntityType> 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<T extends Keyed> extends Keyed {
+@@ -1253,6 +1253,7 @@ public interface Tag<T extends Keyed> 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<EntityType> 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<T extends Keyed> 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<EntityType> 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<EntityType> 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<EntityType> 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.
- */
[email protected](org.bukkit.MinecraftExperimental.Requires.UPDATE_1_21) // Paper - add missing annotation
[email protected] // 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<net.kyori.adventure.text.Component> computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines
}
diff --git a/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.</b>
*
* @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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 {