diff --git a/gradle.properties b/gradle.properties index 06573bcbf9..744935f5ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ version=1.20.5-R0.1-SNAPSHOT mcVersion=1.20.5 # Set to true while updating Minecraft version -updatingMinecraft=true +updatingMinecraft=false org.gradle.caching=true org.gradle.parallel=true diff --git a/paper-api-generator/build.gradle.kts b/paper-api-generator/build.gradle.kts index c3deae7adb..05d16d0b95 100644 --- a/paper-api-generator/build.gradle.kts +++ b/paper-api-generator/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { } tasks.register("generate") { + dependsOn(tasks.check) mainClass.set("io.papermc.generator.Main") classpath(sourceSets.main.map { it.runtimeClasspath }) args(projectDir.toPath().resolve("generated").toString()) diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index 8219ab4a68..e991609a01 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -4323,7 +4323,7 @@ index 60ebfab9596f26cfd2d75a43f3f88f2dd56575f3..dbaf54018a7dd392378869a5a302a880 + // Paper end - Adventure } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index cf1733bc76d1e29ad0f533f6e49818f83e8e3358..f2a6f62f0344684668febc0999b81748c6737826 100644 +index 257b5db1aa58d57cfbf5bd1f17f9df6c509bef90..53cc84d1ef6e281e8637ec7406236e1185ad7d82 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable; @@ -4335,7 +4335,7 @@ index cf1733bc76d1e29ad0f533f6e49818f83e8e3358..f2a6f62f0344684668febc0999b81748 private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -614,4 +614,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -617,4 +617,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public String getTranslationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch index 7344dee5ae..41dcaf4cf1 100644 --- a/patches/api/0009-Paper-Plugins.patch +++ b/patches/api/0009-Paper-Plugins.patch @@ -2062,7 +2062,7 @@ index 047c0304fd617cec990f80815b43916c6ef5a94c..ab04ffe4cd05315a2ee0f64c553b4c67 throw ex; } catch (Throwable ex) { diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java -index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6952d6271 100644 +index 160f8c348271154c672adf936b358ffeb3b63e69..f4d655a158410039305ac68cebe0d79000f73df8 100644 --- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java +++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java @@ -36,7 +36,10 @@ import org.eclipse.aether.transport.http.HttpTransporterFactory; @@ -2085,7 +2085,7 @@ index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6 session.setChecksumPolicy( RepositoryPolicy.CHECKSUM_POLICY_FAIL ); session.setLocalRepositoryManager( repository.newLocalRepositoryManager( session, new LocalRepository( "libraries" ) ) ); session.setTransferListener( new AbstractTransferListener() -@@ -79,7 +83,7 @@ class LibraryLoader +@@ -84,7 +88,7 @@ class LibraryLoader } logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[] { @@ -2094,7 +2094,7 @@ index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6 } ); List dependencies = new ArrayList<>(); -@@ -117,7 +121,7 @@ class LibraryLoader +@@ -122,7 +126,7 @@ class LibraryLoader jarFiles.add( url ); logger.log( Level.INFO, "[{0}] Loaded library {1}", new Object[] { diff --git a/patches/api/0066-Add-getI18NDisplayName-API.patch b/patches/api/0066-Add-getI18NDisplayName-API.patch index f83aa42ec2..fcb5e4ceb1 100644 --- a/patches/api/0066-Add-getI18NDisplayName-API.patch +++ b/patches/api/0066-Add-getI18NDisplayName-API.patch @@ -33,10 +33,10 @@ index dbaf54018a7dd392378869a5a302a880c7a56338..213e3f3de731d85f788a4bfa8d912e1b + // Paper end - add getI18NDisplayName } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f2a6f62f0344684668febc0999b81748c6737826..d1bce73317fa1dfd35c8b3f94415ba8721c758d6 100644 +index 53cc84d1ef6e281e8637ec7406236e1185ad7d82..22bb39a8f124d55b1dce1bcb981a94d763959e59 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -630,5 +630,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -633,5 +633,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public net.kyori.adventure.text.@NotNull Component displayName() { return Bukkit.getServer().getItemFactory().displayName(this); } diff --git a/patches/api/0067-ensureServerConversions-API.patch b/patches/api/0067-ensureServerConversions-API.patch index 38050bb0c5..411fc2d532 100644 --- a/patches/api/0067-ensureServerConversions-API.patch +++ b/patches/api/0067-ensureServerConversions-API.patch @@ -30,10 +30,10 @@ index 213e3f3de731d85f788a4bfa8d912e1b59c3c045..898c256140cc7fee2c0cc65cca33a0e8 + // Paper end - ensure server conversions API } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index d1bce73317fa1dfd35c8b3f94415ba8721c758d6..a71b7f418ca3edb4695b57e5021732c591cfb13f 100644 +index 22bb39a8f124d55b1dce1bcb981a94d763959e59..0586a64b780f0dee9899a42ca4ee28d12efd749a 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -549,7 +549,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -552,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } } @@ -42,7 +42,7 @@ index d1bce73317fa1dfd35c8b3f94415ba8721c758d6..a71b7f418ca3edb4695b57e5021732c5 } /** -@@ -631,6 +631,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -634,6 +634,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().displayName(this); } diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch index 04e59af1f7..8252cb46b2 100644 --- a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch +++ b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index a71b7f418ca3edb4695b57e5021732c591cfb13f..7afb1b4fde29d09ad2289956531daded56b02147 100644 +index 0586a64b780f0dee9899a42ca4ee28d12efd749a..b92a86e9d128b1ce6f02962574e30ced74e44bc8 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -658,5 +658,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -661,5 +661,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public String getI18NDisplayName() { return Bukkit.getServer().getItemFactory().getI18NDisplayName(this); } diff --git a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch index bb7ff028ad..44ecc5cfdc 100644 --- a/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch +++ b/patches/api/0116-ItemStack-API-additions-for-quantity-flags-lore.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 7afb1b4fde29d09ad2289956531daded56b02147..c1e64e09d792da7c7918e401b306f8945a0ff32d 100644 +index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a655b2a94a 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -3,6 +3,7 @@ package org.bukkit.inventory; @@ -16,7 +16,7 @@ index 7afb1b4fde29d09ad2289956531daded56b02147..c1e64e09d792da7c7918e401b306f894 import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Material; -@@ -666,5 +667,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -669,5 +670,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat // Requires access to NMS return ensureServerConversions().getMaxItemUseDuration(); } diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch index 38c9fe7eec..9405b650d1 100644 --- a/patches/api/0152-Material-API-additions.patch +++ b/patches/api/0152-Material-API-additions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index fe9c5ccdbaf4a83367f2d1c9c18044665eadf81d..ab4c1d853ed030c6cf2945793e7655509c954f0b 100644 +index 2750e143a3ac20797e16a15b687952157197d562..c2808db693647bdf3b9617cb6c665e8499874485 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -123,6 +123,7 @@ import org.jetbrains.annotations.Nullable; +@@ -125,6 +125,7 @@ import org.jetbrains.annotations.Nullable; /** * An enum of all material IDs accepted by the official server and client */ @@ -16,7 +16,7 @@ index fe9c5ccdbaf4a83367f2d1c9c18044665eadf81d..ab4c1d853ed030c6cf2945793e765550 public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4723,6 +4724,22 @@ public enum Material implements Keyed, Translatable { +@@ -4725,6 +4726,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index 2c1b71987a..c28ec02eed 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -300,10 +300,10 @@ index 02b4ffa6b918269bd64f7c518fcceef1f6990737..f0878c7539696cc0676e6010e88914d3 if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358f280f505 100644 +index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332c992d3d1 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4744,20 +4744,20 @@ public enum Material implements Keyed, Translatable { +@@ -4746,20 +4746,20 @@ public enum Material implements Keyed, Translatable { * Do not use for any reason. * * @return ID of this material @@ -328,7 +328,7 @@ index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358 public boolean isLegacy() { return legacy; } -@@ -4828,8 +4828,10 @@ public enum Material implements Keyed, Translatable { +@@ -4835,8 +4835,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -339,7 +339,7 @@ index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358 public Class getData() { Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material"); return ctor.getDeclaringClass(); -@@ -9096,7 +9098,11 @@ public enum Material implements Keyed, Translatable { +@@ -9103,7 +9105,11 @@ public enum Material implements Keyed, Translatable { * material. * * @return true if this material can be interacted with. @@ -1412,7 +1412,7 @@ index 898c256140cc7fee2c0cc65cca33a0e86275f115..e34c89a945a0f12cdc4be8cc232c8de9 /** diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index c1e64e09d792da7c7918e401b306f8945a0ff32d..aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a 100644 +index e388239d6d960af2102111d2ae90b2a655b2a94a..276cfd52817115981fe7dc46363278f8b8c5aee3 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -8,6 +8,7 @@ import java.util.Map; @@ -1444,7 +1444,7 @@ index c1e64e09d792da7c7918e401b306f8945a0ff32d..aa8c6a57fb78fcb2e5ecff01f5d2f587 public void setData(@Nullable MaterialData data) { if (data == null) { this.data = data; -@@ -558,7 +563,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -561,7 +566,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * * @return a copy of the current ItemStack's ItemData */ diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch index 0efa0d0fb1..dc654da7f0 100644 --- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch @@ -20,10 +20,10 @@ index d69e5fa40702c283c370a2f712b51dc2ea3a1fa0..30d869a7c4bba79b4c05de7860b31c14 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a..65fc0bca47ea32069ddc6e838a0db28f13638390 100644 +index 276cfd52817115981fe7dc46363278f8b8c5aee3..e82eeadc7cb53572351670761c4e592a33345c6b 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -650,6 +650,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -653,6 +653,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().ensureServerConversions(this); } diff --git a/patches/api/0209-Add-methods-to-get-translation-keys.patch b/patches/api/0209-Add-methods-to-get-translation-keys.patch index 3043b37760..282a4c0520 100644 --- a/patches/api/0209-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0209-Add-methods-to-get-translation-keys.patch @@ -144,10 +144,10 @@ index dc66bd69646ac949d1386ce8f6ff913e9475439d..4482e8f2c617c2f51b2b53762e775d11 + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742028fc956 100644 +index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa3074560d1459e 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -124,7 +124,7 @@ import org.jetbrains.annotations.Nullable; +@@ -126,7 +126,7 @@ import org.jetbrains.annotations.Nullable; * An enum of all material IDs accepted by the official server and client */ @SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper @@ -156,7 +156,7 @@ index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742 // AIR(9648, 0), STONE(22948), -@@ -4738,6 +4738,15 @@ public enum Material implements Keyed, Translatable { +@@ -4740,6 +4740,15 @@ public enum Material implements Keyed, Translatable { } return false; } @@ -172,7 +172,7 @@ index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742 // Paper end /** -@@ -11474,9 +11483,11 @@ public enum Material implements Keyed, Translatable { +@@ -11481,9 +11490,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() @@ -480,7 +480,7 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db + } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98c0ddba7c 100644 +index e82eeadc7cb53572351670761c4e592a33345c6b..645cff10eef90826bb44bbe937b141289f182cde 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; @@ -492,7 +492,7 @@ index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98 private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -617,6 +617,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -620,6 +620,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat @Override @NotNull @@ -500,7 +500,7 @@ index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98 public String getTranslationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } -@@ -876,5 +877,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -879,5 +880,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat ItemMeta itemMeta = getItemMeta(); return itemMeta != null && itemMeta.hasItemFlag(flag); } diff --git a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch b/patches/api/0256-Cache-the-result-of-Material-isBlock.patch index 97d6387d88..b2322c2c4a 100644 --- a/patches/api/0256-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0256-Cache-the-result-of-Material-isBlock.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c06edf2a16 100644 +index 61e0739f002a949a204c7591dfa3074560d1459e..5aa595860c73e78cf3c9f2a8984c62744cfe5612 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4682,6 +4682,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4684,6 +4684,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public final Class data; private final boolean legacy; private final NamespacedKey key; @@ -16,7 +16,7 @@ index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c0 private Material(final int id) { this(id, 64); -@@ -4880,6 +4881,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4887,6 +4888,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * @return true if this material is a block */ public boolean isBlock() { @@ -28,7 +28,7 @@ index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c0 switch (this) { // case ACACIA_BUTTON: -@@ -6124,6 +6130,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -6131,6 +6137,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0262-Improve-Item-Rarity-API.patch b/patches/api/0262-Improve-Item-Rarity-API.patch index 539f61725e..6080352888 100644 --- a/patches/api/0262-Improve-Item-Rarity-API.patch +++ b/patches/api/0262-Improve-Item-Rarity-API.patch @@ -43,10 +43,10 @@ index 0000000000000000000000000000000000000000..f1cd5a4f37eee8975ac3d0421b524afc + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 3ee36de0ee975dc300e594b17d0dc2c06edf2a16..2ce1d9239d08c799d53873563646f933211a902e 100644 +index 5aa595860c73e78cf3c9f2a8984c62744cfe5612..1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4748,6 +4748,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4750,6 +4750,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return Bukkit.getUnsafe().getBlockTranslationKey(this); } } @@ -108,10 +108,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 96b6052c198454f06f877fc7cda85a98c0ddba7c..f9b0b463f9920524eab7f328bc456a30eebc6910 100644 +index 645cff10eef90826bb44bbe937b141289f182cde..a92421bbf0ee40ecbe4f272459c6a918dc45344c 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -888,5 +888,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -891,5 +891,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public @NotNull String translationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/api/0280-ItemStack-repair-check-API.patch b/patches/api/0280-ItemStack-repair-check-API.patch index 95046ce219..eff25d7f58 100644 --- a/patches/api/0280-ItemStack-repair-check-API.patch +++ b/patches/api/0280-ItemStack-repair-check-API.patch @@ -25,10 +25,10 @@ index a874faec93468c83fc475b60629fc36f933bd11c..4130481843c9e0b847bd656622b0c110 // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f9b0b463f9920524eab7f328bc456a30eebc6910..2fb521dc2b4d991f56288e2faba978d9d7d29a0b 100644 +index a92421bbf0ee40ecbe4f272459c6a918dc45344c..04ff6579282708c48edee419381c698707fe0a3b 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -900,5 +900,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -903,5 +903,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/0283-ItemStack-editMeta.patch b/patches/api/0283-ItemStack-editMeta.patch index 5d71277d19..d2c36b432c 100644 --- a/patches/api/0283-ItemStack-editMeta.patch +++ b/patches/api/0283-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 2fb521dc2b4d991f56288e2faba978d9d7d29a0b..455e633edc19d29559e66b1d52c532ef1a0fa8df 100644 +index 04ff6579282708c48edee419381c698707fe0a3b..351f5c0feec38377fccf09bfc1cef2df88fc2dcd 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -558,6 +558,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -561,6 +561,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return result.ensureServerConversions(); // Paper } diff --git a/patches/api/0285-Attributes-API-for-item-defaults.patch b/patches/api/0285-Attributes-API-for-item-defaults.patch index 947bae94d8..db30aff62c 100644 --- a/patches/api/0285-Attributes-API-for-item-defaults.patch +++ b/patches/api/0285-Attributes-API-for-item-defaults.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Attributes API for item defaults (Now replaced by upstream's API) diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 2ce1d9239d08c799d53873563646f933211a902e..401645f5e0dfe6c9a0d082b5a76112a882b058ee 100644 +index 1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1..3cb658023d738617a310099fa3759af253a9f4c2 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4761,6 +4761,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4763,6 +4763,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return new org.bukkit.inventory.ItemStack(this).getRarity(); } diff --git a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch b/patches/api/0317-Add-isCollidable-methods-to-various-places.patch index d4627b4000..0c56af5c5d 100644 --- a/patches/api/0317-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0317-Add-isCollidable-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 401645f5e0dfe6c9a0d082b5a76112a882b058ee..8283eccf2578bae50a4c6fd86318e0d5f7cf09df 100644 +index 3cb658023d738617a310099fa3759af253a9f4c2..1ca448c9e3a3178663a033617d9414ec085c246a 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4776,6 +4776,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4778,6 +4778,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return this.getDefaultAttributeModifiers(equipmentSlot); } diff --git a/patches/api/0349-Add-enchantWithLevels-API.patch b/patches/api/0349-Add-enchantWithLevels-API.patch index 021eefa1f3..02d301e15a 100644 --- a/patches/api/0349-Add-enchantWithLevels-API.patch +++ b/patches/api/0349-Add-enchantWithLevels-API.patch @@ -70,10 +70,10 @@ index dbebaf8172ec6872f56958b9583affde4f8400a4..98a970a6582dca22e719a31559c7bece + // 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 455e633edc19d29559e66b1d52c532ef1a0fa8df..637b9067973aadece2806cc2b6200a4d3b8d97a1 100644 +index 351f5c0feec38377fccf09bfc1cef2df88fc2dcd..7eb4cf0b2f162d650252d81e9d38393f69a69046 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -667,6 +667,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -670,6 +670,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } // Paper start diff --git a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch index 64857c2af9..fc2c0fcc98 100644 --- a/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch +++ b/patches/api/0376-Add-EquipmentSlot-convenience-methods.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Add EquipmentSlot convenience methods diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlot.java b/src/main/java/org/bukkit/inventory/EquipmentSlot.java -index d776a0c183737efcaf94f0911f3a8c1adc2c5ada..e19e708e9bda10e99c07763d162cb140d0189147 100644 +index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..adf0a94f98eb66b3957d4009d83ad5f741e0aa79 100644 --- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java +++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java -@@ -32,4 +32,27 @@ public enum EquipmentSlot { +@@ -33,4 +33,27 @@ public enum EquipmentSlot { public EquipmentSlotGroup getGroup() { - return group; + return group.get(); } + // Paper start + /** diff --git a/patches/api/0385-ItemStack-damage-API.patch b/patches/api/0385-ItemStack-damage-API.patch index bd1863d99b..ba61a1c399 100644 --- a/patches/api/0385-ItemStack-damage-API.patch +++ b/patches/api/0385-ItemStack-damage-API.patch @@ -66,10 +66,10 @@ index 6bfc8a2148f504370df938447f4f6b757f1a516b..208bab1f5a3200f54141c38ee4272629 + // 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 637b9067973aadece2806cc2b6200a4d3b8d97a1..d2162e53cefb8f9dc5c52bc1904e860066f43a41 100644 +index 7eb4cf0b2f162d650252d81e9d38393f69a69046..6195ac25e7a46542659a263c85f7adac745c2ce4 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -984,5 +984,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -987,5 +987,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/0432-Allow-proper-checking-of-empty-item-stacks.patch b/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch index 5d980f4398..4b2d49be32 100644 --- a/patches/api/0432-Allow-proper-checking-of-empty-item-stacks.patch +++ b/patches/api/0432-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 d2162e53cefb8f9dc5c52bc1904e860066f43a41..db02c04a8e9a0b8e1e4518a629d5703398d4ef72 100644 +index 6195ac25e7a46542659a263c85f7adac745c2ce4..7cecb04de7d55dcdec1fa3dd255c844e92b1abdb 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -998,5 +998,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1001,5 +1001,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/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch b/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch index 1617e84222..4974a88a57 100644 --- a/patches/api/0440-Remove-unnecessary-durability-check-in-ItemStack-isS.patch +++ b/patches/api/0440-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 db02c04a8e9a0b8e1e4518a629d5703398d4ef72..0611f19bcdd8230b439b5055713221318dce98e2 100644 +index 7cecb04de7d55dcdec1fa3dd255c844e92b1abdb..a1d0e479b9f28378f858f86ba8b0e9b7ddf71446 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -295,7 +295,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -298,7 +298,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/0442-add-missing-Experimental-annotations.patch b/patches/api/0442-add-missing-Experimental-annotations.patch index 89d99d97d4..9bda404f5d 100644 --- a/patches/api/0442-add-missing-Experimental-annotations.patch +++ b/patches/api/0442-add-missing-Experimental-annotations.patch @@ -27,10 +27,10 @@ index 6b68c92ec894451d99ded3e3df5965cb31d68ed2..fd5e433f930963c102c9c977523a0036 public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21")); } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0aa99af28d 100644 +index 1ca448c9e3a3178663a033617d9414ec085c246a..82d009c0bbe4b3026a535e02d6e0ed20c7bd525d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -146,54 +146,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -148,54 +148,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Slab} */ @MinecraftExperimental(Requires.UPDATE_1_21) @@ -98,7 +98,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a CHISELED_TUFF_BRICKS(8601), DRIPSTONE_BLOCK(26227), /** -@@ -300,6 +313,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -302,6 +315,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Waterlogged} */ @MinecraftExperimental(Requires.UPDATE_1_21) @@ -106,7 +106,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a HEAVY_CORE(15788, Waterlogged.class), AMETHYST_BLOCK(18919), BUDDING_AMETHYST(13963), -@@ -312,12 +326,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -314,12 +328,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla WEATHERED_COPPER(19699), OXIDIZED_COPPER(19490), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -123,7 +123,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a OXIDIZED_CHISELED_COPPER(27719), CUT_COPPER(32519), EXPOSED_CUT_COPPER(18000), -@@ -360,12 +378,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -362,12 +380,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla WAXED_WEATHERED_COPPER(5960), WAXED_OXIDIZED_COPPER(25626), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -140,7 +140,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a WAXED_OXIDIZED_CHISELED_COPPER(7735), WAXED_CUT_COPPER(11030), WAXED_EXPOSED_CUT_COPPER(30043), -@@ -2107,41 +2129,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2109,41 +2131,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Door} */ @MinecraftExperimental(Requires.UPDATE_1_21) @@ -190,7 +190,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a WAXED_OXIDIZED_COPPER_DOOR(23888, Door.class), /** * BlockData: {@link TrapDoor} -@@ -2195,41 +2225,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2197,41 +2227,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link TrapDoor} */ @MinecraftExperimental(Requires.UPDATE_1_21) @@ -240,7 +240,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a WAXED_OXIDIZED_COPPER_TRAPDOOR(21450, TrapDoor.class), /** * BlockData: {@link Gate} -@@ -2531,6 +2569,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2533,6 +2571,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), @@ -249,7 +249,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a BUNDLE(16835, 1), FISHING_ROD(4167, 1, 64), CLOCK(14980), -@@ -2637,6 +2677,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2639,6 +2679,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Crafter} */ @MinecraftExperimental(Requires.UPDATE_1_21) @@ -257,7 +257,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a CRAFTER(25243, Crafter.class), FILLED_MAP(23504), SHEARS(27971, 1, 238), -@@ -2677,8 +2718,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2679,8 +2720,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -268,7 +268,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a BREEZE_SPAWN_EGG(7580), CAT_SPAWN_EGG(29583), CAMEL_SPAWN_EGG(14760), -@@ -2755,10 +2798,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2757,10 +2800,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EXPERIENCE_BOTTLE(12858), FIRE_CHARGE(4842), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -281,7 +281,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a MACE(4771, 1, 250), ITEM_FRAME(27318), GLOW_ITEM_FRAME(26473), -@@ -3157,8 +3202,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3159,8 +3204,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116), HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -292,7 +292,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a BOLT_ARMOR_TRIM_SMITHING_TEMPLATE(9698), ANGLER_POTTERY_SHERD(9952), ARCHER_POTTERY_SHERD(21629), -@@ -3169,9 +3216,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3171,9 +3218,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla DANGER_POTTERY_SHERD(30506), EXPLORER_POTTERY_SHERD(5124), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -304,7 +304,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a GUSTER_POTTERY_SHERD(28193), HEART_POTTERY_SHERD(17607), HEARTBREAK_POTTERY_SHERD(21108), -@@ -3181,6 +3230,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3183,6 +3232,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla PLENTY_POTTERY_SHERD(28236), PRIZE_POTTERY_SHERD(4341), @MinecraftExperimental(Requires.UPDATE_1_21) @@ -312,7 +312,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a SCRAPE_POTTERY_SHERD(30034), SHEAF_POTTERY_SHERD(23652), SHELTER_POTTERY_SHERD(28390), -@@ -3190,99 +3240,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3192,99 +3242,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Waterlogged} */ @MinecraftExperimental(Requires.UPDATE_1_21) diff --git a/patches/api/0456-ItemStack-Tooltip-API.patch b/patches/api/0456-ItemStack-Tooltip-API.patch index 7eb3a41ef5..aa6b6ddd15 100644 --- a/patches/api/0456-ItemStack-Tooltip-API.patch +++ b/patches/api/0456-ItemStack-Tooltip-API.patch @@ -119,10 +119,10 @@ index 7e6bdf3333537491b3421d196779a4eb502f7314..a3ba9249e636d1fb8dad98fab4134360 + @NotNull java.util.List computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 0611f19bcdd8230b439b5055713221318dce98e2..9440cffffa1d7e75d2d76d55d5608bafd69b645b 100644 +index a1d0e479b9f28378f858f86ba8b0e9b7ddf71446..b669df4bd1ff0ecba575d42415973e81bccddbbe 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -1018,4 +1018,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1021,4 +1021,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return type.isAir() || amount <= 0; } // Paper end diff --git a/patches/api/0466-Deprecate-ItemStack-setType.patch b/patches/api/0466-Deprecate-ItemStack-setType.patch index 2c0996f9a1..9f21ce5142 100644 --- a/patches/api/0466-Deprecate-ItemStack-setType.patch +++ b/patches/api/0466-Deprecate-ItemStack-setType.patch @@ -5,7 +5,7 @@ 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 9440cffffa1d7e75d2d76d55d5608bafd69b645b..91083a135a7e979e32cbb3531b5ef69b7a28f305 100644 +index b669df4bd1ff0ecba575d42415973e81bccddbbe..1294f7ce50977dfe72daf535b611386844c205e0 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -134,8 +134,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat diff --git a/patches/api/0472-Fix-ItemFlags.patch b/patches/api/0472-Fix-ItemFlags.patch index 2ca79093d4..007e003bc3 100644 --- a/patches/api/0472-Fix-ItemFlags.patch +++ b/patches/api/0472-Fix-ItemFlags.patch @@ -47,10 +47,10 @@ index a435f6c8947e4ac50b8c04f37b107055970937dd..92e30c281eab4801298b280bd388a039 /** * 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 91083a135a7e979e32cbb3531b5ef69b7a28f305..2b465bd3264cccd5203775e1aa99dcfa6226368d 100644 +index 1294f7ce50977dfe72daf535b611386844c205e0..84a7bf0936d35bf42b5ed038d295d5c31740f472 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -572,6 +572,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -575,6 +575,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/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index ee3ac63479..eb822ff0c4 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6950,10 +6950,10 @@ index c4bd9be9d1884be1f5040ff1417f44f8ac4b655f..319cb644c0a42e9cc0d3ce9d1cbaa93b public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bc263349531d70886d5eee37a196c78dd70c9b30..5631621f16fdda723cb3e1de7d3a6646d768a863 100644 +index 374db2337574f8b799c1a6ffef1cf62a82c0f802..240d7831d7f05e245e4103ec22f4967657e1040b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -275,6 +275,8 @@ public class ServerPlayer extends Player { +@@ -276,6 +276,8 @@ public class ServerPlayer extends Player { public boolean sentListPacket = false; public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end @@ -6962,7 +6962,7 @@ index bc263349531d70886d5eee37a196c78dd70c9b30..5631621f16fdda723cb3e1de7d3a6646 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); -@@ -343,6 +345,8 @@ public class ServerPlayer extends Player { +@@ -344,6 +346,8 @@ public class ServerPlayer extends Player { this.updateOptions(clientOptions); this.object = null; @@ -7061,7 +7061,7 @@ index 803f8e80d616ac7f9a51e4cdd6a7a3ce690b791e..9c54bc3897d1fa3c88a5a7d55224eb4c public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 09a3d06f1c613662283eb6688bf2c3eeb4778208..dcf53dbecc1873994b171cfd1eb313545d6cfdcd 100644 +index 24368386db4c4eb1f6b83730570146f50d6b389b..c675fe1c2363248b034bdc27bb3a6a0e65adf19c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -270,6 +270,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -7073,7 +7073,7 @@ index 09a3d06f1c613662283eb6688bf2c3eeb4778208..dcf53dbecc1873994b171cfd1eb31354 @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 113440cd203c1273934b9b7ad7a0fe36f44d0c88..2e83e5779d5bdfc150257d3394669d53eba5c5c3 100644 +index 04d9e3aced11c54b8f464ae7faba1b4aaf81e093..39e71ff8528622f640950d1a9b33483a7eb68957 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -287,6 +287,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 3d107842eb..37b65b0ca7 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2682,10 +2682,10 @@ index 977275f767c374a1be9055e4aa9e124025d55828..953e28f0cf60412a4ec9e311daa98f9d public boolean logIPs() { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b26016bccd7c 100644 +index 240d7831d7f05e245e4103ec22f4967657e1040b..8292f45aa100e2788584f568430d76560c2fa9a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -169,6 +169,7 @@ import net.minecraft.world.damagesource.CombatTracker; +@@ -170,6 +170,7 @@ import net.minecraft.world.damagesource.CombatTracker; import net.minecraft.world.scores.Scoreboard; import net.minecraft.world.scores.Team; import net.minecraft.world.scores.criteria.ObjectiveCriteria; @@ -2693,7 +2693,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.WeatherType; -@@ -232,6 +233,7 @@ public class ServerPlayer extends Player { +@@ -233,6 +234,7 @@ public class ServerPlayer extends Player { private boolean disconnected; private int requestedViewDistance; public String language = "en_us"; // CraftBukkit - default @@ -2701,7 +2701,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 @Nullable private Vec3 startingToFallPosition; @Nullable -@@ -264,6 +266,7 @@ public class ServerPlayer extends Player { +@@ -265,6 +267,7 @@ public class ServerPlayer extends Player { // CraftBukkit start public CraftPlayer.TransferCookieConnection transferCookieConnection; public String displayName; @@ -2709,7 +2709,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 public Component listName; public org.bukkit.Location compassTarget; public int newExp = 0; -@@ -349,6 +352,7 @@ public class ServerPlayer extends Player { +@@ -350,6 +353,7 @@ public class ServerPlayer extends Player { // CraftBukkit start this.displayName = this.getScoreboardName(); @@ -2717,7 +2717,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); } -@@ -893,22 +897,17 @@ public class ServerPlayer extends Player { +@@ -903,22 +907,17 @@ public class ServerPlayer extends Player { String deathmessage = defaultMessage.getString(); this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel @@ -2744,7 +2744,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 this.connection.send(new ClientboundPlayerCombatKillPacket(this.getId(), ichatbasecomponent), PacketSendListener.exceptionallySend(() -> { boolean flag1 = true; -@@ -1975,8 +1974,13 @@ public class ServerPlayer extends Player { +@@ -1985,8 +1984,13 @@ public class ServerPlayer extends Player { } public void sendChatMessage(OutgoingChatMessage message, boolean filterMaskEnabled, ChatType.Bound params) { @@ -2759,7 +2759,7 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 } } -@@ -2003,6 +2007,7 @@ public class ServerPlayer extends Player { +@@ -2013,6 +2017,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end this.language = clientOptions.language(); @@ -2872,7 +2872,7 @@ index bd7107279ca004f35c932e5d6e82f8302ec781ae..970d1ddf0a014b47b0ac974404897061 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d17358e391060c674d0b83b1619e0de8190c6791..86d0207a36df67bf0554193bf050e035aeecc5c9 100644 +index dfeb64d614e0da9f1bc0df9dcae71b509cf4178f..97b5e3cc18dbf712f5f60d92a4f9beabd90f2e0f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -44,6 +44,7 @@ import net.minecraft.core.registries.Registries; @@ -5141,7 +5141,7 @@ index 9c57b883783145ad4483481a2c2e7f0f188cd174..b653c2c80e8e8524ea6d7625c6a86f82 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 2a0803ed63be1adafec3e6e1cf57a84c867d0b57..6b63fec6bc646b6faf2151a786ef47c87848520e 100644 +index 7a5110efc5af1be6644b7afecd6ac025c20e6794..3cb5685a97f67d759537fc92bb4cb376bb2905a7 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -843,6 +843,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch index e4fc7060f8..95b3510486 100644 --- a/patches/server/0023-Timings-v2.patch +++ b/patches/server/0023-Timings-v2.patch @@ -1230,7 +1230,7 @@ index 319cb644c0a42e9cc0d3ce9d1cbaa93b9c3dcd5b..a6e78b8a6ced8ec84273e2c5d18ffcca this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 86d0207a36df67bf0554193bf050e035aeecc5c9..e63aadfe5209978f5d515ef9c37df01e08cd8fdb 100644 +index 97b5e3cc18dbf712f5f60d92a4f9beabd90f2e0f..72f3717d931a6635d991d93619c9896ea22e1912 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -330,7 +330,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1379,7 +1379,7 @@ index 1099a85ab7e98d8652cdd1c318f269ca31f4d783..606dbc398745b689f957e62ebd9eaa56 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd036c8f7c2d 100644 +index c675fe1c2363248b034bdc27bb3a6a0e65adf19c..a2cbe1fd8aef67cc9c71ef22bf4c7efd9d8d6a95 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -149,7 +149,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -1391,7 +1391,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 public abstract class LivingEntity extends Entity implements Attackable { -@@ -2945,7 +2945,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2951,7 +2951,6 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override public void tick() { @@ -1399,7 +1399,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 super.tick(); this.updatingUsingItem(); this.updateSwimAmount(); -@@ -2987,9 +2986,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2993,9 +2992,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (!this.isRemoved()) { @@ -1409,7 +1409,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 } double d0 = this.getX() - this.xo; -@@ -3080,7 +3077,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3086,7 +3083,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.refreshDimensions(); } @@ -1417,7 +1417,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 } public void detectEquipmentUpdatesPublic() { // CraftBukkit -@@ -3279,7 +3275,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3285,7 +3281,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.setDeltaMovement(d0, d1, d2); this.level().getProfiler().push("ai"); @@ -1425,7 +1425,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 if (this.isImmobile()) { this.jumping = false; this.xxa = 0.0F; -@@ -3289,7 +3284,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3295,7 +3290,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.serverAiStep(); this.level().getProfiler().pop(); } @@ -1433,7 +1433,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 this.level().getProfiler().pop(); this.level().getProfiler().push("jump"); -@@ -3329,7 +3323,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3335,7 +3329,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.resetFallDistance(); } @@ -1441,7 +1441,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 label104: { LivingEntity entityliving = this.getControllingPassenger(); -@@ -3343,7 +3336,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3349,7 +3342,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } @@ -1449,7 +1449,7 @@ index dcf53dbecc1873994b171cfd1eb313545d6cfdcd..e72ca3af948aa223e6ef31bb0972dd03 this.level().getProfiler().pop(); this.level().getProfiler().push("freezing"); -@@ -3370,9 +3362,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3376,9 +3368,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox()); } diff --git a/patches/server/0027-Support-components-in-ItemMeta.patch b/patches/server/0027-Support-components-in-ItemMeta.patch index 479f83f898..55ba44e2da 100644 --- a/patches/server/0027-Support-components-in-ItemMeta.patch +++ b/patches/server/0027-Support-components-in-ItemMeta.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Support components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 6b63fec6bc646b6faf2151a786ef47c87848520e..d8804be1f36872d12484d9b4327d669d19e7c573 100644 +index 3cb5685a97f67d759537fc92bb4cb376bb2905a7..e967d6b32d9538d8456d73a67a73e3d3ea16b831 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -860,11 +860,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -69,7 +69,7 @@ index 6b63fec6bc646b6faf2151a786ef47c87848520e..d8804be1f36872d12484d9b4327d669d @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1661,6 +1696,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1663,6 +1698,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0031-Allow-nerfed-mobs-to-jump.patch b/patches/server/0031-Allow-nerfed-mobs-to-jump.patch index 3eaa6a63ec..d4ae242d75 100644 --- a/patches/server/0031-Allow-nerfed-mobs-to-jump.patch +++ b/patches/server/0031-Allow-nerfed-mobs-to-jump.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow nerfed mobs to jump diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 2e83e5779d5bdfc150257d3394669d53eba5c5c3..895971f238b693afbf382d9951adb636d1efef2d 100644 +index 39e71ff8528622f640950d1a9b33483a7eb68957..17c9f99e777e211437cb5d693fe247a22ae51c7d 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -126,6 +126,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0032-Add-configurable-entity-despawn-distances.patch b/patches/server/0032-Add-configurable-entity-despawn-distances.patch index a737ffb819..4a3938bdf2 100644 --- a/patches/server/0032-Add-configurable-entity-despawn-distances.patch +++ b/patches/server/0032-Add-configurable-entity-despawn-distances.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable entity despawn distances diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 895971f238b693afbf382d9951adb636d1efef2d..a61f25425893024571a85cf563ec41cfc7b52325 100644 +index 17c9f99e777e211437cb5d693fe247a22ae51c7d..c8ff4b01186f924473b9ffde948d7f0573e8d56f 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -911,14 +911,14 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0037-Player-affects-spawning-API.patch b/patches/server/0037-Player-affects-spawning-API.patch index da0e19a5dc..63452c1938 100644 --- a/patches/server/0037-Player-affects-spawning-API.patch +++ b/patches/server/0037-Player-affects-spawning-API.patch @@ -21,7 +21,7 @@ index 3126e8cab3c40e3af47f4c8925e1c6a9523309ba..3207166061bf9c4d7bf3f38e5a9f7aff public static Predicate withinDistance(double x, double y, double z, double max) { double d4 = max * max; diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index a61f25425893024571a85cf563ec41cfc7b52325..0e88a2212435ff70b5ee661de3977df2b456b29b 100644 +index c8ff4b01186f924473b9ffde948d7f0573e8d56f..426fa1798087ab1fb4198bd036f498606dce7c3f 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -907,7 +907,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0044-Configurable-end-credits.patch b/patches/server/0044-Configurable-end-credits.patch index 3229c1d2a5..4c53dd9e33 100644 --- a/patches/server/0044-Configurable-end-credits.patch +++ b/patches/server/0044-Configurable-end-credits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable end credits diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4277f7c477efe01d4ef917515178b26016bccd7c..d75c3c10dcbd777796e479b9538e5254857ac07c 100644 +index 8292f45aa100e2788584f568430d76560c2fa9a8..244be33d0000189556ce7c6714e5a9768c16ba6b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1097,6 +1097,7 @@ public class ServerPlayer extends Player { +@@ -1107,6 +1107,7 @@ public class ServerPlayer extends Player { this.unRide(); this.serverLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); if (!this.wonGame) { diff --git a/patches/server/0045-Fix-lag-from-explosions-processing-dead-entities.patch b/patches/server/0045-Fix-lag-from-explosions-processing-dead-entities.patch index d1713bcbc2..7dd0adcea0 100644 --- a/patches/server/0045-Fix-lag-from-explosions-processing-dead-entities.patch +++ b/patches/server/0045-Fix-lag-from-explosions-processing-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix lag from explosions processing dead entities diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 230bd20a7a8923f4a4bd4023aeac91ea5908ccd4..cd6d831d8519b406571e6f626053afb662799ad9 100644 +index 73cc11cf4732ede545e924d07480cae14c3ef226..8307c3e77ddc80a02f420503d67ae06fb973dc09 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -226,7 +226,7 @@ public class Explosion { diff --git a/patches/server/0046-Optimize-explosions.patch b/patches/server/0046-Optimize-explosions.patch index 3a77d7f327..09b16b2e38 100644 --- a/patches/server/0046-Optimize-explosions.patch +++ b/patches/server/0046-Optimize-explosions.patch @@ -22,7 +22,7 @@ index fcb2d06f088a938b5bb76e6b42581d8f292d2eaf..231fba80a25601cdfba4f6f44ac7c288 this.profiler.popPush("connection"); diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index cd6d831d8519b406571e6f626053afb662799ad9..8a4c086d7ac4bf59f39ab37e583b0e8d6dba6bf4 100644 +index 8307c3e77ddc80a02f420503d67ae06fb973dc09..c769da15f1d0bdbd2bce412aa9fae6d10d1177f7 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -278,7 +278,7 @@ public class Explosion { @@ -34,7 +34,7 @@ index cd6d831d8519b406571e6f626053afb662799ad9..8a4c086d7ac4bf59f39ab37e583b0e8d double d13; if (entity instanceof LivingEntity) { -@@ -529,4 +529,84 @@ public class Explosion { +@@ -532,4 +532,84 @@ public class Explosion { private BlockInteraction() {} } diff --git a/patches/server/0047-Disable-explosion-knockback.patch b/patches/server/0047-Disable-explosion-knockback.patch index b9a0b33b6c..5f8f4d41c0 100644 --- a/patches/server/0047-Disable-explosion-knockback.patch +++ b/patches/server/0047-Disable-explosion-knockback.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Disable explosion knockback diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 8a4c086d7ac4bf59f39ab37e583b0e8d6dba6bf4..111e6a7ab25e5513154984545c1737d2f7fd7d5f 100644 +index c769da15f1d0bdbd2bce412aa9fae6d10d1177f7..94f72ff58ac5206878a81e89d32e81c17b1bd1fb 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -284,7 +284,7 @@ public class Explosion { @@ -17,7 +17,7 @@ index 8a4c086d7ac4bf59f39ab37e583b0e8d6dba6bf4..111e6a7ab25e5513154984545c1737d2 } else { d13 = d12; } -@@ -306,7 +306,7 @@ public class Explosion { +@@ -309,7 +309,7 @@ public class Explosion { if (entity instanceof Player) { Player entityhuman = (Player) entity; diff --git a/patches/server/0051-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0051-Implement-PlayerLocaleChangeEvent.patch index 039776ed1c..9695c37f76 100644 --- a/patches/server/0051-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0051-Implement-PlayerLocaleChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d75c3c10dcbd777796e479b9538e5254857ac07c..ab2336a30c1ffc1698c327c031a648d4121c116e 100644 +index 244be33d0000189556ce7c6714e5a9768c16ba6b..abc8c7928eed1ba385e9ebb0b0cd059c9048d439 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -232,7 +232,7 @@ public class ServerPlayer extends Player { +@@ -233,7 +233,7 @@ public class ServerPlayer extends Player { private int levitationStartTime; private boolean disconnected; private int requestedViewDistance; @@ -17,7 +17,7 @@ index d75c3c10dcbd777796e479b9538e5254857ac07c..ab2336a30c1ffc1698c327c031a648d4 public java.util.Locale adventure$locale = java.util.Locale.US; // Paper @Nullable private Vec3 startingToFallPosition; -@@ -288,7 +288,7 @@ public class ServerPlayer extends Player { +@@ -289,7 +289,7 @@ public class ServerPlayer extends Player { this.lastActionTime = Util.getMillis(); this.recipeBook = new ServerRecipeBook(); this.requestedViewDistance = 2; @@ -26,7 +26,7 @@ index d75c3c10dcbd777796e479b9538e5254857ac07c..ab2336a30c1ffc1698c327c031a648d4 this.lastSectionPos = SectionPos.of(0, 0, 0); this.chunkTrackingView = ChunkTrackingView.EMPTY; this.respawnDimension = Level.OVERWORLD; -@@ -2002,9 +2002,10 @@ public class ServerPlayer extends Player { +@@ -2012,9 +2012,10 @@ public class ServerPlayer extends Player { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } diff --git a/patches/server/0053-Configurable-container-update-tick-rate.patch b/patches/server/0053-Configurable-container-update-tick-rate.patch index 715ffa53d4..22abc975b7 100644 --- a/patches/server/0053-Configurable-container-update-tick-rate.patch +++ b/patches/server/0053-Configurable-container-update-tick-rate.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable container update tick rate diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ab2336a30c1ffc1698c327c031a648d4121c116e..532282ba4432f55596337f7a0898ecc3d5dc2148 100644 +index abc8c7928eed1ba385e9ebb0b0cd059c9048d439..1cda7166fe8974f05d20fdbfbced72f101663d56 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -262,6 +262,7 @@ public class ServerPlayer extends Player { +@@ -263,6 +263,7 @@ public class ServerPlayer extends Player { public final Object object; private int containerCounter; public boolean wonGame; @@ -16,7 +16,7 @@ index ab2336a30c1ffc1698c327c031a648d4121c116e..532282ba4432f55596337f7a0898ecc3 // CraftBukkit start public CraftPlayer.TransferCookieConnection transferCookieConnection; -@@ -679,7 +680,12 @@ public class ServerPlayer extends Player { +@@ -689,7 +690,12 @@ public class ServerPlayer extends Player { --this.invulnerableTime; } diff --git a/patches/server/0058-Improve-Player-chat-API-handling.patch b/patches/server/0058-Improve-Player-chat-API-handling.patch index 9f73bcc555..e8b9474487 100644 --- a/patches/server/0058-Improve-Player-chat-API-handling.patch +++ b/patches/server/0058-Improve-Player-chat-API-handling.patch @@ -17,7 +17,7 @@ Co-authored-by: Jake Potrebic Co-authored-by: SoSeDiK diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e63aadfe5209978f5d515ef9c37df01e08cd8fdb..84c53376312e5f2253521ce2fcac756bc1e5365f 100644 +index 72f3717d931a6635d991d93619c9896ea22e1912..255d39a57e6b440317cb885c1c40f3b116d916ed 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1996,7 +1996,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0067-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0067-Disable-Scoreboards-for-non-players-by-default.patch index 65cd7d8a7a..492c8f6fe9 100644 --- a/patches/server/0067-Disable-Scoreboards-for-non-players-by-default.patch +++ b/patches/server/0067-Disable-Scoreboards-for-non-players-by-default.patch @@ -23,7 +23,7 @@ index 406d69220b315b47bd3d03a0dacc39addaaf9294..1cd40266418a3805f05b09c554d561e2 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e72ca3af948aa223e6ef31bb0972dd036c8f7c2d..70ac2c957341b363246a9165804471d2668e6492 100644 +index a2cbe1fd8aef67cc9c71ef22bf4c7efd9d8d6a95..8f13f53b14209542283586c437e5cbf549ec8e46 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -873,6 +873,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0074-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0074-Handle-Item-Meta-Inconsistencies.patch index ef76b801d9..53759073e9 100644 --- a/patches/server/0074-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0074-Handle-Item-Meta-Inconsistencies.patch @@ -150,7 +150,7 @@ index b6521462d193bff83ace1dc694c6d957a7173969..d302767e8f01fdfcba9c22e2e35677af static Map getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d8804be1f36872d12484d9b4327d669d19e7c573..122142125dcba97572b1e0b9195e534a0e2257d9 100644 +index e967d6b32d9538d8456d73a67a73e3d3ea16b831..e88364dfe067c605856390d2cce07ba320632df9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -239,7 +239,7 @@ index d8804be1f36872d12484d9b4327d669d19e7c573..122142125dcba97572b1e0b9195e534a } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1492,7 +1495,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1494,7 +1497,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -248,7 +248,7 @@ index d8804be1f36872d12484d9b4327d669d19e7c573..122142125dcba97572b1e0b9195e534a } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1812,4 +1815,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1814,4 +1817,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return (result != null) ? result : Optional.empty(); } diff --git a/patches/server/0077-Custom-replacement-for-eaten-items.patch b/patches/server/0077-Custom-replacement-for-eaten-items.patch index 46944191ba..5aa65e4e45 100644 --- a/patches/server/0077-Custom-replacement-for-eaten-items.patch +++ b/patches/server/0077-Custom-replacement-for-eaten-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 70ac2c957341b363246a9165804471d2668e6492..53da8935e076d56f0a5423e5c1bdcdddc7cbd882 100644 +index 8f13f53b14209542283586c437e5cbf549ec8e46..801577d2c9e6eacd8e3038f5b3cdb026c62a5d09 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3802,10 +3802,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3808,10 +3808,11 @@ public abstract class LivingEntity extends Entity implements Attackable { this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; @@ -21,7 +21,7 @@ index 70ac2c957341b363246a9165804471d2668e6492..53da8935e076d56f0a5423e5c1bdcddd this.level().getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -3819,6 +3820,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3825,6 +3826,12 @@ public abstract class LivingEntity extends Entity implements Attackable { } else { itemstack = this.useItem.finishUsingItem(this.level(), this); } @@ -34,7 +34,7 @@ index 70ac2c957341b363246a9165804471d2668e6492..53da8935e076d56f0a5423e5c1bdcddd // CraftBukkit end if (itemstack != this.useItem) { -@@ -3826,6 +3833,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3832,6 +3839,11 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.stopUsingItem(); diff --git a/patches/server/0078-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0078-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 56e384c127..bb5ee99fa0 100644 --- a/patches/server/0078-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0078-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 53da8935e076d56f0a5423e5c1bdcdddc7cbd882..f02b12f3853bf4bf29b59a505f06cb98bddb40ff 100644 +index 801577d2c9e6eacd8e3038f5b3cdb026c62a5d09..24e6d6c356cccf656cd20bcea069f5fdf123e4c8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -833,7 +833,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -34,7 +34,7 @@ index 53da8935e076d56f0a5423e5c1bdcdddc7cbd882..f02b12f3853bf4bf29b59a505f06cb98 // CraftBukkit start - Handle scaled health if (this instanceof ServerPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity(); -@@ -3637,7 +3647,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3643,7 +3653,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public final void setAbsorptionAmount(float absorptionAmount) { diff --git a/patches/server/0087-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0087-Add-PlayerUseUnknownEntityEvent.patch index e4e640e70c..94a03303d5 100644 --- a/patches/server/0087-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0087-Add-PlayerUseUnknownEntityEvent.patch @@ -28,7 +28,7 @@ index 1e9c68cd1868d083e6a790d56006dd4aa432010a..8a0ee9564fc36a2badf1357f7e6c47b5 + // Paper end - PlayerUseUnknownEntityEvent } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 84c53376312e5f2253521ce2fcac756bc1e5365f..444c3d396c117be4de314aafa1625ef69fabf601 100644 +index 255d39a57e6b440317cb885c1c40f3b116d916ed..0d0bc67bd019c6a203cdb46a778d2963359e43f7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2480,7 +2480,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0095-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/server/0095-EntityRegainHealthEvent-isFastRegen-API.patch index 7876757aed..a6481fa8df 100644 --- a/patches/server/0095-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/patches/server/0095-EntityRegainHealthEvent-isFastRegen-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API Don't even get me started diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f02b12f3853bf4bf29b59a505f06cb98bddb40ff..399c12a2b14df4786c8e13484a54a73ad8571410 100644 +index 24e6d6c356cccf656cd20bcea069f5fdf123e4c8..7ac642aaf39a73f18c89be2b0c412b57a96e99d9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1344,10 +1344,16 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0110-Configurable-packet-in-spam-threshold.patch b/patches/server/0110-Configurable-packet-in-spam-threshold.patch index ca7788bafa..cb3dbe2ee5 100644 --- a/patches/server/0110-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0110-Configurable-packet-in-spam-threshold.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 444c3d396c117be4de314aafa1625ef69fabf601..e95251f21dd500850767a9bd3e9512c87bdaaec2 100644 +index 0d0bc67bd019c6a203cdb46a778d2963359e43f7..5af3e01efd4176c828043ffaba341ae21fad3a73 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1522,13 +1522,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0111-Configurable-flying-kick-messages.patch b/patches/server/0111-Configurable-flying-kick-messages.patch index c398b0d327..d8a269459b 100644 --- a/patches/server/0111-Configurable-flying-kick-messages.patch +++ b/patches/server/0111-Configurable-flying-kick-messages.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable flying kick messages diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e95251f21dd500850767a9bd3e9512c87bdaaec2..f75216148bc8b3e357111ff624d8b43592d5d16b 100644 +index 5af3e01efd4176c828043ffaba341ae21fad3a73..31ccca2a4e94cb1b3f43de38907634f7e6e18aa5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -346,7 +346,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0124-Properly-fix-item-duplication-bug.patch b/patches/server/0124-Properly-fix-item-duplication-bug.patch index 7879e5309a..7e73626956 100644 --- a/patches/server/0124-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0124-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 532282ba4432f55596337f7a0898ecc3d5dc2148..82498ec7f0de4c1b82c7882824587ed3ba7fd5d6 100644 +index 1cda7166fe8974f05d20fdbfbced72f101663d56..a5122de4602db3b93a9221e1a9a33bcb73dbe771 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2549,7 +2549,7 @@ public class ServerPlayer extends Player { +@@ -2559,7 +2559,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { diff --git a/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 5a6cb6d9be..98bbd87f00 100644 --- a/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0129-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -127,10 +127,10 @@ index 1f29ed95ef3d1904a014715028d9d591fe39231f..1a829f79e6f9e03ead745e13ece4d1b5 @Override diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 399c12a2b14df4786c8e13484a54a73ad8571410..b51f4172b7135689fcd99b380f1a78bf8e723cfa 100644 +index 7ac642aaf39a73f18c89be2b0c412b57a96e99d9..c6e666f57c199b4408b32e076622ba05b42fcea9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1813,7 +1813,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1819,7 +1819,8 @@ public abstract class LivingEntity extends Entity implements Attackable { protected void dropExperience() { // CraftBukkit start - Update getExpReward() above if the removed if() changes! if (true && !(this instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon)) { // CraftBukkit - SPIGOT-2420: Special case ender dragon will drop the xp over time diff --git a/patches/server/0130-Cap-Entity-Collisions.patch b/patches/server/0130-Cap-Entity-Collisions.patch index 3178a0a8f1..3fefadf5a6 100644 --- a/patches/server/0130-Cap-Entity-Collisions.patch +++ b/patches/server/0130-Cap-Entity-Collisions.patch @@ -24,10 +24,10 @@ index 10687787a5fd1a81ad5a625848db4649381eab67..9f906e51f236e84f6cee8eba4b7587ed @javax.annotation.Nullable private org.bukkit.util.Vector origin; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b51f4172b7135689fcd99b380f1a78bf8e723cfa..177ad43b62c6e1efc0ae6298e464debdf66b1055 100644 +index c6e666f57c199b4408b32e076622ba05b42fcea9..134106c7c98c87e593157a794287973327d055fc 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3454,10 +3454,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3460,10 +3460,12 @@ public abstract class LivingEntity extends Entity implements Attackable { } Iterator iterator1 = list.iterator(); diff --git a/patches/server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index afefe47c9c..26653206d0 100644 --- a/patches/server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/patches/server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -14,7 +14,7 @@ To be converted into a Paper-API event at some point in the future? public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f75216148bc8b3e357111ff624d8b43592d5d16b..9e26cd52dfe77049019a417cd3999103647c037f 100644 +index 31ccca2a4e94cb1b3f43de38907634f7e6e18aa5..385dd65af8b526d128ac4c99cecdb69aad9f9a07 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2242,6 +2242,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0136-Item-canEntityPickup.patch b/patches/server/0136-Item-canEntityPickup.patch index 4b622591cc..d38a9da345 100644 --- a/patches/server/0136-Item-canEntityPickup.patch +++ b/patches/server/0136-Item-canEntityPickup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 0e88a2212435ff70b5ee661de3977df2b456b29b..2f33036a78a120898b18301bae1585c65fdb69dc 100644 +index 426fa1798087ab1fb4198bd036f498606dce7c3f..e159da8a8dcff686e93d09a15141233915c264bf 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -715,6 +715,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0155-Add-PlayerJumpEvent.patch b/patches/server/0155-Add-PlayerJumpEvent.patch index e9c26db028..df545a0e0c 100644 --- a/patches/server/0155-Add-PlayerJumpEvent.patch +++ b/patches/server/0155-Add-PlayerJumpEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9e26cd52dfe77049019a417cd3999103647c037f..f6019435a90979ed6f966cc6e8288f05ff889d5e 100644 +index 385dd65af8b526d128ac4c99cecdb69aad9f9a07..74c7a690f654558baf12ba2085d0e897a45c0baa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1204,7 +1204,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0160-Add-PlayerArmorChangeEvent.patch b/patches/server/0160-Add-PlayerArmorChangeEvent.patch index b06adec4a2..e99409e6ec 100644 --- a/patches/server/0160-Add-PlayerArmorChangeEvent.patch +++ b/patches/server/0160-Add-PlayerArmorChangeEvent.patch @@ -5,10 +5,10 @@ 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 177ad43b62c6e1efc0ae6298e464debdf66b1055..45eef550358b0f3e6780d98c43c5856ff44ae313 100644 +index 134106c7c98c87e593157a794287973327d055fc..4f742679669aea2a19267f3774da1f8b094a45cf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3137,6 +3137,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3143,6 +3143,13 @@ public abstract class LivingEntity extends Entity implements Attackable { ItemStack itemstack2 = this.getItemBySlot(enumitemslot); if (this.equipmentHasChanged(itemstack1, itemstack2)) { diff --git a/patches/server/0165-AsyncTabCompleteEvent.patch b/patches/server/0165-AsyncTabCompleteEvent.patch index f90e0edaae..3ee3add615 100644 --- a/patches/server/0165-AsyncTabCompleteEvent.patch +++ b/patches/server/0165-AsyncTabCompleteEvent.patch @@ -16,7 +16,7 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f6019435a90979ed6f966cc6e8288f05ff889d5e..ae0e3694f3971908cb472b1165d2649265e1bdca 100644 +index 74c7a690f654558baf12ba2085d0e897a45c0baa..1b563aa6be76286c49ad3f037cb70b01d33c4458 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -708,21 +708,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch index a022415f3d..e8b8f3b1e7 100644 --- a/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/0168-PlayerNaturallySpawnCreaturesEvent.patch @@ -60,10 +60,10 @@ index 3f60a3289ec58d5eb3c0c5634ca62ef2fa287ce7..bc81649b09c39188697b8851abedafca boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit Iterator iterator1 = list.iterator(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 82498ec7f0de4c1b82c7882824587ed3ba7fd5d6..84e8ab9bdd4911412732e490ff8d10ba93d67f45 100644 +index a5122de4602db3b93a9221e1a9a33bcb73dbe771..785c7e56a053acffa79fb11a32849d99961e35a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -281,6 +281,7 @@ public class ServerPlayer extends Player { +@@ -282,6 +282,7 @@ public class ServerPlayer extends Player { // CraftBukkit end public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/patches/server/0180-Player.setPlayerProfile-API.patch b/patches/server/0180-Player.setPlayerProfile-API.patch index 9c4d661771..df4d417358 100644 --- a/patches/server/0180-Player.setPlayerProfile-API.patch +++ b/patches/server/0180-Player.setPlayerProfile-API.patch @@ -9,7 +9,7 @@ This can be useful for changing name or skins after a player has logged in. public-f net.minecraft.world.entity.player.Player gameProfile diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae0e3694f3971908cb472b1165d2649265e1bdca..66ca4d1f28143d1e4ce99532c6c2bd64cde67024 100644 +index 1b563aa6be76286c49ad3f037cb70b01d33c4458..c3bd22a0a4220d14aaad3821ffc920001c0b290b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1459,7 +1459,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0203-Make-shield-blocking-delay-configurable.patch b/patches/server/0203-Make-shield-blocking-delay-configurable.patch index df30f32224..1615b19324 100644 --- a/patches/server/0203-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0203-Make-shield-blocking-delay-configurable.patch @@ -5,10 +5,10 @@ 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 45eef550358b0f3e6780d98c43c5856ff44ae313..dce35cc6f81440cd7c6af330d5dc5416e6faf179 100644 +index 4f742679669aea2a19267f3774da1f8b094a45cf..3f50533b89345a74392e0e6ef0407e6aa544876e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3911,12 +3911,24 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3917,12 +3917,24 @@ public abstract class LivingEntity extends Entity implements Attackable { if (this.isUsingItem() && !this.useItem.isEmpty()) { Item item = this.useItem.getItem(); diff --git a/patches/server/0206-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch b/patches/server/0206-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch index fb37d7ab55..424865e8cf 100644 --- a/patches/server/0206-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch +++ b/patches/server/0206-Add-EntityKnockbackByEntityEvent-and-EntityPushedByE.patch @@ -39,10 +39,10 @@ index e612921a7fb68dd74d8fd4084a8beccc299ff6ea..49b100e2cf9868c4f06aae0bf538fcd4 protected void markHurt() { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index dce35cc6f81440cd7c6af330d5dc5416e6faf179..7d44d4563e39f279cf335f307a4d84d0758858ee 100644 +index 3f50533b89345a74392e0e6ef0407e6aa544876e..b153247b4be38e8ecaf3df64db55df88b7501cfd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1587,7 +1587,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1593,7 +1593,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected void blockedByShield(LivingEntity target) { @@ -51,7 +51,7 @@ index dce35cc6f81440cd7c6af330d5dc5416e6faf179..7d44d4563e39f279cf335f307a4d84d0 } private boolean checkTotemDeathProtection(DamageSource source) { -@@ -1850,7 +1850,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1856,7 +1856,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.knockback(strength, x, z, null, EntityKnockbackEvent.KnockbackCause.UNKNOWN); } @@ -60,7 +60,7 @@ index dce35cc6f81440cd7c6af330d5dc5416e6faf179..7d44d4563e39f279cf335f307a4d84d0 d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE); if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0 //this.hasImpulse = true; // CraftBukkit - Move down -@@ -1862,8 +1862,22 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1868,8 +1868,22 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } @@ -218,16 +218,14 @@ index 9f9b7373c9a714597858ddcd8932e31b902cf5a1..f7f26d595072372004143c4e26506ed5 public abstract void explode(); diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 111e6a7ab25e5513154984545c1737d2f7fd7d5f..146f5a33e1d538e46e4f7034a498d30f742a96f7 100644 +index 94f72ff58ac5206878a81e89d32e81c17b1bd1fb..b5b29210d9a6125d98e7dd737ca25f40545e512b 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -299,7 +299,17 @@ public class Explosion { - Vec3 result = entity.getDeltaMovement().add(vec3d1); - org.bukkit.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) entity.getBukkitEntity(), this.source, org.bukkit.event.entity.EntityKnockbackEvent.KnockbackCause.EXPLOSION, d13, vec3d1, result.x, result.y, result.z); - -- vec3d1 = (event.isCancelled()) ? Vec3.ZERO : new Vec3(event.getFinalKnockback().getX(), event.getFinalKnockback().getY(), event.getFinalKnockback().getZ()); +@@ -303,6 +303,16 @@ public class Explosion { + // since the code below (the setDeltaMovement call as well as the hitPlayers map) + // want the vector to be the relative velocity will the event provides the absolute velocity + vec3d1 = (event.isCancelled()) ? Vec3.ZERO : new Vec3(event.getFinalKnockback().getX(), event.getFinalKnockback().getY(), event.getFinalKnockback().getZ()).subtract(entity.getDeltaMovement()); + // Paper start - call EntityKnockbackByEntityEvent for explosions -+ vec3d1 = (event.isCancelled()) ? Vec3.ZERO : new Vec3(event.getFinalKnockback().getX(), event.getFinalKnockback().getY(), event.getFinalKnockback().getZ()).subtract(entity.getDeltaMovement()); // changes on this line fix a bug where vec3d1 wasn't reassigned with the "change", but instead the final deltaMovement + if (this.damageSource.getEntity() != null || this.source != null) { + final org.bukkit.entity.Entity hitBy = this.damageSource.getEntity() != null ? this.damageSource.getEntity().getBukkitEntity() : this.source.getBukkitEntity(); + com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent paperEvent = new com.destroystokyo.paper.event.entity.EntityKnockbackByEntityEvent(((LivingEntity) entity).getBukkitLivingEntity(), hitBy, (float) event.getForce(), org.bukkit.craftbukkit.util.CraftVector.toBukkit(vec3d1)); diff --git a/patches/server/0212-InventoryCloseEvent-Reason-API.patch b/patches/server/0212-InventoryCloseEvent-Reason-API.patch index 64b3489350..a1467b88e7 100644 --- a/patches/server/0212-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0212-InventoryCloseEvent-Reason-API.patch @@ -29,10 +29,10 @@ index 82947c9743433df9c03732e0a3229563de0ab53c..6f2e316480c4cd1ffb32e8d01009a18c } // 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 84e8ab9bdd4911412732e490ff8d10ba93d67f45..e073b48ed6cbefc503216615f54d09b309217d80 100644 +index 785c7e56a053acffa79fb11a32849d99961e35a4..c8084bdb20f1f21efc713c58d441096a31d79988 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -688,7 +688,7 @@ public class ServerPlayer extends Player { +@@ -698,7 +698,7 @@ public class ServerPlayer extends Player { } // Paper end - Configurable container update tick rate if (!this.level().isClientSide && !this.containerMenu.stillValid(this)) { @@ -41,7 +41,7 @@ index 84e8ab9bdd4911412732e490ff8d10ba93d67f45..e073b48ed6cbefc503216615f54d09b3 this.containerMenu = this.inventoryMenu; } -@@ -908,7 +908,7 @@ public class ServerPlayer extends Player { +@@ -918,7 +918,7 @@ public class ServerPlayer extends Player { // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { @@ -50,7 +50,7 @@ index 84e8ab9bdd4911412732e490ff8d10ba93d67f45..e073b48ed6cbefc503216615f54d09b3 } net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure -@@ -1549,7 +1549,7 @@ public class ServerPlayer extends Player { +@@ -1559,7 +1559,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end if (this.containerMenu != this.inventoryMenu) { @@ -59,7 +59,7 @@ index 84e8ab9bdd4911412732e490ff8d10ba93d67f45..e073b48ed6cbefc503216615f54d09b3 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1577,7 +1577,13 @@ public class ServerPlayer extends Player { +@@ -1587,7 +1587,13 @@ public class ServerPlayer extends Player { @Override public void closeContainer() { @@ -75,7 +75,7 @@ index 84e8ab9bdd4911412732e490ff8d10ba93d67f45..e073b48ed6cbefc503216615f54d09b3 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 66ca4d1f28143d1e4ce99532c6c2bd64cde67024..18a0dc407331cc3c85dc84580419e0c241e72435 100644 +index c3bd22a0a4220d14aaad3821ffc920001c0b290b..b0066e5ccd5b11a3a31c41dce513905c23459088 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2606,10 +2606,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0214-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0214-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 2cb488e718..38847f0bec 100644 --- a/patches/server/0214-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0214-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 18a0dc407331cc3c85dc84580419e0c241e72435..6755bc8f53253e5fcaaa94f7b505cdbe82d43a57 100644 +index b0066e5ccd5b11a3a31c41dce513905c23459088..a8c48cc286807a742838d372dc6dc2d2bb843f89 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2483,6 +2483,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0227-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0227-Break-up-and-make-tab-spam-limits-configurable.patch index 444c042a87..70d25047c5 100644 --- a/patches/server/0227-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/patches/server/0227-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6755bc8f53253e5fcaaa94f7b505cdbe82d43a57..dfaed8544c84f00d6092f7acab2193ee0228f9cf 100644 +index a8c48cc286807a742838d372dc6dc2d2bb843f89..b74bee4fa7bd222e5bb707f00aebe437dfa0886a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0245-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0245-Add-ray-tracing-methods-to-LivingEntity.patch index 6059533369..262e7ecb7c 100644 --- a/patches/server/0245-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0245-Add-ray-tracing-methods-to-LivingEntity.patch @@ -5,10 +5,10 @@ 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 7d44d4563e39f279cf335f307a4d84d0758858ee..67ba23c66e253d3a96f6b08a5580387859652aa2 100644 +index b153247b4be38e8ecaf3df64db55df88b7501cfd..337fda9f87ece1fc2264ae6a2af2b7abbb23d788 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3932,6 +3932,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3938,6 +3938,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } // Paper start - Make shield blocking delay configurable diff --git a/patches/server/0247-Improve-death-events.patch b/patches/server/0247-Improve-death-events.patch index 5bb85c8f53..20e3960aea 100644 --- a/patches/server/0247-Improve-death-events.patch +++ b/patches/server/0247-Improve-death-events.patch @@ -19,10 +19,10 @@ public net.minecraft.world.entity.LivingEntity getDeathSound()Lnet/minecraft/sou public net.minecraft.world.entity.LivingEntity getSoundVolume()F diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e073b48ed6cbefc503216615f54d09b309217d80..c97410f580f31389987ef944fc410e44459a4693 100644 +index c8084bdb20f1f21efc713c58d441096a31d79988..4c0afa2589606d2748e54961f2a25e28a5309073 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -263,6 +263,10 @@ public class ServerPlayer extends Player { +@@ -264,6 +264,10 @@ public class ServerPlayer extends Player { private int containerCounter; public boolean wonGame; private int containerUpdateDelay; // Paper - Configurable container update tick rate @@ -33,7 +33,7 @@ index e073b48ed6cbefc503216615f54d09b309217d80..c97410f580f31389987ef944fc410e44 // CraftBukkit start public CraftPlayer.TransferCookieConnection transferCookieConnection; -@@ -877,7 +881,7 @@ public class ServerPlayer extends Player { +@@ -887,7 +891,7 @@ public class ServerPlayer extends Player { @Override public void die(DamageSource damageSource) { @@ -42,7 +42,7 @@ index e073b48ed6cbefc503216615f54d09b309217d80..c97410f580f31389987ef944fc410e44 boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_SHOWDEATHMESSAGES); // CraftBukkit start - fire PlayerDeathEvent if (this.isRemoved()) { -@@ -905,6 +909,16 @@ public class ServerPlayer extends Player { +@@ -915,6 +919,16 @@ public class ServerPlayer extends Player { String deathmessage = defaultMessage.getString(); this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), keepInventory); // Paper - Adventure @@ -59,7 +59,7 @@ index e073b48ed6cbefc503216615f54d09b309217d80..c97410f580f31389987ef944fc410e44 // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { -@@ -1053,8 +1067,17 @@ public class ServerPlayer extends Player { +@@ -1063,8 +1077,17 @@ public class ServerPlayer extends Player { } } } @@ -80,7 +80,7 @@ index e073b48ed6cbefc503216615f54d09b309217d80..c97410f580f31389987ef944fc410e44 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6e4cbb2cb 100644 +index 337fda9f87ece1fc2264ae6a2af2b7abbb23d788..21d2c43a97122025edd91662e39d44cc867593a3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -271,6 +271,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -91,7 +91,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 @Override public float getBukkitYaw() { -@@ -1543,11 +1544,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1549,11 +1550,12 @@ public abstract class LivingEntity extends Entity implements Attackable { if (this.isDeadOrDying()) { if (!this.checkTotemDeathProtection(source)) { @@ -107,7 +107,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 } } else if (flag1) { this.playHurtSound(source); -@@ -1706,6 +1708,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1712,6 +1714,7 @@ public abstract class LivingEntity extends Entity implements Attackable { Entity entity = damageSource.getEntity(); LivingEntity entityliving = this.getKillCredit(); @@ -115,7 +115,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 if (this.deathScore >= 0 && entityliving != null) { entityliving.awardKillScore(this, this.deathScore, damageSource); } -@@ -1717,24 +1720,59 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1723,24 +1726,59 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!this.level().isClientSide && this.hasCustomName()) { if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot } @@ -180,7 +180,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 } } -@@ -1742,7 +1780,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1748,7 +1786,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!this.level().isClientSide) { boolean flag = false; @@ -189,7 +189,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 if (this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { BlockPos blockposition = this.blockPosition(); BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); -@@ -1771,7 +1809,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1777,7 +1815,11 @@ public abstract class LivingEntity extends Entity implements Attackable { } } @@ -202,7 +202,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 Entity entity = source.getEntity(); int i; -@@ -1786,18 +1828,27 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1792,18 +1834,27 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropEquipment(); // CraftBukkit - from below if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { this.dropFromLootTable(source, flag); @@ -232,7 +232,7 @@ index 67ba23c66e253d3a96f6b08a5580387859652aa2..a770d2bda45cee739a5371119018e6f6 // CraftBukkit start public int getExpReward() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 2f33036a78a120898b18301bae1585c65fdb69dc..f91d6cc59f203fc67e38ba92159dbae22b6dbfac 100644 +index e159da8a8dcff686e93d09a15141233915c264bf..4c0f7741e199e4bb03767effda669bbbc9f0d233 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1170,6 +1170,12 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0257-Add-LivingEntity-getTargetEntity.patch b/patches/server/0257-Add-LivingEntity-getTargetEntity.patch index 44504af9dc..8f82d5749b 100644 --- a/patches/server/0257-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0257-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 a770d2bda45cee739a5371119018e6f6e4cbb2cb..9f97c1c18d7f7e084897f584be77b128c5cbfa13 100644 +index 21d2c43a97122025edd91662e39d44cc867593a3..bac78415e34d41e3a5de482b86185f2202ecf068 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -121,6 +121,7 @@ import net.minecraft.world.level.storage.loot.LootTable; @@ -16,7 +16,7 @@ index a770d2bda45cee739a5371119018e6f6e4cbb2cb..9f97c1c18d7f7e084897f584be77b128 import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.scores.PlayerTeam; -@@ -3996,6 +3997,38 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4002,6 +4003,38 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.level().clip(raytrace); } diff --git a/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch index 6c50ec8023..d584dd8b7d 100644 --- a/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch +++ b/patches/server/0261-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c97410f580f31389987ef944fc410e44459a4693..b331af6de6a23dedf6cd21b97cb81048db215f10 100644 +index 4c0afa2589606d2748e54961f2a25e28a5309073..bea2c72cf0f4bed73984cde8f7d06cef797cd769 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2123,6 +2123,21 @@ public class ServerPlayer extends Player { +@@ -2133,6 +2133,21 @@ public class ServerPlayer extends Player { this.camera = (Entity) (entity == null ? this : entity); if (entity1 != this.camera) { diff --git a/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch index 0c5151b43a..278991d650 100644 --- a/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/patches/server/0264-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index dfaed8544c84f00d6092f7acab2193ee0228f9cf..edf138c1671592fecfbb532015cda3542dd3f690 100644 +index b74bee4fa7bd222e5bb707f00aebe437dfa0886a..2cfd937f30e481038483a6ba2c552f5da316c66e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -494,9 +494,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0265-Reset-players-airTicks-on-respawn.patch b/patches/server/0265-Reset-players-airTicks-on-respawn.patch index 792f05094a..0754da0a5c 100644 --- a/patches/server/0265-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0265-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b331af6de6a23dedf6cd21b97cb81048db215f10..3b71ea8263b2049c54432a64c7f01aed3848d1c7 100644 +index bea2c72cf0f4bed73984cde8f7d06cef797cd769..91ce1788e2a019c15fba2daf9ee383618f874fd4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2614,6 +2614,7 @@ public class ServerPlayer extends Player { +@@ -2624,6 +2624,7 @@ public class ServerPlayer extends Player { this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset diff --git a/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch index e7f3a33daa..fb98100e18 100644 --- a/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/patches/server/0271-Don-t-allow-digging-into-unloaded-chunks.patch @@ -59,7 +59,7 @@ index 5f2dec1917f1c1c3bb69446832321f3fc21dc129..cd6f34ee326228036f8c025e4e6d04e0 this.level.destroyBlockProgress(this.player.getId(), pos, -1); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index edf138c1671592fecfbb532015cda3542dd3f690..578d70b6962201237069aba1208923fb7465e388 100644 +index 2cfd937f30e481038483a6ba2c552f5da316c66e..b137faaf3a6f12b532555bfeebf245f0d6b38c59 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1583,6 +1583,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0273-force-entity-dismount-during-teleportation.patch b/patches/server/0273-force-entity-dismount-during-teleportation.patch index 273b4e4634..b68fcb14b3 100644 --- a/patches/server/0273-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0273-force-entity-dismount-during-teleportation.patch @@ -72,10 +72,10 @@ index d39aec1b3233e91aa5b953396d876e7466a9a5bc..28708e1e8ade8fbfec24120478d250dd 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 9f97c1c18d7f7e084897f584be77b128c5cbfa13..709bcc209299fcc5a593c1b4c93a179af2b5eff1 100644 +index bac78415e34d41e3a5de482b86185f2202ecf068..a4eee658ecfc0f25e854c17a7715cb16715859b1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3579,9 +3579,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3585,9 +3585,15 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override public void stopRiding() { diff --git a/patches/server/0275-Book-Size-Limits.patch b/patches/server/0275-Book-Size-Limits.patch index 2a4e92854c..1a377ffc13 100644 --- a/patches/server/0275-Book-Size-Limits.patch +++ b/patches/server/0275-Book-Size-Limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Book Size Limits Puts some limits on the size of books. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 578d70b6962201237069aba1208923fb7465e388..b277029f20f27431d62f05bf8fbd65095c5b15a8 100644 +index b137faaf3a6f12b532555bfeebf245f0d6b38c59..8892e4a7ba98421cc41d5cabdb45ff8de755a442 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1040,6 +1040,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0277-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0277-Replace-OfflinePlayer-getLastPlayed.patch index aa6050d048..0ccff4ef31 100644 --- a/patches/server/0277-Replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0277-Replace-OfflinePlayer-getLastPlayed.patch @@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3b71ea8263b2049c54432a64c7f01aed3848d1c7..05379ea4581db4277e6cc625ed0f3228bd0130fd 100644 +index 91ce1788e2a019c15fba2daf9ee383618f874fd4..74da4c332045cb749104f2bc573e3116df91d01f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -263,6 +263,7 @@ public class ServerPlayer extends Player { +@@ -264,6 +264,7 @@ public class ServerPlayer extends Player { private int containerCounter; public boolean wonGame; private int containerUpdateDelay; // Paper - Configurable container update tick rate diff --git a/patches/server/0278-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0278-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 0b04379c7c..8362051b8a 100644 --- a/patches/server/0278-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0278-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 05379ea4581db4277e6cc625ed0f3228bd0130fd..e5d8384830c83694a3560fc743dc38e645cf9cfd 100644 +index 74da4c332045cb749104f2bc573e3116df91d01f..8fa241f2f229a8b0950bc1f8a7de61a02bc1020c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1789,6 +1789,13 @@ public class ServerPlayer extends Player { +@@ -1799,6 +1799,13 @@ public class ServerPlayer extends Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/server/0282-Brigadier-Mojang-API.patch b/patches/server/0282-Brigadier-Mojang-API.patch index 55b1c9b8a9..a406a36b20 100644 --- a/patches/server/0282-Brigadier-Mojang-API.patch +++ b/patches/server/0282-Brigadier-Mojang-API.patch @@ -131,7 +131,7 @@ index b754c0b3e2cd878fca5f702daca64f837ec83451..f15c388434a0a501f86868de35cc1387 if (commandnode2.canUse(source)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b277029f20f27431d62f05bf8fbd65095c5b15a8..afe102a677546dd16b91433c7a50c62a05a00b20 100644 +index 8892e4a7ba98421cc41d5cabdb45ff8de755a442..e241e0cae476ba963aff70b4f7ab038f07207303 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -766,19 +766,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0284-Limit-Client-Sign-length-more.patch b/patches/server/0284-Limit-Client-Sign-length-more.patch index 3d821a4879..4ebb76bc89 100644 --- a/patches/server/0284-Limit-Client-Sign-length-more.patch +++ b/patches/server/0284-Limit-Client-Sign-length-more.patch @@ -22,7 +22,7 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index afe102a677546dd16b91433c7a50c62a05a00b20..4e649fe68c6d0cf42e35f821457064656410d823 100644 +index e241e0cae476ba963aff70b4f7ab038f07207303..fedc4654178a3771004394665914efd2b842432a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -299,6 +299,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0291-PlayerDeathEvent-getItemsToKeep.patch b/patches/server/0291-PlayerDeathEvent-getItemsToKeep.patch index b9fa9fdd39..ae34cde5f2 100644 --- a/patches/server/0291-PlayerDeathEvent-getItemsToKeep.patch +++ b/patches/server/0291-PlayerDeathEvent-getItemsToKeep.patch @@ -11,10 +11,10 @@ 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 e5d8384830c83694a3560fc743dc38e645cf9cfd..209d9f294a387e63b725be76cb645ca8925fa5a4 100644 +index 8fa241f2f229a8b0950bc1f8a7de61a02bc1020c..0fd8af120734973d425dbd286a59d2b9c1a05162 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -880,6 +880,46 @@ public class ServerPlayer extends Player { +@@ -890,6 +890,46 @@ public class ServerPlayer extends Player { }); } @@ -61,7 +61,7 @@ index e5d8384830c83694a3560fc743dc38e645cf9cfd..209d9f294a387e63b725be76cb645ca8 @Override public void die(DamageSource damageSource) { // this.gameEvent(GameEvent.ENTITY_DIE); // Paper - move below event cancellation check -@@ -964,7 +1004,12 @@ public class ServerPlayer extends Player { +@@ -974,7 +1014,12 @@ public class ServerPlayer extends Player { this.dropExperience(); // we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory. if (!event.getKeepInventory()) { diff --git a/patches/server/0303-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0303-Prevent-consuming-the-wrong-itemstack.patch index b3336ee24c..2ff170a3bf 100644 --- a/patches/server/0303-Prevent-consuming-the-wrong-itemstack.patch +++ b/patches/server/0303-Prevent-consuming-the-wrong-itemstack.patch @@ -5,10 +5,10 @@ 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 709bcc209299fcc5a593c1b4c93a179af2b5eff1..ba18e2decde409b40ac73c66b015419e219c759a 100644 +index a4eee658ecfc0f25e854c17a7715cb16715859b1..d88b13be2d72cc40c5ca846a55eece1d9ca5fd37 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3815,9 +3815,14 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3821,9 +3821,14 @@ public abstract class LivingEntity extends Entity implements Attackable { } public void startUsingItem(InteractionHand hand) { @@ -24,7 +24,7 @@ index 709bcc209299fcc5a593c1b4c93a179af2b5eff1..ba18e2decde409b40ac73c66b015419e this.useItem = itemstack; this.useItemRemaining = itemstack.getUseDuration(); if (!this.level().isClientSide) { -@@ -3897,6 +3902,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3903,6 +3908,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.releaseUsingItem(); } else { if (!this.useItem.isEmpty() && this.isUsingItem()) { @@ -32,7 +32,7 @@ index 709bcc209299fcc5a593c1b4c93a179af2b5eff1..ba18e2decde409b40ac73c66b015419e this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; -@@ -3931,8 +3937,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3937,8 +3943,8 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.stopUsingItem(); diff --git a/patches/server/0309-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0309-PlayerDeathEvent-shouldDropExperience.patch index 4a5a9b4d6c..371eaa1631 100644 --- a/patches/server/0309-PlayerDeathEvent-shouldDropExperience.patch +++ b/patches/server/0309-PlayerDeathEvent-shouldDropExperience.patch @@ -5,10 +5,10 @@ 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 209d9f294a387e63b725be76cb645ca8925fa5a4..9d08ff6024c6036dce57c833c1413033c8b2ef2c 100644 +index 0fd8af120734973d425dbd286a59d2b9c1a05162..760ec9a315ff254b4c1e44310e3c1e2f7ab57125 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1001,7 +1001,7 @@ public class ServerPlayer extends Player { +@@ -1011,7 +1011,7 @@ public class ServerPlayer extends Player { this.tellNeutralMobsThatIDied(); } // SPIGOT-5478 must be called manually now diff --git a/patches/server/0314-Optimize-call-to-getFluid-for-explosions.patch b/patches/server/0314-Optimize-call-to-getFluid-for-explosions.patch index 311cde37d6..fae5cedf53 100644 --- a/patches/server/0314-Optimize-call-to-getFluid-for-explosions.patch +++ b/patches/server/0314-Optimize-call-to-getFluid-for-explosions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize call to getFluid for explosions diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 146f5a33e1d538e46e4f7034a498d30f742a96f7..b54a5c496ea7f1999c1b10219e72e9ce79921c99 100644 +index b5b29210d9a6125d98e7dd737ca25f40545e512b..30109db978563fab1a33b450f0ca82e176539703 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -192,7 +192,7 @@ public class Explosion { diff --git a/patches/server/0324-Entity-Jump-API.patch b/patches/server/0324-Entity-Jump-API.patch index 6debbbab6a..33973d1d65 100644 --- a/patches/server/0324-Entity-Jump-API.patch +++ b/patches/server/0324-Entity-Jump-API.patch @@ -7,10 +7,10 @@ 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 ba18e2decde409b40ac73c66b015419e219c759a..67aa02a223345a91fe0b30b36966995e304c82bb 100644 +index d88b13be2d72cc40c5ca846a55eece1d9ca5fd37..c2934dc1d87bd8211714ab8af8ddfc32695b7953 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3395,8 +3395,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3401,8 +3401,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } else if (this.isInLava() && (!this.onGround() || d3 > d4)) { this.jumpInLiquid(FluidTags.LAVA); } else if ((this.onGround() || flag && d3 <= d4) && this.noJumpDelay == 0) { diff --git a/patches/server/0336-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/0336-Pillager-patrol-spawn-settings-and-per-player-option.patch index 1e050126e8..95935c86fc 100644 --- a/patches/server/0336-Pillager-patrol-spawn-settings-and-per-player-option.patch +++ b/patches/server/0336-Pillager-patrol-spawn-settings-and-per-player-option.patch @@ -10,10 +10,10 @@ 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 9d08ff6024c6036dce57c833c1413033c8b2ef2c..9f88d1771cefc4700911f1cd9841eb80fc7278a4 100644 +index 760ec9a315ff254b4c1e44310e3c1e2f7ab57125..2c9494fb52c39a6aacd4d1dd553ca08e96abca78 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -264,6 +264,7 @@ public class ServerPlayer extends Player { +@@ -265,6 +265,7 @@ public class ServerPlayer extends Player { public boolean wonGame; private int containerUpdateDelay; // Paper - Configurable container update tick rate public long loginTime; // Paper - Replace OfflinePlayer#getLastPlayed diff --git a/patches/server/0340-Don-t-tick-dead-players.patch b/patches/server/0340-Don-t-tick-dead-players.patch index 742fc27e78..52e63e2774 100644 --- a/patches/server/0340-Don-t-tick-dead-players.patch +++ b/patches/server/0340-Don-t-tick-dead-players.patch @@ -7,10 +7,10 @@ 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 9f88d1771cefc4700911f1cd9841eb80fc7278a4..74e8aef45702eef0dcabc7841a7c7125cc066cbe 100644 +index 2c9494fb52c39a6aacd4d1dd553ca08e96abca78..4a9b5238cd1ab99920756d72c2ff32e04b35935a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -748,7 +748,7 @@ public class ServerPlayer extends Player { +@@ -758,7 +758,7 @@ public class ServerPlayer extends Player { public void doTick() { try { diff --git a/patches/server/0342-Don-t-move-existing-players-to-world-spawn.patch b/patches/server/0342-Don-t-move-existing-players-to-world-spawn.patch index d81ed62207..781abaf10c 100644 --- a/patches/server/0342-Don-t-move-existing-players-to-world-spawn.patch +++ b/patches/server/0342-Don-t-move-existing-players-to-world-spawn.patch @@ -13,10 +13,10 @@ 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 74e8aef45702eef0dcabc7841a7c7125cc066cbe..618efe10752c968142fcc0f28a533d3515ef3367 100644 +index 4a9b5238cd1ab99920756d72c2ff32e04b35935a..af40929f5d90973d8e624b98d5059fcce237b659 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -352,7 +352,7 @@ public class ServerPlayer extends Player { +@@ -353,7 +353,7 @@ public class ServerPlayer extends Player { this.server = server; this.stats = server.getPlayerList().getPlayerStats(this); this.advancements = server.getPlayerList().getPlayerAdvancements(this); @@ -25,7 +25,7 @@ index 74e8aef45702eef0dcabc7841a7c7125cc066cbe..618efe10752c968142fcc0f28a533d35 this.updateOptions(clientOptions); this.object = null; -@@ -611,7 +611,7 @@ public class ServerPlayer extends Player { +@@ -621,7 +621,7 @@ public class ServerPlayer extends Player { position = Vec3.atCenterOf(world.getSharedSpawnPos()); } this.setLevel(world); diff --git a/patches/server/0346-Prevent-opening-inventories-when-frozen.patch b/patches/server/0346-Prevent-opening-inventories-when-frozen.patch index 3cd9a7bd13..574aa307db 100644 --- a/patches/server/0346-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0346-Prevent-opening-inventories-when-frozen.patch @@ -5,10 +5,10 @@ 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 618efe10752c968142fcc0f28a533d3515ef3367..f6e4172f1c7ad38128e77e53f099e67a4c4be620 100644 +index af40929f5d90973d8e624b98d5059fcce237b659..4492d082b172a8bfc65405bfa73865237d02dd3f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -693,7 +693,7 @@ public class ServerPlayer extends Player { +@@ -703,7 +703,7 @@ public class ServerPlayer extends Player { containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate; } // Paper end - Configurable container update tick rate @@ -17,7 +17,7 @@ index 618efe10752c968142fcc0f28a533d3515ef3367..f6e4172f1c7ad38128e77e53f099e67a this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper - Inventory close reason this.containerMenu = this.inventoryMenu; } -@@ -1592,7 +1592,7 @@ public class ServerPlayer extends Player { +@@ -1602,7 +1602,7 @@ public class ServerPlayer extends Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/server/0347-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0347-Don-t-run-entity-collision-code-if-not-needed.patch index 9b172946c6..2da84f514d 100644 --- a/patches/server/0347-Don-t-run-entity-collision-code-if-not-needed.patch +++ b/patches/server/0347-Don-t-run-entity-collision-code-if-not-needed.patch @@ -12,10 +12,10 @@ The entity's current team collision rule causes them to NEVER collide. Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 67aa02a223345a91fe0b30b36966995e304c82bb..bca65fe3b38da83ce5f8fe67867b7cf19d02adbb 100644 +index c2934dc1d87bd8211714ab8af8ddfc32695b7953..a54024b88555bd6a47314dcc42deae1252be7125 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3506,10 +3506,24 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3512,10 +3512,24 @@ public abstract class LivingEntity extends Entity implements Attackable { if (this.level().isClientSide()) { this.level().getEntities(EntityTypeTest.forClass(net.minecraft.world.entity.player.Player.class), this.getBoundingBox(), EntitySelector.pushableBy(this)).forEach(this::doPush); } else { diff --git a/patches/server/0348-Implement-Player-Client-Options-API.patch b/patches/server/0348-Implement-Player-Client-Options-API.patch index cee4051d9c..48f83018f9 100644 --- a/patches/server/0348-Implement-Player-Client-Options-API.patch +++ b/patches/server/0348-Implement-Player-Client-Options-API.patch @@ -87,10 +87,10 @@ 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 f6e4172f1c7ad38128e77e53f099e67a4c4be620..62bdc3016120271da2ca3a1f6ac46757e2e1dab4 100644 +index 4492d082b172a8bfc65405bfa73865237d02dd3f..9f74168b0dd9392d2f4164fc7011e98623e28882 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -353,7 +353,7 @@ public class ServerPlayer extends Player { +@@ -354,7 +354,7 @@ public class ServerPlayer extends Player { this.stats = server.getPlayerList().getPlayerStats(this); this.advancements = server.getPlayerList().getPlayerAdvancements(this); // this.fudgeSpawnLocation(world); // Paper - Don't move existing players to world spawn @@ -99,7 +99,7 @@ index f6e4172f1c7ad38128e77e53f099e67a4c4be620..62bdc3016120271da2ca3a1f6ac46757 this.object = null; this.cachedSingleHashSet = new com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper -@@ -2086,7 +2086,23 @@ public class ServerPlayer extends Player { +@@ -2096,7 +2096,23 @@ public class ServerPlayer extends Player { } } @@ -123,7 +123,7 @@ index f6e4172f1c7ad38128e77e53f099e67a4c4be620..62bdc3016120271da2ca3a1f6ac46757 // CraftBukkit start if (this.getMainArm() != clientOptions.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); -@@ -2098,6 +2114,11 @@ public class ServerPlayer extends Player { +@@ -2108,6 +2124,11 @@ public class ServerPlayer extends Player { this.server.server.getPluginManager().callEvent(new com.destroystokyo.paper.event.player.PlayerLocaleChangeEvent(this.getBukkitEntity(), this.language, clientOptions.language())); // Paper } // CraftBukkit end diff --git a/patches/server/0350-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/server/0350-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch index 8125140964..f8725ebf87 100644 --- a/patches/server/0350-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch +++ b/patches/server/0350-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch @@ -43,10 +43,10 @@ index 66936834a80ef6b645ab44f3439defcb90237bfa..406c78dcb97d954f16f05d379d4dbf74 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 62bdc3016120271da2ca3a1f6ac46757e2e1dab4..e3f73ccbc2d62eef386adc6c66428c6081a68b8b 100644 +index 9f74168b0dd9392d2f4164fc7011e98623e28882..a8c9a9cea8d527f2bb4393c0539b3c8f3b25e06e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -283,6 +283,7 @@ public class ServerPlayer extends Player { +@@ -284,6 +284,7 @@ public class ServerPlayer extends Player { public double maxHealthCache; public boolean joining = true; public boolean sentListPacket = false; diff --git a/patches/server/0352-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0352-Add-PlayerAttackEntityCooldownResetEvent.patch index 617252a191..e96017d4ce 100644 --- a/patches/server/0352-Add-PlayerAttackEntityCooldownResetEvent.patch +++ b/patches/server/0352-Add-PlayerAttackEntityCooldownResetEvent.patch @@ -5,10 +5,10 @@ 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 bca65fe3b38da83ce5f8fe67867b7cf19d02adbb..10e337fc1fb23d9eaab54f92021a7d95a14468f8 100644 +index a54024b88555bd6a47314dcc42deae1252be7125..022ff3f125b7fe4f59b8c4bf75533d9b6cac4189 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2258,7 +2258,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2264,7 +2264,16 @@ public abstract class LivingEntity extends Entity implements Attackable { EntityDamageEvent event = CraftEventFactory.handleLivingEntityDamageEvent(this, damagesource, originalDamage, hardHatModifier, blockingModifier, armorModifier, resistanceModifier, magicModifier, absorptionModifier, hardHat, blocking, armor, resistance, magic, absorption); if (damagesource.getEntity() instanceof net.minecraft.world.entity.player.Player) { diff --git a/patches/server/0355-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0355-Fix-item-duplication-and-teleport-issues.patch index e8784b4e33..e1d2d1f039 100644 --- a/patches/server/0355-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0355-Fix-item-duplication-and-teleport-issues.patch @@ -80,10 +80,10 @@ index 04bd6d6bc6af0e423f56329dc3554b04170932f9..af49ff55865b327c167efedcb7413c27 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 10e337fc1fb23d9eaab54f92021a7d95a14468f8..8daaadbc524ee8d7c4a4ddd1d2a822f3b697abd0 100644 +index 022ff3f125b7fe4f59b8c4bf75533d9b6cac4189..be1eff193cd0d581209d34e2ae81d1db67e5a153 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1734,9 +1734,9 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1740,9 +1740,9 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper start org.bukkit.event.entity.EntityDeathEvent deathEvent = this.dropAllDeathLoot(damageSource); if (deathEvent == null || !deathEvent.isCancelled()) { @@ -96,7 +96,7 @@ index 10e337fc1fb23d9eaab54f92021a7d95a14468f8..8daaadbc524ee8d7c4a4ddd1d2a822f3 // Paper start - clear equipment if event is not cancelled if (this instanceof Mob) { for (EquipmentSlot slot : this.clearedEquipmentSlots) { -@@ -1837,8 +1837,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1843,8 +1843,13 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropCustomDeathLoot(source, i, flag); this.clearEquipmentSlots = prev; // Paper } diff --git a/patches/server/0357-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0357-Validate-PickItem-Packet-and-kick-for-invalid.patch index 64608fdfdd..03ebc55195 100644 --- a/patches/server/0357-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/patches/server/0357-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Validate PickItem Packet and kick for invalid diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4e649fe68c6d0cf42e35f821457064656410d823..997bf1c7bed5f78b017827acb6339f5e07791f7f 100644 +index fedc4654178a3771004394665914efd2b842432a..b3026d2c70419a9de11f5887cbc998f29b7820eb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -892,7 +892,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0361-Prevent-teleporting-dead-entities.patch b/patches/server/0361-Prevent-teleporting-dead-entities.patch index fc30bb64c6..2820b8f349 100644 --- a/patches/server/0361-Prevent-teleporting-dead-entities.patch +++ b/patches/server/0361-Prevent-teleporting-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent teleporting dead entities diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 997bf1c7bed5f78b017827acb6339f5e07791f7f..652e9e31cbda3551f6ddd5c697a0fa47ce1382b7 100644 +index b3026d2c70419a9de11f5887cbc998f29b7820eb..b715e7b3230dba24d10230d5e4d8dd5589f93018 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1540,6 +1540,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0378-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0378-Prevent-position-desync-causing-tp-exploit.patch index cc71ab24de..f789abcfe7 100644 --- a/patches/server/0378-Prevent-position-desync-causing-tp-exploit.patch +++ b/patches/server/0378-Prevent-position-desync-causing-tp-exploit.patch @@ -13,7 +13,7 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 652e9e31cbda3551f6ddd5c697a0fa47ce1382b7..a8155150c75f17b56ab5ebdb435d61d2b0ee576f 100644 +index b715e7b3230dba24d10230d5e4d8dd5589f93018..2e27141c6cc2dec758f294381da39a683c4e194d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1355,6 +1355,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0380-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0380-Add-PlayerRecipeBookClickEvent.patch index 7f2ad0e0dc..21e43aed85 100644 --- a/patches/server/0380-Add-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0380-Add-PlayerRecipeBookClickEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a8155150c75f17b56ab5ebdb435d61d2b0ee576f..8cb7b1c6ce0d0cc5bbd9d373772ef3aae3f62c7f 100644 +index 2e27141c6cc2dec758f294381da39a683c4e194d..a6cd53e08a0770b93876f98efa7ebfe5b77a2f15 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3045,16 +3045,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0382-Add-permission-for-command-blocks.patch b/patches/server/0382-Add-permission-for-command-blocks.patch index 56b93f4de8..ee751febd7 100644 --- a/patches/server/0382-Add-permission-for-command-blocks.patch +++ b/patches/server/0382-Add-permission-for-command-blocks.patch @@ -18,7 +18,7 @@ index cd6f34ee326228036f8c025e4e6d04e0c15ba06f..2f0d56c78584abe27ef050258827103f return false; } else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8cb7b1c6ce0d0cc5bbd9d373772ef3aae3f62c7f..5bc22e58a6ddfc0a5459c68e99fdf1095f23f0d8 100644 +index a6cd53e08a0770b93876f98efa7ebfe5b77a2f15..8011266f5fe082c0a81a7a828fe2cf7445fba0f7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -803,7 +803,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0384-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0384-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index f9de6ceab3..5e0986e0dd 100644 --- a/patches/server/0384-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0384-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -76,10 +76,10 @@ index 3d33504eac6af17c8833de11226968d52f96232f..4d7c2832a9cd9a88b99c837a02df7fa9 @Override diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e3f73ccbc2d62eef386adc6c66428c6081a68b8b..0019e5313523521b4f1607dfc391d47c55961a48 100644 +index a8c9a9cea8d527f2bb4393c0539b3c8f3b25e06e..7ecd6707c1325afb9f9c01699badefb4ea059501 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1228,7 +1228,7 @@ public class ServerPlayer extends Player { +@@ -1238,7 +1238,7 @@ public class ServerPlayer extends Player { this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds this.connection.send(new ClientboundRespawnPacket(this.createCommonSpawnInfo(worldserver), (byte) 3)); @@ -89,7 +89,7 @@ index e3f73ccbc2d62eef386adc6c66428c6081a68b8b..0019e5313523521b4f1607dfc391d47c playerlist.sendPlayerPermissionLevel(this); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5bc22e58a6ddfc0a5459c68e99fdf1095f23f0d8..324229e960c6fdf3de2a8d5c0c5516e262985efc 100644 +index 8011266f5fe082c0a81a7a828fe2cf7445fba0f7..688579464e1f6e34f07e37f80efcd31a1a8a0538 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3248,7 +3248,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0389-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0389-Convert-legacy-attributes-in-Item-Meta.patch index b412fb6983..56978470d7 100644 --- a/patches/server/0389-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0389-Convert-legacy-attributes-in-Item-Meta.patch @@ -30,7 +30,7 @@ index de40e522960469b98f987bd688489740446d9f85..a0a34f680e21007ebf2c2497d2e6505e public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 122142125dcba97572b1e0b9195e534a0e2257d9..a3ae3203e04dfb791b8aa537a303f4a4bd6cbab6 100644 +index e88364dfe067c605856390d2cce07ba320632df9..069666c797c39b5119e41a3c18727f89fcc3b8c5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -607,7 +607,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/0390-Do-not-accept-invalid-client-settings.patch b/patches/server/0390-Do-not-accept-invalid-client-settings.patch index ad0a7a55ea..4cc4ebcdec 100644 --- a/patches/server/0390-Do-not-accept-invalid-client-settings.patch +++ b/patches/server/0390-Do-not-accept-invalid-client-settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Do not accept invalid client settings diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 324229e960c6fdf3de2a8d5c0c5516e262985efc..ec5e4e6eb1de7e134e30247a0c43e73af7263e47 100644 +index 688579464e1f6e34f07e37f80efcd31a1a8a0538..33c53c0b2dd755cb63288e9df5bb3dc11b3af55e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3240,6 +3240,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0394-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0394-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch index f671f9aab8..b7931f343c 100644 --- a/patches/server/0394-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch +++ b/patches/server/0394-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch @@ -5,10 +5,10 @@ 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 8daaadbc524ee8d7c4a4ddd1d2a822f3b697abd0..914c6499eb94665f0e3c4654dd05fc10d93f87d4 100644 +index be1eff193cd0d581209d34e2ae81d1db67e5a153..81838056cacb9f2fd2d3c05b125461ac3013e82b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3618,7 +3618,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3624,7 +3624,7 @@ public abstract class LivingEntity extends Entity implements Attackable { Entity entity = this.getVehicle(); super.stopRiding(suppressCancellation); // Paper - Force entity dismount during teleportation diff --git a/patches/server/0404-Brand-support.patch b/patches/server/0404-Brand-support.patch index 2622e64ecf..8d331cba7f 100644 --- a/patches/server/0404-Brand-support.patch +++ b/patches/server/0404-Brand-support.patch @@ -5,10 +5,10 @@ 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 0019e5313523521b4f1607dfc391d47c55961a48..a182ab1c06c4644e9c14d7a2eff2620d827dfb2c 100644 +index 7ecd6707c1325afb9f9c01699badefb4ea059501..4b07b5f7a92a7bfe74f157fd69ecd864df38c495 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -289,6 +289,7 @@ public class ServerPlayer extends Player { +@@ -290,6 +290,7 @@ public class ServerPlayer extends Player { public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent diff --git a/patches/server/0410-Prevent-headless-pistons-from-being-created.patch b/patches/server/0410-Prevent-headless-pistons-from-being-created.patch index 4235450c0f..bc829f1c99 100644 --- a/patches/server/0410-Prevent-headless-pistons-from-being-created.patch +++ b/patches/server/0410-Prevent-headless-pistons-from-being-created.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent headless pistons from being created Prevent headless pistons from being created by explosions or tree/mushroom growth. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index b54a5c496ea7f1999c1b10219e72e9ce79921c99..aa81144975fa66bcdb3d107e2a461b6d62d8e59e 100644 +index 30109db978563fab1a33b450f0ca82e176539703..d29b4268431472c6132efdfcd305e9616c57da21 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -206,6 +206,15 @@ public class Explosion { diff --git a/patches/server/0420-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0420-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index e275eb17f8..3df9c42e9a 100644 --- a/patches/server/0420-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0420-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ec5e4e6eb1de7e134e30247a0c43e73af7263e47..6d47fb4c90d506c72d111f66ee2c46ee74265a37 100644 +index 33c53c0b2dd755cb63288e9df5bb3dc11b3af55e..0583820095ab35c1083409f6f4a82adaa06c4574 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -676,7 +676,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0430-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0430-Fix-for-large-move-vectors-crashing-server.patch index a80c955bab..d7ab320b2d 100644 --- a/patches/server/0430-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0430-Fix-for-large-move-vectors-crashing-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6d47fb4c90d506c72d111f66ee2c46ee74265a37..132f28f5fdb08357f70270f0b4453597387c86ea 100644 +index 0583820095ab35c1083409f6f4a82adaa06c4574..4f7c15bf80092d91038b42d91fcd6634375d4446 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -492,9 +492,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0443-Add-API-for-quit-reason.patch b/patches/server/0443-Add-API-for-quit-reason.patch index 7b73031464..2bcaaecee6 100644 --- a/patches/server/0443-Add-API-for-quit-reason.patch +++ b/patches/server/0443-Add-API-for-quit-reason.patch @@ -25,10 +25,10 @@ index 68d5be903a0d13e59c9e4bd6d85baaf0773547a0..fe89e8f509f3972ceb71c9aa6277524b 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 a182ab1c06c4644e9c14d7a2eff2620d827dfb2c..edfcfb91d907d6e1837e5a5d0e7abb8c8f6bcb66 100644 +index 4b07b5f7a92a7bfe74f157fd69ecd864df38c495..c4ba4b378aee28e7479207aff46c27307bd6b105 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -290,6 +290,7 @@ public class ServerPlayer extends Player { +@@ -291,6 +291,7 @@ public class ServerPlayer extends Player { public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent public @Nullable String clientBrandName = null; // Paper - Brand support diff --git a/patches/server/0452-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0452-Climbing-should-not-bypass-cramming-gamerule.patch index 0640edf4f3..c2f72432f5 100644 --- a/patches/server/0452-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0452-Climbing-should-not-bypass-cramming-gamerule.patch @@ -44,10 +44,10 @@ 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 914c6499eb94665f0e3c4654dd05fc10d93f87d4..e38f0659836be4bebff06e8d8e7848abdcbda455 100644 +index 81838056cacb9f2fd2d3c05b125461ac3013e82b..636bef0624f71dea27cbab261c3072fdf73fbf4b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3534,7 +3534,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3540,7 +3540,7 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result @@ -56,7 +56,7 @@ index 914c6499eb94665f0e3c4654dd05fc10d93f87d4..e38f0659836be4bebff06e8d8e7848ab if (!list.isEmpty()) { // Paper - don't run getEntities if we're not going to use its result; moved up -@@ -3724,9 +3724,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3730,9 +3730,16 @@ public abstract class LivingEntity extends Entity implements Attackable { return !this.isRemoved() && this.collides; // CraftBukkit } diff --git a/patches/server/0455-Limit-recipe-packets.patch b/patches/server/0455-Limit-recipe-packets.patch index 31d5f14eec..6ec29c0b17 100644 --- a/patches/server/0455-Limit-recipe-packets.patch +++ b/patches/server/0455-Limit-recipe-packets.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 132f28f5fdb08357f70270f0b4453597387c86ea..36ef3bbf70e71fd4712098bd1bd5af426e569fb5 100644 +index 4f7c15bf80092d91038b42d91fcd6634375d4446..7ea22e99de646f439ae738354c1336b11a4c542f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -266,6 +266,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0470-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0470-Fix-interact-event-not-being-called-sometimes.patch index 61518602f2..7781f60252 100644 --- a/patches/server/0470-Fix-interact-event-not-being-called-sometimes.patch +++ b/patches/server/0470-Fix-interact-event-not-being-called-sometimes.patch @@ -11,7 +11,7 @@ Subject: [PATCH] Fix interact event not being called sometimes Co-authored-by: Moulberry diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 36ef3bbf70e71fd4712098bd1bd5af426e569fb5..41b520fb63dbbcf144e99364d21592152145d578 100644 +index 7ea22e99de646f439ae738354c1336b11a4c542f..1d71aa9237ee17b009568f6d67f900ffe64ff301 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1759,7 +1759,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0496-Expand-EntityUnleashEvent.patch b/patches/server/0496-Expand-EntityUnleashEvent.patch index d179143636..06754053fc 100644 --- a/patches/server/0496-Expand-EntityUnleashEvent.patch +++ b/patches/server/0496-Expand-EntityUnleashEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand EntityUnleashEvent diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index f91d6cc59f203fc67e38ba92159dbae22b6dbfac..70a151c8d109780350423eba5a951733ac855f23 100644 +index 4c0f7741e199e4bb03767effda669bbbc9f0d233..7b10bb9cbf6f2b4a70ddaa0ba4bc7409a17f3f09 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1431,12 +1431,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @@ -26,7 +26,7 @@ index f91d6cc59f203fc67e38ba92159dbae22b6dbfac..70a151c8d109780350423eba5a951733 this.gameEvent(GameEvent.ENTITY_INTERACT, player); return InteractionResult.sidedSuccess(this.level().isClientSide); } else { -@@ -1604,8 +1607,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1605,8 +1608,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti if (this.leashHolder != null) { if (!this.isAlive() || !this.leashHolder.isAlive()) { @@ -40,7 +40,7 @@ index f91d6cc59f203fc67e38ba92159dbae22b6dbfac..70a151c8d109780350423eba5a951733 } } -@@ -1673,8 +1679,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1674,8 +1680,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti boolean flag1 = super.startRiding(entity, force); if (flag1 && this.isLeashed()) { @@ -54,7 +54,7 @@ index f91d6cc59f203fc67e38ba92159dbae22b6dbfac..70a151c8d109780350423eba5a951733 } return flag1; -@@ -1851,8 +1860,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1852,8 +1861,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @Override protected void removeAfterChangingDimensions() { super.removeAfterChangingDimensions(); @@ -101,10 +101,10 @@ index e92831739603ef1b5678c9d44e85ab70d62be0e7..cdd07093342521ff9944bf7a342bbf14 } else if (f > 6.0F) { double d0 = (entity.getX() - this.getX()) / (double) f; diff --git a/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java b/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java -index b43b1f81828bf1d57e98c52964053db7127519ad..952321d4e34a6524bbb494a56d7658068f74124c 100644 +index dfb0db42e335fd7334b752ac62f8adb7bffbb2ef..65d140a3e3c42763ce4d162f8c9f5b9d79d4e501 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java +++ b/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java -@@ -120,11 +120,14 @@ public class LeashFenceKnotEntity extends HangingEntity { +@@ -121,11 +121,14 @@ public class LeashFenceKnotEntity extends HangingEntity { if (entityinsentient1.isLeashed() && entityinsentient1.getLeashHolder() == this) { // CraftBukkit start diff --git a/patches/server/0497-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0497-Reset-shield-blocking-on-dimension-change.patch index 8d9b5e6d19..c33708022d 100644 --- a/patches/server/0497-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0497-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ 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 edfcfb91d907d6e1837e5a5d0e7abb8c8f6bcb66..2db78d991ef0595a0d8806414a959479e289c0fc 100644 +index c4ba4b378aee28e7479207aff46c27307bd6b105..7eab41ac49707a52adcfd6fb3c3d70cff3a4ad1b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1265,6 +1265,11 @@ public class ServerPlayer extends Player { +@@ -1275,6 +1275,11 @@ public class ServerPlayer extends Player { this.level().getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/server/0499-Add-EntityMoveEvent.patch b/patches/server/0499-Add-EntityMoveEvent.patch index fdac2ac203..5f87e7e8ec 100644 --- a/patches/server/0499-Add-EntityMoveEvent.patch +++ b/patches/server/0499-Add-EntityMoveEvent.patch @@ -29,10 +29,10 @@ index a9a39c99874001f1024f71bfc97130e8c9a507e7..19333b61bcb50f2171ac2c75d7f4ca4f 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 e38f0659836be4bebff06e8d8e7848abdcbda455..83730b9da452d27b420770adf6ff179b936f2bbd 100644 +index 636bef0624f71dea27cbab261c3072fdf73fbf4b..df0286a972dfa4e3b4c1898f8936062aaf3cdde6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3471,6 +3471,20 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3477,6 +3477,20 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level().getProfiler().pop(); diff --git a/patches/server/0514-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0514-Allow-using-signs-inside-spawn-protection.patch index f71bd69625..fba8a91080 100644 --- a/patches/server/0514-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0514-Allow-using-signs-inside-spawn-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 41b520fb63dbbcf144e99364d21592152145d578..8689573179fdcc2751814e225743c16ce65ca8db 100644 +index 1d71aa9237ee17b009568f6d67f900ffe64ff301..e385bad877dd7ab529e67a7dced5b53a0f55d795 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1747,8 +1747,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0519-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0519-Don-t-ignore-result-of-PlayerEditBookEvent.patch index df4031ea97..71bc52ad49 100644 --- a/patches/server/0519-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0519-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8689573179fdcc2751814e225743c16ce65ca8db..5fede6095ff9dc85d2f7e1cb2f5acb7216d21940 100644 +index e385bad877dd7ab529e67a7dced5b53a0f55d795..8eef1b90b124d366970be0e90ff6c81581aaed29 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1152,7 +1152,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0522-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0522-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index 36f12103c7..8ee954570b 100644 --- a/patches/server/0522-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0522-Fix-PlayerItemConsumeEvent-cancelling-properly.patch @@ -9,10 +9,10 @@ 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 83730b9da452d27b420770adf6ff179b936f2bbd..75ed2ed9fa3e620e48216840bafd9bcfe7123901 100644 +index df0286a972dfa4e3b4c1898f8936062aaf3cdde6..541debdee83cbef985aafa0c3cb344a5bee18625 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3965,6 +3965,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3971,6 +3971,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { diff --git a/patches/server/0529-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0529-fix-PlayerItemHeldEvent-firing-twice.patch index 3f974caf76..6506af4c0c 100644 --- a/patches/server/0529-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0529-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5fede6095ff9dc85d2f7e1cb2f5acb7216d21940..d57a7bca571c94e44b4d4aebaa26b568c5063f44 100644 +index 8eef1b90b124d366970be0e90ff6c81581aaed29..58853de5fda01114ddc7196c632d4daf5b59b6ce 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1917,6 +1917,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0534-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0534-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch index 048061b651..8fa5c39562 100644 --- a/patches/server/0534-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch +++ b/patches/server/0534-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expand PlayerRespawnEvent, fix passed parameter issues Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d57a7bca571c94e44b4d4aebaa26b568c5063f44..f84a6f1ec9d1081b05ab44dd99659918aa0f1874 100644 +index 58853de5fda01114ddc7196c632d4daf5b59b6ce..04dd8964a1e9ea2a14589b811fd9938249f94f82 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2710,7 +2710,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0546-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0546-Expand-PlayerGameModeChangeEvent.patch index e8a43cf71d..f9a90cac58 100644 --- a/patches/server/0546-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0546-Expand-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ 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 2db78d991ef0595a0d8806414a959479e289c0fc..50c6b668a8e915081007dfd9c9fc1aae179e16c9 100644 +index 7eab41ac49707a52adcfd6fb3c3d70cff3a4ad1b..ef24112c5360ec329dc8a89546f64bad68d7fd8e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2024,8 +2024,16 @@ public class ServerPlayer extends Player { +@@ -2034,8 +2034,16 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -67,7 +67,7 @@ index 2db78d991ef0595a0d8806414a959479e289c0fc..50c6b668a8e915081007dfd9c9fc1aae } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -2037,7 +2045,7 @@ public class ServerPlayer extends Player { +@@ -2047,7 +2055,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -76,7 +76,7 @@ index 2db78d991ef0595a0d8806414a959479e289c0fc..50c6b668a8e915081007dfd9c9fc1aae } } -@@ -2447,6 +2455,16 @@ public class ServerPlayer extends Player { +@@ -2457,6 +2465,16 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -132,7 +132,7 @@ index 486d9c4dbe3ee23198eba7f34ea8b5f4e9048c0b..f080322bc766361b9d2d8b1214c3dff1 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f84a6f1ec9d1081b05ab44dd99659918aa0f1874..806f16a183ff1abae4cc21409bf8d26e0803483d 100644 +index 04dd8964a1e9ea2a14589b811fd9938249f94f82..3a6769fec9bae32209d2b126a10d99fd1b8dd4b7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2719,7 +2719,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0549-Move-range-check-for-block-placing-up.patch b/patches/server/0549-Move-range-check-for-block-placing-up.patch index 3c66f1bf6a..ecccee748f 100644 --- a/patches/server/0549-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0549-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 806f16a183ff1abae4cc21409bf8d26e0803483d..011b69407b56eaea3f373d6e438a4b2b222fcc03 100644 +index 3a6769fec9bae32209d2b126a10d99fd1b8dd4b7..a2a4f30ed2a524fc8b86e0ffbc9d6aa49e557e44 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1734,6 +1734,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0552-Add-Unix-domain-socket-support.patch b/patches/server/0552-Add-Unix-domain-socket-support.patch index c289ae85a2..413dd25508 100644 --- a/patches/server/0552-Add-Unix-domain-socket-support.patch +++ b/patches/server/0552-Add-Unix-domain-socket-support.patch @@ -87,7 +87,7 @@ index d6d7f1c446ba5507f67038ff27775ba75156f4a7..c63c194c44646e6bc1a5942655278701 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 011b69407b56eaea3f373d6e438a4b2b222fcc03..210f98f45eaec9470c5e66b3990dc24ca167c0c0 100644 +index a2a4f30ed2a524fc8b86e0ffbc9d6aa49e557e44..1a6dd2cf5bd02c328fb9ac80ec74be97202a13a2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2538,6 +2538,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0558-Add-PlayerKickEvent-causes.patch b/patches/server/0558-Add-PlayerKickEvent-causes.patch index cbba020ab8..d78dcaaee0 100644 --- a/patches/server/0558-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0558-Add-PlayerKickEvent-causes.patch @@ -213,7 +213,7 @@ index 2872bef40440b11a206c3ec88e2c6d95cd1a72e9..0273998b72c9d8a1e7de4b1195c54700 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 210f98f45eaec9470c5e66b3990dc24ca167c0c0..53b833753b73c27110fcfccf8f2dcdb9a11a3545 100644 +index 1a6dd2cf5bd02c328fb9ac80ec74be97202a13a2..972c7304f8623e4162dc805577106bdf9dac9928 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -349,7 +349,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0568-Line-Of-Sight-Changes.patch b/patches/server/0568-Line-Of-Sight-Changes.patch index 6811307521..f0d5d6bd3e 100644 --- a/patches/server/0568-Line-Of-Sight-Changes.patch +++ b/patches/server/0568-Line-Of-Sight-Changes.patch @@ -5,10 +5,10 @@ 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 75ed2ed9fa3e620e48216840bafd9bcfe7123901..3541d5f4a0605415e1d7941fdf82e1ba3e5e2965 100644 +index 541debdee83cbef985aafa0c3cb344a5bee18625..5f9c39b18ab55c80e78ac578de6821fe282c04bb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3714,7 +3714,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3720,7 +3720,8 @@ public abstract class LivingEntity extends Entity implements Attackable { Vec3 vec3d = new Vec3(this.getX(), this.getEyeY(), this.getZ()); Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); diff --git a/patches/server/0572-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0572-Fix-PlayerDropItemEvent-using-wrong-item.patch index ab0fe17dd5..7c8cf8059d 100644 --- a/patches/server/0572-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0572-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -31,10 +31,10 @@ 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 50c6b668a8e915081007dfd9c9fc1aae179e16c9..a9130dd3097c31d91baaf1405a369881393d42d5 100644 +index ef24112c5360ec329dc8a89546f64bad68d7fd8e..1ac19a789bee22fe512a019e618e2b99bb07f183 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2424,7 +2424,7 @@ public class ServerPlayer extends Player { +@@ -2434,7 +2434,7 @@ public class ServerPlayer extends Player { if (retainOwnership) { if (!itemstack1.isEmpty()) { diff --git a/patches/server/0574-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0574-Ensure-disconnect-for-book-edit-is-called-on-main.patch index 9af04f9803..ef18db22e4 100644 --- a/patches/server/0574-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0574-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 53b833753b73c27110fcfccf8f2dcdb9a11a3545..8f075a5fa487a8f2fcb905b9d32f97afa99b9bc3 100644 +index 972c7304f8623e4162dc805577106bdf9dac9928..cbcec968874cccf2488fdefa179a7b1ed0607c10 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1115,7 +1115,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0578-Add-PlayerArmSwingEvent.patch b/patches/server/0578-Add-PlayerArmSwingEvent.patch index 14174822a6..a6cc51d98f 100644 --- a/patches/server/0578-Add-PlayerArmSwingEvent.patch +++ b/patches/server/0578-Add-PlayerArmSwingEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8f075a5fa487a8f2fcb905b9d32f97afa99b9bc3..ec5af252a470f23d11b3352fba0705dd2b648565 100644 +index cbcec968874cccf2488fdefa179a7b1ed0607c10..23e3df2eaecde15cf4726a5adc25c883cc0dca11 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2396,7 +2396,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0579-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0579-Fix-kick-event-leave-message-not-being-sent.patch index 8d66d84399..09377dd14d 100644 --- a/patches/server/0579-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0579-Fix-kick-event-leave-message-not-being-sent.patch @@ -5,10 +5,10 @@ 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 a9130dd3097c31d91baaf1405a369881393d42d5..fccc62d601680f7ed2765bb331667baf82e75a26 100644 +index 1ac19a789bee22fe512a019e618e2b99bb07f183..d3f3eed67557b362c0f51a83967f60276283d3ea 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -284,7 +284,6 @@ public class ServerPlayer extends Player { +@@ -285,7 +285,6 @@ public class ServerPlayer extends Player { public boolean joining = true; public boolean sentListPacket = false; public boolean supressTrackerForLogin = false; // Paper - Fire PlayerJoinEvent when Player is actually ready @@ -50,7 +50,7 @@ index 0273998b72c9d8a1e7de4b1195c547001922cb8e..802ea97fe03028cfe911aa4052d9c82a MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ec5af252a470f23d11b3352fba0705dd2b648565..b71ca2aadfa2511371cc8032424c6771220c3605 100644 +index 23e3df2eaecde15cf4726a5adc25c883cc0dca11..f8a833ccae35db5e04871fa100ddc45044f4642a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1878,6 +1878,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0580-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0580-Don-t-apply-cramming-damage-to-players.patch index 04ae75c0ea..8a1b8eb465 100644 --- a/patches/server/0580-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0580-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 fccc62d601680f7ed2765bb331667baf82e75a26..b9aadb3eea0a8910f58fa747c50959ebcf89292a 100644 +index d3f3eed67557b362c0f51a83967f60276283d3ea..ff5d24f6afd224496dd1902497497483ec7fc24d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -98,6 +98,7 @@ import net.minecraft.util.Mth; @@ -22,7 +22,7 @@ index fccc62d601680f7ed2765bb331667baf82e75a26..b9aadb3eea0a8910f58fa747c50959eb import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; -@@ -1497,7 +1498,7 @@ public class ServerPlayer extends Player { +@@ -1507,7 +1508,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { diff --git a/patches/server/0585-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0585-Prevent-AFK-kick-while-watching-end-credits.patch index af6da87145..c0ffba11ed 100644 --- a/patches/server/0585-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0585-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b71ca2aadfa2511371cc8032424c6771220c3605..f828988421204673cfb80da550a7fc14f420e525 100644 +index f8a833ccae35db5e04871fa100ddc45044f4642a..8c44644a9118ef0a5013fb71031de82a43831911 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -397,7 +397,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0587-Add-PlayerSetSpawnEvent.patch b/patches/server/0587-Add-PlayerSetSpawnEvent.patch index 5c81577101..2c3b96803d 100644 --- a/patches/server/0587-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0587-Add-PlayerSetSpawnEvent.patch @@ -49,10 +49,10 @@ 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 b9aadb3eea0a8910f58fa747c50959ebcf89292a..36e3676d4a0725d5b55388367152c13c078b6abd 100644 +index ff5d24f6afd224496dd1902497497483ec7fc24d..22f9b40e2c9a71f8944b1738e91ee2e189a77cec 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1374,7 +1374,7 @@ public class ServerPlayer extends Player { +@@ -1384,7 +1384,7 @@ public class ServerPlayer extends Player { } else if (this.bedBlocked(blockposition, enumdirection)) { return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { @@ -61,7 +61,7 @@ index b9aadb3eea0a8910f58fa747c50959ebcf89292a..36e3676d4a0725d5b55388367152c13c if (this.level().isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { -@@ -2344,44 +2344,50 @@ public class ServerPlayer extends Player { +@@ -2354,44 +2354,50 @@ public class ServerPlayer extends Player { return this.respawnForced; } @@ -145,7 +145,7 @@ index b9aadb3eea0a8910f58fa747c50959ebcf89292a..36e3676d4a0725d5b55388367152c13c } else { this.respawnPosition = null; this.respawnDimension = Level.OVERWORLD; -@@ -2389,6 +2395,7 @@ public class ServerPlayer extends Player { +@@ -2399,6 +2405,7 @@ public class ServerPlayer extends Player { this.respawnForced = false; } diff --git a/patches/server/0613-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0613-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 96b92ceb04..cb9b1652bf 100644 --- a/patches/server/0613-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0613-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -28,10 +28,10 @@ index 1f556e53c4fa70c2ecab2181a655020ba7669624..efc246d405d58550104bb767a40d296e } // 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 36e3676d4a0725d5b55388367152c13c078b6abd..0b1114ade26f3f2280e4485a8260045a2b343c1b 100644 +index 22f9b40e2c9a71f8944b1738e91ee2e189a77cec..c3e8efd58c191ac8f479f8a979e73cc390e881a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1665,6 +1665,18 @@ public class ServerPlayer extends Player { +@@ -1675,6 +1675,18 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.doCloseContainer(); } diff --git a/patches/server/0615-Improve-and-expand-AsyncCatcher.patch b/patches/server/0615-Improve-and-expand-AsyncCatcher.patch index 1e59e9e075..f248ef7a0f 100644 --- a/patches/server/0615-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0615-Improve-and-expand-AsyncCatcher.patch @@ -17,7 +17,7 @@ Async catch modifications to critical entity state Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f828988421204673cfb80da550a7fc14f420e525..c0fd3f596384e6bb8aee0d6b33daecd7e5b33878 100644 +index 8c44644a9118ef0a5013fb71031de82a43831911..d5796e345b42c427e313130077092cf41c794eaa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1565,6 +1565,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -29,7 +29,7 @@ index f828988421204673cfb80da550a7fc14f420e525..c0fd3f596384e6bb8aee0d6b33daecd7 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 3541d5f4a0605415e1d7941fdf82e1ba3e5e2965..f5c18ac111188ae2397eaf41cac28edda98c1002 100644 +index 5f9c39b18ab55c80e78ac578de6821fe282c04bb..9cceee5f968d397f27b0618dcc5b5d97ac34b289 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1147,7 +1147,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0629-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0629-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index f426fa8333..17cdc399d8 100644 --- a/patches/server/0629-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0629-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c0fd3f596384e6bb8aee0d6b33daecd7e5b33878..a8c3a2988db845420b254729d125cc2c51660323 100644 +index d5796e345b42c427e313130077092cf41c794eaa..6cd4acac1c89035ece14f07784a439960ffcfcf5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -745,6 +745,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0632-Ensure-valid-vehicle-status.patch b/patches/server/0632-Ensure-valid-vehicle-status.patch index 657d2eb9a7..948908a5db 100644 --- a/patches/server/0632-Ensure-valid-vehicle-status.patch +++ b/patches/server/0632-Ensure-valid-vehicle-status.patch @@ -5,10 +5,10 @@ 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 0b1114ade26f3f2280e4485a8260045a2b343c1b..3db8f376f3a73256d13fd778bb1c80606e6712d9 100644 +index c3e8efd58c191ac8f479f8a979e73cc390e881a4..e96bd37366ec80cb62a1a4f82c218498b98c9ed9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -557,7 +557,7 @@ public class ServerPlayer extends Player { +@@ -567,7 +567,7 @@ public class ServerPlayer extends Player { } } diff --git a/patches/server/0645-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0645-Prevent-excessive-velocity-through-repeated-crits.patch index 50956e86f7..c26ce6b90a 100644 --- a/patches/server/0645-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0645-Prevent-excessive-velocity-through-repeated-crits.patch @@ -5,10 +5,10 @@ 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 f5c18ac111188ae2397eaf41cac28edda98c1002..be044167883611dde0665749d9e243b9c7b6fbd2 100644 +index 9cceee5f968d397f27b0618dcc5b5d97ac34b289..b73601d2903f327b4e7b82ccc6774731c832e941 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2748,16 +2748,28 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2754,16 +2754,28 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.hasEffect(MobEffects.JUMP) ? 0.1F * ((float) this.getEffect(MobEffects.JUMP).getAmplifier() + 1.0F) : 0.0F; } diff --git a/patches/server/0674-Freeze-Tick-Lock-API.patch b/patches/server/0674-Freeze-Tick-Lock-API.patch index 4c0f4ccb90..80171b8e78 100644 --- a/patches/server/0674-Freeze-Tick-Lock-API.patch +++ b/patches/server/0674-Freeze-Tick-Lock-API.patch @@ -46,10 +46,10 @@ index 2e0dc24bf6732637b29e21c8817f0d3502a2a89a..8e09bfb7c1b4fb34e6615b0cf774bc8e } 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 be044167883611dde0665749d9e243b9c7b6fbd2..7f8e82a1d5fa1ca665a66d2fb1342163f7c7a733 100644 +index b73601d2903f327b4e7b82ccc6774731c832e941..9e5d1ebcec91c036ab176161b13766ef44f41d59 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3458,7 +3458,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3464,7 +3464,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getProfiler().pop(); this.level().getProfiler().push("freezing"); diff --git a/patches/server/0697-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0697-Don-t-allow-vehicle-movement-from-players-while-tele.patch index 70d82d0dce..f3a8cad2df 100644 --- a/patches/server/0697-Don-t-allow-vehicle-movement-from-players-while-tele.patch +++ b/patches/server/0697-Don-t-allow-vehicle-movement-from-players-while-tele.patch @@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the regular player move packet. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a8c3a2988db845420b254729d125cc2c51660323..d6f90c013ce5d7058ad1ca9357f5d2d7aab40cf6 100644 +index 6cd4acac1c89035ece14f07784a439960ffcfcf5..2eb69c7600a6a5e84b8f2a9bd9cc207c57459251 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -484,6 +484,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0705-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0705-fix-player-loottables-running-when-mob-loot-gamerule.patch index 0f56e9ee1f..c0f0ba62ab 100644 --- a/patches/server/0705-fix-player-loottables-running-when-mob-loot-gamerule.patch +++ b/patches/server/0705-fix-player-loottables-running-when-mob-loot-gamerule.patch @@ -5,10 +5,10 @@ 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 3db8f376f3a73256d13fd778bb1c80606e6712d9..c9c5e667c2aa26db1fb0038e40598d04a7c80889 100644 +index e96bd37366ec80cb62a1a4f82c218498b98c9ed9..00114ada4ad98e355e6c182fe49b6852bd9cf0c7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -942,12 +942,14 @@ public class ServerPlayer extends Player { +@@ -952,12 +952,14 @@ public class ServerPlayer extends Player { } } } diff --git a/patches/server/0710-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0710-Prevent-tile-entity-copies-loading-chunks.patch index cc180d9fc6..a8ec237bcc 100644 --- a/patches/server/0710-Prevent-tile-entity-copies-loading-chunks.patch +++ b/patches/server/0710-Prevent-tile-entity-copies-loading-chunks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent tile entity copies loading chunks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d6f90c013ce5d7058ad1ca9357f5d2d7aab40cf6..7e203542bde371a44294ace5bb1e3c8375b597ca 100644 +index 2eb69c7600a6a5e84b8f2a9bd9cc207c57459251..28c140d641244454d754770c06bc22d650cfcbfa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3189,7 +3189,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0719-Add-PlayerStopUsingItemEvent.patch b/patches/server/0719-Add-PlayerStopUsingItemEvent.patch index f8544cd79c..fa87839c01 100644 --- a/patches/server/0719-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0719-Add-PlayerStopUsingItemEvent.patch @@ -5,10 +5,10 @@ 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 7f8e82a1d5fa1ca665a66d2fb1342163f7c7a733..f3ca6f6c7a8f2dc51e263ee879412bf2806b0946 100644 +index 9e5d1ebcec91c036ab176161b13766ef44f41d59..44ce7ffd8304f0f295f632211931f5b9f6c72d17 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4027,6 +4027,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4033,6 +4033,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void releaseUsingItem() { if (!this.useItem.isEmpty()) { diff --git a/patches/server/0731-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0731-Add-option-for-strict-advancement-dimension-checks.patch index 6fa3d4f18f..a6ef3a78f3 100644 --- a/patches/server/0731-Add-option-for-strict-advancement-dimension-checks.patch +++ b/patches/server/0731-Add-option-for-strict-advancement-dimension-checks.patch @@ -24,10 +24,10 @@ index 5be2d877162922d6f29592e723b7d5aff14e1515..37174de2319e353b2f989d8321758a08 } 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 c9c5e667c2aa26db1fb0038e40598d04a7c80889..22e9009e2943a70f21da6fa1ceefb5cfc9d20dab 100644 +index 00114ada4ad98e355e6c182fe49b6852bd9cf0c7..269c0f53d37e968ae25e38ef81a11c9d5284c494 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1339,6 +1339,12 @@ public class ServerPlayer extends Player { +@@ -1349,6 +1349,12 @@ public class ServerPlayer extends Player { ResourceKey maindimensionkey = CraftDimensionUtil.getMainDimensionKey(origin); ResourceKey maindimensionkey1 = CraftDimensionUtil.getMainDimensionKey(this.level()); diff --git a/patches/server/0741-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0741-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch index 67d2417c55..8d111565f9 100644 --- a/patches/server/0741-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch +++ b/patches/server/0741-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7e203542bde371a44294ace5bb1e3c8375b597ca..58da98b619b0f59a527d55d78e09c6c0ed676b7c 100644 +index 28c140d641244454d754770c06bc22d650cfcbfa..552220359917a8dfe77337122d65a3a43cfbdce5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2367,7 +2367,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0742-More-Teleport-API.patch b/patches/server/0742-More-Teleport-API.patch index 9a4763b6fe..2f7a16ac49 100644 --- a/patches/server/0742-More-Teleport-API.patch +++ b/patches/server/0742-More-Teleport-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More Teleport API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 58da98b619b0f59a527d55d78e09c6c0ed676b7c..83acd04bdcc7232934628c5d2cde987e410ee3aa 100644 +index 552220359917a8dfe77337122d65a3a43cfbdce5..0f7a9ffe56150b29867b9ca32ea6de5a1689a0f1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1553,11 +1553,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0745-Send-block-entities-after-destroy-prediction.patch b/patches/server/0745-Send-block-entities-after-destroy-prediction.patch index 0a6e27c3c6..4516d3139c 100644 --- a/patches/server/0745-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0745-Send-block-entities-after-destroy-prediction.patch @@ -57,7 +57,7 @@ index d8c5f8e584976a97bd909bfa20023993ab776952..77e78808171daac78502ef3fcc70f035 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 83acd04bdcc7232934628c5d2cde987e410ee3aa..96ef32b349f11ff747797c850c0e32bcb5e849b7 100644 +index 0f7a9ffe56150b29867b9ca32ea6de5a1689a0f1..c010d36d91066cb333f3360f278b775bacddd857 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1700,8 +1700,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0755-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0755-Stop-large-look-changes-from-crashing-the-server.patch index 4604a3c7d6..fdc94d50a1 100644 --- a/patches/server/0755-Stop-large-look-changes-from-crashing-the-server.patch +++ b/patches/server/0755-Stop-large-look-changes-from-crashing-the-server.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Stop large look changes from crashing the server Co-authored-by: Jaren Knodel diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f3ca6f6c7a8f2dc51e263ee879412bf2806b0946..4bda4252889cc42bb5a38c45d87f5ec0f2c281b3 100644 +index 44ce7ffd8304f0f295f632211931f5b9f6c72d17..33506e82025656df4a13aeacb788d73e5e5a4929 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3136,37 +3136,15 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3142,37 +3142,15 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getProfiler().pop(); this.level().getProfiler().push("rangeChecks"); diff --git a/patches/server/0767-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0767-Fix-a-bunch-of-vanilla-bugs.patch index 81cd4525ce..45f93faf5c 100644 --- a/patches/server/0767-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0767-Fix-a-bunch-of-vanilla-bugs.patch @@ -130,10 +130,10 @@ index 23c9aca7c05a4457e357699c67c7780894ebe3de..ab31102de7c43a4fc923b26d90722424 if (!list.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 22e9009e2943a70f21da6fa1ceefb5cfc9d20dab..9a56a019b604e95f9ce536333223fa058d2a6550 100644 +index 269c0f53d37e968ae25e38ef81a11c9d5284c494..a1636e09a7b46c333029bfdb7d1823d5dec83bbf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -435,14 +435,14 @@ public class ServerPlayer extends Player { +@@ -445,14 +445,14 @@ public class ServerPlayer extends Player { BlockPos blockposition1 = PlayerRespawnLogic.getOverworldRespawnPos(world, blockposition.getX() + j2 - i, blockposition.getZ() + k2 - i); if (blockposition1 != null) { diff --git a/patches/server/0772-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0772-Add-PlayerInventorySlotChangeEvent.patch index c9503fa774..40015b3b36 100644 --- a/patches/server/0772-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/server/0772-Add-PlayerInventorySlotChangeEvent.patch @@ -5,10 +5,10 @@ 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 9a56a019b604e95f9ce536333223fa058d2a6550..15a00f156036ed364e05216cb34ad6556b0ba714 100644 +index a1636e09a7b46c333029bfdb7d1823d5dec83bbf..d139e9e8b83ee4f075228ef0d42786c470012c2d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -346,6 +346,25 @@ public class ServerPlayer extends Player { +@@ -347,6 +347,25 @@ public class ServerPlayer extends Player { } } diff --git a/patches/server/0790-check-global-player-list-where-appropriate.patch b/patches/server/0790-check-global-player-list-where-appropriate.patch index a0e80701f5..56ca131550 100644 --- a/patches/server/0790-check-global-player-list-where-appropriate.patch +++ b/patches/server/0790-check-global-player-list-where-appropriate.patch @@ -24,10 +24,10 @@ index 93f6864c69761b70735795186cf118d1f091d092..3ce6604a74d7ab0b045901261d58736c + // 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 4bda4252889cc42bb5a38c45d87f5ec0f2c281b3..fdd0cf40b4e0df7d1987889c635fd90cd63727b6 100644 +index 33506e82025656df4a13aeacb788d73e5e5a4929..1a88c22e6f2e85e2cb87ae20a849ac594e9be1e0 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3682,7 +3682,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3688,7 +3688,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } public void onItemPickup(ItemEntity item) { diff --git a/patches/server/0793-Friction-API.patch b/patches/server/0793-Friction-API.patch index d4359b9c85..8818e0e61b 100644 --- a/patches/server/0793-Friction-API.patch +++ b/patches/server/0793-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 fdd0cf40b4e0df7d1987889c635fd90cd63727b6..6ac6848fe27336a96a813c84d7d797cc9bc4c297 100644 +index 1a88c22e6f2e85e2cb87ae20a849ac594e9be1e0..c5ebe3aec4f7ba484194c75f94600ba926b10abb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -273,6 +273,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0796-Sync-offhand-slot-in-menus.patch b/patches/server/0796-Sync-offhand-slot-in-menus.patch index ca3c70a65a..2c88b798a8 100644 --- a/patches/server/0796-Sync-offhand-slot-in-menus.patch +++ b/patches/server/0796-Sync-offhand-slot-in-menus.patch @@ -8,10 +8,10 @@ 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 15a00f156036ed364e05216cb34ad6556b0ba714..c70e1a17d855f2a9d160e8cd15a6a4bcf39b8945 100644 +index d139e9e8b83ee4f075228ef0d42786c470012c2d..992032821110fc658fecc09530097a526f20d74d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -315,6 +315,13 @@ public class ServerPlayer extends Player { +@@ -316,6 +316,13 @@ public class ServerPlayer extends Player { } diff --git a/patches/server/0805-Improve-logging-and-errors.patch b/patches/server/0805-Improve-logging-and-errors.patch index 5fd0fba842..cb4ce73b0f 100644 --- a/patches/server/0805-Improve-logging-and-errors.patch +++ b/patches/server/0805-Improve-logging-and-errors.patch @@ -52,7 +52,7 @@ index fdff82ed5dbf5176d470b9b6c41acfe6b98c7039..00679b76715fde4b90a999fd11cca40d } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 96ef32b349f11ff747797c850c0e32bcb5e849b7..d8c9db7db74e71f37bd4f2bb8e25b27a46c8ac57 100644 +index c010d36d91066cb333f3360f278b775bacddd857..f8bfc87b044e538e068c021cfc3f8de43b15e84d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3387,7 +3387,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0808-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0808-Add-missing-SpigotConfig-logCommands-check.patch index fca5a305ca..cffc70d916 100644 --- a/patches/server/0808-Add-missing-SpigotConfig-logCommands-check.patch +++ b/patches/server/0808-Add-missing-SpigotConfig-logCommands-check.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d8c9db7db74e71f37bd4f2bb8e25b27a46c8ac57..506d78925907de50a44a937cd6fd45c66af1d662 100644 +index f8bfc87b044e538e068c021cfc3f8de43b15e84d..a63a61852371df86f379effa5c9f127b3bcb347b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2081,7 +2081,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0811-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0811-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch index c966db60a9..62b06bc717 100644 --- a/patches/server/0811-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch +++ b/patches/server/0811-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch @@ -49,10 +49,10 @@ index 2f5591aa232b834bb9b69a2a349ce93d1a9c63fa..8ba60de95845f4d56f299c5f1b2b5163 public DamageSource outOfBorder() { diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index aa81144975fa66bcdb3d107e2a461b6d62d8e59e..fbd1f4f3a8c94a4842f91b7cc6c21f0cf7edd7ac 100644 +index d29b4268431472c6132efdfcd305e9616c57da21..0a8e46eef6df0bfda663758fc22b1eb4640aaf4e 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -386,7 +386,7 @@ public class Explosion { +@@ -389,7 +389,7 @@ public class Explosion { bukkitBlocks = event.blockList(); this.yield = event.getYield(); } else { diff --git a/patches/server/0814-Use-single-player-info-update-packet-on-join.patch b/patches/server/0814-Use-single-player-info-update-packet-on-join.patch index be7116d308..c2d4b634f7 100644 --- a/patches/server/0814-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0814-Use-single-player-info-update-packet-on-join.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use single player info update packet on join diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 506d78925907de50a44a937cd6fd45c66af1d662..f4dc859a2bfe8c06f99ca6d2494fe1e90e4b6076 100644 +index a63a61852371df86f379effa5c9f127b3bcb347b..7c11e29378b1fd9535237e760384fa3904465056 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3423,7 +3423,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0815-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0815-Correctly-shrink-items-during-EntityResurrectEvent.patch index d4dc43a7c7..aa171312b3 100644 --- a/patches/server/0815-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0815-Correctly-shrink-items-during-EntityResurrectEvent.patch @@ -22,10 +22,10 @@ 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 6ac6848fe27336a96a813c84d7d797cc9bc4c297..810e94674acff08eda6d98e91546a2338706ef42 100644 +index c5ebe3aec4f7ba484194c75f94600ba926b10abb..6ba7a7dd04e7a896f99ec6f7ff3749989d31bc0b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1638,7 +1638,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1644,7 +1644,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.level().getCraftServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { diff --git a/patches/server/0825-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0825-Fix-advancement-triggers-for-entity-damage.patch index 2d24162670..f5cd8361e8 100644 --- a/patches/server/0825-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0825-Fix-advancement-triggers-for-entity-damage.patch @@ -23,10 +23,10 @@ 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 810e94674acff08eda6d98e91546a2338706ef42..a356d0476e6ff9389809e8db1f584ac4bffe8be9 100644 +index 6ba7a7dd04e7a896f99ec6f7ff3749989d31bc0b..d84193a413fbdf76ddb70282d92e6d45b0424384 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2369,7 +2369,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2375,7 +2375,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Duplicate triggers if blocking if (event.getDamage(DamageModifier.BLOCKING) < 0) { if (this instanceof ServerPlayer) { @@ -35,7 +35,7 @@ index 810e94674acff08eda6d98e91546a2338706ef42..a356d0476e6ff9389809e8db1f584ac4 f2 = (float) -event.getDamage(DamageModifier.BLOCKING); if (f2 > 0.0F && f2 < 3.4028235E37F) { ((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F)); -@@ -2377,7 +2377,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2383,7 +2383,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (damagesource.getEntity() instanceof ServerPlayer) { @@ -43,4 +43,4 @@ index 810e94674acff08eda6d98e91546a2338706ef42..a356d0476e6ff9389809e8db1f584ac4 + CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order } - return false; + return true; diff --git a/patches/server/0831-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0831-Treat-sequence-violations-like-they-should-be.patch index 6a727c191f..b2b2aef8d8 100644 --- a/patches/server/0831-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0831-Treat-sequence-violations-like-they-should-be.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Treat sequence violations like they should be diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f4dc859a2bfe8c06f99ca6d2494fe1e90e4b6076..321c1c6968fd52b1f3e11580b46a6be4368fb4ec 100644 +index 7c11e29378b1fd9535237e760384fa3904465056..7e800eadd7b7e39468f4c55830bf041ed99b92eb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1960,6 +1960,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0833-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0833-Prevent-causing-expired-keys-from-impacting-new-join.patch index bf4d66e914..fdb8ee4768 100644 --- a/patches/server/0833-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0833-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -26,7 +26,7 @@ index 68c062cbaa030d62d97c9c003651f8fc17a00a6b..6247a21c9c391abf1f6db3482c659593 UPDATE_GAME_MODE((serialized, buf) -> serialized.gameMode = GameType.byId(buf.readVarInt()), (buf, entry) -> buf.writeVarInt(entry.gameMode().getId())), UPDATE_LISTED((serialized, buf) -> serialized.listed = buf.readBoolean(), (buf, entry) -> buf.writeBoolean(entry.listed())), diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 321c1c6968fd52b1f3e11580b46a6be4368fb4ec..9cbf1b7140fd7562a722fd93842bf1915682bb22 100644 +index 7e800eadd7b7e39468f4c55830bf041ed99b92eb..0b5a0784792814367c79cd5e0409443009e82b73 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -295,6 +295,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0869-Implement-PlayerFailMoveEvent.patch b/patches/server/0869-Implement-PlayerFailMoveEvent.patch index a0afcbdacd..5be3895e6c 100644 --- a/patches/server/0869-Implement-PlayerFailMoveEvent.patch +++ b/patches/server/0869-Implement-PlayerFailMoveEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerFailMoveEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9cbf1b7140fd7562a722fd93842bf1915682bb22..699d8d4b2333da1b3e83e39167de44ab69ab9029 100644 +index 0b5a0784792814367c79cd5e0409443009e82b73..64c42e4ea8d17c8110f1df043cb3b7b3cbb52b8a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1266,8 +1266,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -91,7 +91,7 @@ index 9cbf1b7140fd7562a722fd93842bf1915682bb22..699d8d4b2333da1b3e83e39167de44ab this.internalTeleport(d3, d4, d5, f, f1, Collections.emptySet()); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet. this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround()); } else { -@@ -3450,4 +3480,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3452,4 +3482,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand); } diff --git a/patches/server/0885-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0885-Don-t-tab-complete-namespaced-commands-if-send-names.patch index f6d9c42ed2..ca6f261bbc 100644 --- a/patches/server/0885-Don-t-tab-complete-namespaced-commands-if-send-names.patch +++ b/patches/server/0885-Don-t-tab-complete-namespaced-commands-if-send-names.patch @@ -11,7 +11,7 @@ This patch prevents server from sending namespaced commands when player requests tab-complete only commands. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 699d8d4b2333da1b3e83e39167de44ab69ab9029..6d5cf94979fba9d27f91b51682a3b7b3f67c07ea 100644 +index 64c42e4ea8d17c8110f1df043cb3b7b3cbb52b8a..0206521fff9c148e95cfb031b05511041af39746 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -817,6 +817,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0895-Add-PlayerPickItemEvent.patch b/patches/server/0895-Add-PlayerPickItemEvent.patch index a611fad439..005f1da60d 100644 --- a/patches/server/0895-Add-PlayerPickItemEvent.patch +++ b/patches/server/0895-Add-PlayerPickItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerPickItemEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6d5cf94979fba9d27f91b51682a3b7b3f67c07ea..cab3b97e1153362edf6c48bf30bf4035430e8bf3 100644 +index 0206521fff9c148e95cfb031b05511041af39746..ff8593b3835be310affc39cde964fabfcc105094 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -932,8 +932,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0900-Fix-inventory-desync.patch b/patches/server/0900-Fix-inventory-desync.patch index 3381bed750..fce9f49abd 100644 --- a/patches/server/0900-Fix-inventory-desync.patch +++ b/patches/server/0900-Fix-inventory-desync.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix inventory desync diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 70a151c8d109780350423eba5a951733ac855f23..90cde88f0f1c2991354685c0423475b98e0c28e5 100644 +index 7b10bb9cbf6f2b4a70ddaa0ba4bc7409a17f3f09..66814adfb2cf92067702fc2695b083661cf859c0 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1467,6 +1467,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti - // CraftBukkit start - fire PlayerLeashEntityEvent +@@ -1468,6 +1468,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti if (CraftEventFactory.callPlayerLeashEntityEvent(this, player, player, hand).isCancelled()) { + ((ServerPlayer) player).resendItemInHands(); // SPIGOT-7615: Resend to fix client desync with used item ((ServerPlayer) player).connection.send(new ClientboundSetEntityLinkPacket(this, this.getLeashHolder())); + player.containerMenu.sendAllDataToRemote(); // Paper - Fix inventory desync return InteractionResult.PASS; diff --git a/patches/server/0901-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0901-Add-titleOverride-to-InventoryOpenEvent.patch index c4903a4da6..157d433e22 100644 --- a/patches/server/0901-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/0901-Add-titleOverride-to-InventoryOpenEvent.patch @@ -5,10 +5,10 @@ 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 c70e1a17d855f2a9d160e8cd15a6a4bcf39b8945..b2bf086506ba7eda6ba6912ebf51a9da154cd414 100644 +index 992032821110fc658fecc09530097a526f20d74d..e447aa85b51c7e28fcd89bf8aa7602c88d599239 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1607,12 +1607,17 @@ public class ServerPlayer extends Player { +@@ -1617,12 +1617,17 @@ public class ServerPlayer extends Player { this.nextContainerCounter(); AbstractContainerMenu container = factory.createMenu(this.containerCounter, this.getInventory(), this); @@ -27,7 +27,7 @@ index c70e1a17d855f2a9d160e8cd15a6a4bcf39b8945..b2bf086506ba7eda6ba6912ebf51a9da if (container == null && !cancelled) { // Let pre-cancelled events fall through // SPIGOT-5263 - close chest if cancelled if (factory instanceof Container) { -@@ -1634,7 +1639,7 @@ public class ServerPlayer extends Player { +@@ -1644,7 +1649,7 @@ public class ServerPlayer extends Player { } else { // CraftBukkit start this.containerMenu = container; diff --git a/patches/server/0905-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0905-Add-slot-sanity-checks-in-container-clicks.patch index 3ee111d847..ddbb17de53 100644 --- a/patches/server/0905-Add-slot-sanity-checks-in-container-clicks.patch +++ b/patches/server/0905-Add-slot-sanity-checks-in-container-clicks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add slot sanity checks in container clicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index cab3b97e1153362edf6c48bf30bf4035430e8bf3..4850971b46586cc6a4aeeba014bc6dcf6453d820 100644 +index ff8593b3835be310affc39cde964fabfcc105094..eebc68f55374d5763c77d1fbf884b17612fcd1fb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2972,6 +2972,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0908-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0908-Fix-silent-equipment-change-for-mobs.patch index c75be4adb1..3ec68fbdbd 100644 --- a/patches/server/0908-Fix-silent-equipment-change-for-mobs.patch +++ b/patches/server/0908-Fix-silent-equipment-change-for-mobs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix silent equipment change for mobs diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 90cde88f0f1c2991354685c0423475b98e0c28e5..7f781afb996dee380487f5be77c2149525ef0cca 100644 +index 66814adfb2cf92067702fc2695b083661cf859c0..bca70fff39409617e9c2b8ea66c1de4b9376d261 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1153,19 +1153,26 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0926-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0926-Broadcast-take-item-packets-with-collector-as-source.patch index a1301dea28..ba525debbf 100644 --- a/patches/server/0926-Broadcast-take-item-packets-with-collector-as-source.patch +++ b/patches/server/0926-Broadcast-take-item-packets-with-collector-as-source.patch @@ -6,10 +6,10 @@ 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 a356d0476e6ff9389809e8db1f584ac4bffe8be9..a8b168f56c74feeaca55335731b1d485289736cb 100644 +index d84193a413fbdf76ddb70282d92e6d45b0424384..1784a1881dc7f4b7148abf94bc7d7750c810997b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3708,7 +3708,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3714,7 +3714,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void take(Entity item, int count) { if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) { diff --git a/patches/server/0934-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0934-Don-t-fire-sync-events-during-worldgen.patch index 24e5999fbb..144b9ec8bc 100644 --- a/patches/server/0934-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0934-Don-t-fire-sync-events-during-worldgen.patch @@ -68,7 +68,7 @@ index d769dc472d3f12bf1e30ddd767a76659b734caac..8c7cc9c5af0b8d8bef9b6e2d3d3e723c }, () -> { 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 a8b168f56c74feeaca55335731b1d485289736cb..281d2f3df347e911eee459e06b917a0e075078e9 100644 +index 1784a1881dc7f4b7148abf94bc7d7750c810997b..6b156049b06b38afbbd7cf3155b06601e334a805 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1163,6 +1163,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0936-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0936-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch index 8568cfc5bf..7433f5486a 100644 --- a/patches/server/0936-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch +++ b/patches/server/0936-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix CraftMetaItem#getAttributeModifier duplication check diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index a3ae3203e04dfb791b8aa537a303f4a4bd6cbab6..549d06b83b195c0a0207d18850b98d1e6e611460 100644 +index 069666c797c39b5119e41a3c18727f89fcc3b8c5..fac6f3aa00b209e6090f4cb0207e53a994e51cac 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -1255,7 +1255,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/0937-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0937-Restore-vanilla-entity-drops-behavior.patch index edb6769a27..1b3e74a14f 100644 --- a/patches/server/0937-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0937-Restore-vanilla-entity-drops-behavior.patch @@ -9,10 +9,10 @@ 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 b2bf086506ba7eda6ba6912ebf51a9da154cd414..bee8cc19d7912d2ab1b731c47cf7e31d21d61866 100644 +index e447aa85b51c7e28fcd89bf8aa7602c88d599239..0d4224c56bcdff54bbf6cc2d9d25e4d7b0ba187b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -958,22 +958,20 @@ public class ServerPlayer extends Player { +@@ -968,22 +968,20 @@ public class ServerPlayer extends Player { if (this.isRemoved()) { return; } @@ -38,7 +38,7 @@ index b2bf086506ba7eda6ba6912ebf51a9da154cd414..bee8cc19d7912d2ab1b731c47cf7e31d this.drops.clear(); // SPIGOT-5188: make sure to clear } // Paper - fix player loottables running when mob loot gamerule is false -@@ -2471,8 +2469,8 @@ public class ServerPlayer extends Player { +@@ -2481,8 +2479,8 @@ public class ServerPlayer extends Player { } @Override @@ -104,7 +104,7 @@ index ee38f76e46c20e9fadfb5d4d602b7b82a8a22e51..4e96b6c05bf8b8235e91bdd26e5615c5 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 281d2f3df347e911eee459e06b917a0e075078e9..f948f4051607611e7105790c3b6bacc5d3ec39db 100644 +index 6b156049b06b38afbbd7cf3155b06601e334a805..f024038d473e424aa08256040c1591d23871c20c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -266,7 +266,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0941-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0941-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch index b6f285b9cc..9bde782301 100644 --- a/patches/server/0941-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch +++ b/patches/server/0941-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch @@ -26,10 +26,10 @@ 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 f948f4051607611e7105790c3b6bacc5d3ec39db..68c312dc39ef6fdb88e201ba096c9bd99aebddd7 100644 +index f024038d473e424aa08256040c1591d23871c20c..27e74611229e9558f1e015c68cb0cc91290c42b8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4183,7 +4183,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4189,7 +4189,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!(this instanceof ServerPlayer)) { EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.level().getWorld(), d3, d4, d5), new Location(this.level().getWorld(), d0, d6, d2)); this.level().getCraftServer().getPluginManager().callEvent(teleport); diff --git a/patches/server/0945-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0945-Validate-ResourceLocation-in-NBT-reading.patch index 0e1c0b7e08..6de34aa3c7 100644 --- a/patches/server/0945-Validate-ResourceLocation-in-NBT-reading.patch +++ b/patches/server/0945-Validate-ResourceLocation-in-NBT-reading.patch @@ -53,7 +53,7 @@ index 8c7cc9c5af0b8d8bef9b6e2d3d3e723cd76f3212..56b51096ca4147363a843accf6ef2510 @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 68c312dc39ef6fdb88e201ba096c9bd99aebddd7..0416af1342dad6a6789aa743aadf61b32b70f338 100644 +index 27e74611229e9558f1e015c68cb0cc91290c42b8..afd665420d3f839fb330f7f25c62a64ace027ef1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -911,12 +911,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -72,7 +72,7 @@ index 68c312dc39ef6fdb88e201ba096c9bd99aebddd7..0416af1342dad6a6789aa743aadf61b3 if (nbt.contains("Brain", 10)) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 7f781afb996dee380487f5be77c2149525ef0cca..0fd307e214f544284606ac8aa57f3f6bdca8bca6 100644 +index bca70fff39409617e9c2b8ea66c1de4b9376d261..b5fd4feb44e5aca2b37f0e6b3c5317d6caf4b3d4 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -645,7 +645,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0962-Add-CartographyItemEvent.patch b/patches/server/0962-Add-CartographyItemEvent.patch index 4502c9aa8a..7570602097 100644 --- a/patches/server/0962-Add-CartographyItemEvent.patch +++ b/patches/server/0962-Add-CartographyItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add CartographyItemEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4850971b46586cc6a4aeeba014bc6dcf6453d820..4db287b7d0d25b0e2b4943a02a72964c387ca321 100644 +index eebc68f55374d5763c77d1fbf884b17612fcd1fb..342d81e200df6df332655525326c164432355953 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3094,6 +3094,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0969-Fix-DamageSource-API.patch b/patches/server/0969-Fix-DamageSource-API.patch index 0e5c644bc1..2f3c828816 100644 --- a/patches/server/0969-Fix-DamageSource-API.patch +++ b/patches/server/0969-Fix-DamageSource-API.patch @@ -139,7 +139,7 @@ index 02931861de955352e71d6f5ffc720a17304815fe..55b4b5ad5f084c9a271a716d07667247 if (flag && entity instanceof LivingEntity) { diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index fbd1f4f3a8c94a4842f91b7cc6c21f0cf7edd7ac..550c0cf4d84afc0cd6b2675bdc6aa2282d87e312 100644 +index 0a8e46eef6df0bfda663758fc22b1eb4640aaf4e..67c7458619227961e065615853f4ed02559a0723 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -104,7 +104,7 @@ public class Explosion { diff --git a/patches/server/0972-Improve-tag-parser-handling.patch b/patches/server/0972-Improve-tag-parser-handling.patch index 6f346ac4f2..1bb246240c 100644 --- a/patches/server/0972-Improve-tag-parser-handling.patch +++ b/patches/server/0972-Improve-tag-parser-handling.patch @@ -169,7 +169,7 @@ index 898b19887ed34c87003fc63cb5905df2ba6234a5..b47eeb23055b135d5567552ba983bfbc private void write(FriendlyByteBuf buf) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4db287b7d0d25b0e2b4943a02a72964c387ca321..9c5614d42656d1306e6f0db961391e62a5f42ee7 100644 +index 342d81e200df6df332655525326c164432355953..4a1fe620ab2a6efadf734c1d7b09784e3865291c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -763,6 +763,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/0981-Rewrite-chunk-system.patch b/patches/server/0981-Rewrite-chunk-system.patch index bda9e3aa31..f1d58b1206 100644 --- a/patches/server/0981-Rewrite-chunk-system.patch +++ b/patches/server/0981-Rewrite-chunk-system.patch @@ -18983,10 +18983,10 @@ index 4f15b9d7c706a9b11ce2df0fa3b67d49f2b73d09..60fd84819ea7aa96f351db743e866733 return crashreportsystemdetails; } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bee8cc19d7912d2ab1b731c47cf7e31d21d61866..65e6623c2d1a6cf48729f78948fc48e82057114c 100644 +index 0d4224c56bcdff54bbf6cc2d9d25e4d7b0ba187b..c7290763e546252f511ff849f5da3b47283ec24a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -292,6 +292,50 @@ public class ServerPlayer extends Player { +@@ -293,6 +293,50 @@ public class ServerPlayer extends Player { public @Nullable String clientBrandName = null; // Paper - Brand support public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event diff --git a/patches/server/0982-incremental-chunk-and-player-saving.patch b/patches/server/0982-incremental-chunk-and-player-saving.patch index 22cf818d37..adc9d293bb 100644 --- a/patches/server/0982-incremental-chunk-and-player-saving.patch +++ b/patches/server/0982-incremental-chunk-and-player-saving.patch @@ -118,10 +118,10 @@ index 60fd84819ea7aa96f351db743e8667334af9e96b..afc1639c96c01197c6c11873fcd5d779 // Paper start - rewrite chunk system - add close param this.save(progressListener, flush, savingDisabled, false); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 65e6623c2d1a6cf48729f78948fc48e82057114c..fc8e9cd699bdefb6ddadc6aa30e6459417c73194 100644 +index c7290763e546252f511ff849f5da3b47283ec24a..305d88c8bfb0d9864f132be7b0e8fd2f4d18a539 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -198,6 +198,7 @@ import org.bukkit.inventory.MainHand; +@@ -199,6 +199,7 @@ import org.bukkit.inventory.MainHand; public class ServerPlayer extends Player { private static final Logger LOGGER = LogUtils.getLogger(); diff --git a/patches/server/0985-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0985-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 1a86ce02de..a2017dadf4 100644 --- a/patches/server/0985-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0985-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -26,10 +26,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0416af1342dad6a6789aa743aadf61b32b70f338..5854e58a014b5581fa065d1db256ffc0aa947ce2 100644 +index afd665420d3f839fb330f7f25c62a64ace027ef1..bb74f36dcaeda72e3b154f1d62375967aad89f67 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3730,7 +3730,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3736,7 +3736,7 @@ public abstract class LivingEntity extends Entity implements Attackable { Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists diff --git a/patches/server/0990-Entity-Activation-Range-2.0.patch b/patches/server/0990-Entity-Activation-Range-2.0.patch index 6db2a7e550..0327db7ee1 100644 --- a/patches/server/0990-Entity-Activation-Range-2.0.patch +++ b/patches/server/0990-Entity-Activation-Range-2.0.patch @@ -147,7 +147,7 @@ index 03840f520624662d4ce3ac9f3065a01c71b5f299..a13edd1165a5ba4dd3f5c323e454926e movement = this.maybeBackOffFromEdge(movement, movementType); Vec3 vec3d1 = this.collide(movement); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 0fd307e214f544284606ac8aa57f3f6bdca8bca6..eb2fd14f175a4ffca920ca116fb8d0d381286dc5 100644 +index b5fd4feb44e5aca2b37f0e6b3c5317d6caf4b3d4..e89f9c3e887601d8461eb967ae0bf582b672f631 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -237,6 +237,19 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti diff --git a/patches/server/0991-Optional-per-player-mob-spawns.patch b/patches/server/0991-Optional-per-player-mob-spawns.patch index b9fe80f3e4..54636b93ff 100644 --- a/patches/server/0991-Optional-per-player-mob-spawns.patch +++ b/patches/server/0991-Optional-per-player-mob-spawns.patch @@ -64,10 +64,10 @@ index d1728e13a7b649f308bde90ab633c79d86c10822..002aad174fb1781ee963414037f84e51 this.lastSpawnState = spawnercreature_d; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fc8e9cd699bdefb6ddadc6aa30e6459417c73194..61e256224c6d7c944bee0e11d0edcf05b8a5ecd3 100644 +index 305d88c8bfb0d9864f132be7b0e8fd2f4d18a539..e857bc7014d611f128bbae67970a6e071f31b6fb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -271,6 +271,10 @@ public class ServerPlayer extends Player { +@@ -272,6 +272,10 @@ public class ServerPlayer extends Player { public boolean queueHealthUpdatePacket; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; // Paper end - cancellable death event diff --git a/patches/server/0993-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0993-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch index 12af227d2a..14ca843b31 100644 --- a/patches/server/0993-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch +++ b/patches/server/0993-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch @@ -60,10 +60,10 @@ index 002aad174fb1781ee963414037f84e5120488592..c7b7f153895a4b95b2071a31db00c9c4 spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, null, true); } else { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 61e256224c6d7c944bee0e11d0edcf05b8a5ecd3..e06b9b0c7b1c3a200b89819e0e521f1c88dc981b 100644 +index e857bc7014d611f128bbae67970a6e071f31b6fb..a0d16e8289d6e35bb1e92623642386ac0c0552be 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -275,6 +275,7 @@ public class ServerPlayer extends Player { +@@ -276,6 +276,7 @@ public class ServerPlayer extends Player { public static final int MOBCATEGORY_TOTAL_ENUMS = net.minecraft.world.entity.MobCategory.values().length; public final int[] mobCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper // Paper end - Optional per player mob spawns diff --git a/patches/server/0999-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0999-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 9d41c60b80..87c5ae2763 100644 --- a/patches/server/0999-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/0999-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch @@ -13,7 +13,7 @@ A config is provided if you rather let players use these exploits, and let them destroy the worlds End Portals and get on top of the nether easy. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 550c0cf4d84afc0cd6b2675bdc6aa2282d87e312..6bd6533e314b64d3512cbb46f5174a4956c323b2 100644 +index 67c7458619227961e065615853f4ed02559a0723..2826160f3dd951884f17d48c1b3d8f95c90e5856 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -192,6 +192,7 @@ public class Explosion { diff --git a/patches/server/1005-Improve-boat-collision-performance.patch b/patches/server/1005-Improve-boat-collision-performance.patch index 3cd32de1e5..8266a668a8 100644 --- a/patches/server/1005-Improve-boat-collision-performance.patch +++ b/patches/server/1005-Improve-boat-collision-performance.patch @@ -17,7 +17,7 @@ index 2cd0a4dc4f0baa08bd7f5a053303bb63733f0bab..0bd367235f80c1f0d319a6aa5130d82a }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5854e58a014b5581fa065d1db256ffc0aa947ce2..75e01c1e01e0782fc8af48777bbe4716d37aeafa 100644 +index bb74f36dcaeda72e3b154f1d62375967aad89f67..b36895bf73c49a28b78807909aefc26466384178 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1459,7 +1459,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -29,7 +29,7 @@ index 5854e58a014b5581fa065d1db256ffc0aa947ce2..75e01c1e01e0782fc8af48777bbe4716 LivingEntity entityliving = (LivingEntity) entity; this.blockUsingShield(entityliving); -@@ -1553,11 +1553,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1559,11 +1559,12 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (entity1 != null && !source.is(DamageTypeTags.NO_KNOCKBACK)) { @@ -44,7 +44,7 @@ index 5854e58a014b5581fa065d1db256ffc0aa947ce2..75e01c1e01e0782fc8af48777bbe4716 d0 = (Math.random() - Math.random()) * 0.01D; } -@@ -2334,7 +2335,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2340,7 +2341,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING)); Entity entity = damagesource.getDirectEntity(); diff --git a/patches/server/1013-Collision-optimisations.patch b/patches/server/1013-Collision-optimisations.patch index a6179487ff..1d14ead3c6 100644 --- a/patches/server/1013-Collision-optimisations.patch +++ b/patches/server/1013-Collision-optimisations.patch @@ -2179,10 +2179,10 @@ index 03c45ee77276462818a6f774b5945b25924aa3f0..ab289a6ca85459e03acb2089c6b9e931 private Direction( final int id, diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e06b9b0c7b1c3a200b89819e0e521f1c88dc981b..ed42a78aebeda86b77f27cba4fcefbc6c17f86fc 100644 +index a0d16e8289d6e35bb1e92623642386ac0c0552be..9079a7c4ca27eedc346312282d6f6f78ca6fd205 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -512,7 +512,7 @@ public class ServerPlayer extends Player { +@@ -522,7 +522,7 @@ public class ServerPlayer extends Player { if (blockposition1 != null) { this.moveTo(blockposition1, world.getSharedSpawnAngle(), 0.0F); // Paper - MC-200092 - fix first spawn pos yaw being ignored @@ -2191,7 +2191,7 @@ index e06b9b0c7b1c3a200b89819e0e521f1c88dc981b..ed42a78aebeda86b77f27cba4fcefbc6 break; } } -@@ -520,7 +520,7 @@ public class ServerPlayer extends Player { +@@ -530,7 +530,7 @@ public class ServerPlayer extends Player { } else { this.moveTo(blockposition, world.getSharedSpawnAngle(), 0.0F); // Paper - MC-200092 - fix first spawn pos yaw being ignored diff --git a/patches/server/1014-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1014-Optimise-collision-checking-in-player-move-packet-ha.patch index 378e882366..d7da9feb2a 100644 --- a/patches/server/1014-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/1014-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -8,7 +8,7 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN CHECK ME diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9c5614d42656d1306e6f0db961391e62a5f42ee7..ae927c2cdf151b901822636a2543668f85946430 100644 +index 4a1fe620ab2a6efadf734c1d7b09784e3865291c..5a99ca1121ef2163b194372c48bf03e95a96b8ea 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -572,7 +572,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl diff --git a/patches/server/1019-Properly-resend-entities.patch b/patches/server/1019-Properly-resend-entities.patch index 4ac71e7b7c..f69eb0f883 100644 --- a/patches/server/1019-Properly-resend-entities.patch +++ b/patches/server/1019-Properly-resend-entities.patch @@ -81,7 +81,7 @@ index abb9a86cd42a34cf722a312068134e820ac21956..f168044d36f22080504da171e5ed31a6 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae927c2cdf151b901822636a2543668f85946430..ea7a2db0d71a69a6f67fda032f01c9a126bd3100 100644 +index 5a99ca1121ef2163b194372c48bf03e95a96b8ea..8e67853a7a93fa736c147e8b2df537746dc8e94f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2004,6 +2004,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -166,10 +166,10 @@ index 8ad2d17615ff489b2fbbb13480dd0b217a42d805..2bc85351e6e52f90da5fdb29d8d042a0 public boolean equals(Object object) { return object instanceof Entity ? ((Entity) object).id == this.id : false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 75e01c1e01e0782fc8af48777bbe4716d37aeafa..2d375fc98e72246f6a640c390cb50d055fb59f8b 100644 +index b36895bf73c49a28b78807909aefc26466384178..34793f2072e370ee6ec4a969d103dbe1fd230657 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3828,6 +3828,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3834,6 +3834,11 @@ public abstract class LivingEntity extends Entity implements Attackable { return ((Byte) this.entityData.get(LivingEntity.DATA_LIVING_ENTITY_FLAGS) & 2) > 0 ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND; } diff --git a/patches/server/1022-Actually-optimise-explosions.patch b/patches/server/1022-Actually-optimise-explosions.patch index a7db826672..6f9813b4fc 100644 --- a/patches/server/1022-Actually-optimise-explosions.patch +++ b/patches/server/1022-Actually-optimise-explosions.patch @@ -34,7 +34,7 @@ The results indicate that this logic is 5 times faster than Vanilla and 2.3 times faster than Lithium. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 6bd6533e314b64d3512cbb46f5174a4956c323b2..46a14da698eff141b7379aa9c159e6a5c5f7d84c 100644 +index 2826160f3dd951884f17d48c1b3d8f95c90e5856..feb470e8036ecfcd838cff05a0dc1d43cc96ae3c 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -112,6 +112,271 @@ public class Explosion { @@ -468,7 +468,7 @@ index 6bd6533e314b64d3512cbb46f5174a4956c323b2..46a14da698eff141b7379aa9c159e6a5 double d13; if (entity instanceof LivingEntity) { -@@ -337,6 +653,9 @@ public class Explosion { +@@ -340,6 +656,9 @@ public class Explosion { } } @@ -478,7 +478,7 @@ index 6bd6533e314b64d3512cbb46f5174a4956c323b2..46a14da698eff141b7379aa9c159e6a5 } public void finalizeExplosion(boolean particles) { -@@ -550,14 +869,14 @@ public class Explosion { +@@ -553,14 +872,14 @@ public class Explosion { private BlockInteraction() {} } // Paper start - Optimize explosions diff --git a/patches/server/1023-Optimise-chunk-tick-iteration.patch b/patches/server/1023-Optimise-chunk-tick-iteration.patch index 21131380ce..a1c98f7aad 100644 --- a/patches/server/1023-Optimise-chunk-tick-iteration.patch +++ b/patches/server/1023-Optimise-chunk-tick-iteration.patch @@ -365,10 +365,10 @@ index 7fbeebe63f755624b967374072aa2e0565ce8c35..36caf354634d6675a3f1ec6829f4778e gameprofilerfiller.pop(); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ed42a78aebeda86b77f27cba4fcefbc6c17f86fc..49d612c1b84fe4f2335c9cf91cce5f60b6779ff6 100644 +index 9079a7c4ca27eedc346312282d6f6f78ca6fd205..8437316888c6056060a2780652147590b6fe7443 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -341,6 +341,9 @@ public class ServerPlayer extends Player { +@@ -342,6 +342,9 @@ public class ServerPlayer extends Player { }); } // Paper end - replace player chunk loader diff --git a/patches/server/1024-Lag-compensation-ticks.patch b/patches/server/1024-Lag-compensation-ticks.patch index dbf7a195bd..4eab1e51ab 100644 --- a/patches/server/1024-Lag-compensation-ticks.patch +++ b/patches/server/1024-Lag-compensation-ticks.patch @@ -63,10 +63,10 @@ index f168044d36f22080504da171e5ed31a6f02385ba..5cedce1f432f6b809b25269242a16477 if (this.hasDelayedDestroy) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 2d375fc98e72246f6a640c390cb50d055fb59f8b..bad6a69246f6b0a4ada222b820f16469f91b0534 100644 +index 34793f2072e370ee6ec4a969d103dbe1fd230657..6751290fdcc30e3657c56660924bd5fb48418871 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3833,6 +3833,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3839,6 +3839,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer); } // Paper end - Properly cancel usable items @@ -77,7 +77,7 @@ index 2d375fc98e72246f6a640c390cb50d055fb59f8b..bad6a69246f6b0a4ada222b820f16469 private void updatingUsingItem() { if (this.isUsingItem()) { if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) { -@@ -3851,7 +3855,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3857,7 +3861,12 @@ public abstract class LivingEntity extends Entity implements Attackable { this.triggerItemUseEffects(stack, 5); } @@ -91,7 +91,7 @@ index 2d375fc98e72246f6a640c390cb50d055fb59f8b..bad6a69246f6b0a4ada222b820f16469 this.completeUsingItem(); } -@@ -3897,7 +3906,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3903,7 +3912,10 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack this.useItem = itemstack; @@ -103,7 +103,7 @@ index 2d375fc98e72246f6a640c390cb50d055fb59f8b..bad6a69246f6b0a4ada222b820f16469 if (!this.level().isClientSide) { this.setLivingEntityFlag(1, true); this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND); -@@ -3922,7 +3934,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3928,7 +3940,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } } else if (!this.isUsingItem() && !this.useItem.isEmpty()) { this.useItem = ItemStack.EMPTY; @@ -115,7 +115,7 @@ index 2d375fc98e72246f6a640c390cb50d055fb59f8b..bad6a69246f6b0a4ada222b820f16469 } } -@@ -4057,7 +4072,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4063,7 +4078,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.useItem = ItemStack.EMPTY; diff --git a/patches/server/1031-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch b/patches/server/1031-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch index 80403b7725..f7ac79e2e0 100644 --- a/patches/server/1031-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch +++ b/patches/server/1031-Properly-handle-pdc-and-custom-tags-in-ItemMeta.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Properly handle pdc and custom tags in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 549d06b83b195c0a0207d18850b98d1e6e611460..d70cd1f87753c0ba9ea18198906b5fba5a7d5813 100644 +index fac6f3aa00b209e6090f4cb0207e53a994e51cac..c6886ddaebe6a393e079fed18bb0784cff8eb9dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -369,6 +369,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/1032-handle-converting-old-serialized-names-to-new-names.patch b/patches/server/1032-handle-converting-old-serialized-names-to-new-names.patch index ff357c9f58..ea703343ed 100644 --- a/patches/server/1032-handle-converting-old-serialized-names-to-new-names.patch +++ b/patches/server/1032-handle-converting-old-serialized-names-to-new-names.patch @@ -5,7 +5,7 @@ Subject: [PATCH] handle converting old serialized names to new names diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d70cd1f87753c0ba9ea18198906b5fba5a7d5813..5730cd7dc888e2946a57d7667e0f0e7826600f05 100644 +index c6886ddaebe6a393e079fed18bb0784cff8eb9dc..7626ccaec65acbda22738296b4dd4423ee535aa8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -490,7 +490,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/1034-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/1034-Deep-clone-nbt-tags-in-PDC.patch index 4bcc5895e7..1f567e6cdf 100644 --- a/patches/server/1034-Deep-clone-nbt-tags-in-PDC.patch +++ b/patches/server/1034-Deep-clone-nbt-tags-in-PDC.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Deep clone nbt tags in PDC diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5730cd7dc888e2946a57d7667e0f0e7826600f05..80070ddd196ec212bc45f15ea098c7148b05b2e9 100644 +index 7626ccaec65acbda22738296b4dd4423ee535aa8..ca41754a8224ad0fe959c982a4b6adfd8b346b05 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -284,7 +284,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -17,7 +17,7 @@ index 5730cd7dc888e2946a57d7667e0f0e7826600f05..80070ddd196ec212bc45f15ea098c714 this.customTag = meta.customTag; -@@ -1509,7 +1509,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1511,7 +1511,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.customTag != null) { clone.customTag = this.customTag.copy(); } diff --git a/patches/server/1036-Fix-shield-disable-inconsistency.patch b/patches/server/1036-Fix-shield-disable-inconsistency.patch index 777f27d8bb..61f593ff71 100644 --- a/patches/server/1036-Fix-shield-disable-inconsistency.patch +++ b/patches/server/1036-Fix-shield-disable-inconsistency.patch @@ -8,10 +8,10 @@ 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 bad6a69246f6b0a4ada222b820f16469f91b0534..e0124e44e1abe8237859e8dc1e357298188dab52 100644 +index 6751290fdcc30e3657c56660924bd5fb48418871..614a90ff73a8a85f4b7fa2c633eb0473ec01c4d2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2335,7 +2335,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2341,7 +2341,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING)); Entity entity = damagesource.getDirectEntity(); diff --git a/patches/server/1038-Don-t-lose-removed-data-components-in-ItemMeta.patch b/patches/server/1038-Don-t-lose-removed-data-components-in-ItemMeta.patch index 2aa999fdeb..a74a67e381 100644 --- a/patches/server/1038-Don-t-lose-removed-data-components-in-ItemMeta.patch +++ b/patches/server/1038-Don-t-lose-removed-data-components-in-ItemMeta.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't lose removed data components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 80070ddd196ec212bc45f15ea098c7148b05b2e9..94e9213414ec08794e875c23c300bfae5dcc877e 100644 +index ca41754a8224ad0fe959c982a4b6adfd8b346b05..ba58f0f2f4f9cb99fb6cecfe772ae5781f976b63 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -174,6 +174,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/1041-Fix-ItemFlags.patch b/patches/server/1041-Fix-ItemFlags.patch index 9c1df3f6e8..94985c5f11 100644 --- a/patches/server/1041-Fix-ItemFlags.patch +++ b/patches/server/1041-Fix-ItemFlags.patch @@ -33,7 +33,7 @@ index fca0cfba14dd2cc6f24b56eaf269594b2d87fd04..8734f0b777432cd8639094b75a3da1b9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a869209199 100644 +index ba58f0f2f4f9cb99fb6cecfe772ae5781f976b63..9cd528a70ef3e6053a7103a6f9df5e93bb8550a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -224,6 +224,12 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -128,7 +128,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 } // Paper start -@@ -1453,6 +1495,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1455,6 +1497,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hasFood() ? that.hasFood() && this.food.equals(that.food) : !that.hasFood()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) && (this.hasMaxDamage() ? that.hasMaxDamage() && this.maxDamage.equals(that.maxDamage) : !that.hasMaxDamage()) @@ -137,7 +137,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 && (this.version == that.version); } -@@ -1495,6 +1539,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1497,6 +1541,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasMaxDamage() ? 1231 : 1237); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); @@ -146,7 +146,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 hash = 61 * hash + this.version; return hash; } -@@ -1532,6 +1578,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1534,6 +1580,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.damage = this.damage; clone.maxDamage = this.maxDamage; clone.version = this.version; @@ -161,7 +161,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1641,6 +1695,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1643,6 +1697,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -178,7 +178,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 if (!this.unhandledTags.isEmpty()) { Tag unhandled = DataComponentPatch.CODEC.encodeStart(MinecraftServer.getDefaultRegistryAccess().createSerializationContext(NbtOps.INSTANCE), this.unhandledTags.build()).getOrThrow(IllegalStateException::new); try { -@@ -1651,6 +1715,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1653,6 +1717,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { Logger.getLogger(CraftMetaItem.class.getName()).log(Level.SEVERE, null, ex); } } @@ -193,7 +193,7 @@ index 94e9213414ec08794e875c23c300bfae5dcc877e..940c2c9663657369eda6962728bd37a8 if (!this.persistentDataContainer.isEmpty()) { // Store custom tags, wrapped in their compound builder.put(CraftMetaItem.BUKKIT_CUSTOM_TAG.BUKKIT, this.persistentDataContainer.serialize()); -@@ -1792,6 +1864,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1794,6 +1866,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaItem.MAX_DAMAGE.TYPE, CraftMetaItem.CUSTOM_DATA.TYPE, CraftMetaItem.ATTRIBUTES.TYPE, diff --git a/patches/server/1043-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/1043-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch index 9f386e1311..736542f8cc 100644 --- a/patches/server/1043-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch +++ b/patches/server/1043-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch @@ -5,10 +5,10 @@ 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 e0124e44e1abe8237859e8dc1e357298188dab52..dc974514ad54a4afc80b6f222ddd770c95cb6278 100644 +index 614a90ff73a8a85f4b7fa2c633eb0473ec01c4d2..6e043457a29a890bcefd27fc5bb07c1a7e4e30f7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2220,7 +2220,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2226,7 +2226,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } // CraftBukkit start @@ -17,15 +17,12 @@ index e0124e44e1abe8237859e8dc1e357298188dab52..dc974514ad54a4afc80b6f222ddd770c if (!this.isInvulnerableTo(damagesource)) { final boolean human = this instanceof net.minecraft.world.entity.player.Player; float originalDamage = f; -@@ -2390,14 +2390,14 @@ public abstract class LivingEntity extends Entity implements Attackable { - CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order - } +@@ -2398,12 +2398,12 @@ public abstract class LivingEntity extends Entity implements Attackable { -- return false; -+ return true; // Paper - return false ONLY if event was cancelled + return true; } else { -- return originalDamage > 0; -+ return originalDamage > 0 || true; // Paper - return false ONLY if event was cancelled +- return originalDamage >= 0; ++ return true; // Paper - return false ONLY if event was cancelled } // CraftBukkit end } diff --git a/patches/server/1044-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/1044-improve-checking-handled-tags-in-itemmeta.patch index a8054bfc09..ef70a5d88f 100644 --- a/patches/server/1044-improve-checking-handled-tags-in-itemmeta.patch +++ b/patches/server/1044-improve-checking-handled-tags-in-itemmeta.patch @@ -404,7 +404,7 @@ index b444bd26d6c3def3494d3cc0520e462408272be3..8e0dd4b7a7a25a8beb27b507047bc48d getOrEmpty(tag, CraftMetaFirework.FIREWORKS).ifPresent((fireworks) -> { this.power = fireworks.flightDuration(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 940c2c9663657369eda6962728bd37a869209199..4ac9ddfd59db29b64240074c0497c608edb4d021 100644 +index 9cd528a70ef3e6053a7103a6f9df5e93bb8550a4..8973a08f39279415e28a4fadf0015f1ab9581350 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -308,7 +308,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -436,7 +436,7 @@ index 940c2c9663657369eda6962728bd37a869209199..4ac9ddfd59db29b64240074c0497c608 key.getValue().ifPresentOrElse((value) -> { this.unhandledTags.set((DataComponentType) key.getKey(), value); }, () -> { -@@ -1841,63 +1848,73 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1843,63 +1850,73 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.version = version; } diff --git a/work/Bukkit b/work/Bukkit index 69fa46950c..304e83eb38 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 69fa46950cc65264d4e4db9f22e58d5f57e47f46 +Subproject commit 304e83eb384c338546aa96eea51388e0e8407e26 diff --git a/work/CraftBukkit b/work/CraftBukkit index 90f1059bae..91b1fc3f1c 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 90f1059bae911966b5629b3ec1ff242d109fde7f +Subproject commit 91b1fc3f1cf89e2591367dca1fa7362fe376f289