diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index e65b211bf23..81ee13ba35a 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,7 +27,7 @@ index 5dd700a956e915c00b25d91dea8d6f285ddab72b..97e78e27ee0eea2c8b24886eeb19164d +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..4756a5aa04f8a8f0a8f9ff2c7aa6776b5a6892a5 +index 0000000000000000000000000000000000000000..6271e2bad0ed937c2c46a8c8fdf186c46b0b620e --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,91 @@ @@ -41,7 +41,7 @@ index 0000000000000000000000000000000000000000..4756a5aa04f8a8f0a8f9ff2c7aa6776b + withJavadocJar() +} + -+val annotationsVersion = "24.0.1" ++val annotationsVersion = "24.1.0" +val bungeeCordChatVersion = "1.20-R0.2" + +dependencies { @@ -61,7 +61,7 @@ index 0000000000000000000000000000000000000000..4756a5aa04f8a8f0a8f9ff2c7aa6776b + testCompileOnly(annotations) + + testImplementation("org.apache.commons:commons-lang3:3.12.0") -+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") ++ testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") + testImplementation("org.hamcrest:hamcrest:2.2") + testImplementation("org.mockito:mockito-core:5.11.0") + testImplementation("org.ow2.asm:asm-tree:9.7") @@ -124,10 +124,10 @@ index 0000000000000000000000000000000000000000..4756a5aa04f8a8f0a8f9ff2c7aa6776b +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 35e6845d86cbfed386f666307add6d6f3e67dd1c..0000000000000000000000000000000000000000 +index 278ecb12ecdb5e1fdf394a1c990a4d849e53e05e..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,276 +0,0 @@ +@@ -1,267 +0,0 @@ - - @@ -217,14 +217,14 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - - org.jetbrains - annotations-java5 -- 24.0.1 +- 24.1.0 - provided - - - - org.junit.jupiter - junit-jupiter -- 5.10.0 +- 5.10.2 - test - - @@ -267,23 +267,14 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - maven-compiler-plugin - 3.13.0 - -- -- eclipse - - false - -- -- -- org.codehaus.plexus -- plexus-compiler-eclipse -- 2.15.0 -- -- - - - org.apache.maven.plugins - maven-jar-plugin -- 3.3.0 +- 3.4.1 - - - @@ -298,7 +289,7 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-shade-plugin -- 3.5.0 +- 3.5.3 - - - package @@ -325,10 +316,10 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-javadoc-plugin -- 3.5.0 +- 3.6.3 - - -- https://guava.dev/releases/31.1-jre/api/docs/ +- https://guava.dev/releases/32.1.2-jre/api/docs/ - - - @@ -342,7 +333,7 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-surefire-plugin -- 3.1.0 +- 3.2.5 - - - @@ -358,7 +349,7 @@ index 35e6845d86cbfed386f666307add6d6f3e67dd1c..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-checkstyle-plugin -- 3.3.0 +- 3.3.1 - - - process-classes diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch index c70df0a834f..6885ccb3e06 100644 --- a/patches/api/0002-Build-system-changes.patch +++ b/patches/api/0002-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 4756a5aa04f8a8f0a8f9ff2c7aa6776b5a6892a5..a1f46208d1f39de54b73c66c3c4284b6f8c86864 100644 +index 6271e2bad0ed937c2c46a8c8fdf186c46b0b620e..a918fd14c95e714e935758d60bccd72755e00b11 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,15 +18,26 @@ dependencies { @@ -34,7 +34,7 @@ index 4756a5aa04f8a8f0a8f9ff2c7aa6776b5a6892a5..a1f46208d1f39de54b73c66c3c4284b6 + // Paper end + testImplementation("org.apache.commons:commons-lang3:3.12.0") - testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.hamcrest:hamcrest:2.2") @@ -69,8 +80,12 @@ tasks.withType { options.links( diff --git a/patches/api/0003-Test-changes.patch b/patches/api/0003-Test-changes.patch index 9d809b43272..6b6d57cb77e 100644 --- a/patches/api/0003-Test-changes.patch +++ b/patches/api/0003-Test-changes.patch @@ -12,7 +12,7 @@ Co-authored-by: Riley Park Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index a1f46208d1f39de54b73c66c3c4284b6f8c86864..be4d301b305f5cd92d2ff352bfb9c6ff9f82fd9b 100644 +index a918fd14c95e714e935758d60bccd72755e00b11..768024b2b4584fd7dd86f068c0e79c89ffc5faa1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -105,6 +105,12 @@ tasks.test { diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch index 33dd524ef98..2e1f5eb6a30 100644 --- a/patches/api/0004-Code-Generation.patch +++ b/patches/api/0004-Code-Generation.patch @@ -7,7 +7,7 @@ Currently includes generated key holder classes for types used in the Registry Modification API diff --git a/build.gradle.kts b/build.gradle.kts -index be4d301b305f5cd92d2ff352bfb9c6ff9f82fd9b..01e3a5ba74f8d4c4c2eb010b289e2a7785b11bcc 100644 +index 768024b2b4584fd7dd86f068c0e79c89ffc5faa1..f11a22ab01e97e51619c96f2d8a78a99297efc59 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,7 @@ @@ -246,12 +246,13 @@ index 0000000000000000000000000000000000000000..3c3fd73f7742bb8602e2f9164dd4c120 +record TypedKeyImpl(@NotNull Key key, @NotNull RegistryKey registryKey) implements TypedKey { +} diff --git a/src/main/java/org/bukkit/MinecraftExperimental.java b/src/main/java/org/bukkit/MinecraftExperimental.java -index 2365a8c620be709b280fb08855752bb0995838fc..b63e24b3c4d2f1a08e39434caa527bb2e0edea22 100644 +index b6f4810e387c22c4a70609ea1d605130245689a5..74d5c5e516715e7876b81bfa997d80edbe48476d 100644 --- a/src/main/java/org/bukkit/MinecraftExperimental.java +++ b/src/main/java/org/bukkit/MinecraftExperimental.java -@@ -24,4 +24,5 @@ import org.jetbrains.annotations.ApiStatus; - }) - @ApiStatus.Internal - public @interface MinecraftExperimental { -+ String value() default ""; // Paper +@@ -49,4 +49,6 @@ public @interface MinecraftExperimental { + + UPDATE_1_21 + } ++ ++ String desc() default ""; // Paper } diff --git a/patches/api/0005-Add-FastUtil-to-Bukkit.patch b/patches/api/0005-Add-FastUtil-to-Bukkit.patch index e3121abf575..68e47ea275f 100644 --- a/patches/api/0005-Add-FastUtil-to-Bukkit.patch +++ b/patches/api/0005-Add-FastUtil-to-Bukkit.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add FastUtil to Bukkit Doesn't expose to plugins, just allows Paper-API to use it for optimization diff --git a/build.gradle.kts b/build.gradle.kts -index 01e3a5ba74f8d4c4c2eb010b289e2a7785b11bcc..f605e7e0f812a2297b1cecf3f37b69a8edc6b4a5 100644 +index f11a22ab01e97e51619c96f2d8a78a99297efc59..2f266350a787a4cfdfda1b0e760bfb7604cac43c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,6 +23,7 @@ dependencies { diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index 60937724282..e21cf7abfbb 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -8,12 +8,12 @@ Co-authored-by: Jake Potrebic Co-authored-by: Yannick Lamprecht diff --git a/build.gradle.kts b/build.gradle.kts -index f605e7e0f812a2297b1cecf3f37b69a8edc6b4a5..ec60a4b804d9d077fdb7d88519b7fb8816aeab9f 100644 +index 2f266350a787a4cfdfda1b0e760bfb7604cac43c..c23ee26662657baa496d6048b9a8ba39b4998e72 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,12 +11,28 @@ java { - val annotationsVersion = "24.0.1" + val annotationsVersion = "24.1.0" val bungeeCordChatVersion = "1.20-R0.2" +val adventureVersion = "4.17.0-SNAPSHOT" +val apiAndDocs: Configuration by configurations.creating { @@ -1106,7 +1106,7 @@ index b79daa857fc686f00ac06b8851e0ab68d83ae949..45d996878ba8d314a47078589b6da59d public void setCustomName(@Nullable String name); } diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java -index ae7b51341fb66c41b8a7c4604fd273d876e311be..4034fcb9abc39b12f0de47c4b679f2ef82353c89 100644 +index 9562fcd522b2e2b24ec57fbf18ddeebba3e50abf..9b61129c3ef83d0bfceba54aba2effa12bc90678 100644 --- a/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java @@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable; @@ -1150,7 +1150,7 @@ index ae7b51341fb66c41b8a7c4604fd273d876e311be..4034fcb9abc39b12f0de47c4b679f2ef } @Override -@@ -247,4 +247,24 @@ public final class NamespacedKey { +@@ -248,4 +248,24 @@ public final class NamespacedKey { public static NamespacedKey fromString(@NotNull String key) { return fromString(key, null); } @@ -1430,10 +1430,10 @@ index bfa9846d93317d07e55b6d7b971326fa07cae27d..3bf7db7eac81e3cc6f5c6700637d10d1 throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index bd3861c4c2eabca93065c0a6e24e0d3603d86db2..ddc4c5097214371108dc945371e1d28811352c38 100644 +index 72260e6284e3f5ce1813635aa07518c47dbf0899..375172e05a78611deb3003f780867516cb6cd1a4 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java -@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; +@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; * guarantee values will not be removed from this Enum. As such, you should not * depend on the ordinal values of this class. */ @@ -1442,7 +1442,7 @@ index bd3861c4c2eabca93065c0a6e24e0d3603d86db2..ddc4c5097214371108dc945371e1d288 AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), -@@ -1727,4 +1727,11 @@ public enum Sound implements Keyed { +@@ -1725,4 +1725,11 @@ public enum Sound implements Keyed { public NamespacedKey getKey() { return key; } @@ -2182,10 +2182,10 @@ index b7d8dd30360a38dbdc7bbce40c8e6ced7261f833..0817f2395c2b18828565435568ce651f public void sendRawMessage(@Nullable UUID sender, @NotNull String message); } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index f9965740ffa267caa698f854120a5d89727c6d37..dddd0e74962d5713c4bb6219fba48aae5763e9ea 100644 +index 18983f405b2f6c4159dba5c99674ae7729905cc4..a82d6f469aca02fb28b1b3ad84dc40415f1f1ade 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -317,6 +317,19 @@ public abstract class Enchantment implements Keyed, Translatable { +@@ -318,6 +318,19 @@ public abstract class Enchantment implements Keyed, Translatable { * @return True if the enchantment may be applied, otherwise False */ public abstract boolean canEnchantItem(@NotNull ItemStack item); @@ -3279,10 +3279,10 @@ index 3c2ea8fec3a748cab7f5ad9100d12bd8213ec6c9..03b4e0300d228e3f3a9f4f75c96e0cf9 * Gets how much EXP the Player should have at respawn. *

diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index a2e9bedc4d7c56f1ae6bd6ace2dff41537e41829..c3aeb1b622509ecd9e2230ce82e3bf07899fa540 100644 +index 45acff6f8b4859b6e111d925ae01d59dd361b8c9..f5bdd6b6df126abfa26ce727c80a5772d2ab1a1b 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -163,6 +163,18 @@ public enum InventoryType { +@@ -164,6 +164,18 @@ public enum InventoryType { private final String title; private final boolean isCreatable; @@ -3301,7 +3301,7 @@ index a2e9bedc4d7c56f1ae6bd6ace2dff41537e41829..c3aeb1b622509ecd9e2230ce82e3bf07 private InventoryType(int defaultSize, /*@NotNull*/ String defaultTitle) { this(defaultSize, defaultTitle, true); } -@@ -171,6 +183,7 @@ public enum InventoryType { +@@ -172,6 +184,7 @@ public enum InventoryType { size = defaultSize; title = defaultTitle; this.isCreatable = isCreatable; @@ -3309,7 +3309,7 @@ index a2e9bedc4d7c56f1ae6bd6ace2dff41537e41829..c3aeb1b622509ecd9e2230ce82e3bf07 } public int getDefaultSize() { -@@ -178,6 +191,7 @@ public enum InventoryType { +@@ -179,6 +192,7 @@ public enum InventoryType { } @NotNull @@ -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 88cdce67e6a55712cb56e946f2f09c82ddbc1d15..e76c847e57f3d32757129d56922862a4202c9d07 100644 +index cf1733bc76d1e29ad0f533f6e49818f83e8e3358..f2a6f62f0344684668febc0999b81748c6737826 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 88cdce67e6a55712cb56e946f2f09c82ddbc1d15..e76c847e57f3d32757129d56922862a4 private Material type = Material.AIR; private int amount = 0; private MaterialData data = null; -@@ -613,4 +613,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -614,4 +614,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat public String getTranslationKey() { return Bukkit.getUnsafe().getTranslationKey(this); } @@ -4753,7 +4753,7 @@ index bd512a7840d4686759097ee4cbd8b375c530956b..f2242ddc4085f7e7cdd748d860857822 + // Paper end - adventure } diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index 4ddddc5d91a5febba2fd4dea3a15092f4ec32a6f..f9803c7483f7458fed1f22ddfda6e7ef03cfc688 100644 +index 9679cc595b5009990d8441a6344505eef1f5d265..f973f0f3925819765412f6f134e553d7d74f1467 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java @@ -12,7 +12,7 @@ public final class MapCursor { @@ -5028,7 +5028,7 @@ index 78fd35e6115072c6bc2ff5a899ffc2edb8f45801..22b1dc5fd4d453161a5ee520072f8e8f /** diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java -index 083bb2c92a2c557e10b705b773ced97401586c3c..d5723e977d9a25701a4f387f1b26d2414e0fffb8 100644 +index bf52375e9ed9ec172eca1d27c06c379e3fc216bc..e6aeb01e80fb63a4ebd6a7cbda1815e49775246d 100644 --- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java +++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java @@ -26,6 +26,71 @@ public interface Scoreboard { @@ -5103,31 +5103,33 @@ index 083bb2c92a2c557e10b705b773ced97401586c3c..d5723e977d9a25701a4f387f1b26d241 /** * Registers an Objective on this Scoreboard * -@@ -37,9 +102,10 @@ public interface Scoreboard { +@@ -37,10 +102,11 @@ public interface Scoreboard { * characters. * @throws IllegalArgumentException if an objective by that name already * exists - * @deprecated use {@link #registerNewObjective(String, Criteria, String)} + * @deprecated use {@link #registerNewObjective(String, Criteria, net.kyori.adventure.text.Component)} */ + @Deprecated @NotNull + @Deprecated // Paper Objective registerNewObjective(@NotNull String name, @NotNull String criteria, @NotNull String displayName); /** -@@ -54,9 +120,10 @@ public interface Scoreboard { +@@ -55,10 +121,11 @@ public interface Scoreboard { * characters. * @throws IllegalArgumentException if an objective by that name already * exists - * @deprecated use {@link #registerNewObjective(String, Criteria, String, RenderType)} + * @deprecated use {@link #registerNewObjective(String, Criteria, net.kyori.adventure.text.Component, RenderType)} */ + @Deprecated @NotNull + @Deprecated // Paper Objective registerNewObjective(@NotNull String name, @NotNull String criteria, @NotNull String displayName, @NotNull RenderType renderType); /** -@@ -70,8 +137,10 @@ public interface Scoreboard { +@@ -72,8 +139,10 @@ public interface Scoreboard { * characters. * @throws IllegalArgumentException if an objective by that name already * exists @@ -5138,7 +5140,7 @@ index 083bb2c92a2c557e10b705b773ced97401586c3c..d5723e977d9a25701a4f387f1b26d241 Objective registerNewObjective(@NotNull String name, @NotNull Criteria criteria, @NotNull String displayName); /** -@@ -86,8 +155,10 @@ public interface Scoreboard { +@@ -88,8 +157,10 @@ public interface Scoreboard { * characters. * @throws IllegalArgumentException if an objective by that name already * exists diff --git a/patches/api/0008-Use-ASM-for-event-executors.patch b/patches/api/0008-Use-ASM-for-event-executors.patch index 16fad22249c..ad414bc4918 100644 --- a/patches/api/0008-Use-ASM-for-event-executors.patch +++ b/patches/api/0008-Use-ASM-for-event-executors.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors. Uses method handles for private or static methods. diff --git a/build.gradle.kts b/build.gradle.kts -index ec60a4b804d9d077fdb7d88519b7fb8816aeab9f..d64d927ddbb5fd968902c35496b24ce73fd5d588 100644 +index c23ee26662657baa496d6048b9a8ba39b4998e72..759294705e0f53c18ce2825b5f6c715a65f23d90 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,6 +47,9 @@ dependencies { diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch index 214a9ca18ef..02b5c3f2e82 100644 --- a/patches/api/0009-Paper-Plugins.patch +++ b/patches/api/0009-Paper-Plugins.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Paper Plugins diff --git a/build.gradle.kts b/build.gradle.kts -index d64d927ddbb5fd968902c35496b24ce73fd5d588..4c792921c7a93c9f9f1a137127edafad6498d30a 100644 +index 759294705e0f53c18ce2825b5f6c715a65f23d90..7627eac76bc0e17413df26fdf49e94605be979e5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -52,7 +52,7 @@ dependencies { diff --git a/patches/api/0056-Fix-upstream-javadocs.patch b/patches/api/0056-Fix-upstream-javadocs.patch index aa59cb418a1..e296f8270e2 100644 --- a/patches/api/0056-Fix-upstream-javadocs.patch +++ b/patches/api/0056-Fix-upstream-javadocs.patch @@ -641,10 +641,10 @@ index be0a2d1f234d8265d98e54e518a994957b1f3ab7..4e3c406ba883aae553e8d69b6b719b87 * than BLOCK_CANBUILD, as this refers to a player, not universe-physics * rule like cactus on dirt. diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java -index 2ff1b1308571d8f8056d3359e8a8ba4a589c3726..e9a6e5be5f33a342f7e5c496f0f1c64b2f302ace 100644 +index fc2120e03737f5882d6ae916db93fdcf4939b2ba..f2edd4a9357832e9dec3fb0aafa006335d7b289b 100644 --- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java +++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java -@@ -80,7 +80,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab +@@ -81,7 +81,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab /** * Get a list of available {@link EnchantmentOffer} for the player. You can * modify the values to change the available offers for the player. An offer @@ -1315,7 +1315,7 @@ index 9adc827bc52eaa767a39c82e9cb0ff5a48e02b14..2dde946443fee1f6e79b882cbcb44854 * * @param chance of the boots being dropped diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java -index 42fcc31147934fd4ed6484b0729e938e7ae2f8e2..4e637420b9a39b822be19367a16da93f236549b3 100644 +index 8453bd058d426c1088b04c55d2448d205f0a104b..1b3580d1861af402396121805715e4087b3bc587 100644 --- a/src/main/java/org/bukkit/inventory/ItemFlag.java +++ b/src/main/java/org/bukkit/inventory/ItemFlag.java @@ -35,7 +35,7 @@ public enum ItemFlag { diff --git a/patches/api/0066-Add-getI18NDisplayName-API.patch b/patches/api/0066-Add-getI18NDisplayName-API.patch index e3466ac8233..f83aa42ec2c 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 e76c847e57f3d32757129d56922862a4202c9d07..8801a49b1ed6e21d9853f1290e52d6f90ce1211f 100644 +index f2a6f62f0344684668febc0999b81748c6737826..d1bce73317fa1dfd35c8b3f94415ba8721c758d6 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -629,5 +629,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -630,5 +630,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 ded12262b79..38050bb0c5f 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 8801a49b1ed6e21d9853f1290e52d6f90ce1211f..e175865e3149861583a38f4271375f7be020b6ff 100644 +index d1bce73317fa1dfd35c8b3f94415ba8721c758d6..a71b7f418ca3edb4695b57e5021732c591cfb13f 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -548,7 +548,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -549,7 +549,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat } } @@ -42,7 +42,7 @@ index 8801a49b1ed6e21d9853f1290e52d6f90ce1211f..e175865e3149861583a38f4271375f7b } /** -@@ -630,6 +630,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -631,6 +631,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getServer().getItemFactory().displayName(this); } diff --git a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch index d337e98fe22..3de3963d54d 100644 --- a/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/patches/api/0070-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -14,11 +14,11 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/build.gradle.kts b/build.gradle.kts -index 4c792921c7a93c9f9f1a137127edafad6498d30a..3df0639bf4811e29bdef57474b9d9db808d5e62a 100644 +index 7627eac76bc0e17413df26fdf49e94605be979e5..44c7abd676d7730837172473244729fa9298ffb1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,6 +12,8 @@ java { - val annotationsVersion = "24.0.1" + val annotationsVersion = "24.1.0" val bungeeCordChatVersion = "1.20-R0.2" val adventureVersion = "4.17.0-SNAPSHOT" +val slf4jVersion = "2.0.9" diff --git a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch index c4d635ba012..04e8bc9ac2d 100644 --- a/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0101-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -594,10 +594,10 @@ index 0000000000000000000000000000000000000000..e63aabacac12a153ee8f413b52962919 + } +} diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 698ffe0c76adeb1b00e7e789ce7d164c6adc759d..690cf2aedf558396a71b20ba2b8ce737c61dfe43 100644 +index 3d636cb7f275df053d202356c5e9fad5b1112867..b0ccd263cabe911d43cc13261011b64cacaeb7bb 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java -@@ -207,6 +207,18 @@ public enum Particle implements Keyed { +@@ -208,6 +208,18 @@ public enum Particle implements Keyed { return key; } diff --git a/patches/api/0108-ItemStack-getMaxItemUseDuration.patch b/patches/api/0108-ItemStack-getMaxItemUseDuration.patch index b99e81eb82f..04e59af1f71 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 e175865e3149861583a38f4271375f7be020b6ff..9b38ba9bc7e72b60397476683c22d69e468d9353 100644 +index a71b7f418ca3edb4695b57e5021732c591cfb13f..7afb1b4fde29d09ad2289956531daded56b02147 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -657,5 +657,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -658,5 +658,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 fea56a51c48..bb7ff028ade 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 9b38ba9bc7e72b60397476683c22d69e468d9353..dbd0d0610f33105ee83ab589c84e73004f684fb5 100644 +index 7afb1b4fde29d09ad2289956531daded56b02147..c1e64e09d792da7c7918e401b306f8945a0ff32d 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 9b38ba9bc7e72b60397476683c22d69e468d9353..dbd0d0610f33105ee83ab589c84e7300 import java.util.Map; import org.bukkit.Bukkit; import org.bukkit.Material; -@@ -665,5 +666,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -666,5 +667,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 7fdeb9b3ebf..38c9fe7eecd 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 d593dbace48998e5582c2f0c168275e0d59fe1cf..7ce1a0ee5504d4faf548be73be784e87cd4049fe 100644 +index fe9c5ccdbaf4a83367f2d1c9c18044665eadf81d..ab4c1d853ed030c6cf2945793e7655509c954f0b 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -122,6 +122,7 @@ import org.jetbrains.annotations.Nullable; +@@ -123,6 +123,7 @@ import org.jetbrains.annotations.Nullable; /** * An enum of all material IDs accepted by the official server and client */ @@ -16,7 +16,7 @@ index d593dbace48998e5582c2f0c168275e0d59fe1cf..7ce1a0ee5504d4faf548be73be784e87 public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4722,6 +4723,22 @@ public enum Material implements Keyed, Translatable { +@@ -4723,6 +4724,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 20b9c8bf1c4..9176711cf2e 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 7ce1a0ee5504d4faf548be73be784e87cd4049fe..76c96e1a82366aafa0148a1260500a38cea12f37 100644 +index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358f280f505 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4743,20 +4743,20 @@ public enum Material implements Keyed, Translatable { +@@ -4744,20 +4744,20 @@ public enum Material implements Keyed, Translatable { * Do not use for any reason. * * @return ID of this material @@ -328,7 +328,7 @@ index 7ce1a0ee5504d4faf548be73be784e87cd4049fe..76c96e1a82366aafa0148a1260500a38 public boolean isLegacy() { return legacy; } -@@ -4827,8 +4827,10 @@ public enum Material implements Keyed, Translatable { +@@ -4828,8 +4828,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 7ce1a0ee5504d4faf548be73be784e87cd4049fe..76c96e1a82366aafa0148a1260500a38 public Class getData() { Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material"); return ctor.getDeclaringClass(); -@@ -9095,7 +9097,11 @@ public enum Material implements Keyed, Translatable { +@@ -9096,7 +9098,11 @@ public enum Material implements Keyed, Translatable { * material. * * @return true if this material can be interacted with. @@ -352,7 +352,7 @@ index 7ce1a0ee5504d4faf548be73be784e87cd4049fe..76c96e1a82366aafa0148a1260500a38 switch (this) { // diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java -index 4034fcb9abc39b12f0de47c4b679f2ef82353c89..5a2032fde327be45b44fd6aa99808fe7c3054e1b 100644 +index 9b61129c3ef83d0bfceba54aba2effa12bc90678..cbdaa121dbc1876d0cd55f4b7b57f283ecaa8f1a 100644 --- a/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java @@ -74,12 +74,14 @@ public final class NamespacedKey implements net.kyori.adventure.key.Key { // Pap @@ -730,10 +730,10 @@ index b90f5dc345ad2cdd3ae353dc57f42a14c231d18a..a7b915ded9154d53ac8ca599119c1699 public static PistonMoveReaction getById(int id) { return byId.get(id); diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index dddd0e74962d5713c4bb6219fba48aae5763e9ea..a08b285f4dea60a4ba048f58b802573622d2c313 100644 +index a82d6f469aca02fb28b1b3ad84dc40415f1f1ade..f4ec7891bdcedc73bff6938e3eddb7ee43d23ec1 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -272,7 +272,7 @@ public abstract class Enchantment implements Keyed, Translatable { +@@ -273,7 +273,7 @@ public abstract class Enchantment implements Keyed, Translatable { * @deprecated enchantment groupings are now managed by tags, not categories */ @NotNull @@ -767,10 +767,10 @@ index 3afe2787de576f7190d87c796bea0ab34dc30248..58191017244f3949f6174fb108e3a245 /** diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index b975f11d342ca4357362de9aaae3f1af6716049e..c52e386ffa08abbbd38683792b281665cc98bd31 100644 +index c308f6a9f36ae8d108d583179464e078e09bf051..dd410ff2cad3dc34ef9d2a37d72417c7b213de63 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -392,9 +392,9 @@ public enum EntityType implements Keyed, Translatable { +@@ -393,9 +393,9 @@ public enum EntityType implements Keyed, Translatable { * * @param name the entity type's name * @return the matching entity type or null @@ -811,10 +811,10 @@ index b27447d7a2833f84cf05946c851f5b6740a578e3..5afeb2f6c82e8f752229462c2d7846f6 // Spigot end } diff --git a/src/main/java/org/bukkit/entity/LingeringPotion.java b/src/main/java/org/bukkit/entity/LingeringPotion.java -index f124b35ec76e6cb6a1a0dc464005087043c3efd0..f50aaddf8582be55fd4860ad374d8f2206991897 100644 +index bafef53c1d449135f1300c8c8fbb06f482ba67e1..f50aaddf8582be55fd4860ad374d8f2206991897 100644 --- a/src/main/java/org/bukkit/entity/LingeringPotion.java +++ b/src/main/java/org/bukkit/entity/LingeringPotion.java -@@ -3,6 +3,8 @@ package org.bukkit.entity; +@@ -3,7 +3,8 @@ package org.bukkit.entity; /** * Represents a thrown lingering potion bottle * @@ -822,6 +822,7 @@ index f124b35ec76e6cb6a1a0dc464005087043c3efd0..f50aaddf8582be55fd4860ad374d8f22 + * @deprecated should not be used for anything, use {@link ThrownPotion} and + * set the potion via the methods there. */ +-@Deprecated +@Deprecated(forRemoval = true) // Paper public interface LingeringPotion extends ThrownPotion { } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -967,7 +968,7 @@ index 53119742beda00a38111063243665bb995ae2188..2d084214e991fecc51f8e18e3d733e43 private static final HandlerList handlers = new HandlerList(); diff --git a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java -index e9a6e5be5f33a342f7e5c496f0f1c64b2f302ace..f0db59a556deaefefbdaca121585c0fd199c13c2 100644 +index f2edd4a9357832e9dec3fb0aafa006335d7b289b..378b44c3df1612283c7f993b32fc7b329ec01a9a 100644 --- a/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java +++ b/src/main/java/org/bukkit/event/enchantment/PrepareItemEnchantEvent.java @@ -23,7 +23,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab @@ -985,9 +986,9 @@ index e9a6e5be5f33a342f7e5c496f0f1c64b2f302ace..f0db59a556deaefefbdaca121585c0fd */ + @Deprecated // Paper @NotNull + @Deprecated public int[] getExpLevelCostsOffered() { - int[] levelOffers = new int[offers.length]; -@@ -85,8 +86,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab +@@ -86,8 +87,7 @@ public class PrepareItemEnchantEvent extends InventoryEvent implements Cancellab * * @return list of available enchantment offers */ @@ -1419,7 +1420,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 dbd0d0610f33105ee83ab589c84e73004f684fb5..fd3d4dd231d756d51db0155a4c3ad970c4f456ed 100644 +index c1e64e09d792da7c7918e401b306f8945a0ff32d..aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a 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; @@ -1430,15 +1431,7 @@ index dbd0d0610f33105ee83ab589c84e73004f684fb5..fd3d4dd231d756d51db0155a4c3ad970 import org.bukkit.Utility; import org.bukkit.configuration.serialization.ConfigurationSerializable; import org.bukkit.enchantments.Enchantment; -@@ -68,6 +69,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat - * @param damage durability / damage - * @deprecated see {@link #setDurability(short)} - */ -+ @Deprecated // Paper - public ItemStack(@NotNull final Material type, final int amount, final short damage) { - this(type, amount, damage, null); - } -@@ -169,8 +171,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -170,8 +171,10 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Gets the MaterialData for this stack of items * * @return MaterialData for this item @@ -1449,7 +1442,7 @@ index dbd0d0610f33105ee83ab589c84e73004f684fb5..fd3d4dd231d756d51db0155a4c3ad970 public MaterialData getData() { Material mat = Bukkit.getUnsafe().toLegacy(getType()); if (data == null && mat != null && mat.getData() != null) { -@@ -184,7 +188,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -185,7 +188,9 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * Sets the MaterialData for this stack of items * * @param data New MaterialData for this item @@ -1459,7 +1452,7 @@ index dbd0d0610f33105ee83ab589c84e73004f684fb5..fd3d4dd231d756d51db0155a4c3ad970 public void setData(@Nullable MaterialData data) { if (data == null) { this.data = data; -@@ -557,7 +563,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -558,7 +563,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat * * @return a copy of the current ItemStack's ItemData */ @@ -1664,10 +1657,10 @@ index 32055a8890425e0b819930f3059da5ea9dfca553..26a336dade83baee97d20eb39a058925 /** diff --git a/src/main/java/org/bukkit/map/MapCanvas.java b/src/main/java/org/bukkit/map/MapCanvas.java -index 00437719722830c087ff925015086c29bbb04497..ae9bcc8262dbf6eb8673ca82395d09169db38f9d 100644 +index edef478786bb7456af29ca960009873095830050..e8ac449e6280827beb6d2699df75b1d52a922c9b 100644 --- a/src/main/java/org/bukkit/map/MapCanvas.java +++ b/src/main/java/org/bukkit/map/MapCanvas.java -@@ -94,9 +94,9 @@ public interface MapCanvas { +@@ -95,9 +95,9 @@ public interface MapCanvas { * @param x The x coordinate, from 0 to 127. * @param y The y coordinate, from 0 to 127. * @return The color. See {@link MapPalette}. @@ -1679,7 +1672,7 @@ index 00437719722830c087ff925015086c29bbb04497..ae9bcc8262dbf6eb8673ca82395d0916 public byte getPixel(int x, int y); /** -@@ -105,9 +105,9 @@ public interface MapCanvas { +@@ -106,9 +106,9 @@ public interface MapCanvas { * @param x The x coordinate, from 0 to 127. * @param y The y coordinate, from 0 to 127. * @return The color. See {@link MapPalette}. @@ -1692,7 +1685,7 @@ index 00437719722830c087ff925015086c29bbb04497..ae9bcc8262dbf6eb8673ca82395d0916 /** diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index f9803c7483f7458fed1f22ddfda6e7ef03cfc688..9abea12cb949f7ffa1b72aabf2a3c059b64f3557 100644 +index f973f0f3925819765412f6f134e553d7d74f1467..1afa33ca0d900d9301d52ace3ddb0bd50b5ce4e8 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java @@ -158,9 +158,9 @@ public final class MapCursor { @@ -1859,7 +1852,7 @@ index 3e46603f8cd38041394e0e1baf788d9009b3ffc7..b15c141f1db07296bb349f11c6f39b0f /** diff --git a/src/main/java/org/bukkit/material/Step.java b/src/main/java/org/bukkit/material/Step.java -index 9f502e7ee05d0512e190a1722cc112ece068c4e2..10c0465cf58d680bfa9a0f9233f94e8b6d5a9b93 100644 +index ea94222120ddd4e692b67cf48b029af9ed0e5835..7e49f254032a8a1cf864372a246a49dda6f773c7 100644 --- a/src/main/java/org/bukkit/material/Step.java +++ b/src/main/java/org/bukkit/material/Step.java @@ -78,6 +78,7 @@ public class Step extends TexturedMaterial { @@ -1868,8 +1861,8 @@ index 9f502e7ee05d0512e190a1722cc112ece068c4e2..10c0465cf58d680bfa9a0f9233f94e8b */ + @Deprecated // Paper @Override + @Deprecated protected int getTextureIndex() { - return getData() & 0x7; diff --git a/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java b/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java index 0ea9c6b2420a0f990bd1fdf50fc015e37a7060d8..e99644eae1c662b117aa19060d2484aca19fe0a4 100644 --- a/src/main/java/org/bukkit/material/types/MushroomBlockTexture.java diff --git a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch index 9428ae3385b..0efa0d0fb11 100644 --- a/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/api/0188-Add-Raw-Byte-ItemStack-Serialization.patch @@ -20,7 +20,7 @@ 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 fd3d4dd231d756d51db0155a4c3ad970c4f456ed..1f31ff5b85217a1c631f05f43c5a65839a36b26e 100644 +index aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a..65fc0bca47ea32069ddc6e838a0db28f13638390 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 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 c3b0abc2614..3043b377604 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 76c96e1a82366aafa0148a1260500a38cea12f37..6551bb9409f9714033532b5cfe9219ed84e438f2 100644 +index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742028fc956 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -123,7 +123,7 @@ import org.jetbrains.annotations.Nullable; +@@ -124,7 +124,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 76c96e1a82366aafa0148a1260500a38cea12f37..6551bb9409f9714033532b5cfe9219ed // AIR(9648, 0), STONE(22948), -@@ -4737,6 +4737,15 @@ public enum Material implements Keyed, Translatable { +@@ -4738,6 +4738,15 @@ public enum Material implements Keyed, Translatable { } return false; } @@ -172,7 +172,7 @@ index 76c96e1a82366aafa0148a1260500a38cea12f37..6551bb9409f9714033532b5cfe9219ed // Paper end /** -@@ -11473,9 +11482,11 @@ public enum Material implements Keyed, Translatable { +@@ -11474,9 +11483,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() @@ -310,10 +310,10 @@ index bf29d9b733afc7c62725d259f4920c4f211cc6d0..1d3812db989a55b6f31bb30dffe70323 // Paper end } diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index a08b285f4dea60a4ba048f58b802573622d2c313..3375ce0f9ac50cd3f145291ceb587d4e6f72569c 100644 +index f4ec7891bdcedc73bff6938e3eddb7ee43d23ec1..4e41980dfbb256356231bc9565f6a90ea66aab76 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable; +@@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable; /** * The various type of enchantments that may be added to armour or weapons */ @@ -338,10 +338,10 @@ index c4f86ba1037f3f0e5d697a0962d71d6f8c7c1fbe..ac0371285370594d4de1554871b19bbc // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index c52e386ffa08abbbd38683792b281665cc98bd31..4ff2f0b70a89b3d1fb3f588d014e09b3cf8ed16f 100644 +index dd410ff2cad3dc34ef9d2a37d72417c7b213de63..b7a454ca11d484209d08d0003d4c19a431456687 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -24,7 +24,7 @@ import org.jetbrains.annotations.Contract; +@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -350,7 +350,7 @@ index c52e386ffa08abbbd38683792b281665cc98bd31..4ff2f0b70a89b3d1fb3f588d014e09b3 // These strings MUST match the strings in nms.EntityTypes and are case sensitive. /** -@@ -438,10 +438,22 @@ public enum EntityType implements Keyed, Translatable { +@@ -439,10 +439,22 @@ public enum EntityType implements Keyed, Translatable { @Override @NotNull @@ -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 1f31ff5b85217a1c631f05f43c5a65839a36b26e..1532b3e1b655a9b58588c11b80824ed4cec8c66a 100644 +index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98c0ddba7c 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; 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 6077bfb54d8..97d6387d88d 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 6551bb9409f9714033532b5cfe9219ed84e438f2..852217efbb8dfab445e625a61f8e7f7ba51e5fd6 100644 +index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c06edf2a16 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4681,6 +4681,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4682,6 +4682,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 6551bb9409f9714033532b5cfe9219ed84e438f2..852217efbb8dfab445e625a61f8e7f7b private Material(final int id) { this(id, 64); -@@ -4879,6 +4880,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4880,6 +4881,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 6551bb9409f9714033532b5cfe9219ed84e438f2..852217efbb8dfab445e625a61f8e7f7b switch (this) { // case ACACIA_BUTTON: -@@ -6123,6 +6129,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -6124,6 +6130,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-Item-Rarity-API.patch b/patches/api/0262-Item-Rarity-API.patch index 88e0562bebc..42bb22f799e 100644 --- a/patches/api/0262-Item-Rarity-API.patch +++ b/patches/api/0262-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 852217efbb8dfab445e625a61f8e7f7ba51e5fd6..b58383b5e3077cbd5df65b8147693aa9543493ef 100644 +index 3ee36de0ee975dc300e594b17d0dc2c06edf2a16..7c14a272156cefe6d69e41fec6892891646e0985 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4747,6 +4747,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4748,6 +4748,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return Bukkit.getUnsafe().getBlockTranslationKey(this); } } @@ -88,7 +88,7 @@ index 5de86f8cd3cc7f7e8ebc4a22d3921273378704f2..c423204eaf3252c9fc1a3af1214ec70e // Paper end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 1532b3e1b655a9b58588c11b80824ed4cec8c66a..569f67ee3f89d6af4fe1420cecc74811550b6507 100644 +index 96b6052c198454f06f877fc7cda85a98c0ddba7c..069c644f03286ba62d521754d825e81934e1e6d6 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -888,5 +888,15 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat diff --git a/patches/api/0280-ItemStack-repair-check-API.patch b/patches/api/0280-ItemStack-repair-check-API.patch index 0a9c5b65db5..fbfec478f28 100644 --- a/patches/api/0280-ItemStack-repair-check-API.patch +++ b/patches/api/0280-ItemStack-repair-check-API.patch @@ -26,7 +26,7 @@ index 42e4983051062f2fd3b595487cf8093440b41bba..057f4db9cb6b686ab941ec5d3e6ca23d * Returns the server's protocol version. * diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 569f67ee3f89d6af4fe1420cecc74811550b6507..78ea59c8f63b5a71ba092cf1783183bb5d0a3b79 100644 +index 069c644f03286ba62d521754d825e81934e1e6d6..51f3f387af28bb733e2a20c7befd1070768103b2 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -898,5 +898,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat diff --git a/patches/api/0281-More-Enchantment-API.patch b/patches/api/0281-More-Enchantment-API.patch index e9b05a0fcfc..a58f9ad8201 100644 --- a/patches/api/0281-More-Enchantment-API.patch +++ b/patches/api/0281-More-Enchantment-API.patch @@ -37,10 +37,10 @@ index 0000000000000000000000000000000000000000..50c49739cc25679c9d241466e3069c9c + } +} diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java -index 3375ce0f9ac50cd3f145291ceb587d4e6f72569c..5e192105851436dbfe73a6e47c64bbb10e1ac41a 100644 +index 4e41980dfbb256356231bc9565f6a90ea66aab76..de616cecaeb45018d96685c916532188e369bdd4 100644 --- a/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/src/main/java/org/bukkit/enchantments/Enchantment.java -@@ -291,11 +291,7 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve +@@ -292,11 +292,7 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve * Cursed enchantments are found the same way treasure enchantments are * * @return true if the enchantment is cursed @@ -52,7 +52,7 @@ index 3375ce0f9ac50cd3f145291ceb587d4e6f72569c..5e192105851436dbfe73a6e47c64bbb1 public abstract boolean isCursed(); /** -@@ -329,6 +325,87 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve +@@ -330,6 +326,87 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve * @return the name of the enchantment with {@code level} applied */ public abstract net.kyori.adventure.text.@NotNull Component displayName(int level); diff --git a/patches/api/0283-ItemStack-editMeta.patch b/patches/api/0283-ItemStack-editMeta.patch index 5996dc10009..49647ecfde1 100644 --- a/patches/api/0283-ItemStack-editMeta.patch +++ b/patches/api/0283-ItemStack-editMeta.patch @@ -5,7 +5,7 @@ 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 78ea59c8f63b5a71ba092cf1783183bb5d0a3b79..12fac9cf93ae7c6b5c8daced10a4394ad29bebcb 100644 +index 51f3f387af28bb733e2a20c7befd1070768103b2..0f3ef975293d0e970a35fd6845f8bf911e933169 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 diff --git a/patches/api/0285-Attributes-API-for-item-defaults.patch b/patches/api/0285-Attributes-API-for-item-defaults.patch index ca7f6859c06..ca26876023e 100644 --- a/patches/api/0285-Attributes-API-for-item-defaults.patch +++ b/patches/api/0285-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index b58383b5e3077cbd5df65b8147693aa9543493ef..d5bdd25f6243d99b6b8c0acd6980db977f75c7e4 100644 +index 7c14a272156cefe6d69e41fec6892891646e0985..0dd2a9c7ea5b56995ff238fd0e5eceacf91c9e6f 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4758,6 +4758,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4759,6 +4759,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/api/0312-Get-entity-default-attributes.patch b/patches/api/0312-Get-entity-default-attributes.patch index 4da56e835de..72068dd1df6 100644 --- a/patches/api/0312-Get-entity-default-attributes.patch +++ b/patches/api/0312-Get-entity-default-attributes.patch @@ -32,10 +32,10 @@ index db8ffa9b303b9128be175f383fdf838a4e0719e5..b205937d1cd627c1dd660277f69891b5 // Paper end } diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index 4ff2f0b70a89b3d1fb3f588d014e09b3cf8ed16f..3f8ca9c4c51b14818fe1bebf56a032e10f14c758 100644 +index b7a454ca11d484209d08d0003d4c19a431456687..1d1315262737d99bf9f5aabc0ae66eee4645cc65 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java -@@ -452,6 +452,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans +@@ -453,6 +453,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys"); return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } 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 d6f48e9138e..0dc9b1393bf 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 d5bdd25f6243d99b6b8c0acd6980db977f75c7e4..fab8dfb1bd80490f6891687914997cc8580542cd 100644 +index 0dd2a9c7ea5b56995ff238fd0e5eceacf91c9e6f..22e59e24709b1aa1f326d382ebce752c2b42e435 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4773,6 +4773,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4774,6 +4774,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } diff --git a/patches/api/0325-Improve-scoreboard-entries.patch b/patches/api/0325-Improve-scoreboard-entries.patch index 0dcc796b4da..242c0cca46b 100644 --- a/patches/api/0325-Improve-scoreboard-entries.patch +++ b/patches/api/0325-Improve-scoreboard-entries.patch @@ -37,10 +37,10 @@ index a625bcab8e77b05b3341a52c708fae1542b7e3d5..a193ffabb05160b462dee1ba8f687fdb + // Paper end - improve scoreboard entries } diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java -index d5723e977d9a25701a4f387f1b26d2414e0fffb8..30e2b9484cdf4c8efd02e2cda97739e3047958bc 100644 +index e6aeb01e80fb63a4ebd6a7cbda1815e49775246d..51bc41ed8ea46a20372065e1e29488dffef796c1 100644 --- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java +++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java -@@ -215,9 +215,8 @@ public interface Scoreboard { +@@ -217,9 +217,8 @@ public interface Scoreboard { * @param player the player whose scores are being retrieved * @return immutable set of all scores tracked for the player * @see #getScores(String) @@ -51,7 +51,7 @@ index d5723e977d9a25701a4f387f1b26d2414e0fffb8..30e2b9484cdf4c8efd02e2cda97739e3 @NotNull Set getScores(@NotNull OfflinePlayer player); -@@ -235,9 +234,8 @@ public interface Scoreboard { +@@ -237,9 +236,8 @@ public interface Scoreboard { * * @param player the player to drop all current scores for * @see #resetScores(String) @@ -62,7 +62,7 @@ index d5723e977d9a25701a4f387f1b26d2414e0fffb8..30e2b9484cdf4c8efd02e2cda97739e3 void resetScores(@NotNull OfflinePlayer player); /** -@@ -253,9 +251,8 @@ public interface Scoreboard { +@@ -255,9 +253,8 @@ public interface Scoreboard { * @param player the player to search for * @return the player's Team or null if the player is not on a team * @see #getEntryTeam(String) @@ -73,7 +73,7 @@ index d5723e977d9a25701a4f387f1b26d2414e0fffb8..30e2b9484cdf4c8efd02e2cda97739e3 @Nullable Team getPlayerTeam(@NotNull OfflinePlayer player); -@@ -320,4 +317,35 @@ public interface Scoreboard { +@@ -322,4 +319,35 @@ public interface Scoreboard { * @param slot the slot to remove objectives */ void clearSlot(@NotNull DisplaySlot slot); diff --git a/patches/api/0349-Add-enchantWithLevels-API.patch b/patches/api/0349-Add-enchantWithLevels-API.patch index fc88c655109..cf08b881ef7 100644 --- a/patches/api/0349-Add-enchantWithLevels-API.patch +++ b/patches/api/0349-Add-enchantWithLevels-API.patch @@ -70,7 +70,7 @@ 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 12fac9cf93ae7c6b5c8daced10a4394ad29bebcb..f236f9bfa4d43dcbad5919abef3620fcd0696880 100644 +index 0f3ef975293d0e970a35fd6845f8bf911e933169..984b6e96a5ebebc38ab62790c4d6a9946c9c6944 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 diff --git a/patches/api/0385-ItemStack-damage-API.patch b/patches/api/0385-ItemStack-damage-API.patch index e45351b2497..391205b8aea 100644 --- a/patches/api/0385-ItemStack-damage-API.patch +++ b/patches/api/0385-ItemStack-damage-API.patch @@ -66,7 +66,7 @@ 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 f236f9bfa4d43dcbad5919abef3620fcd0696880..845037909658884167136955a02b99af0040fa9c 100644 +index 984b6e96a5ebebc38ab62790c4d6a9946c9c6944..13648f2e810daa84af25c28a009b1f641791e2f7 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -982,5 +982,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat diff --git a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch index 3936bb4a924..435823d46b1 100644 --- a/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch +++ b/patches/api/0396-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch @@ -5,20 +5,10 @@ Subject: [PATCH] Replace ItemFlag.HIDE_POTION_EFFECTS diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java -index 4e637420b9a39b822be19367a16da93f236549b3..3df1044fd791ae19576dbfd008cfcbb4e5651b05 100644 +index 1b3580d1861af402396121805715e4087b3bc587..7174b843b7deac023637c6c112cf30a567969971 100644 --- a/src/main/java/org/bukkit/inventory/ItemFlag.java +++ b/src/main/java/org/bukkit/inventory/ItemFlag.java -@@ -28,7 +28,9 @@ public enum ItemFlag { - /** - * Setting to show/hide potion effects, book and firework information, map - * tooltips, patterns of banners, and enchantments of enchanted books. -+ * @deprecated misleading name and description, use {@link #HIDE_ITEM_SPECIFICS} - */ -+ @Deprecated // Paper - HIDE_POTION_EFFECTS, - /** - * Setting to show/hide dyes from colored leather armor. -@@ -38,4 +40,25 @@ public enum ItemFlag { +@@ -38,4 +38,26 @@ public enum ItemFlag { * Setting to show/hide armor trim from armor. */ HIDE_ARMOR_TRIM; @@ -41,6 +31,7 @@ index 4e637420b9a39b822be19367a16da93f236549b3..3df1044fd791ae19576dbfd008cfcbb4 + *

  • Spawner descriptions
  • + * + */ -+ public static final ItemFlag HIDE_ITEM_SPECIFICS = HIDE_POTION_EFFECTS; ++ @Deprecated ++ public static final ItemFlag HIDE_ITEM_SPECIFICS = HIDE_ADDITIONAL_TOOLTIP; + // Paper end } diff --git a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch index 650b013220c..3f9c7d07ec9 100644 --- a/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch +++ b/patches/api/0407-Properly-remove-the-experimental-smithing-inventory-.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Properly remove the experimental smithing inventory type diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index c3aeb1b622509ecd9e2230ce82e3bf07899fa540..64e59fe706b0bb37fc2439fa88fd40c3167c9fb5 100644 +index f5bdd6b6df126abfa26ce727c80a5772d2ab1a1b..ccb09660e565bc2f7a653bda95fb38caccf7a060 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -155,7 +155,7 @@ public enum InventoryType { +@@ -156,7 +156,7 @@ public enum InventoryType { * * @deprecated use {@link #SMITHING} */ 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 716a6140d93..984f6939f5b 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,7 +6,7 @@ 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 845037909658884167136955a02b99af0040fa9c..c3872213acc75d913580002cf70c2abb4ec69ca0 100644 +index 13648f2e810daa84af25c28a009b1f641791e2f7..ff3929b4a497ff0ef0c7ea7f9ac3509764b80e0a 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -996,5 +996,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat 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 0ac5bf3ef03..3bddd2ce943 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,7 +9,7 @@ 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 c3872213acc75d913580002cf70c2abb4ec69ca0..7adf54c561d64e6337af8a2d86f6b574b083edb5 100644 +index ff3929b4a497ff0ef0c7ea7f9ac3509764b80e0a..ee636c066d1f87873c1ddf52c60c77b1b86d6e90 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 diff --git a/patches/api/0442-add-missing-Experimental-annotations.patch b/patches/api/0442-add-missing-Experimental-annotations.patch index 57c8519b385..aeb27acad39 100644 --- a/patches/api/0442-add-missing-Experimental-annotations.patch +++ b/patches/api/0442-add-missing-Experimental-annotations.patch @@ -5,820 +5,828 @@ Subject: [PATCH] add missing Experimental annotations diff --git a/src/main/java/org/bukkit/FeatureFlag.java b/src/main/java/org/bukkit/FeatureFlag.java -index 5269df59f0e8099a72c6b628ac1b8c84a0d1a5d5..775fda4b299e1d6dba9b293b2f98505ee65186bb 100644 +index 6b68c92ec894451d99ded3e3df5965cb31d68ed2..fd5e433f930963c102c9c977523a0036eabc0477 100644 --- a/src/main/java/org/bukkit/FeatureFlag.java +++ b/src/main/java/org/bukkit/FeatureFlag.java -@@ -14,6 +14,7 @@ public interface FeatureFlag extends Keyed { +@@ -13,6 +13,7 @@ public interface FeatureFlag extends Keyed { + public static final FeatureFlag VANILLA = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("vanilla")); - @MinecraftExperimental + @ApiStatus.Experimental // Paper - add missing annotation public static final FeatureFlag BUNDLE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("bundle")); /** -@@ -26,8 +27,10 @@ public interface FeatureFlag extends Keyed { +@@ -23,7 +24,9 @@ public interface FeatureFlag extends Keyed { + @Deprecated public static final FeatureFlag UPDATE_1_20 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_20")); - @MinecraftExperimental + @ApiStatus.Experimental // Paper - add missing annotation public static final FeatureFlag TRADE_REBALANCE = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("trade_rebalance")); - @MinecraftExperimental + @ApiStatus.Experimental // Paper - add missing annotation 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 fab8dfb1bd80490f6891687914997cc8580542cd..8e3ab18ca453f407c201e0838ce112dd5e73b830 100644 +index 22e59e24709b1aa1f326d382ebce752c2b42e435..9de0f7bb9f91835d66e8ce85bbc9caf45ab552b0 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -145,54 +145,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -146,54 +146,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_SLAB(19305, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_STAIRS(11268, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_WALL(24395, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation CHISELED_TUFF(15831), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation POLISHED_TUFF(17801), /** * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation POLISHED_TUFF_SLAB(31096, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation POLISHED_TUFF_STAIRS(7964, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation POLISHED_TUFF_WALL(28886, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_BRICKS(26276), /** * BlockData: {@link Slab} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_BRICK_SLAB(11843, Slab.class), /** * BlockData: {@link Stairs} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_BRICK_STAIRS(30753, Stairs.class), /** * BlockData: {@link Wall} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TUFF_BRICK_WALL(11761, Wall.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation CHISELED_TUFF_BRICKS(8601), DRIPSTONE_BLOCK(26227), /** -@@ -299,6 +312,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -300,6 +313,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation HEAVY_CORE(15788, Waterlogged.class), AMETHYST_BLOCK(18919), BUDDING_AMETHYST(13963), -@@ -311,12 +325,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -312,12 +326,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla WEATHERED_COPPER(19699), OXIDIZED_COPPER(19490), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation CHISELED_COPPER(12143), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EXPOSED_CHISELED_COPPER(4570), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEATHERED_CHISELED_COPPER(30876), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OXIDIZED_CHISELED_COPPER(27719), CUT_COPPER(32519), EXPOSED_CUT_COPPER(18000), -@@ -359,12 +377,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -360,12 +378,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla WAXED_WEATHERED_COPPER(5960), WAXED_OXIDIZED_COPPER(25626), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_CHISELED_COPPER(7500), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_EXPOSED_CHISELED_COPPER(30658), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_WEATHERED_CHISELED_COPPER(5970), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_OXIDIZED_CHISELED_COPPER(7735), WAXED_CUT_COPPER(11030), WAXED_EXPOSED_CUT_COPPER(30043), -@@ -2106,41 +2128,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2107,41 +2129,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation COPPER_DOOR(26809, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EXPOSED_COPPER_DOOR(13236, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEATHERED_COPPER_DOOR(10208, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OXIDIZED_COPPER_DOOR(5348, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_COPPER_DOOR(9954, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_EXPOSED_COPPER_DOOR(20748, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_WEATHERED_COPPER_DOOR(25073, Door.class), /** * BlockData: {@link Door} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_OXIDIZED_COPPER_DOOR(23888, Door.class), /** * BlockData: {@link TrapDoor} -@@ -2194,41 +2224,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2195,41 +2225,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation COPPER_TRAPDOOR(12110, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EXPOSED_COPPER_TRAPDOOR(19219, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEATHERED_COPPER_TRAPDOOR(28254, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OXIDIZED_COPPER_TRAPDOOR(26518, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_COPPER_TRAPDOOR(12626, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_EXPOSED_COPPER_TRAPDOOR(11010, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_WEATHERED_COPPER_TRAPDOOR(30709, TrapDoor.class), /** * BlockData: {@link TrapDoor} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_OXIDIZED_COPPER_TRAPDOOR(21450, TrapDoor.class), /** * BlockData: {@link Gate} -@@ -2530,6 +2568,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2531,6 +2569,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), -+ @MinecraftExperimental // Paper - add missing annotation + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BUNDLE(16835, 1), FISHING_ROD(4167, 1, 64), CLOCK(14980), -@@ -2636,6 +2676,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2637,6 +2676,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Crafter} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation CRAFTER(25243, Crafter.class), FILLED_MAP(23504), SHEARS(27971, 1, 238), -@@ -2676,8 +2717,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2677,8 +2717,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla BEE_SPAWN_EGG(22924), BLAZE_SPAWN_EGG(4759), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BOGGED_SPAWN_EGG(12042), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BREEZE_SPAWN_EGG(7580), CAT_SPAWN_EGG(29583), CAMEL_SPAWN_EGG(14760), -@@ -2754,10 +2797,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2755,10 +2797,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EXPERIENCE_BOTTLE(12858), FIRE_CHARGE(4842), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WIND_CHARGE(23928), WRITABLE_BOOK(13393, 1), WRITTEN_BOOK(24164, 16), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation MACE(4771, 1, 250), ITEM_FRAME(27318), GLOW_ITEM_FRAME(26473), -@@ -3156,8 +3201,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3157,8 +3201,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116), HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation FLOW_ARMOR_TRIM_SMITHING_TEMPLATE(29175), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BOLT_ARMOR_TRIM_SMITHING_TEMPLATE(9698), ANGLER_POTTERY_SHERD(9952), ARCHER_POTTERY_SHERD(21629), -@@ -3168,9 +3215,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3169,9 +3215,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla DANGER_POTTERY_SHERD(30506), EXPLORER_POTTERY_SHERD(5124), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation FLOW_POTTERY_SHERD(4896), FRIEND_POTTERY_SHERD(18221), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation GUSTER_POTTERY_SHERD(28193), HEART_POTTERY_SHERD(17607), HEARTBREAK_POTTERY_SHERD(21108), -@@ -3180,6 +3229,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3181,6 +3229,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla PLENTY_POTTERY_SHERD(28236), PRIZE_POTTERY_SHERD(4341), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation SCRAPE_POTTERY_SHERD(30034), SHEAF_POTTERY_SHERD(23652), SHELTER_POTTERY_SHERD(28390), -@@ -3189,99 +3239,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -3190,99 +3239,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation COPPER_GRATE(16221, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EXPOSED_COPPER_GRATE(7783, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEATHERED_COPPER_GRATE(24954, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OXIDIZED_COPPER_GRATE(14122, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_COPPER_GRATE(11230, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_EXPOSED_COPPER_GRATE(20520, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_WEATHERED_COPPER_GRATE(16533, Waterlogged.class), /** * BlockData: {@link Waterlogged} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_OXIDIZED_COPPER_GRATE(32010, Waterlogged.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation COPPER_BULB(21370, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EXPOSED_COPPER_BULB(11944, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEATHERED_COPPER_BULB(10800, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OXIDIZED_COPPER_BULB(22421, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_COPPER_BULB(23756, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_EXPOSED_COPPER_BULB(5530, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_WEATHERED_COPPER_BULB(13239, CopperBulb.class), /** * BlockData: {@link CopperBulb} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WAXED_OXIDIZED_COPPER_BULB(26892, CopperBulb.class), /** * BlockData: {@link TrialSpawner} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_SPAWNER(19902, TrialSpawner.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_KEY(12725), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OMINOUS_TRIAL_KEY(4986), /** * BlockData: {@link Vault} */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation VAULT(6288, Vault.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OMINOUS_BOTTLE(26321), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BREEZE_ROD(14281), /** * BlockData: {@link Levelled} diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java -index 690cf2aedf558396a71b20ba2b8ce737c61dfe43..bf855d67eb022a35d1926553a43be8494d93fb4d 100644 +index b0ccd263cabe911d43cc13261011b64cacaeb7bb..82d75010cc86bbbbb9c094c2bac5e570c98582c9 100644 --- a/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java -@@ -129,33 +129,46 @@ public enum Particle implements Keyed { +@@ -130,33 +130,46 @@ public enum Particle implements Keyed { DUST_PLUME("dust_plume"), WHITE_SMOKE("white_smoke"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation GUST("gust"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation SMALL_GUST("small_gust"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation GUST_EMITTER_LARGE("gust_emitter_large"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation GUST_EMITTER_SMALL("gust_emitter_small"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_SPAWNER_DETECTION("trial_spawner_detection"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_SPAWNER_DETECTION_OMINOUS("trial_spawner_detection_ominous"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation VAULT_CONNECTION("vault_connection"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation INFESTED("infested"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ITEM_COBWEB("item_cobweb"), /** * Uses {@link BlockData} as DataType */ - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation DUST_PILLAR("dust_pillar", BlockData.class), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OMINOUS_SPAWNING("ominous_spawning"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation RAID_OMEN("raid_omen"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_OMEN("trial_omen"), /** * Uses {@link BlockData} as DataType diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index ddc4c5097214371108dc945371e1d28811352c38..653e5eb126c599aac7de03f22b84d6cfafe48102 100644 +index 375172e05a78611deb3003f780867516cb6cd1a4..b31a8ff47e28440b5e91ddd2fe3f07fd7219d4df 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java -@@ -220,40 +220,56 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -221,40 +221,56 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa BLOCK_CONDUIT_DEACTIVATE("block.conduit.deactivate"), BLOCK_COPPER_BREAK("block.copper.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_BREAK("block.copper_bulb.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_FALL("block.copper_bulb.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_HIT("block.copper_bulb.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_PLACE("block.copper_bulb.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_STEP("block.copper_bulb.step"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_TURN_OFF("block.copper_bulb.turn_off"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_BULB_TURN_ON("block.copper_bulb.turn_on"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_DOOR_CLOSE("block.copper_door.close"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_DOOR_OPEN("block.copper_door.open"), BLOCK_COPPER_FALL("block.copper.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_GRATE_BREAK("block.copper_grate.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_GRATE_FALL("block.copper_grate.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_GRATE_HIT("block.copper_grate.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_GRATE_PLACE("block.copper_grate.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_GRATE_STEP("block.copper_grate.step"), BLOCK_COPPER_HIT("block.copper.hit"), BLOCK_COPPER_PLACE("block.copper.place"), BLOCK_COPPER_STEP("block.copper.step"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_TRAPDOOR_CLOSE("block.copper_trapdoor.close"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_COPPER_TRAPDOOR_OPEN("block.copper_trapdoor.open"), BLOCK_CORAL_BLOCK_BREAK("block.coral_block.break"), BLOCK_CORAL_BLOCK_FALL("block.coral_block.fall"), -@@ -360,14 +376,19 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -361,14 +377,19 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa BLOCK_HANGING_SIGN_STEP("block.hanging_sign.step"), BLOCK_HANGING_SIGN_WAXED_INTERACT_FAIL("block.hanging_sign.waxed_interact_fail"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_HEAVY_CORE_BREAK("block.heavy_core.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_HEAVY_CORE_FALL("block.heavy_core.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_HEAVY_CORE_HIT("block.heavy_core.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_HEAVY_CORE_PLACE("block.heavy_core.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_HEAVY_CORE_STEP("block.heavy_core.step"), BLOCK_HONEY_BLOCK_BREAK("block.honey_block.break"), BLOCK_HONEY_BLOCK_FALL("block.honey_block.fall"), -@@ -546,14 +567,19 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -547,14 +568,19 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa BLOCK_POLISHED_DEEPSLATE_PLACE("block.polished_deepslate.place"), BLOCK_POLISHED_DEEPSLATE_STEP("block.polished_deepslate.step"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_POLISHED_TUFF_BREAK("block.polished_tuff.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_POLISHED_TUFF_FALL("block.polished_tuff.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_POLISHED_TUFF_HIT("block.polished_tuff.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_POLISHED_TUFF_PLACE("block.polished_tuff.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_POLISHED_TUFF_STEP("block.polished_tuff.step"), BLOCK_PORTAL_AMBIENT("block.portal.ambient"), BLOCK_PORTAL_TRAVEL("block.portal.travel"), -@@ -701,34 +727,46 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - @MinecraftExperimental +@@ -700,36 +726,52 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa + BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES("block.sweet_berry_bush.pick_berries"), + BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"), + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_ABOUT_TO_SPAWN_ITEM("block.trial_spawner.about_to_spawn_item"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_AMBIENT("block.trial_spawner.ambient"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_AMBIENT_CHARGED("block.trial_spawner.ambient_charged"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_BREAK("block.trial_spawner.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_CHARGE_ACTIVATE("block.trial_spawner.charge_activate"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_CLOSE_SHUTTER("block.trial_spawner.close_shutter"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_DETECT_PLAYER("block.trial_spawner.detect_player"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_EJECT_ITEM("block.trial_spawner.eject_item"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_FALL("block.trial_spawner.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_HIT("block.trial_spawner.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_OPEN_SHUTTER("block.trial_spawner.open_shutter"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_PLACE("block.trial_spawner.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_SPAWN_ITEM("block.trial_spawner.spawn_item"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_SPAWN_ITEM_BEGIN("block.trial_spawner.spawn_item_begin"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_SPAWN_MOB("block.trial_spawner.spawn_mob"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TRIAL_SPAWNER_STEP("block.trial_spawner.step"), BLOCK_TRIPWIRE_ATTACH("block.tripwire.attach"), BLOCK_TRIPWIRE_CLICK_OFF("block.tripwire.click_off"), -@@ -736,44 +774,62 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -737,44 +779,62 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa BLOCK_TRIPWIRE_DETACH("block.tripwire.detach"), BLOCK_TUFF_BREAK("block.tuff.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TUFF_BRICKS_BREAK("block.tuff_bricks.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TUFF_BRICKS_FALL("block.tuff_bricks.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TUFF_BRICKS_HIT("block.tuff_bricks.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TUFF_BRICKS_PLACE("block.tuff_bricks.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_TUFF_BRICKS_STEP("block.tuff_bricks.step"), BLOCK_TUFF_FALL("block.tuff.fall"), BLOCK_TUFF_HIT("block.tuff.hit"), BLOCK_TUFF_PLACE("block.tuff.place"), BLOCK_TUFF_STEP("block.tuff.step"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_ACTIVATE("block.vault.activate"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_AMBIENT("block.vault.ambient"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_BREAK("block.vault.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_CLOSE_SHUTTER("block.vault.close_shutter"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_DEACTIVATE("block.vault.deactivate"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_EJECT_ITEM("block.vault.eject_item"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_FALL("block.vault.fall"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_HIT("block.vault.hit"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_INSERT_ITEM("block.vault.insert_item"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_INSERT_ITEM_FAIL("block.vault.insert_item_fail"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_OPEN_SHUTTER("block.vault.open_shutter"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_PLACE("block.vault.place"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation BLOCK_VAULT_STEP("block.vault.step"), BLOCK_VINE_BREAK("block.vine.break"), BLOCK_VINE_FALL("block.vine.fall"), -@@ -874,40 +930,58 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -875,40 +935,58 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa ENTITY_BOAT_PADDLE_LAND("entity.boat.paddle_land"), ENTITY_BOAT_PADDLE_WATER("entity.boat.paddle_water"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BOGGED_AMBIENT("entity.bogged.ambient"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BOGGED_DEATH("entity.bogged.death"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BOGGED_HURT("entity.bogged.hurt"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BOGGED_SHEAR("entity.bogged.shear"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BOGGED_STEP("entity.bogged.step"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_CHARGE("entity.breeze.charge"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_DEATH("entity.breeze.death"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_DEFLECT("entity.breeze.deflect"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_HURT("entity.breeze.hurt"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_IDLE_AIR("entity.breeze.idle_air"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_IDLE_GROUND("entity.breeze.idle_ground"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_INHALE("entity.breeze.inhale"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_JUMP("entity.breeze.jump"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_LAND("entity.breeze.land"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_SHOOT("entity.breeze.shoot"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_SLIDE("entity.breeze.slide"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_WHIRL("entity.breeze.whirl"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_BREEZE_WIND_BURST("entity.breeze.wind_burst"), ENTITY_CAMEL_AMBIENT("entity.camel.ambient"), ENTITY_CAMEL_DASH("entity.camel.dash"), -@@ -1207,8 +1281,10 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -1208,8 +1286,10 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa ENTITY_PARROT_HURT("entity.parrot.hurt"), ENTITY_PARROT_IMITATE_BLAZE("entity.parrot.imitate.blaze"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_PARROT_IMITATE_BOGGED("entity.parrot.imitate.bogged"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_PARROT_IMITATE_BREEZE("entity.parrot.imitate.breeze"), ENTITY_PARROT_IMITATE_CREEPER("entity.parrot.imitate.creeper"), ENTITY_PARROT_IMITATE_DROWNED("entity.parrot.imitate.drowned"), -@@ -1488,8 +1564,10 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -1489,8 +1569,10 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa ENTITY_WARDEN_STEP("entity.warden.step"), ENTITY_WARDEN_TENDRIL_CLICKS("entity.warden.tendril_clicks"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_WIND_CHARGE_THROW("entity.wind_charge.throw"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ENTITY_WIND_CHARGE_WIND_BURST("entity.wind_charge.wind_burst"), ENTITY_WITCH_AMBIENT("entity.witch.ambient"), ENTITY_WITCH_CELEBRATE("entity.witch.celebrate"), -@@ -1546,10 +1624,13 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa +@@ -1547,10 +1629,13 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa ENTITY_ZOMBIFIED_PIGLIN_DEATH("entity.zombified_piglin.death"), ENTITY_ZOMBIFIED_PIGLIN_HURT("entity.zombified_piglin.hurt"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EVENT_MOB_EFFECT_BAD_OMEN("event.mob_effect.bad_omen"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EVENT_MOB_EFFECT_RAID_OMEN("event.mob_effect.raid_omen"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EVENT_MOB_EFFECT_TRIAL_OMEN("event.mob_effect.trial_omen"), EVENT_RAID_HORN("event.raid.horn"), INTENTIONALLY_EMPTY("intentionally_empty"), -@@ -1591,10 +1672,13 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa - ITEM_BUCKET_FILL_POWDER_SNOW("item.bucket.fill_powder_snow"), - ITEM_BUCKET_FILL_TADPOLE("item.bucket.fill_tadpole"), - @MinecraftExperimental +@@ -1624,13 +1709,17 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa + ITEM_INK_SAC_USE("item.ink_sac.use"), + ITEM_LODESTONE_COMPASS_LOCK("item.lodestone_compass.lock"), + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - ITEM_BUNDLE_DROP_CONTENTS("item.bundle.drop_contents"), - @MinecraftExperimental + ITEM_MACE_SMASH_AIR("item.mace.smash_air"), + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - ITEM_BUNDLE_INSERT("item.bundle.insert"), - @MinecraftExperimental + ITEM_MACE_SMASH_GROUND("item.mace.smash_ground"), + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation - ITEM_BUNDLE_REMOVE_ONE("item.bundle.remove_one"), - ITEM_CHORUS_FRUIT_TELEPORT("item.chorus_fruit.teleport"), - ITEM_CROP_PLANT("item.crop.plant"), -@@ -1649,12 +1733,16 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa + ITEM_MACE_SMASH_GROUND_HEAVY("item.mace.smash_ground_heavy"), + ITEM_NETHER_WART_PLANT("item.nether_wart.plant"), + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation + ITEM_OMINOUS_BOTTLE_DISPOSE("item.ominous_bottle.dispose"), + ITEM_SHIELD_BLOCK("item.shield.block"), + ITEM_SHIELD_BREAK("item.shield.break"), +@@ -1647,12 +1736,16 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa ITEM_TRIDENT_THROW("item.trident.throw"), ITEM_TRIDENT_THUNDER("item.trident.thunder"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ITEM_WOLF_ARMOR_BREAK("item.wolf_armor.break"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ITEM_WOLF_ARMOR_CRACK("item.wolf_armor.crack"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ITEM_WOLF_ARMOR_DAMAGE("item.wolf_armor.damage"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation ITEM_WOLF_ARMOR_REPAIR("item.wolf_armor.repair"), MUSIC_CREATIVE("music.creative"), @@ -844,114 +852,123 @@ index cb5890e0e7bccfee2ba32dd4776f1ae1fdd539e8..7f1dc4288c2d324281e11dc582b6f4ef /** * Vanilla tag representing all entities sensitive to illager enchantments. diff --git a/src/main/java/org/bukkit/generator/structure/Structure.java b/src/main/java/org/bukkit/generator/structure/Structure.java -index 65d3d8fd5f00114dc388d65321a9affe1b32ce20..8e39f282c771ddafe5d890dcf065c56f0c633647 100644 +index b670ff8b2bfcaa59c2292211cb9fc2bf4c5b2642..94092a5882180cca7905388184de1f91633f0df1 100644 --- a/src/main/java/org/bukkit/generator/structure/Structure.java +++ b/src/main/java/org/bukkit/generator/structure/Structure.java -@@ -49,6 +49,7 @@ public abstract class Structure implements Keyed { +@@ -50,6 +50,7 @@ public abstract class Structure implements Keyed { public static final Structure ANCIENT_CITY = getStructure("ancient_city"); public static final Structure TRAIL_RUINS = getStructure("trail_ruins"); - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation public static final Structure TRIAL_CHAMBERS = getStructure("trial_chambers"); private static Structure getStructure(String name) { diff --git a/src/main/java/org/bukkit/loot/LootTables.java b/src/main/java/org/bukkit/loot/LootTables.java -index 0a3bce3b9d27e6a978e0c40d9f16afb8b2e14e9b..49e3ff6725c656ace6040312a866063494878a5b 100644 +index 0fc30514375c1700c282d1e92342f7b48ca1cb27..bd625de1103741e592b4111412e4094f4c454f9b 100644 --- a/src/main/java/org/bukkit/loot/LootTables.java +++ b/src/main/java/org/bukkit/loot/LootTables.java -@@ -35,38 +35,55 @@ public enum LootTables implements Keyed { +@@ -36,44 +36,64 @@ public enum LootTables implements Keyed { ANCIENT_CITY_ICE_BOX("chests/ancient_city_ice_box"), RUINED_PORTAL("chests/ruined_portal"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD("chests/trial_chambers/reward"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_COMMON("chests/trial_chambers/reward_common"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_RARE("chests/trial_chambers/reward_rare"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_UNIQUE("chests/trial_chambers/reward_unique"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_OMINOUS("chests/trial_chambers/reward_ominous"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_OMINOUS_COMMON("chests/trial_chambers/reward_ominous_common"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_OMINOUS_RARE("chests/trial_chambers/reward_ominous_rare"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_REWARD_OMINOUS_UNIQUE("chests/trial_chambers/reward_ominous_unique"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_SUPPLY("chests/trial_chambers/supply"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_CORRIDOR("chests/trial_chambers/corridor"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_INTERSECTION("chests/trial_chambers/intersection"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_INTERSECTION_BARREL("chests/trial_chambers/intersection_barrel"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_ENTRANCE("chests/trial_chambers/entrance"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_CORRIDOR_DISPENSER("dispensers/trial_chambers/corridor"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_CHAMBER_DISPENSER("dispensers/trial_chambers/chamber"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_WATER_DISPENSER("dispensers/trial_chambers/water"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBERS_CORRIDOR_POT("pots/trial_chambers/corridor"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation EQUIPMENT_TRIAL_CHAMBER("equipment/trial_chamber"), -@@ -201,14 +218,19 @@ public enum LootTables implements Keyed { + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation + EQUIPMENT_TRIAL_CHAMBER_RANGED("equipment/trial_chamber_ranged"), + @MinecraftExperimental(Requires.UPDATE_1_21) ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation + EQUIPMENT_TRIAL_CHAMBER_MELEE("equipment/trial_chamber_melee"), + SHIPWRECK_MAP("chests/shipwreck_map"), + SHIPWRECK_SUPPLY("chests/shipwreck_supply"), +@@ -202,14 +222,19 @@ public enum LootTables implements Keyed { PIGLIN_BARTERING("gameplay/piglin_bartering"), // Spawners - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBER_KEY("spawners/trial_chamber/key"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBER_CONSUMABLES("spawners/trial_chamber/consumables"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OMINOUS_TRIAL_CHAMBER_KEY("spawners/ominous/trial_chamber/key"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OMINOUS_TRIAL_CHAMBER_CONSUMABLES("spawners/ominous/trial_chamber/consumables"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation TRIAL_CHAMBER_ITEMS_TO_DROP_WHEN_OMINOUS("spawners/trial_chamber/items_to_drop_when_ominous"), // Shearing SHEARING_BOGGED("shearing/bogged"), diff --git a/src/main/java/org/bukkit/potion/PotionType.java b/src/main/java/org/bukkit/potion/PotionType.java -index 310833ace16b541392b92d12967f75039990b341..4649cc5c1fa690de34ed540e33c20f9bf0b17835 100644 +index dabaa58432b91ed120cc5a3a43a8e94110fa84a3..1fdd56450e8a0763833742c805847a723c43bf6c 100644 --- a/src/main/java/org/bukkit/potion/PotionType.java +++ b/src/main/java/org/bukkit/potion/PotionType.java -@@ -59,12 +59,16 @@ public enum PotionType implements Keyed { +@@ -60,12 +60,16 @@ public enum PotionType implements Keyed { SLOW_FALLING("slow_falling"), LONG_SLOW_FALLING("long_slow_falling"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WIND_CHARGED("wind_charged"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation WEAVING("weaving"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation OOZING("oozing"), - @MinecraftExperimental + @MinecraftExperimental(Requires.UPDATE_1_21) + @org.jetbrains.annotations.ApiStatus.Experimental // Paper - add missing annotation INFESTED("infested"), ; diff --git a/patches/api/0444-Improve-Registry.patch b/patches/api/0444-Improve-Registry.patch index 6f1ad37927f..2124cf71537 100644 --- a/patches/api/0444-Improve-Registry.patch +++ b/patches/api/0444-Improve-Registry.patch @@ -98,10 +98,10 @@ index 76b1d08d9ae2c2cf5c6d88934929695d438b3284..542c0516e19b6177ff8007ca6f8955dc } } diff --git a/src/main/java/org/bukkit/block/banner/PatternType.java b/src/main/java/org/bukkit/block/banner/PatternType.java -index 0d250d0c1381aadab031f102f537422a731b88e1..31751aa31ef31142c37ef522a17435f4eeb7231a 100644 +index db7723e2907525850f8dbd2bd7150c1e47ebf1c8..1b958b2024ec3f7729605fce70074c5c0208b6cc 100644 --- a/src/main/java/org/bukkit/block/banner/PatternType.java +++ b/src/main/java/org/bukkit/block/banner/PatternType.java -@@ -72,6 +72,13 @@ public enum PatternType implements Keyed { +@@ -73,6 +73,13 @@ public enum PatternType implements Keyed { this.key = NamespacedKey.minecraft(key); } @@ -116,10 +116,10 @@ index 0d250d0c1381aadab031f102f537422a731b88e1..31751aa31ef31142c37ef522a17435f4 @NotNull public NamespacedKey getKey() { diff --git a/src/main/java/org/bukkit/generator/structure/Structure.java b/src/main/java/org/bukkit/generator/structure/Structure.java -index 8e39f282c771ddafe5d890dcf065c56f0c633647..baa3d6d38353ba6d9d0863dd7deaba3c830b2400 100644 +index 94092a5882180cca7905388184de1f91633f0df1..46e510e67b156b469d1413e616a5ff6a6487fdbf 100644 --- a/src/main/java/org/bukkit/generator/structure/Structure.java +++ b/src/main/java/org/bukkit/generator/structure/Structure.java -@@ -63,4 +63,13 @@ public abstract class Structure implements Keyed { +@@ -64,4 +64,13 @@ public abstract class Structure implements Keyed { */ @NotNull public abstract StructureType getStructureType(); diff --git a/patches/api/0446-Add-missing-InventoryType.patch b/patches/api/0446-Add-missing-InventoryType.patch index 67b4504ad39..9c578e05a42 100644 --- a/patches/api/0446-Add-missing-InventoryType.patch +++ b/patches/api/0446-Add-missing-InventoryType.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing InventoryType Upstream did not add a DECORATED_POT inventory type diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 64e59fe706b0bb37fc2439fa88fd40c3167c9fb5..daa1306a7324d946d66ad5a674bbc84371d8d4d6 100644 +index ccb09660e565bc2f7a653bda95fb38caccf7a060..59b375569a75cb1e1f7c610f96078e102ec0d3ed 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -144,6 +144,12 @@ public enum InventoryType { +@@ -145,6 +145,12 @@ public enum InventoryType { * Pseudo jukebox inventory with 1 slot of undefined type. */ JUKEBOX(1, "Jukebox", false), diff --git a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch b/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch index 42c1f761578..93ba48c77c8 100644 --- a/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch +++ b/patches/api/0450-Return-null-for-empty-String-in-NamespacedKey.fromSt.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Return null for empty String in NamespacedKey.fromString diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java -index 5a2032fde327be45b44fd6aa99808fe7c3054e1b..334a107b991b7edda57f89ada3651ed72f98bffc 100644 +index cbdaa121dbc1876d0cd55f4b7b57f283ecaa8f1a..7ff6d60deb129e23b2a4d772aee123eb6c0b6433 100644 --- a/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java @@ -90,7 +90,7 @@ public final class NamespacedKey implements net.kyori.adventure.key.Key { // Pap @@ -26,7 +26,7 @@ index 5a2032fde327be45b44fd6aa99808fe7c3054e1b..334a107b991b7edda57f89ada3651ed7 } @NotNull -@@ -204,7 +204,10 @@ public final class NamespacedKey implements net.kyori.adventure.key.Key { // Pap +@@ -205,7 +205,10 @@ public final class NamespacedKey implements net.kyori.adventure.key.Key { // Pap */ @Nullable public static NamespacedKey fromString(@NotNull String string, @Nullable Plugin defaultNamespace) { diff --git a/patches/api/0456-ItemStack-Tooltip-API.patch b/patches/api/0456-ItemStack-Tooltip-API.patch index 4274a11ce7d..0db68cc72b1 100644 --- a/patches/api/0456-ItemStack-Tooltip-API.patch +++ b/patches/api/0456-ItemStack-Tooltip-API.patch @@ -119,7 +119,7 @@ index 14a49bfd1822c25b95000f3fbb60ba1d55ae0d38..b9a07b2db8a3dcdb72c33c8ceda12992 + @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 7adf54c561d64e6337af8a2d86f6b574b083edb5..245a730a54c4b241a9a67eccceefafd2763bd238 100644 +index ee636c066d1f87873c1ddf52c60c77b1b86d6e90..b04e7b9c3f631c0bb7734b809a58dbb988414fbb 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -1016,4 +1016,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat diff --git a/patches/api/0466-Deprecate-ItemStack-setType.patch b/patches/api/0466-Deprecate-ItemStack-setType.patch index 78e7c70b9fe..0ea99724f4c 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 245a730a54c4b241a9a67eccceefafd2763bd238..7414b4fa690d393a8e9557cc1fd1ce12fa426940 100644 +index b04e7b9c3f631c0bb7734b809a58dbb988414fbb..df2d5ad5ff1bcb1488a94edde9cc4d53cacdd91d 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/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index dec1c20d4d3..dce89779363 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,7 +28,7 @@ index 37dab9e868dbfb019c271a547d975a48ad1cb571..3811c0d849a3eb028ed1a6b7a2d4747f +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..15bfe45585f0adc868aecb829ffd50c9b7c32cc0 +index 0000000000000000000000000000000000000000..e69d74d671b1b73f32eac47d620ec364f419bd6c --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,124 @@ @@ -55,7 +55,7 @@ index 0000000000000000000000000000000000000000..15bfe45585f0adc868aecb829ffd50c9 + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") + runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") + -+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") ++ testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") + testImplementation("org.hamcrest:hamcrest:2.2") + testImplementation("org.mockito:mockito-core:5.11.0") + testImplementation("org.ow2.asm:asm-tree:9.7") @@ -158,10 +158,10 @@ index 0000000000000000000000000000000000000000..15bfe45585f0adc868aecb829ffd50c9 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index ca5ed64db9554831442170c57e288941454dcbca..0000000000000000000000000000000000000000 +index 37928a37028bb7ee4843d42f256675e000823774..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,613 +0,0 @@ +@@ -1,604 +0,0 @@ - - 4.0.0 @@ -435,14 +435,14 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - org.jetbrains - annotations-java5 -- 24.0.1 +- 24.1.0 - provided - - - - org.junit.jupiter - junit-jupiter -- 5.10.0 +- 5.10.2 - test - - @@ -515,7 +515,7 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-jar-plugin -- 3.3.0 +- 3.4.1 - - - @@ -557,7 +557,7 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-shade-plugin -- 3.5.0 +- 3.5.3 - - - package @@ -588,7 +588,7 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - net.md-5 - specialsource-maven-plugin -- 2.0.2 +- 2.0.3 - - - package @@ -634,7 +634,7 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-assembly-plugin -- 3.6.0 +- 3.7.1 - - - package @@ -663,23 +663,14 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - maven-compiler-plugin - 3.13.0 - -- -- eclipse - - false - -- -- -- org.codehaus.plexus -- plexus-compiler-eclipse -- 2.15.0 -- -- - - - org.apache.maven.plugins - maven-surefire-plugin -- 3.1.0 +- 3.2.5 - - ${basedir}/target/test-server - @@ -708,7 +699,7 @@ index ca5ed64db9554831442170c57e288941454dcbca..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-checkstyle-plugin -- 3.3.0 +- 3.3.1 - - - test-compile diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 51905f081aa..2e076b8a8cc 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -9,7 +9,7 @@ public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/ Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 15bfe45585f0adc868aecb829ffd50c9b7c32cc0..1be20e94b5a81cd5c065ae1491d3c3d3477e79ff 100644 +index e69d74d671b1b73f32eac47d620ec364f419bd6c..9d425351f32739eb6c18ebc5c36545c1be21d436 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,9 +9,7 @@ plugins { diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch index fd2b53f23e7..448797c72a2 100644 --- a/patches/server/0004-Test-changes.patch +++ b/patches/server/0004-Test-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Test changes diff --git a/build.gradle.kts b/build.gradle.kts -index 1be20e94b5a81cd5c065ae1491d3c3d3477e79ff..b853ec25ff3edd2bc6c6d896cc848120b092c077 100644 +index 9d425351f32739eb6c18ebc5c36545c1be21d436..db90a1c1409cc7a58f35d2e9ae768f2edd3f36ae 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,6 +23,7 @@ dependencies { diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 7d4dac6e71e..d5bc4bee316 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -15,7 +15,7 @@ public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/mine public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES diff --git a/build.gradle.kts b/build.gradle.kts -index b853ec25ff3edd2bc6c6d896cc848120b092c077..e6d4db67bdee5a0f980a74c38f00d760882bdfeb 100644 +index db90a1c1409cc7a58f35d2e9ae768f2edd3f36ae..c0a078302223202db37d2ed9ecf20716ed7706a5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,6 +11,7 @@ dependencies { diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 461c2f81d6b..66287eef8c4 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -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 ed88e2bbc848b003e2143cd4a372c58c890cfe5c..7d04a18f62411f00dc7be59564ac6c292834c08a 100644 +index 113440cd203c1273934b9b7ad7a0fe36f44d0c88..2e83e5779d5bdfc150257d3394669d53eba5c5c3 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 @@ -7111,10 +7111,10 @@ index f73604d762efbac400d40f536ec1782fca584efa..4701bf9ee203f2f15b0b68e84bbfa2c4 super(type, world); this.xpReward = 5; diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 74486f93527536d128e09ce03a99bdec4d99f2d9..2535cbf50087a4631c4d1027a61b173121d729bc 100644 +index a5d1cd1966ad85ad0a241bee9caa8fd7b7424017..2b8b220bf1e132b230abe14770da53de84db9818 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -957,6 +957,25 @@ public final class ItemStack implements DataComponentHolder { +@@ -952,6 +952,25 @@ public final class ItemStack implements DataComponentHolder { } } @@ -7140,7 +7140,7 @@ index 74486f93527536d128e09ce03a99bdec4d99f2d9..2535cbf50087a4631c4d1027a61b1731 public void applyComponents(DataComponentPatch changes) { this.components.applyPatch(changes); this.getItem().verifyComponentsAfterLoad(this); -@@ -1210,6 +1229,7 @@ public final class ItemStack implements DataComponentHolder { +@@ -1205,6 +1224,7 @@ public final class ItemStack implements DataComponentHolder { // CraftBukkit start @Deprecated public void setItem(Item item) { @@ -7765,7 +7765,7 @@ index 080c0cf84d959e1acdde088f367bd005ea9c3bbd..9b299f74336ad0efecd05a4b771ac585 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 62ad3102e20415185b7dfa9effc305a5465252cc..a1b34778332472c09f3191bc72f9eb3df5e54ba4 100644 +index fb8243b6202374b5a1b5197a6b7984e1cfb60500..6ce2b09c4bb7153c960a7eed865296a9c93dd1cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -252,8 +252,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -7788,7 +7788,7 @@ index 62ad3102e20415185b7dfa9effc305a5465252cc..a1b34778332472c09f3191bc72f9eb3d if (playerChunk == null) return false; playerChunk.getTickingChunkFuture().thenAccept(either -> { -@@ -2079,4 +2079,55 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2075,4 +2075,55 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end @@ -7845,10 +7845,10 @@ index 62ad3102e20415185b7dfa9effc305a5465252cc..a1b34778332472c09f3191bc72f9eb3d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 02b217544d1237c78b1d754a4575665d7b6fd465..9d2af8b74e33888df33425627b286d32c95753d6 100644 +index be0f10f8905cba30e26d61af879b054d3df5284b..13c3ac65f26e6cfc55ee3538b6308ef93f9936aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2404,4 +2404,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2400,4 +2400,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end @@ -7884,7 +7884,7 @@ index 02b217544d1237c78b1d754a4575665d7b6fd465..9d2af8b74e33888df33425627b286d32 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 29286c0fdd9720e0842f945d03010ec61f1daa64..1f99a9b9a0510ab19a5913588d6d677d6cada5e5 100644 +index 39803e02ff5fcca8c9ce07aae890ab7095656370..b6521462d193bff83ace1dc694c6d957a7173969 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -22,6 +22,20 @@ import org.bukkit.material.MaterialData; diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 4840ffb09cf..86346098c9a 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2714,10 +2714,10 @@ index 5631621f16fdda723cb3e1de7d3a6646d768a863..4277f7c477efe01d4ef917515178b260 this.chatVisibility = clientOptions.chatVisibility(); this.canChatColor = clientOptions.chatColors(); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d08e78617 100644 +index 6f17aeae2941c43205fa6db5950d65f510774104..26b8a69a528db8a836b138a2a223c385508ce2c4 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -55,7 +55,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -66,7 +66,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private static final Component TIMEOUT_DISCONNECTION_MESSAGE = Component.translatable("disconnect.timeout"); static final Component DISCONNECT_UNEXPECTED_QUERY = Component.translatable("multiplayer.disconnect.unexpected_query_response"); protected final MinecraftServer server; @@ -2726,7 +2726,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d private final boolean transferred; private long keepAliveTime; private boolean keepAlivePending; -@@ -64,6 +64,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -75,6 +75,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private boolean closed = false; private int latency; private volatile boolean suspendFlushingOnServerThread = false; @@ -2734,7 +2734,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -177,6 +178,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -188,6 +189,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack ServerCommonPacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack {} rejection", this.playerProfile().getName(), packet.id()); this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -2753,7 +2753,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packet.id(), PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()])); // CraftBukkit } -@@ -265,12 +278,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -276,12 +289,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack // CraftBukkit start @Deprecated @@ -2775,7 +2775,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { return; -@@ -279,7 +298,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -290,7 +309,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -2784,7 +2784,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d return null; } }; -@@ -296,9 +315,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -307,9 +326,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack return; } @@ -2796,7 +2796,7 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -310,7 +329,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -321,7 +340,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent // Send the possibly modified leave message @@ -2806,10 +2806,10 @@ index 864fbf941d3aecea9e4637199784a0abf7ab4ba9..70a22e140050273ae420e8dc414eab6d this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { diff --git a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -index 5d3825781ee19ae2a746e98ff66f6392c35dd2ce..d13c57d5aa908e4c6ec835c78e6506a98033fb6d 100644 +index bd7107279ca004f35c932e5d6e82f8302ec781ae..970d1ddf0a014b47b0ac97440489706137324991 100644 --- a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -@@ -106,6 +106,7 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis +@@ -100,6 +100,7 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis @Override public void handleClientInformation(ServerboundClientInformationPacket packet) { this.clientInformation = packet.information(); @@ -2818,18 +2818,18 @@ index 5d3825781ee19ae2a746e98ff66f6392c35dd2ce..d13c57d5aa908e4c6ec835c78e6506a9 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f407235e92 100644 +index d17358e391060c674d0b83b1619e0de8190c6791..86d0207a36df67bf0554193bf050e035aeecc5c9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -45,6 +45,7 @@ import net.minecraft.nbt.CompoundTag; +@@ -44,6 +44,7 @@ import net.minecraft.core.registries.Registries; + import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; - import net.minecraft.network.ConnectionProtocol; import net.minecraft.network.TickablePacketListener; +import net.minecraft.network.chat.ChatDecorator; import net.minecraft.network.chat.ChatType; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.LastSeenMessages; -@@ -196,6 +197,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; +@@ -195,6 +196,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; import org.slf4j.Logger; // CraftBukkit start @@ -2838,7 +2838,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 import com.mojang.datafixers.util.Pair; import java.util.Arrays; import java.util.concurrent.ExecutionException; -@@ -1717,9 +1720,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1711,9 +1714,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl */ this.player.disconnect(); @@ -2853,7 +2853,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1780,10 +1785,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1774,10 +1779,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } CompletableFuture completablefuture = this.filterTextPacket(playerchatmessage.signedContent()).thenApplyAsync(Function.identity(), this.server.chatExecutor); // CraftBukkit - async chat @@ -2867,7 +2867,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 this.broadcastChatMessage(playerchatmessage1); }); -@@ -2003,7 +2008,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1997,7 +2002,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -2884,7 +2884,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 Player player = this.getCraftPlayer(); AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server)); String originalFormat = event.getFormat(), originalMessage = event.getMessage(); -@@ -2306,7 +2319,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2300,7 +2313,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void sendPlayerChatMessage(PlayerChatMessage message, ChatType.Bound params) { // CraftBukkit start - SPIGOT-7262: if hidden we have to send as disguised message. Query whether we should send at all (but changing this may not be expected). @@ -2897,7 +2897,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 this.sendDisguisedChatMessage(message.decoratedContent(), params); return; } -@@ -3000,6 +3017,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2994,6 +3011,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); this.player.updateOptions(packet.information()); @@ -2906,7 +2906,7 @@ index c72c5d0fa96e92539a0e7175a161ed2b8d99d629..ad965076a31b947afc65fdf3a03972f4 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index a9e275f80150eab7d048154429d21d0e92510532..eb69b213a75df72dd7b37f41d86564f7fc692e32 100644 +index 47a1c62dd6f927cb01f679a597d1526bbca9e433..7beda9a16addb2dbcd4bdc45e58b343e91323af5 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -331,7 +331,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @@ -3201,7 +3201,7 @@ index ed54c81a3269360acce674aa4e1d54ccb2461841..c9c849534c3998cfcab7ddcb12a71ccb } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 2535cbf50087a4631c4d1027a61b173121d729bc..04d8cfd0ef3cb9c60e93136376ae90144f3cb7ce 100644 +index 2b8b220bf1e132b230abe14770da53de84db9818..7ca60db3a639e68456933f8e5af900dc4aade575 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -164,7 +164,16 @@ public final class ItemStack implements DataComponentHolder { @@ -3465,7 +3465,7 @@ index 9b299f74336ad0efecd05a4b771ac58549d5fb6a..9e34d3f009184981e4f4cd34b0c0c75b + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a1b34778332472c09f3191bc72f9eb3df5e54ba4..c793bae3d7c6da5014862c98b08fc3fa2374866d 100644 +index 6ce2b09c4bb7153c960a7eed865296a9c93dd1cb..5bbbb9ee266879291e4ff56ad2ee39aa6151bfff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -162,6 +162,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -3519,7 +3519,7 @@ index a1b34778332472c09f3191bc72f9eb3df5e54ba4..c793bae3d7c6da5014862c98b08fc3fa private static Map> gamerules; public static synchronized Map> getGameRulesNMS() { -@@ -2129,5 +2166,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2125,5 +2162,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { public void setSendViewDistance(final int viewDistance) { throw new UnsupportedOperationException("Not implemented yet"); } @@ -4059,10 +4059,10 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917 public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b39e51559 100644 +index 13c3ac65f26e6cfc55ee3538b6308ef93f9936aa..aa9049ed3d39ab862978e311ec0bb0dceb648a8a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -385,14 +385,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -386,14 +386,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -4103,7 +4103,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b @Override public String getPlayerListName() { return this.getHandle().listName == null ? this.getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -404,6 +430,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -405,6 +431,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { name = this.getName(); } this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name); @@ -4111,7 +4111,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -411,42 +438,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -412,42 +439,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -4163,7 +4163,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b this.getHandle().connection.send(packet); } -@@ -478,6 +505,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -479,6 +506,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -4187,7 +4187,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b @Override public void setCompassTarget(Location loc) { Preconditions.checkArgument(loc != null, "Location cannot be null"); -@@ -774,6 +818,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -775,6 +819,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -4212,7 +4212,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -797,6 +859,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -798,6 +860,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; Component[] components = CraftSign.sanitizeLines(lines); @@ -4221,19 +4221,10 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b + } + + private void sendSignChange0(Component[] components, Location loc, DyeColor dyeColor, boolean hasGlowingText) { - SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); - sign.setLevel(this.getHandle().level()); - SignText text = sign.getFrontText(); -@@ -807,7 +874,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - } - sign.setText(text, true); - -- this.getHandle().connection.send(sign.getUpdatePacket()); -+ getHandle().connection.send(sign.getUpdatePacket()); + // Paper end - } - - @Override + SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); + SignText text = sign.getFrontText(); + text = text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData())); @@ -1805,7 +1873,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override @@ -4312,7 +4303,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b @Override public void removeResourcePack(UUID id) { Preconditions.checkArgument(id != null, "Resource pack id cannot be null"); -@@ -2272,6 +2393,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2268,6 +2389,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance(); } @@ -4325,7 +4316,7 @@ index 9d2af8b74e33888df33425627b286d32c95753d6..2b885e00840171777c08b5f0ffe2488b @Override public int getPing() { return this.getHandle().connection.latency(); -@@ -2322,6 +2449,249 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2318,6 +2445,249 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -4976,7 +4967,7 @@ index 61ad00c38cfef8a1de61b4597ec1042428feccf4..4c308de19e26b228151dc05606dd6339 if (this.pages != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java -index 6691950f6ffb8b6bf70d5aaf011ec9b476974d19..31054e7e1d69bfeeb2ddee5bfeb8ee500d9c2efc 100644 +index 9c57b883783145ad4483481a2c2e7f0f188cd174..3795207a024ddf2e93baa09bcce56a1253eec8ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java @@ -2,7 +2,7 @@ package org.bukkit.craftbukkit.inventory; @@ -4988,7 +4979,7 @@ index 6691950f6ffb8b6bf70d5aaf011ec9b476974d19..31054e7e1d69bfeeb2ddee5bfeb8ee50 import java.util.ArrayList; import java.util.Arrays; import java.util.List; -@@ -342,7 +342,7 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { +@@ -346,7 +346,7 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { } @Override @@ -4997,7 +4988,7 @@ index 6691950f6ffb8b6bf70d5aaf011ec9b476974d19..31054e7e1d69bfeeb2ddee5bfeb8ee50 super.serialize(builder); if (this.hasTitle()) { -@@ -455,4 +455,25 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { +@@ -459,4 +459,25 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { return this.spigot; } // Spigot end @@ -5024,7 +5015,7 @@ index 6691950f6ffb8b6bf70d5aaf011ec9b476974d19..31054e7e1d69bfeeb2ddee5bfeb8ee50 + // 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 625035216d1ce4ab965b5eef15f1201fc5df576b..18efbab29f20436848894c66541aa6c7d3481aae 100644 +index 2a0803ed63be1adafec3e6e1cf57a84c867d0b57..6b63fec6bc646b6faf2151a786ef47c87848520e 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 { @@ -5417,7 +5408,7 @@ index 4d586e1375ed8782939c9d480479e0dd981f8cbc..7900adb0b158bc17dd792dd082c33854 + } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -index 9fc85104dd934425ea2ba379cac1c3e61388f7d8..f07234e19dc9f84ff4f4b5e5e811e2813184978b 100644 +index b963d471b33cacaeec385dba6b2bf369e3d4426f..51094fe6e37d3c0fad2682353f8de3d1b9c9aef5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java @@ -299,6 +299,7 @@ public final class CraftChatMessage { diff --git a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch index d1975319b9a..5a2749dfc5c 100644 --- a/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0011-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -25,7 +25,7 @@ Other changes: Co-Authored-By: Emilia Kond diff --git a/build.gradle.kts b/build.gradle.kts -index e6d4db67bdee5a0f980a74c38f00d760882bdfeb..c7980981d994f3256bbb861a5e044a4563c88ad3 100644 +index c0a078302223202db37d2ed9ecf20716ed7706a5..7fb99f67edf961bb31e3f77049d2d3eb7bb148bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,9 +6,30 @@ plugins { diff --git a/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch index 74e8bd94198..a6bf632ac1b 100644 --- a/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/build.gradle.kts b/build.gradle.kts -index c7980981d994f3256bbb861a5e044a4563c88ad3..7a3b14da65a60326faa009a7c824d727610683bf 100644 +index 7fb99f67edf961bb31e3f77049d2d3eb7bb148bc..012dbc51b70e24d01e03df5471196249cd534bb8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { diff --git a/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch index 53d77d51a79..a54bf91ced2 100644 --- a/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch +++ b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread diff --git a/build.gradle.kts b/build.gradle.kts -index 7a3b14da65a60326faa009a7c824d727610683bf..b29cd3fba110261dfabb7b63c44ff850393a6480 100644 +index 012dbc51b70e24d01e03df5471196249cd534bb8..c0cde2b74865070c6901cbc5809e8f79d14969b2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,8 +34,7 @@ dependencies { diff --git a/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch index fc2bc6799f0..97ea5c6955e 100644 --- a/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch +++ b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and diff --git a/build.gradle.kts b/build.gradle.kts -index b29cd3fba110261dfabb7b63c44ff850393a6480..79011b24207ec46872ba7196a4dd8d7a7c4ce848 100644 +index c0cde2b74865070c6901cbc5809e8f79d14969b2..cc8f024fec9c1f928e0d218d19794eb1478f5d07 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,6 +34,7 @@ dependencies { diff --git a/patches/server/0020-Plugin-remapping.patch b/patches/server/0020-Plugin-remapping.patch index 6013bcac851..35b7e6ecc95 100644 --- a/patches/server/0020-Plugin-remapping.patch +++ b/patches/server/0020-Plugin-remapping.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Plugin remapping Co-authored-by: Nassim Jahnke diff --git a/build.gradle.kts b/build.gradle.kts -index 79011b24207ec46872ba7196a4dd8d7a7c4ce848..33c3cc405c67d536c8a3038b83fd470fda10680e 100644 +index cc8f024fec9c1f928e0d218d19794eb1478f5d07..5f94206910467c3302da5a995da5f74961a3365a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -46,9 +46,14 @@ dependencies { diff --git a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch index e2bbbd87bf6..8a8dc9765fb 100644 --- a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch +++ b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb085e3636 100644 +index 2b0cf967e382e982200d73857b08c0f01a4e409c..8420a53672cfb0f060d9c85c445d200b6701f521 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -7,6 +7,7 @@ import java.io.InputStream; @@ -27,9 +27,9 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb import joptsimple.OptionParser; import joptsimple.OptionSet; import joptsimple.OptionSpec; -@@ -62,6 +64,40 @@ public class Commodore { - "org/spigotmc/event/entity/EntityDismountEvent", "org/bukkit/event/entity/EntityDismountEvent" - ); +@@ -73,6 +75,40 @@ public class Commodore { + public static final List> REROUTES = new ArrayList<>(); // Only used for testing + private static final Map FIELD_RENAME_METHOD_REROUTE = Commodore.createReroutes(FieldRename.class); + // Paper start - Plugin rewrites + private static final Map SEARCH_AND_REMOVE = initReplacementsMap(); @@ -65,10 +65,10 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb + } + // Paper end - Plugin rewrites + - private static final Map FIELD_RENAME_METHOD_REROUTE = RerouteBuilder.buildFromClass(FieldRename.class); - public static void main(String[] args) { -@@ -190,9 +226,49 @@ public class Commodore { + OptionParser parser = new OptionParser(); + OptionSpec inputFlag = parser.acceptsAll(Arrays.asList("i", "input")).withRequiredArg().ofType(File.class).required(); +@@ -199,9 +235,49 @@ public class Commodore { @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { return new MethodVisitor(this.api, super.visitMethod(access, name, desc, signature, exceptions)) { @@ -118,7 +118,7 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb name = FieldRename.rename(pluginVersion, owner, name); if (modern) { -@@ -296,6 +372,13 @@ public class Commodore { +@@ -305,6 +381,13 @@ public class Commodore { return; } @@ -132,7 +132,7 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb if (modern) { if (owner.equals("org/bukkit/Material") || (instantiatedMethodType != null && instantiatedMethodType.getDescriptor().startsWith("(Lorg/bukkit/Material;)"))) { switch (name) { -@@ -399,6 +482,13 @@ public class Commodore { +@@ -408,6 +491,13 @@ public class Commodore { @Override public void visitLdcInsn(Object value) { @@ -146,7 +146,7 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb if (value instanceof String && ((String) value).equals("com.mysql.jdbc.Driver")) { super.visitLdcInsn("com.mysql.cj.jdbc.Driver"); return; -@@ -409,6 +499,14 @@ public class Commodore { +@@ -418,6 +508,14 @@ public class Commodore { @Override public void visitInvokeDynamicInsn(String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) { @@ -161,7 +161,7 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb if (bootstrapMethodHandle.getOwner().equals("java/lang/invoke/LambdaMetafactory") && bootstrapMethodHandle.getName().equals("metafactory") && bootstrapMethodArguments.length == 3) { Type samMethodType = (Type) bootstrapMethodArguments[0]; -@@ -425,7 +523,7 @@ public class Commodore { +@@ -434,7 +532,7 @@ public class Commodore { methodArgs.add(new Handle(newOpcode, newOwner, newName, newDescription, newItf)); methodArgs.add(newInstantiated); @@ -170,7 +170,7 @@ index 0ecd298fead1a75bfc9ef535b550f5178fc3d3c8..072153a601eb257bd36bba24f356d4eb }, implMethod.getTag(), implMethod.getOwner(), implMethod.getName(), implMethod.getDesc(), implMethod.isInterface(), samMethodType, instantiatedMethodType); return; } -@@ -476,6 +574,12 @@ public class Commodore { +@@ -485,6 +583,12 @@ public class Commodore { @Override public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) { diff --git a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch index 820d626a24b..bdeb7e663aa 100644 --- a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch +++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Remap reflection calls in plugins using internals Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> diff --git a/build.gradle.kts b/build.gradle.kts -index 33c3cc405c67d536c8a3038b83fd470fda10680e..ab1aaf53f9a897982c93b754b8dbe8b6f4812f21 100644 +index 5f94206910467c3302da5a995da5f74961a3365a..b995ea46b0fabdab6d398aa1980f9d801460b772 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,6 @@ dependencies { @@ -658,11 +658,11 @@ index 457a963ee6ebd3cf5c3831f6660e3850335af49f..61744d8fde3ba98585cf261fc09f0acc } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 072153a601eb257bd36bba24f356d4eb085e3636..c2f46c2d7c4035848724cdccdce23f45774e338c 100644 +index 8420a53672cfb0f060d9c85c445d200b6701f521..fc04bfcb8b5dfa6d093c8d75b2f20c502ef94a63 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -65,36 +65,26 @@ public class Commodore { - ); +@@ -76,36 +76,26 @@ public class Commodore { + private static final Map FIELD_RENAME_METHOD_REROUTE = Commodore.createReroutes(FieldRename.class); // Paper start - Plugin rewrites - private static final Map SEARCH_AND_REMOVE = initReplacementsMap(); @@ -709,7 +709,7 @@ index 072153a601eb257bd36bba24f356d4eb085e3636..c2f46c2d7c4035848724cdccdce23f45 } // Paper end - Plugin rewrites -@@ -167,7 +157,7 @@ public class Commodore { +@@ -176,7 +166,7 @@ public class Commodore { ClassReader cr = new ClassReader(b); ClassWriter cw = new ClassWriter(cr, 0); diff --git a/patches/server/0023-Add-WorldEdit-plugin-flag-test-task.patch b/patches/server/0023-Add-WorldEdit-plugin-flag-test-task.patch index b708dd3baca..caaa9d04f80 100644 --- a/patches/server/0023-Add-WorldEdit-plugin-flag-test-task.patch +++ b/patches/server/0023-Add-WorldEdit-plugin-flag-test-task.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add WorldEdit plugin flag test task diff --git a/build.gradle.kts b/build.gradle.kts -index ab1aaf53f9a897982c93b754b8dbe8b6f4812f21..0aa7351e918a577f231a209443389d4bfdb4a93e 100644 +index b995ea46b0fabdab6d398aa1980f9d801460b772..2902bbff8d4aff8d09eaa6b7e4f6c604c42dac29 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,11 @@ diff --git a/patches/server/0024-build-replace-use-of-shadow-plugin.patch b/patches/server/0024-build-replace-use-of-shadow-plugin.patch index 93f409099fb..78d0d23bdc2 100644 --- a/patches/server/0024-build-replace-use-of-shadow-plugin.patch +++ b/patches/server/0024-build-replace-use-of-shadow-plugin.patch @@ -5,7 +5,7 @@ Subject: [PATCH] build: replace use of shadow plugin diff --git a/build.gradle.kts b/build.gradle.kts -index 0aa7351e918a577f231a209443389d4bfdb4a93e..e8f0f110532ad63be170152082dd5805a3e3c12c 100644 +index 2902bbff8d4aff8d09eaa6b7e4f6c604c42dac29..fec06ac47cf190bf4d5d743c34e4a90b99a0af18 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,6 @@ import xyz.jpenilla.runpaper.task.RunServer diff --git a/patches/server/0025-Timings-v2.patch b/patches/server/0025-Timings-v2.patch index e0a14e03ed9..037ebd721be 100644 --- a/patches/server/0025-Timings-v2.patch +++ b/patches/server/0025-Timings-v2.patch @@ -1230,10 +1230,10 @@ index 9332573e6948092ea1cda4efa7f3944729da91be..476b513e05a8ef099a17db44732ebc8e 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 ad965076a31b947afc65fdf3a03972f407235e92..4a37313ea0f2253f377ea5d0d2c2d7b66c599ffe 100644 +index 86d0207a36df67bf0554193bf050e035aeecc5c9..e63aadfe5209978f5d515ef9c37df01e08cd8fdb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -336,7 +336,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -330,7 +330,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void tick() { @@ -1241,7 +1241,7 @@ index ad965076a31b947afc65fdf3a03972f407235e92..4a37313ea0f2253f377ea5d0d2c2d7b6 if (this.ackBlockChangesUpTo > -1) { this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo)); this.ackBlockChangesUpTo = -1; -@@ -403,7 +402,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -397,7 +396,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling")); } @@ -1249,7 +1249,7 @@ index ad965076a31b947afc65fdf3a03972f407235e92..4a37313ea0f2253f377ea5d0d2c2d7b6 } -@@ -2092,7 +2090,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2086,7 +2084,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void handleCommand(String s) { @@ -1258,7 +1258,7 @@ index ad965076a31b947afc65fdf3a03972f407235e92..4a37313ea0f2253f377ea5d0d2c2d7b6 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2102,7 +2100,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2096,7 +2094,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1267,7 +1267,7 @@ index ad965076a31b947afc65fdf3a03972f407235e92..4a37313ea0f2253f377ea5d0d2c2d7b6 return; } -@@ -2115,7 +2113,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2109,7 +2107,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1337,7 +1337,7 @@ index 9c54bc3897d1fa3c88a5a7d55224eb4cc97f4e79..09ce9511f52f7f8643fedc325c49580e private boolean isStateClimbable(BlockState state) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 4bdd6529dfc7f51c8e58e93cf140025ed8a4e44f..5e31d2799c299e5c3d4c02871f785179a2422323 100644 +index 1099a85ab7e98d8652cdd1c318f269ca31f4d783..606dbc398745b689f957e62ebd9eaa56a67a61f3 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -339,6 +339,15 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -1805,10 +1805,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b885e00840171777c08b5f0ffe2488b39e51559..f18ba33cc02b98e389f16c8ca174a832537ebce9 100644 +index aa9049ed3d39ab862978e311ec0bb0dceb648a8a..e27712775a494c27030e3aa824e36ec8c217b1ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2767,6 +2767,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2763,6 +2763,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR)); } diff --git a/patches/server/0029-Support-components-in-ItemMeta.patch b/patches/server/0029-Support-components-in-ItemMeta.patch index c67bd2d94cd..479f83f8987 100644 --- a/patches/server/0029-Support-components-in-ItemMeta.patch +++ b/patches/server/0029-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 18efbab29f20436848894c66541aa6c7d3481aae..f9340ce662157bc141b515b02db5f8d9aa116f32 100644 +index 6b63fec6bc646b6faf2151a786ef47c87848520e..d8804be1f36872d12484d9b4327d669d19e7c573 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 18efbab29f20436848894c66541aa6c7d3481aae..f9340ce662157bc141b515b02db5f8d9 @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1654,6 +1689,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1661,6 +1696,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0033-Allow-nerfed-mobs-to-jump.patch b/patches/server/0033-Allow-nerfed-mobs-to-jump.patch index bb726be8287..3eaa6a63ecd 100644 --- a/patches/server/0033-Allow-nerfed-mobs-to-jump.patch +++ b/patches/server/0033-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 7d04a18f62411f00dc7be59564ac6c292834c08a..af1d4cab8ffa3b20dc7aa3af5d1cf8039ef9736f 100644 +index 2e83e5779d5bdfc150257d3394669d53eba5c5c3..895971f238b693afbf382d9951adb636d1efef2d 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 @@ -16,7 +16,7 @@ index 7d04a18f62411f00dc7be59564ac6c292834c08a..af1d4cab8ffa3b20dc7aa3af5d1cf803 public GoalSelector targetSelector; @Nullable private LivingEntity target; -@@ -932,7 +933,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -935,7 +936,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @Override protected final void serverAiStep() { ++this.noActionTime; diff --git a/patches/server/0034-Add-configurable-entity-despawn-distances.patch b/patches/server/0034-Add-configurable-entity-despawn-distances.patch index 0f39ee59b96..a737ffb8193 100644 --- a/patches/server/0034-Add-configurable-entity-despawn-distances.patch +++ b/patches/server/0034-Add-configurable-entity-despawn-distances.patch @@ -5,10 +5,10 @@ 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 af1d4cab8ffa3b20dc7aa3af5d1cf8039ef9736f..9dcd90b8e027075ccec0902bd1b13f82f6fe1bcd 100644 +index 895971f238b693afbf382d9951adb636d1efef2d..a61f25425893024571a85cf563ec41cfc7b52325 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -908,14 +908,14 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -911,14 +911,14 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti if (entityhuman != null) { double d0 = entityhuman.distanceToSqr((Entity) this); diff --git a/patches/server/0040-Player-affects-spawning-API.patch b/patches/server/0040-Player-affects-spawning-API.patch index 28546263203..5815242aaf6 100644 --- a/patches/server/0040-Player-affects-spawning-API.patch +++ b/patches/server/0040-Player-affects-spawning-API.patch @@ -21,10 +21,10 @@ 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 9dcd90b8e027075ccec0902bd1b13f82f6fe1bcd..14d1222286c7387eca828a9380053f14e4539b3c 100644 +index a61f25425893024571a85cf563ec41cfc7b52325..0e88a2212435ff70b5ee661de3977df2b456b29b 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -904,7 +904,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -907,7 +907,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti if (this.level().getDifficulty() == Difficulty.PEACEFUL && this.shouldDespawnInPeaceful()) { this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause } else if (!this.isPersistenceRequired() && !this.requiresCustomPersistence()) { @@ -135,10 +135,10 @@ index f38f62e777d88a783e1e3b7e1a48da921cc67cf4..77ae7882a08441d9a80b50492be5e484 for (Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f18ba33cc02b98e389f16c8ca174a832537ebce9..476f1270344358660ce313e6a1d1ebbb42792c59 100644 +index e27712775a494c27030e3aa824e36ec8c217b1ea..f66adfdf41835b185aec5e7f50c768e7894c951f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2409,6 +2409,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2405,6 +2405,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().language; } diff --git a/patches/server/0041-Only-refresh-abilities-if-needed.patch b/patches/server/0041-Only-refresh-abilities-if-needed.patch index 1f3e18706ee..e93e2f4ce17 100644 --- a/patches/server/0041-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0041-Only-refresh-abilities-if-needed.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 476f1270344358660ce313e6a1d1ebbb42792c59..16aa9c45bdbac13f3f34040b68614dbe03cb3fb8 100644 +index f66adfdf41835b185aec5e7f50c768e7894c951f..e37f9009a6eb83da610af2cba98c35d19547443c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2082,12 +2082,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0054-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0054-Implement-PlayerLocaleChangeEvent.patch index 4ab091199a0..f7d2ae8e41f 100644 --- a/patches/server/0054-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0054-Implement-PlayerLocaleChangeEvent.patch @@ -39,10 +39,10 @@ index d75c3c10dcbd777796e479b9538e5254857ac07c..ab2336a30c1ffc1698c327c031a648d4 // CraftBukkit end this.language = clientOptions.language(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 16aa9c45bdbac13f3f34040b68614dbe03cb3fb8..f4495e24f825c8bbd2d51e2e56b30815c2156cf2 100644 +index e37f9009a6eb83da610af2cba98c35d19547443c..86aaec4e639e0abf05531519d2ee5b9b1f8f7517 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2407,7 +2407,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2403,7 +2403,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0061-Improve-Player-chat-API-handling.patch b/patches/server/0061-Improve-Player-chat-API-handling.patch index ea7af9e1aa3..125faa02be2 100644 --- a/patches/server/0061-Improve-Player-chat-API-handling.patch +++ b/patches/server/0061-Improve-Player-chat-API-handling.patch @@ -17,10 +17,10 @@ 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 4a37313ea0f2253f377ea5d0d2c2d7b66c599ffe..a944eb2b5dbc2a44c32cf9ea794c9b225de16a70 100644 +index e63aadfe5209978f5d515ef9c37df01e08cd8fdb..84c53376312e5f2253521ce2fcac756bc1e5365f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2002,7 +2002,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1996,7 +1996,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } OutgoingChatMessage outgoing = OutgoingChatMessage.create(original); @@ -29,7 +29,7 @@ index 4a37313ea0f2253f377ea5d0d2c2d7b66c599ffe..a944eb2b5dbc2a44c32cf9ea794c9b22 this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin -@@ -2089,7 +2089,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2083,7 +2083,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -53,10 +53,10 @@ index b43dae6ed6ebdd1978e35e9d43e07591f90dcb09..4a1305df41c42be65dbb0438066e148e if (this.commandMap.dispatch(sender, commandLine)) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f4495e24f825c8bbd2d51e2e56b30815c2156cf2..5bb906ae7b2aab9601aa8dac492ba221345f5bac 100644 +index 86aaec4e639e0abf05531519d2ee5b9b1f8f7517..d50da3bc2dc3b6da13321d19d2eb501df8987461 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -543,7 +543,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -544,7 +544,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; diff --git a/patches/server/0065-Player-Tab-List-and-Title-APIs.patch b/patches/server/0065-Player-Tab-List-and-Title-APIs.patch index 07324af2007..bc2947c5481 100644 --- a/patches/server/0065-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0065-Player-Tab-List-and-Title-APIs.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Tab List and Title APIs diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5bb906ae7b2aab9601aa8dac492ba221345f5bac..a0eaf651444e59315a3a68ae96a18b59742e2b65 100644 +index d50da3bc2dc3b6da13321d19d2eb501df8987461..7097c7b8e76478af9d0bae366b0d55c9a86e5127 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -383,6 +383,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -384,6 +384,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0068-Configurable-inter-world-teleportation-safety.patch b/patches/server/0068-Configurable-inter-world-teleportation-safety.patch index 2584e30cfa0..7ca60df4e57 100644 --- a/patches/server/0068-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0068-Configurable-inter-world-teleportation-safety.patch @@ -16,7 +16,7 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a0eaf651444e59315a3a68ae96a18b59742e2b65..d40143d8d551d1f4df37b85a72109f53cf7ae10b 100644 +index 7097c7b8e76478af9d0bae366b0d55c9a86e5127..6229a21596892064b1d7b5cfc723ab5bcd4fa36e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1235,7 +1235,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0073-Complete-resource-pack-API.patch b/patches/server/0073-Complete-resource-pack-API.patch index b1bb6b4d432..e4008abefd1 100644 --- a/patches/server/0073-Complete-resource-pack-API.patch +++ b/patches/server/0073-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 70a22e140050273ae420e8dc414eab6d08e78617..d0178fc884b57cda9090a80716685994ca1a323e 100644 +index 26b8a69a528db8a836b138a2a223c385508ce2c4..5f5d8ae29ff702eacc72341fae074a05d977e7cd 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -190,7 +190,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -201,7 +201,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack callback.packEventReceived(packet.id(), net.kyori.adventure.resource.ResourcePackStatus.valueOf(packet.action().name()), this.getCraftPlayer()); } // Paper end @@ -22,10 +22,10 @@ index 70a22e140050273ae420e8dc414eab6d08e78617..d0178fc884b57cda9090a80716685994 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d40143d8d551d1f4df37b85a72109f53cf7ae10b..4e80ed2d52caf3869138b76fda00a71d92cda766 100644 +index 6229a21596892064b1d7b5cfc723ab5bcd4fa36e..6aebd2fcd8490b6ffb60af9aab5b7f30c4cc2453 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -205,6 +205,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double healthScale = 20; private CraftWorldBorder clientWorldBorder = null; private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); diff --git a/patches/server/0077-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0077-Handle-Item-Meta-Inconsistencies.patch index cf75d74d655..50ab2f09d7e 100644 --- a/patches/server/0077-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0077-Handle-Item-Meta-Inconsistencies.patch @@ -76,7 +76,7 @@ index b49eb019cce58049c2b3a0e80e3d08998b16f7ea..dd6bf199f22476ef1d0f704883b748be public Mutable(ItemEnchantments enchantmentsComponent) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 1f99a9b9a0510ab19a5913588d6d677d6cada5e5..09c363f483cb12be01afd9a274c541f3bdeb992c 100644 +index b6521462d193bff83ace1dc694c6d957a7173969..d302767e8f01fdfcba9c22e2e35677afc18c0641 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -191,16 +191,11 @@ public final class CraftItemStack extends ItemStack { @@ -144,7 +144,7 @@ index 1f99a9b9a0510ab19a5913588d6d677d6cada5e5..09c363f483cb12be01afd9a274c541f3 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 f9340ce662157bc141b515b02db5f8d9aa116f32..d9583b6f4e78a3fac594a7448e105507f33caa91 100644 +index d8804be1f36872d12484d9b4327d669d19e7c573..122142125dcba97572b1e0b9195e534a0e2257d9 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; @@ -242,7 +242,7 @@ index f9340ce662157bc141b515b02db5f8d9aa116f32..d9583b6f4e78a3fac594a7448e105507 } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1805,4 +1808,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1812,4 +1815,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return (result != null) ? result : Optional.empty(); } diff --git a/patches/server/0081-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0081-handle-NaN-health-absorb-values-and-repair-bad-data.patch index cf345799959..0aae49b1bdb 100644 --- a/patches/server/0081-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0081-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,7 +44,7 @@ index 53da8935e076d56f0a5423e5c1bdcdddc7cbd882..f02b12f3853bf4bf29b59a505f06cb98 protected void internalSetAbsorptionAmount(float absorptionAmount) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e80ed2d52caf3869138b76fda00a71d92cda766..deeab3b8ab258e5914a05190704a78d895dc9f33 100644 +index 6aebd2fcd8490b6ffb60af9aab5b7f30c4cc2453..b3e1ee818e87d9bbe6bbbfce715aca8720928c1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2327,6 +2327,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0090-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0090-Add-PlayerUseUnknownEntityEvent.patch index 2e6b997c57d..e4e640e70cd 100644 --- a/patches/server/0090-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0090-Add-PlayerUseUnknownEntityEvent.patch @@ -28,10 +28,10 @@ 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 a944eb2b5dbc2a44c32cf9ea794c9b225de16a70..00043179d939e95734d56d221d79c0996321f875 100644 +index 84c53376312e5f2253521ce2fcac756bc1e5365f..444c3d396c117be4de314aafa1625ef69fabf601 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2486,7 +2486,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2480,7 +2480,26 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl }); } } diff --git a/patches/server/0113-Configurable-packet-in-spam-threshold.patch b/patches/server/0113-Configurable-packet-in-spam-threshold.patch index 98e99146cc1..ca7788bafa8 100644 --- a/patches/server/0113-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0113-Configurable-packet-in-spam-threshold.patch @@ -5,10 +5,10 @@ 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 00043179d939e95734d56d221d79c0996321f875..053c1299d657dba38308b9d0fddd7416c357364d 100644 +index 444c3d396c117be4de314aafa1625ef69fabf601..e95251f21dd500850767a9bd3e9512c87bdaaec2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1528,13 +1528,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1522,13 +1522,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/patches/server/0114-Configurable-flying-kick-messages.patch b/patches/server/0114-Configurable-flying-kick-messages.patch index 545bf773610..c398b0d327d 100644 --- a/patches/server/0114-Configurable-flying-kick-messages.patch +++ b/patches/server/0114-Configurable-flying-kick-messages.patch @@ -5,10 +5,10 @@ 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 053c1299d657dba38308b9d0fddd7416c357364d..19b4e2a2c01a10642ced9bdffc0acb661b270741 100644 +index e95251f21dd500850767a9bd3e9512c87bdaaec2..f75216148bc8b3e357111ff624d8b43592d5d16b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -352,7 +352,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -346,7 +346,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) { if (++this.aboveGroundTickCount > this.getMaximumFlyingTicks(this.player)) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -17,7 +17,7 @@ index 053c1299d657dba38308b9d0fddd7416c357364d..19b4e2a2c01a10642ced9bdffc0acb66 return; } } else { -@@ -371,7 +371,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -365,7 +365,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.clientVehicleIsFloating && this.lastVehicle.getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > this.getMaximumFlyingTicks(this.lastVehicle)) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); diff --git a/patches/server/0117-Cache-user-authenticator-threads.patch b/patches/server/0117-Cache-user-authenticator-threads.patch index 04a32d1e53b..af62d4792e3 100644 --- a/patches/server/0117-Cache-user-authenticator-threads.patch +++ b/patches/server/0117-Cache-user-authenticator-threads.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index eb69b213a75df72dd7b37f41d86564f7fc692e32..b03d4f12e89b8a5fe6ad2282f8cc2909b87795a9 100644 +index 7beda9a16addb2dbcd4bdc45e58b343e91323af5..d342d569eb93707bc683c3373ea88ae6b885a476 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -69,6 +69,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0126-String-based-Action-Bar-API.patch b/patches/server/0126-String-based-Action-Bar-API.patch index dcd1006a24f..cae378a5d0d 100644 --- a/patches/server/0126-String-based-Action-Bar-API.patch +++ b/patches/server/0126-String-based-Action-Bar-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index deeab3b8ab258e5914a05190704a78d895dc9f33..7884108bddd9d56550dcce3e2d00affb27e07fb1 100644 +index b3e1ee818e87d9bbe6bbbfce715aca8720928c1c..f7eb58914dd561734e1f5ab0aec5775f3ecf937b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -385,6 +385,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -386,6 +386,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0127-Properly-fix-item-duplication-bug.patch b/patches/server/0127-Properly-fix-item-duplication-bug.patch index 20fb4016e1f..7879e5309a2 100644 --- a/patches/server/0127-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0127-Properly-fix-item-duplication-bug.patch @@ -19,10 +19,10 @@ index 532282ba4432f55596337f7a0898ecc3d5dc2148..82498ec7f0de4c1b82c7882824587ed3 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index d0178fc884b57cda9090a80716685994ca1a323e..d9a22808381bd8b1be691cf879f5be8cc3add81c 100644 +index 5f5d8ae29ff702eacc72341fae074a05d977e7cd..fc2fd0842e25fbe5c46ae07200c4b1a5950ae29a 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -167,7 +167,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -178,7 +178,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } public final boolean isDisconnected() { diff --git a/patches/server/0130-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0130-Provide-E-TE-Chunk-count-stat-methods.patch index 775c0bbd635..1c42b6754fe 100644 --- a/patches/server/0130-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0130-Provide-E-TE-Chunk-count-stat-methods.patch @@ -20,7 +20,7 @@ index 004dd17181a49df5c2255a9eeca03f5a354920aa..ec6640bc761b6232d6b48a32fae11e60 private final List pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c793bae3d7c6da5014862c98b08fc3fa2374866d..b42d482defda5a91f4e625308d5fec8c8369e5fb 100644 +index 5bbbb9ee266879291e4ff56ad2ee39aa6151bfff..705cfb8ac38ee49adfb36a93b6939c975bbe95e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -164,6 +164,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0136-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0136-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 0619086b8b6..afefe47c9cf 100644 --- a/patches/server/0136-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/patches/server/0136-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -14,10 +14,10 @@ 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 19b4e2a2c01a10642ced9bdffc0acb661b270741..03384eea3601869651a7539fc09a0a2d396137d2 100644 +index f75216148bc8b3e357111ff624d8b43592d5d16b..9e26cd52dfe77049019a417cd3999103647c037f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2248,6 +2248,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2242,6 +2242,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl switch (packet.getAction()) { case PRESS_SHIFT_KEY: this.player.setShiftKeyDown(true); diff --git a/patches/server/0139-Item-canEntityPickup.patch b/patches/server/0139-Item-canEntityPickup.patch index b230279aed7..4b622591cc1 100644 --- a/patches/server/0139-Item-canEntityPickup.patch +++ b/patches/server/0139-Item-canEntityPickup.patch @@ -5,10 +5,10 @@ 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 14d1222286c7387eca828a9380053f14e4539b3c..b740d931ad7ad81bf94afa62a9ae44a2fe9549d4 100644 +index 0e88a2212435ff70b5ee661de3977df2b456b29b..2f33036a78a120898b18301bae1585c65fdb69dc 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -712,6 +712,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -715,6 +715,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti ItemEntity entityitem = (ItemEntity) iterator.next(); if (!entityitem.isRemoved() && !entityitem.getItem().isEmpty() && !entityitem.hasPickUpDelay() && this.wantsToPickUp(entityitem.getItem())) { diff --git a/patches/server/0147-Block-player-logins-during-server-shutdown.patch b/patches/server/0147-Block-player-logins-during-server-shutdown.patch index 61027e8fd10..0a09c804d3b 100644 --- a/patches/server/0147-Block-player-logins-during-server-shutdown.patch +++ b/patches/server/0147-Block-player-logins-during-server-shutdown.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index b03d4f12e89b8a5fe6ad2282f8cc2909b87795a9..93df138ffdf45303ce28ef6bff462b1b14e27f61 100644 +index d342d569eb93707bc683c3373ea88ae6b885a476..da300bbe01399eec9d45f68aeb7c214cab4108fb 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -95,6 +95,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0157-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/0157-Allow-specifying-a-custom-authentication-servers-dow.patch index 8f5adde12aa..8abd11f071a 100644 --- a/patches/server/0157-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/patches/server/0157-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 93df138ffdf45303ce28ef6bff462b1b14e27f61..5fb5a82edcd2c1b4ed6747d085f53b5ba0cd039f 100644 +index da300bbe01399eec9d45f68aeb7c214cab4108fb..a5b627ce61187696dfce3746c7c06cbaaf1149f5 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -301,7 +301,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0158-Add-PlayerJumpEvent.patch b/patches/server/0158-Add-PlayerJumpEvent.patch index e99610c2943..e9c26db0289 100644 --- a/patches/server/0158-Add-PlayerJumpEvent.patch +++ b/patches/server/0158-Add-PlayerJumpEvent.patch @@ -5,10 +5,10 @@ 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 03384eea3601869651a7539fc09a0a2d396137d2..904aab6c4c3434756e25def2acdf5ca7afebb465 100644 +index 9e26cd52dfe77049019a417cd3999103647c037f..f6019435a90979ed6f966cc6e8288f05ff889d5e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1210,7 +1210,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1204,7 +1204,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean flag1 = d7 > 0.0D; if (this.player.onGround() && !packet.isOnGround() && flag1) { diff --git a/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch index 45deff1c271..b7fa733d4a7 100644 --- a/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index d9a22808381bd8b1be691cf879f5be8cc3add81c..d013b2a02a03f5637043ccc5a9c29c15cc811596 100644 +index fc2fd0842e25fbe5c46ae07200c4b1a5950ae29a..8cc454ad3f6b865253bdd4902fbf19fc4a3e4a7f 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -105,14 +105,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -116,14 +116,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch index 5e9695a196e..fd67819a035 100644 --- a/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch @@ -90,11 +90,11 @@ index 9214fb6b8e21ff6aee8be0691f1fe6e41c901ba3..644214cc3a3c8e560b6ce470fe5997e3 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7884108bddd9d56550dcce3e2d00affb27e07fb1..831e63386d110fe5581526dc142bd630aca39246 100644 +index f7eb58914dd561734e1f5ab0aec5775f3ecf937b..d8e10cc5afc5159b0eeef22ea2ef8b2dcf7655ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -331,6 +331,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - this.getHandle().transferCookieConnection.send(new ClientboundTransferPacket(host, port)); +@@ -332,6 +332,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + this.getHandle().transferCookieConnection.sendPacket(new ClientboundTransferPacket(host, port)); } + // Paper start - Implement NetworkClient diff --git a/patches/server/0161-revert-serverside-behavior-of-keepalives.patch b/patches/server/0161-revert-serverside-behavior-of-keepalives.patch index a75882c7b3b..fa7ee143227 100644 --- a/patches/server/0161-revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/0161-revert-serverside-behavior-of-keepalives.patch @@ -17,10 +17,10 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index d013b2a02a03f5637043ccc5a9c29c15cc811596..89c05909c10ef5172693c5d9d8fdf7e6efead53b 100644 +index 8cc454ad3f6b865253bdd4902fbf19fc4a3e4a7f..b8b22a2b140b4d757add6eefa562d32430fb7424 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -57,7 +57,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -68,7 +68,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack protected final MinecraftServer server; public final Connection connection; // Paper private final boolean transferred; @@ -29,7 +29,7 @@ index d013b2a02a03f5637043ccc5a9c29c15cc811596..89c05909c10ef5172693c5d9d8fdf7e6 private boolean keepAlivePending; private long keepAliveChallenge; private long closedListenerTime; -@@ -65,6 +65,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -76,6 +76,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private int latency; private volatile boolean suspendFlushingOnServerThread = false; public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks @@ -37,7 +37,7 @@ index d013b2a02a03f5637043ccc5a9c29c15cc811596..89c05909c10ef5172693c5d9d8fdf7e6 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -215,18 +216,22 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -226,18 +227,22 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack protected void keepConnectionAlive() { this.server.getProfiler().push("keepAlive"); diff --git a/patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch index 709139bd3b5..f6552aac5d1 100644 --- a/patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent logins from being processed when the player has diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 5fb5a82edcd2c1b4ed6747d085f53b5ba0cd039f..31379b0aee05862dc44f507a64f19a810e0208d5 100644 +index a5b627ce61187696dfce3746c7c06cbaaf1149f5..2640041bfacda7612908c41e1506bf6668eb274f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -102,7 +102,9 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch index 47fbc0f82cd..2ca3917af87 100644 --- a/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch @@ -69,7 +69,7 @@ index a1c1a101aa424e74309f6f4c0a53a6a8db5df441..013298c424025cd88f15d61e50d196f7 public Biome getBiome() { return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ()); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index be9c5d928b8dccd0adde9df42ac7306153d1cc5c..fdd6f9e8164efedb3e8f29857ad35ed69e7b299d 100644 +index 7c613e345234bada75388930afdae1ed96c7beb8..25b7198c0e0afb7a09b1a68f5a53f5c44244cafb 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -22,15 +22,26 @@ public class CraftBlockEntityState extends CraftBlockStat @@ -101,7 +101,7 @@ index be9c5d928b8dccd0adde9df42ac7306153d1cc5c..fdd6f9e8164efedb3e8f29857ad35ed6 } protected CraftBlockEntityState(CraftBlockEntityState state, Location location) { -@@ -165,4 +176,11 @@ public class CraftBlockEntityState extends CraftBlockStat +@@ -166,4 +177,11 @@ public class CraftBlockEntityState extends CraftBlockStat public CraftBlockEntityState copy(Location location) { return new CraftBlockEntityState<>(this, location); } @@ -114,7 +114,7 @@ index be9c5d928b8dccd0adde9df42ac7306153d1cc5c..fdd6f9e8164efedb3e8f29857ad35ed6 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index 9d22f389dfce7b800e29efab767fac842651490a..4c30af81697db25d9913b436c45d9a926cbb5cca 100644 +index 1cf2d13ac6addcf61168b95aafa936d4b9432f8a..e40973b65ece11d9c5a76abad51f72e610bf02ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java @@ -387,15 +387,30 @@ public final class CraftBlockStates { diff --git a/patches/server/0168-AsyncTabCompleteEvent.patch b/patches/server/0168-AsyncTabCompleteEvent.patch index 2551e2840a0..9011b405724 100644 --- a/patches/server/0168-AsyncTabCompleteEvent.patch +++ b/patches/server/0168-AsyncTabCompleteEvent.patch @@ -16,10 +16,10 @@ 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 904aab6c4c3434756e25def2acdf5ca7afebb465..56134a163da44b0bb50121831e91e9f93e86417d 100644 +index f6019435a90979ed6f966cc6e8288f05ff889d5e..ae0e3694f3971908cb472b1165d2649265e1bdca 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -714,21 +714,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -708,21 +708,58 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } diff --git a/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch index d8dd3dfa405..bfe5b41e9fe 100644 --- a/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch @@ -14,7 +14,7 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 831e63386d110fe5581526dc142bd630aca39246..40a1b3a5dde30c1e47c2e0419cca23fc25185419 100644 +index d8e10cc5afc5159b0eeef22ea2ef8b2dcf7655ca..f03143b0d061051fcde7538efe57fbd5fc551ab4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1624,7 +1624,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0173-PreCreatureSpawnEvent.patch b/patches/server/0173-PreCreatureSpawnEvent.patch index 1227295d206..3ebb425a2c7 100644 --- a/patches/server/0173-PreCreatureSpawnEvent.patch +++ b/patches/server/0173-PreCreatureSpawnEvent.patch @@ -55,7 +55,7 @@ index 3f2cad4c9c0400bf93932cb7f7219c2185fc7370..5c8e36ea8287029b1789719c687bac1a if (t0 != null) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 5e31d2799c299e5c3d4c02871f785179a2422323..fb621b161b0a47fac2c44b369ed01c27278bc4f6 100644 +index 606dbc398745b689f957e62ebd9eaa56a67a61f3..7df13199eacc8dec0ba8fbf10ea507b0d1c5f591 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -430,6 +430,16 @@ public class EntityType implements FeatureElement, EntityTypeT diff --git a/patches/server/0182-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/server/0182-Add-more-fields-to-AsyncPreLoginEvent.patch index 15e0a9872d2..05bf2e60ada 100644 --- a/patches/server/0182-Add-more-fields-to-AsyncPreLoginEvent.patch +++ b/patches/server/0182-Add-more-fields-to-AsyncPreLoginEvent.patch @@ -7,7 +7,7 @@ Co-authored-by: Connor Linfoot Co-authored-by: MCMDEV diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 31379b0aee05862dc44f507a64f19a810e0208d5..8f72dafebcca68263eeef4076c3251819815c77d 100644 +index 2640041bfacda7612908c41e1506bf6668eb274f..43c77bef408c016ee40454bdebb8662929a0b7f0 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -184,7 +184,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0183-Player.setPlayerProfile-API.patch b/patches/server/0183-Player.setPlayerProfile-API.patch index 4da9ac899a6..5ea76cbb797 100644 --- a/patches/server/0183-Player.setPlayerProfile-API.patch +++ b/patches/server/0183-Player.setPlayerProfile-API.patch @@ -9,10 +9,10 @@ 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 56134a163da44b0bb50121831e91e9f93e86417d..82cc40becd6c08364d9547aea0d7ffa5c407c42e 100644 +index ae0e3694f3971908cb472b1165d2649265e1bdca..66ca4d1f28143d1e4ce99532c6c2bd64cde67024 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1465,7 +1465,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1459,7 +1459,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.internalTeleport(dest.getX(), dest.getY(), dest.getZ(), dest.getYaw(), dest.getPitch(), Collections.emptySet()); } @@ -22,7 +22,7 @@ index 56134a163da44b0bb50121831e91e9f93e86417d..82cc40becd6c08364d9547aea0d7ffa5 if (Float.isNaN(f)) { f = 0; diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 8f72dafebcca68263eeef4076c3251819815c77d..96a7d52f982d2dcc5fa391007e5861ca62ec0841 100644 +index 43c77bef408c016ee40454bdebb8662929a0b7f0..2ca467bd9c53a59f1ca9b8e1c2cf683182a71910 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -334,11 +334,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @@ -77,10 +77,10 @@ index 818df09e9245b5d89b4180b1eaa51470b7539341..461656e1cb095243bfe7a9ee2906e5b0 public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 40a1b3a5dde30c1e47c2e0419cca23fc25185419..981bdd5543a41517f5ead64cdce299cd3725e76c 100644 +index f03143b0d061051fcde7538efe57fbd5fc551ab4..4d9c2ce3bdfc2d6df53d49e82e4fec5638cd28d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -246,11 +246,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -247,11 +247,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.server.getPlayer(this.getUniqueId()) != null; } @@ -220,10 +220,10 @@ index 40a1b3a5dde30c1e47c2e0419cca23fc25185419..981bdd5543a41517f5ead64cdce299cd public void onEntityRemove(Entity entity) { this.invertedVisibilityEntities.remove(entity.getUUID()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index c2f46c2d7c4035848724cdccdce23f45774e338c..ceeb7381f81daa29f7ac76c68cb3d44886d5ceb5 100644 +index fc04bfcb8b5dfa6d093c8d75b2f20c502ef94a63..07239f25bc927c44a9d17f4796db3a107b8e14e0 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -369,6 +369,13 @@ public class Commodore { +@@ -378,6 +378,13 @@ public class Commodore { } // Paper end - Rewrite plugins diff --git a/patches/server/0188-Flag-to-disable-the-channel-limit.patch b/patches/server/0188-Flag-to-disable-the-channel-limit.patch index 8a6cf594d49..7055f7690dd 100644 --- a/patches/server/0188-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0188-Flag-to-disable-the-channel-limit.patch @@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 981bdd5543a41517f5ead64cdce299cd3725e76c..a17bbb4b781870cd9a32a3a6e797ba465808d74f 100644 +index 4d9c2ce3bdfc2d6df53d49e82e4fec5638cd28d5..6015ceaa922fd246bb2561a20a8d894444490094 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -207,6 +207,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private CraftWorldBorder clientWorldBorder = null; private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API diff --git a/patches/server/0194-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0194-Expand-World.spawnParticle-API-and-add-Builder.patch index 6c3c4c593fe..a3e3807ea29 100644 --- a/patches/server/0194-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0194-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,10 +34,10 @@ index 7be0547f6225a6be6ca1037f63f4aff8759b5dc4..e79329ee9b02a11b55253cf2ce4e08b2 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b42d482defda5a91f4e625308d5fec8c8369e5fb..c542c932f1f02df69678048e5a8e7c07b68f357d 100644 +index 705cfb8ac38ee49adfb36a93b6939c975bbe95e9..8faebe25c0242eaf15a6b67fb1ade71cc46d263e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1957,12 +1957,19 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1957,8 +1957,19 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { @@ -47,13 +47,13 @@ index b42d482defda5a91f4e625308d5fec8c8369e5fb..c542c932f1f02df69678048e5a8e7c07 + @Override + public void spawnParticle(Particle particle, List receivers, Player sender, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { + // Paper end - Particle API - data = CraftParticle.convertLegacy(data); - if (data != null) { - Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); - } ++ data = CraftParticle.convertLegacy(data); ++ if (data != null) { ++ Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); ++ } this.getHandle().sendParticles( - null, // Sender -+ receivers == null ? getHandle().players() : receivers.stream().map(player -> ((CraftPlayer) player).getHandle()).collect(java.util.stream.Collectors.toList()), // Paper - Particle API ++ receivers == null ? this.getHandle().players() : receivers.stream().map(player -> ((CraftPlayer) player).getHandle()).collect(java.util.stream.Collectors.toList()), // Paper - Particle API + sender != null ? ((CraftPlayer) sender).getHandle() : null, // Sender // Paper - Particle API CraftParticle.createParticleParam(particle, data), // Particle x, y, z, // Position diff --git a/patches/server/0200-ItemStack-getMaxItemUseDuration.patch b/patches/server/0200-ItemStack-getMaxItemUseDuration.patch index b292904adea..d7b18de72a2 100644 --- a/patches/server/0200-ItemStack-getMaxItemUseDuration.patch +++ b/patches/server/0200-ItemStack-getMaxItemUseDuration.patch @@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 09c363f483cb12be01afd9a274c541f3bdeb992c..a58e865a047550cc4508d0515cc6f2fc639f9b3d 100644 +index d302767e8f01fdfcba9c22e2e35677afc18c0641..45a1f5123e5413cf8dd3db68bb47508567198403 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -187,6 +187,13 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0210-Expand-Explosions-API.patch b/patches/server/0210-Expand-Explosions-API.patch index b045a0aab88..c8b7653db69 100644 --- a/patches/server/0210-Expand-Explosions-API.patch +++ b/patches/server/0210-Expand-Explosions-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c542c932f1f02df69678048e5a8e7c07b68f357d..81c12ffb8c0996f081e951af0a68eb985a3b3d3d 100644 +index 8faebe25c0242eaf15a6b67fb1ade71cc46d263e..f2e67748d2970207907b3120b0d0fb50744eb7c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -764,6 +764,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0214-Implement-World.getEntity-UUID-API.patch b/patches/server/0214-Implement-World.getEntity-UUID-API.patch index 665e7c624fa..3e9389db229 100644 --- a/patches/server/0214-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0214-Implement-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 81c12ffb8c0996f081e951af0a68eb985a3b3d3d..59060c33f87db609510df111234b957b51badd87 100644 +index f2e67748d2970207907b3120b0d0fb50744eb7c2..2abd68c5a8c53dfc503b732f64b3ba3195244fbf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1100,6 +1100,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0215-InventoryCloseEvent-Reason-API.patch b/patches/server/0215-InventoryCloseEvent-Reason-API.patch index 9d216e99c5b..d1ed83cce0b 100644 --- a/patches/server/0215-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0215-InventoryCloseEvent-Reason-API.patch @@ -75,10 +75,10 @@ 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 82cc40becd6c08364d9547aea0d7ffa5c407c42e..36f7a897bd1e0b73c6969cd6d46abe3496098189 100644 +index 66ca4d1f28143d1e4ce99532c6c2bd64cde67024..18a0dc407331cc3c85dc84580419e0c241e72435 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2612,10 +2612,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2606,10 +2606,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { @@ -165,7 +165,7 @@ index dd3377a4f69e5ac10905e52d0eecc2427e72d856..c79607a2f45b7a487a95cf98b9b0eb6b @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a17bbb4b781870cd9a32a3a6e797ba465808d74f..f161f564a682bf7c5fc9f3ffa0df8fcaa7c2d86c 100644 +index 6015ceaa922fd246bb2561a20a8d894444490094..c9af0b1ebf43cbd85d557bd053ef31eb9a975746 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1260,7 +1260,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch index edd160367a2..2cb488e718b 100644 --- a/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ 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 36f7a897bd1e0b73c6969cd6d46abe3496098189..b9fb2472405c19afb9888720a9abd86687e9bf12 100644 +index 18a0dc407331cc3c85dc84580419e0c241e72435..6755bc8f53253e5fcaaa94f7b505cdbe82d43a57 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2489,6 +2489,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2483,6 +2483,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } if (event.isCancelled()) { diff --git a/patches/server/0230-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0230-Break-up-and-make-tab-spam-limits-configurable.patch index a5b47300c5a..444c042a872 100644 --- a/patches/server/0230-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/patches/server/0230-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,10 +22,10 @@ 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 b9fb2472405c19afb9888720a9abd86687e9bf12..f49f412781a8f341eda02de323f7298d5f0b25ee 100644 +index 6755bc8f53253e5fcaaa94f7b505cdbe82d43a57..dfaed8544c84f00d6092f7acab2193ee0228f9cf 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 +@@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private int ackBlockChangesUpTo = -1; // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); @@ -33,7 +33,7 @@ index b9fb2472405c19afb9888720a9abd86687e9bf12..f49f412781a8f341eda02de323f7298d // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -387,6 +388,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -381,6 +382,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.keepConnectionAlive(); // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; @@ -41,7 +41,7 @@ index b9fb2472405c19afb9888720a9abd86687e9bf12..f49f412781a8f341eda02de323f7298d /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -722,7 +724,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -716,7 +718,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async // CraftBukkit start diff --git a/patches/server/0232-Remove-unnecessary-itemmeta-handling.patch b/patches/server/0232-Remove-unnecessary-itemmeta-handling.patch index d30377bb508..6473d42f106 100644 --- a/patches/server/0232-Remove-unnecessary-itemmeta-handling.patch +++ b/patches/server/0232-Remove-unnecessary-itemmeta-handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Remove unnecessary itemmeta handling diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 04d8cfd0ef3cb9c60e93136376ae90144f3cb7ce..a31a6bb5cd42485a0ada8220f3d0eea15de67ef8 100644 +index 7ca60db3a639e68456933f8e5af900dc4aade575..836a9bb57fa6e916ed8a24c35426c6432f73be88 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -177,7 +177,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index afd29cbacc9..07df3453867 100644 --- a/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/patches/server/0247-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 59060c33f87db609510df111234b957b51badd87..4a7c418a497b98d5038794b6bbc38f5e0b7fedd7 100644 +index 2abd68c5a8c53dfc503b732f64b3ba3195244fbf..932e71656f587678c02766fc8cfb685034368016 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -407,7 +407,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch index d64894ccb84..41fec22d477 100644 --- a/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0249-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f161f564a682bf7c5fc9f3ffa0df8fcaa7c2d86c..8e294b2583b7a26c463d6f12d3c42c0da83741f8 100644 +index c9af0b1ebf43cbd85d557bd053ef31eb9a975746..cb50dbc10fa0ffb599a3644867eba2710afd09c5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2961,6 +2961,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2957,6 +2957,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0250-Improve-death-events.patch b/patches/server/0250-Improve-death-events.patch index 7c8c5577d1c..93a28bffedd 100644 --- a/patches/server/0250-Improve-death-events.patch +++ b/patches/server/0250-Improve-death-events.patch @@ -232,10 +232,10 @@ 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 b740d931ad7ad81bf94afa62a9ae44a2fe9549d4..2b282ba23444110949508dac11a25fee4e472f5d 100644 +index 2f33036a78a120898b18301bae1585c65fdb69dc..f91d6cc59f203fc67e38ba92159dbae22b6dbfac 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1167,6 +1167,12 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1170,6 +1170,12 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti } @@ -248,7 +248,7 @@ index b740d931ad7ad81bf94afa62a9ae44a2fe9549d4..2b282ba23444110949508dac11a25fee @Override protected void dropCustomDeathLoot(DamageSource source, int lootingMultiplier, boolean allowDrops) { super.dropCustomDeathLoot(source, lootingMultiplier, allowDrops); -@@ -1175,6 +1181,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1178,6 +1184,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti for (int k = 0; k < j; ++k) { EquipmentSlot enumitemslot = aenumitemslot[k]; @@ -256,7 +256,7 @@ index b740d931ad7ad81bf94afa62a9ae44a2fe9549d4..2b282ba23444110949508dac11a25fee ItemStack itemstack = this.getItemBySlot(enumitemslot); float f = this.getEquipmentDropChance(enumitemslot); boolean flag1 = f > 1.0F; -@@ -1185,7 +1192,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1188,7 +1195,13 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti } this.spawnAtLocation(itemstack); @@ -427,7 +427,7 @@ index 042968ff848da74be0c9fcf9bac3d0adfb135802..cb3729509e50fed64b17f16797825c1d this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8e294b2583b7a26c463d6f12d3c42c0da83741f8..bca943e23d4869dbab6988220431e7a97e02258b 100644 +index cb50dbc10fa0ffb599a3644867eba2710afd09c5..30e815d3bde7b5b2131d8c54fb0f3a8d7be966db 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2502,7 +2502,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0251-Allow-chests-to-be-placed-with-NBT-data.patch b/patches/server/0251-Allow-chests-to-be-placed-with-NBT-data.patch index b0b5519e048..5972197d722 100644 --- a/patches/server/0251-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/patches/server/0251-Allow-chests-to-be-placed-with-NBT-data.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a31a6bb5cd42485a0ada8220f3d0eea15de67ef8..c323ecdb82b5c0a2ae24c485a36ffa16258d555d 100644 +index 836a9bb57fa6e916ed8a24c35426c6432f73be88..72ce219546306fc50da37468f37cec8e6bf551fe 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -470,6 +470,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0261-Add-sun-related-API.patch b/patches/server/0261-Add-sun-related-API.patch index c9746a7ad08..6ae32c96029 100644 --- a/patches/server/0261-Add-sun-related-API.patch +++ b/patches/server/0261-Add-sun-related-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add sun related API public net.minecraft.world.entity.Mob isSunBurnTick()Z diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4a7c418a497b98d5038794b6bbc38f5e0b7fedd7..5d5eb6cef3b9646fab6c8da2a67d269312e6958c 100644 +index 932e71656f587678c02766fc8cfb685034368016..cbb7ffab637e640eb2cedfac63c13392147f7e12 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -731,6 +731,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0267-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0267-Add-option-to-prevent-players-from-moving-into-unloa.patch index a02a4a035f1..0c5151b43a7 100644 --- a/patches/server/0267-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/patches/server/0267-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -6,10 +6,10 @@ 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 f49f412781a8f341eda02de323f7298d5f0b25ee..8a7b286bb2d2151d8f2182d1a8e0d891ff6d677a 100644 +index dfaed8544c84f00d6092f7acab2193ee0228f9cf..edf138c1671592fecfbb532015cda3542dd3f690 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -500,9 +500,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -494,9 +494,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d0 = entity.getX(); double d1 = entity.getY(); double d2 = entity.getZ(); @@ -22,7 +22,7 @@ index f49f412781a8f341eda02de323f7298d5f0b25ee..8a7b286bb2d2151d8f2182d1a8e0d891 float f = Mth.wrapDegrees(packet.getYRot()); float f1 = Mth.wrapDegrees(packet.getXRot()); double d6 = d3 - this.vehicleFirstGoodX; -@@ -536,6 +536,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -530,6 +530,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } speed *= 2f; // TODO: Get the speed of the vehicle instead of the player @@ -39,7 +39,7 @@ index f49f412781a8f341eda02de323f7298d5f0b25ee..8a7b286bb2d2151d8f2182d1a8e0d891 if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) { // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8}); -@@ -1168,9 +1178,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1162,9 +1172,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } else { this.awaitingTeleportTime = this.tickCount; @@ -52,7 +52,7 @@ index f49f412781a8f341eda02de323f7298d5f0b25ee..8a7b286bb2d2151d8f2182d1a8e0d891 float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot())); float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot())); -@@ -1228,6 +1238,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1222,6 +1232,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } else { speed = this.player.getAbilities().walkingSpeed * 10f; } diff --git a/patches/server/0274-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0274-Don-t-allow-digging-into-unloaded-chunks.patch index cbf1ee2ae5a..e7f3a33daac 100644 --- a/patches/server/0274-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/patches/server/0274-Don-t-allow-digging-into-unloaded-chunks.patch @@ -59,10 +59,10 @@ 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 8a7b286bb2d2151d8f2182d1a8e0d891ff6d677a..5443a2713c957b23deb903baf7039b0220699095 100644 +index edf138c1671592fecfbb532015cda3542dd3f690..578d70b6962201237069aba1208923fb7465e388 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1589,6 +1589,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1583,6 +1583,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl case START_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: diff --git a/patches/server/0278-Book-Size-Limits.patch b/patches/server/0278-Book-Size-Limits.patch index 4ca01babd38..2a4e92854c1 100644 --- a/patches/server/0278-Book-Size-Limits.patch +++ b/patches/server/0278-Book-Size-Limits.patch @@ -6,10 +6,10 @@ 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 5443a2713c957b23deb903baf7039b0220699095..5bf5a205ed4049fadd67903bb1b2d2fac249ce20 100644 +index 578d70b6962201237069aba1208923fb7465e388..b277029f20f27431d62f05bf8fbd65095c5b15a8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1046,6 +1046,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1040,6 +1040,45 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0279-Add-PlayerConnectionCloseEvent.patch b/patches/server/0279-Add-PlayerConnectionCloseEvent.patch index 186f1c35dba..f9b05320748 100644 --- a/patches/server/0279-Add-PlayerConnectionCloseEvent.patch +++ b/patches/server/0279-Add-PlayerConnectionCloseEvent.patch @@ -69,7 +69,7 @@ index 42c0723e2fe43e1f268119a16067e8bdfb971208..9885dec92cd26dec61c303dda687b0f9 } } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 96a7d52f982d2dcc5fa391007e5861ca62ec0841..88dfd9d66fbd1583407814978a1fd68edd386519 100644 +index 2ca467bd9c53a59f1ca9b8e1c2cf683182a71910..5bb7b0ab8a1e566f07f7f39bf072abcbe44e73d2 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -79,7 +79,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0280-Replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0280-Replace-OfflinePlayer-getLastPlayed.patch index a224972996a..9705fed9048 100644 --- a/patches/server/0280-Replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0280-Replace-OfflinePlayer-getLastPlayed.patch @@ -106,10 +106,10 @@ index 461656e1cb095243bfe7a9ee2906e5b00574ae78..411b280ac3e27e72091db813c0c9b69b public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bca943e23d4869dbab6988220431e7a97e02258b..02e7747ab83b7ae9a11a2a8dc48e16e1276bd952 100644 +index 30e815d3bde7b5b2131d8c54fb0f3a8d7be966db..81af2a449f38e3a67f0a80fb778ba690c2df887c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -207,6 +207,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -208,6 +208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; // Paper - more resource pack API private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit diff --git a/patches/server/0282-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/server/0282-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch index 6e2940f25cf..cc10b0260ba 100644 --- a/patches/server/0282-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch +++ b/patches/server/0282-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch @@ -8,10 +8,10 @@ We just add a check to ensure that the CraftPlayer's handle is a ServerPlayer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 02e7747ab83b7ae9a11a2a8dc48e16e1276bd952..f60929a391f26a34ca2e13066bd0c8e87d2c2343 100644 +index 81af2a449f38e3a67f0a80fb778ba690c2df887c..bd7f04aee3227c3430530334e171c287a6efdd30 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -221,8 +221,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -222,8 +222,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void remove() { diff --git a/patches/server/0285-Brigadier-Mojang-API.patch b/patches/server/0285-Brigadier-Mojang-API.patch index 03ac3a81f62..ef2aad96231 100644 --- a/patches/server/0285-Brigadier-Mojang-API.patch +++ b/patches/server/0285-Brigadier-Mojang-API.patch @@ -10,7 +10,7 @@ Adds CommandRegisteredEvent - Allows manipulating the CommandNode to add more children/metadata for the client diff --git a/build.gradle.kts b/build.gradle.kts -index e8f0f110532ad63be170152082dd5805a3e3c12c..f97ee2b7c1ef419746600c04eec3dbdf0e3fd5df 100644 +index fec06ac47cf190bf4d5d743c34e4a90b99a0af18..22f27a1ee5bf09247d9bcd50141add4116035735 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,6 +15,7 @@ val alsoShade: Configuration by configurations.creating @@ -131,10 +131,10 @@ index 6383cdfe3e2b61314fee7f7236dc7df1c1e8bfb6..3b59f3d92d781c16825f6f67b7252252 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 5bf5a205ed4049fadd67903bb1b2d2fac249ce20..85e6ab0d4f49b9b4041a2e3d5ba1786dedd0846e 100644 +index b277029f20f27431d62f05bf8fbd65095c5b15a8..afe102a677546dd16b91433c7a50c62a05a00b20 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -772,19 +772,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -766,19 +766,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl builder.suggest(completion.suggestion(), PaperAdventure.asVanilla(completion.tooltip())); } } diff --git a/patches/server/0287-Limit-Client-Sign-length-more.patch b/patches/server/0287-Limit-Client-Sign-length-more.patch index 6c95e236c86..3d821a48799 100644 --- a/patches/server/0287-Limit-Client-Sign-length-more.patch +++ b/patches/server/0287-Limit-Client-Sign-length-more.patch @@ -22,10 +22,10 @@ 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 85e6ab0d4f49b9b4041a2e3d5ba1786dedd0846e..556a10d17acbd558cd4b23f729dc1644ecdd2fed 100644 +index afe102a677546dd16b91433c7a50c62a05a00b20..4e649fe68c6d0cf42e35f821457064656410d823 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -300,6 +300,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -299,6 +299,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault(); private final FutureChain chatMessageChain; private boolean waitingForSwitchToConfig; @@ -33,7 +33,7 @@ index 85e6ab0d4f49b9b4041a2e3d5ba1786dedd0846e..556a10d17acbd558cd4b23f729dc1644 public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player, CommonListenerCookie clientData) { super(server, connection, clientData, player); // CraftBukkit -@@ -3144,7 +3145,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3138,7 +3139,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleSignUpdate(ServerboundSignUpdatePacket packet) { diff --git a/patches/server/0296-Add-Heightmap-API.patch b/patches/server/0296-Add-Heightmap-API.patch index d0295a1166a..6a2bacf567a 100644 --- a/patches/server/0296-Add-Heightmap-API.patch +++ b/patches/server/0296-Add-Heightmap-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5d5eb6cef3b9646fab6c8da2a67d269312e6958c..2bea9911fe29244d9028e29b60d986f8db0e14b3 100644 +index cbb7ffab637e640eb2cedfac63c13392147f7e12..c3cf58e297ca56d31bd4b1bcbef201afbcee0cb6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -229,6 +229,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0298-Fix-CB-call-to-changed-postToMainThread-method.patch b/patches/server/0298-Fix-CB-call-to-changed-postToMainThread-method.patch index a3ee37d8c68..b3bb4ebaeca 100644 --- a/patches/server/0298-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/patches/server/0298-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 89c05909c10ef5172693c5d9d8fdf7e6efead53b..96b5e033aab4e1ee090af77a871e643dbf6300a4 100644 +index b8b22a2b140b4d757add6eefa562d32430fb7424..237e3d8d2fd539f1fc6cd466ff124890dfa644d6 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -355,7 +355,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -366,7 +366,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack Objects.requireNonNull(this.connection); // CraftBukkit - Don't wait diff --git a/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch b/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch index c135681989b..05aee9d84e2 100644 --- a/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch +++ b/patches/server/0302-Show-blockstate-location-if-we-failed-to-read-it.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Show blockstate location if we failed to read it diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index fdd6f9e8164efedb3e8f29857ad35ed69e7b299d..52fe7315fa838e3b6b236127c293ac0e8528ee7d 100644 +index 25b7198c0e0afb7a09b1a68f5a53f5c44244cafb..89bd200befb65fe33ee049f7a07d5c771c971b13 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -30,6 +30,7 @@ public class CraftBlockEntityState extends CraftBlockStat diff --git a/patches/server/0351-Implement-Player-Client-Options-API.patch b/patches/server/0351-Implement-Player-Client-Options-API.patch index f8a2da7682a..01b0107c52f 100644 --- a/patches/server/0351-Implement-Player-Client-Options-API.patch +++ b/patches/server/0351-Implement-Player-Client-Options-API.patch @@ -136,10 +136,10 @@ index f6e4172f1c7ad38128e77e53f099e67a4c4be620..62bdc3016120271da2ca3a1f6ac46757 this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper this.requestedViewDistance = clientOptions.viewDistance(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f60929a391f26a34ca2e13066bd0c8e87d2c2343..348fdd1ff1f32ffa4d5c78ff42bc3983a773c658 100644 +index bd7f04aee3227c3430530334e171c287a6efdd30..caf81fefd2d873c714d16f6acf8a420d9ea07f04 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -650,6 +650,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -651,6 +651,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } diff --git a/patches/server/0360-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/server/0360-Validate-PickItem-Packet-and-kick-for-invalid.patch index 2ef957bfaf0..64608fdfddb 100644 --- a/patches/server/0360-Validate-PickItem-Packet-and-kick-for-invalid.patch +++ b/patches/server/0360-Validate-PickItem-Packet-and-kick-for-invalid.patch @@ -5,10 +5,10 @@ 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 556a10d17acbd558cd4b23f729dc1644ecdd2fed..819ef697b3d88024310745014b4c2457de07db37 100644 +index 4e649fe68c6d0cf42e35f821457064656410d823..997bf1c7bed5f78b017827acb6339f5e07791f7f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -898,7 +898,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -892,7 +892,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handlePickItem(ServerboundPickItemPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0363-misc-debugging-dumps.patch b/patches/server/0363-misc-debugging-dumps.patch index b06be0a7bdd..a86c2b61ba0 100644 --- a/patches/server/0363-misc-debugging-dumps.patch +++ b/patches/server/0363-misc-debugging-dumps.patch @@ -78,10 +78,10 @@ index a39753296a70a404b45dcb668ff42c1d88429e8e..1a8cfdd7c95460c359447dc69fadca07 this.running = false; if (waitForShutdown) { diff --git a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -index d13c57d5aa908e4c6ec835c78e6506a98033fb6d..318d28974b9b8b04f37bb80bbb37b67eef06b7e7 100644 +index 970d1ddf0a014b47b0ac97440489706137324991..e4086bea596e5f5d71491e0b7ad650d76939b8f9 100644 --- a/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java -@@ -68,6 +68,10 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis +@@ -62,6 +62,10 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis @Override public void onDisconnect(Component reason) { @@ -92,7 +92,7 @@ index d13c57d5aa908e4c6ec835c78e6506a98033fb6d..318d28974b9b8b04f37bb80bbb37b67e ServerConfigurationPacketListenerImpl.LOGGER.info("{} lost connection: {}", this.gameProfile, reason.getString()); super.onDisconnect(reason); } -@@ -155,6 +159,11 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis +@@ -149,6 +153,11 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis playerlist.placeNewPlayer(this.connection, entityplayer, this.createCookie(this.clientInformation)); } catch (Exception exception) { ServerConfigurationPacketListenerImpl.LOGGER.error("Couldn't place player in world", exception); diff --git a/patches/server/0364-Prevent-teleporting-dead-entities.patch b/patches/server/0364-Prevent-teleporting-dead-entities.patch index ae70124f670..fc30bb64c62 100644 --- a/patches/server/0364-Prevent-teleporting-dead-entities.patch +++ b/patches/server/0364-Prevent-teleporting-dead-entities.patch @@ -5,10 +5,10 @@ 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 819ef697b3d88024310745014b4c2457de07db37..85386ef1e4bb4e97b13f9f2394071c5c62aa5f10 100644 +index 997bf1c7bed5f78b017827acb6339f5e07791f7f..652e9e31cbda3551f6ddd5c697a0fa47ce1382b7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1546,6 +1546,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1540,6 +1540,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set set) { // Paper diff --git a/patches/server/0365-Implement-Mob-Goal-API.patch b/patches/server/0365-Implement-Mob-Goal-API.patch index 587df4859c2..91ecaa38b2a 100644 --- a/patches/server/0365-Implement-Mob-Goal-API.patch +++ b/patches/server/0365-Implement-Mob-Goal-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement Mob Goal API diff --git a/build.gradle.kts b/build.gradle.kts -index f97ee2b7c1ef419746600c04eec3dbdf0e3fd5df..9d570d0289ff33b78cea805070e684f8b00b5fe8 100644 +index 22f27a1ee5bf09247d9bcd50141add4116035735..fb7e956fd7beb741984780a9492230916a330504 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -42,6 +42,7 @@ dependencies { @@ -13,7 +13,7 @@ index f97ee2b7c1ef419746600c04eec3dbdf0e3fd5df..9d570d0289ff33b78cea805070e684f8 runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18") + testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test - testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") + testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testImplementation("org.hamcrest:hamcrest:2.2") testImplementation("org.mockito:mockito-core:5.11.0") diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java diff --git a/patches/server/0381-Prevent-position-desync-causing-tp-exploit.patch b/patches/server/0381-Prevent-position-desync-causing-tp-exploit.patch index dc71f8a5586..cc71ab24def 100644 --- a/patches/server/0381-Prevent-position-desync-causing-tp-exploit.patch +++ b/patches/server/0381-Prevent-position-desync-causing-tp-exploit.patch @@ -13,10 +13,10 @@ 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 85386ef1e4bb4e97b13f9f2394071c5c62aa5f10..5551fe83f1b27426c8d55754bb058703effa7ecd 100644 +index 652e9e31cbda3551f6ddd5c697a0fa47ce1382b7..a8155150c75f17b56ab5ebdb435d61d2b0ee576f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1361,6 +1361,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1355,6 +1355,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move diff --git a/patches/server/0383-Add-PlayerRecipeBookClickEvent.patch b/patches/server/0383-Add-PlayerRecipeBookClickEvent.patch index 407d50c8d64..7f2ad0e0dc0 100644 --- a/patches/server/0383-Add-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0383-Add-PlayerRecipeBookClickEvent.patch @@ -5,10 +5,10 @@ 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 5551fe83f1b27426c8d55754bb058703effa7ecd..be496398916fc84abf7950a8613297413c2436bc 100644 +index a8155150c75f17b56ab5ebdb435d61d2b0ee576f..8cb7b1c6ce0d0cc5bbd9d373772ef3aae3f62c7f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3051,16 +3051,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3045,16 +3045,40 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (!this.player.containerMenu.stillValid(this.player)) { ServerGamePacketListenerImpl.LOGGER.debug("Player {} interacted with invalid menu {}", this.player, this.player.containerMenu); } else { diff --git a/patches/server/0385-Add-permission-for-command-blocks.patch b/patches/server/0385-Add-permission-for-command-blocks.patch index 35ded900dcf..56b93f4de83 100644 --- a/patches/server/0385-Add-permission-for-command-blocks.patch +++ b/patches/server/0385-Add-permission-for-command-blocks.patch @@ -18,10 +18,10 @@ 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 be496398916fc84abf7950a8613297413c2436bc..2003c95bf5f25ff6f09dd3ae569b3aff8c24ab49 100644 +index 8cb7b1c6ce0d0cc5bbd9d373772ef3aae3f62c7f..5bc22e58a6ddfc0a5459c68e99fdf1095f23f0d8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -809,7 +809,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -803,7 +803,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendSystemMessage(Component.translatable("advMode.notEnabled")); @@ -30,7 +30,7 @@ index be496398916fc84abf7950a8613297413c2436bc..2003c95bf5f25ff6f09dd3ae569b3aff this.player.sendSystemMessage(Component.translatable("advMode.notAllowed")); } else { BaseCommandBlock commandblocklistenerabstract = null; -@@ -876,7 +876,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -870,7 +870,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendSystemMessage(Component.translatable("advMode.notEnabled")); diff --git a/patches/server/0387-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0387-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 64d4e669b01..8dbe23638f6 100644 --- a/patches/server/0387-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0387-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -89,10 +89,10 @@ 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 2003c95bf5f25ff6f09dd3ae569b3aff8c24ab49..e89d2fe13d68100ea1cb11e9810ea940193c7049 100644 +index 5bc22e58a6ddfc0a5459c68e99fdf1095f23f0d8..324229e960c6fdf3de2a8d5c0c5516e262985efc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3254,7 +3254,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3248,7 +3248,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) { @@ -117,7 +117,7 @@ index 11c41e2a0887a59b7b3328b28628ce5958fc06d2..946ad5418950daf13e449233eac94c13 for (SpawnCategory spawnCategory : SpawnCategory.values()) { if (CraftSpawnCategory.isValidForLimits(spawnCategory)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2bea9911fe29244d9028e29b60d986f8db0e14b3..d5a9409ee45b6b0e0ec8380db041c1334aad994f 100644 +index c3cf58e297ca56d31bd4b1bcbef201afbcee0cb6..29eed790684d03890d73d9692028d65fde143765 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1163,7 +1163,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0389-Improve-Legacy-Component-serialization-size.patch b/patches/server/0389-Improve-Legacy-Component-serialization-size.patch index e5d448cfd68..2fc5b1860fe 100644 --- a/patches/server/0389-Improve-Legacy-Component-serialization-size.patch +++ b/patches/server/0389-Improve-Legacy-Component-serialization-size.patch @@ -7,7 +7,7 @@ Don't constantly send format: false for all formatting options when parent alrea has it false diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java -index f07234e19dc9f84ff4f4b5e5e811e2813184978b..ab539b8e0d70d0fbe160e031e165aca042a0693f 100644 +index 51094fe6e37d3c0fad2682353f8de3d1b9c9aef5..42ab6e0ba77fb2f0350bee72488e905074989b4d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java @@ -47,6 +47,7 @@ public final class CraftChatMessage { diff --git a/patches/server/0390-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0390-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index cd41241a8fe..f1a86790726 100644 --- a/patches/server/0390-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0390-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -44,7 +44,7 @@ index 946ad5418950daf13e449233eac94c1311f3d926..a22b146e2bfdeb66aca8abb5fb23ee5c this.printSaveWarning = false; this.console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d5a9409ee45b6b0e0ec8380db041c1334aad994f..d4697f2f4c71001dba2cc3a69d54f27809766595 100644 +index 29eed790684d03890d73d9692028d65fde143765..630b3e9a9a89016846dba1b18ff68c11f1815685 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -289,7 +289,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0391-Add-BlockStateMeta-clearBlockState.patch b/patches/server/0391-Add-BlockStateMeta-clearBlockState.patch index 492ab3531ba..01340d9d9bc 100644 --- a/patches/server/0391-Add-BlockStateMeta-clearBlockState.patch +++ b/patches/server/0391-Add-BlockStateMeta-clearBlockState.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add BlockStateMeta#clearBlockState diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -index 429f962fa16a6aedcd2a17d23b06de41c782417d..aef8708c38a0215241b110d4446a3c341a9912cb 100644 +index 1cd561afe36cd6567109e1f3e858de596a38654d..2e5a347bd15962f6bc466bb29302b1e8fb1c94fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBlockState.java -@@ -313,6 +313,13 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta +@@ -317,6 +317,13 @@ public class CraftMetaBlockState extends CraftMetaItem implements BlockStateMeta return this.blockEntityTag != null; } diff --git a/patches/server/0392-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0392-Convert-legacy-attributes-in-Item-Meta.patch index a7f195a1dc2..b412fb6983c 100644 --- a/patches/server/0392-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0392-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 d9583b6f4e78a3fac594a7448e105507f33caa91..93350ee9ad3a6309e6baae97105328f78d485656 100644 +index 122142125dcba97572b1e0b9195e534a0e2257d9..a3ae3203e04dfb791b8aa537a303f4a4bd6cbab6 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/0393-Do-not-accept-invalid-client-settings.patch b/patches/server/0393-Do-not-accept-invalid-client-settings.patch index 30d85540619..ad0a7a55eae 100644 --- a/patches/server/0393-Do-not-accept-invalid-client-settings.patch +++ b/patches/server/0393-Do-not-accept-invalid-client-settings.patch @@ -5,10 +5,10 @@ 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 e89d2fe13d68100ea1cb11e9810ea940193c7049..5daa3798f118074d490246bd29804fbf8aed1e1e 100644 +index 324229e960c6fdf3de2a8d5c0c5516e262985efc..ec5e4e6eb1de7e134e30247a0c43e73af7263e47 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3246,6 +3246,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3240,6 +3240,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0407-Brand-support.patch b/patches/server/0407-Brand-support.patch index 39c89bba368..48b12ea61a6 100644 --- a/patches/server/0407-Brand-support.patch +++ b/patches/server/0407-Brand-support.patch @@ -17,10 +17,10 @@ index 0019e5313523521b4f1607dfc391d47c55961a48..a182ab1c06c4644e9c14d7a2eff2620d public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 96b5e033aab4e1ee090af77a871e643dbf6300a4..215da3c52dc7b9e92c23f352fa7cffc2fb3d8a1a 100644 +index 237e3d8d2fd539f1fc6cd466ff124890dfa644d6..d7ddfabcbacb077c337c789083a24ad82e08e82e 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -66,6 +66,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -77,6 +77,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private volatile boolean suspendFlushingOnServerThread = false; public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit @@ -28,7 +28,7 @@ index 96b5e033aab4e1ee090af77a871e643dbf6300a4..215da3c52dc7b9e92c23f352fa7cffc2 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -131,6 +132,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -142,6 +143,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { @@ -40,7 +40,7 @@ index 96b5e033aab4e1ee090af77a871e643dbf6300a4..215da3c52dc7b9e92c23f352fa7cffc2 if (!(packet.payload() instanceof DiscardedPayload)) { return; } -@@ -162,6 +168,15 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -173,6 +179,15 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack try { byte[] data = new byte[payload.readableBytes()]; payload.readBytes(data); @@ -57,10 +57,10 @@ index 96b5e033aab4e1ee090af77a871e643dbf6300a4..215da3c52dc7b9e92c23f352fa7cffc2 } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 348fdd1ff1f32ffa4d5c78ff42bc3983a773c658..45f1d3d15e2a8ba61f497fa8c90ca1496a59b337 100644 +index caf81fefd2d873c714d16f6acf8a420d9ea07f04..36851e22972f120f9b33359df7a82b59f95dd47a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3120,6 +3120,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3116,6 +3116,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0410-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0410-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 1684f104f9f..02fed284408 100644 --- a/patches/server/0410-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0410-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -19,7 +19,7 @@ index a17f6ee94a686390b8dd3bb676f11986ec0dc8ac..4efb57b2b252a2bed50685162cc96575 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d4697f2f4c71001dba2cc3a69d54f27809766595..4d75cf0ec9e835b4274297275d52f08a6a65aeca 100644 +index 630b3e9a9a89016846dba1b18ff68c11f1815685..2436d66fb3be1611885bf05b793975dc2aa1a2e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -269,12 +269,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0417-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0417-Fix-hex-colors-not-working-in-some-kick-messages.patch index 6859e37950d..0f9bba490bc 100644 --- a/patches/server/0417-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ b/patches/server/0417-Fix-hex-colors-not-working-in-some-kick-messages.patch @@ -29,7 +29,7 @@ index bc15794e0a3909ab9ceeded35158bea4c23fb45a..bcdb2cc4c735d939bdd0e9b7ec5246f5 this.connection.disconnect(ichatmutablecomponent); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 88dfd9d66fbd1583407814978a1fd68edd386519..5fa0947bd6029f37d786488b44ec23090c45963a 100644 +index 5bb7b0ab8a1e566f07f7f39bf072abcbe44e73d2..b968026728b8b4e549eed9fa9b43919c6c19eb7a 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -126,7 +126,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0418-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0418-PortalCreateEvent-needs-to-know-its-entity.patch index e8caa43a1e2..d4f1e75eb46 100644 --- a/patches/server/0418-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/patches/server/0418-PortalCreateEvent-needs-to-know-its-entity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index c323ecdb82b5c0a2ae24c485a36ffa16258d555d..c8af2f886ad834d6a405df00560b0f8225fcf471 100644 +index 72ce219546306fc50da37468f37cec8e6bf551fe..d95272b1765368a4cd968fa566ad68844dced4c8 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -502,7 +502,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0423-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0423-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index fed71b1d406..e275eb17f83 100644 --- a/patches/server/0423-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0423-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,10 +9,10 @@ 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 5daa3798f118074d490246bd29804fbf8aed1e1e..77140605ca66f7c8950ada65db2072b6e9621b53 100644 +index ec5e4e6eb1de7e134e30247a0c43e73af7263e47..6d47fb4c90d506c72d111f66ee2c46ee74265a37 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -682,7 +682,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -676,7 +676,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -21,7 +21,7 @@ index 5daa3798f118074d490246bd29804fbf8aed1e1e..77140605ca66f7c8950ada65db2072b6 this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1589,7 +1589,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1583,7 +1583,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.awaitingTeleportTime = this.tickCount; this.player.resetCurrentImpulseContext(); diff --git a/patches/server/0433-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0433-Fix-for-large-move-vectors-crashing-server.patch index 339642f6df3..a80c955bab2 100644 --- a/patches/server/0433-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0433-Fix-for-large-move-vectors-crashing-server.patch @@ -6,10 +6,10 @@ 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 77140605ca66f7c8950ada65db2072b6e9621b53..1fc1960b6ef6d1f8f79a831c7bcd8ed8ce68726b 100644 +index 6d47fb4c90d506c72d111f66ee2c46ee74265a37..132f28f5fdb08357f70270f0b4453597387c86ea 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -498,9 +498,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -492,9 +492,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl float prevYaw = this.player.getYRot(); float prevPitch = this.player.getXRot(); // CraftBukkit end @@ -22,7 +22,7 @@ index 77140605ca66f7c8950ada65db2072b6e9621b53..1fc1960b6ef6d1f8f79a831c7bcd8ed8 double d3 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX()); final double toX = d3; // Paper - OBFHELPER double d4 = ServerGamePacketListenerImpl.clampVertical(packet.getY()); final double toY = d4; // Paper - OBFHELPER double d5 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ()); final double toZ = d5; // Paper - OBFHELPER -@@ -510,7 +510,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -504,7 +504,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d7 = d4 - this.vehicleFirstGoodY; double d8 = d5 - this.vehicleFirstGoodZ; double d9 = entity.getDeltaMovement().lengthSqr(); @@ -40,7 +40,7 @@ index 77140605ca66f7c8950ada65db2072b6e9621b53..1fc1960b6ef6d1f8f79a831c7bcd8ed8 // CraftBukkit start - handle custom speeds and skipped ticks this.allowedPlayerTicks += (System.currentTimeMillis() / 50) - this.lastTick; -@@ -556,9 +565,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -550,9 +559,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean flag = worldserver.noCollision(entity, entity.getBoundingBox().deflate(0.0625D)); @@ -53,7 +53,7 @@ index 77140605ca66f7c8950ada65db2072b6e9621b53..1fc1960b6ef6d1f8f79a831c7bcd8ed8 boolean flag1 = entity.verticalCollisionBelow; if (entity instanceof LivingEntity) { -@@ -1265,7 +1274,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1259,7 +1268,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d7 = d1 - this.firstGoodY; double d8 = d2 - this.firstGoodZ; double d9 = this.player.getDeltaMovement().lengthSqr(); @@ -71,7 +71,7 @@ index 77140605ca66f7c8950ada65db2072b6e9621b53..1fc1960b6ef6d1f8f79a831c7bcd8ed8 if (this.player.isSleeping()) { if (d10 > 1.0D) { -@@ -1321,9 +1339,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1315,9 +1333,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = this.player.getBoundingBox(); diff --git a/patches/server/0446-Add-API-for-quit-reason.patch b/patches/server/0446-Add-API-for-quit-reason.patch index 9b8e0a3fa6e..7b730314642 100644 --- a/patches/server/0446-Add-API-for-quit-reason.patch +++ b/patches/server/0446-Add-API-for-quit-reason.patch @@ -37,10 +37,10 @@ index a182ab1c06c4644e9c14d7a2eff2620d827dfb2c..edfcfb91d907d6e1837e5a5d0e7abb8c public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 215da3c52dc7b9e92c23f352fa7cffc2fb3d8a1a..d947eb533ba4dfd3b711e644d2a68238d1ec007a 100644 +index d7ddfabcbacb077c337c789083a24ad82e08e82e..2872bef40440b11a206c3ec88e2c6d95cd1a72e9 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -360,6 +360,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -371,6 +371,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack final Component ichatbasecomponent = io.papermc.paper.adventure.PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end diff --git a/patches/server/0450-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0450-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index cca20fc41cb..802e588e889 100644 --- a/patches/server/0450-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0450-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 45f1d3d15e2a8ba61f497fa8c90ca1496a59b337..b0b101b4c0327cfc00afdb2c8919f40422110595 100644 +index 36851e22972f120f9b33359df7a82b59f95dd47a..f4af230d447d97506b0d32b4d653c92edc462ca2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2686,7 +2686,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - if (data != null) { - Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); - } +@@ -2682,7 +2682,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + + @Override + public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data) { - ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), true, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); -+ ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), true, x, y, z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); // Paper - Fix x/y/z coordinate precision loss ++ ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.createParticleParam(particle, data), true, x, y, z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); // Paper - fix x/y/z precision loss this.getHandle().connection.send(packetplayoutworldparticles); } diff --git a/patches/server/0458-Limit-recipe-packets.patch b/patches/server/0458-Limit-recipe-packets.patch index 5df637122f6..31d5f14eecb 100644 --- a/patches/server/0458-Limit-recipe-packets.patch +++ b/patches/server/0458-Limit-recipe-packets.patch @@ -5,10 +5,10 @@ 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 1fc1960b6ef6d1f8f79a831c7bcd8ed8ce68726b..db441e55bc07b3e1db51ecaf7cef8a3844494ebe 100644 +index 132f28f5fdb08357f70270f0b4453597387c86ea..36ef3bbf70e71fd4712098bd1bd5af426e569fb5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -267,6 +267,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -266,6 +266,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits @@ -16,7 +16,7 @@ index 1fc1960b6ef6d1f8f79a831c7bcd8ed8ce68726b..db441e55bc07b3e1db51ecaf7cef8a38 // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -390,6 +391,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -384,6 +385,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; if (tabSpamLimiter.get() > 0) tabSpamLimiter.getAndDecrement(); // Paper - configurable tab spam limits @@ -24,7 +24,7 @@ index 1fc1960b6ef6d1f8f79a831c7bcd8ed8ce68726b..db441e55bc07b3e1db51ecaf7cef8a38 /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -3063,6 +3065,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3057,6 +3059,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/server/0473-Fix-interact-event-not-being-called-sometimes.patch b/patches/server/0473-Fix-interact-event-not-being-called-sometimes.patch index 1348bb2714a..61518602f2f 100644 --- a/patches/server/0473-Fix-interact-event-not-being-called-sometimes.patch +++ b/patches/server/0473-Fix-interact-event-not-being-called-sometimes.patch @@ -11,10 +11,10 @@ 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 db441e55bc07b3e1db51ecaf7cef8a3844494ebe..6dfc35d2d5a76e317ff7f15c85a84b72d28c5d0f 100644 +index 36ef3bbf70e71fd4712098bd1bd5af426e569fb5..41b520fb63dbbcf144e99364d21592152145d578 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1765,7 +1765,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1759,7 +1759,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -23,7 +23,7 @@ index db441e55bc07b3e1db51ecaf7cef8a3844494ebe..6dfc35d2d5a76e317ff7f15c85a84b72 this.player.swing(enumhand, true); } } -@@ -2381,13 +2381,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2375,13 +2375,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d3 = this.player.gameMode.getGameModeForPlayer() == GameType.CREATIVE ? 5.0D : 4.5D; // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time // SPIGOT-7429: Make sure to call PlayerInteractEvent for spectators and non-pickable entities diff --git a/patches/server/0477-Add-WorldGameRuleChangeEvent.patch b/patches/server/0477-Add-WorldGameRuleChangeEvent.patch index 41b4b9b7722..547e9cb24d2 100644 --- a/patches/server/0477-Add-WorldGameRuleChangeEvent.patch +++ b/patches/server/0477-Add-WorldGameRuleChangeEvent.patch @@ -64,7 +64,7 @@ index 0b46ad360be919e4aeb0ffc0eebae9fe712fb861..51e560d7856f230c5aa2dc32706c3a49 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4d75cf0ec9e835b4274297275d52f08a6a65aeca..4a51d0125d59b1edd2da7aac1db1ca49374c008c 100644 +index 2436d66fb3be1611885bf05b793975dc2aa1a2e8..10ef342b9648699d140968376894f4cd6feca028 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1883,8 +1883,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0487-Add-sendOpLevel-API.patch b/patches/server/0487-Add-sendOpLevel-API.patch index 40bd209fc20..9d0f7852245 100644 --- a/patches/server/0487-Add-sendOpLevel-API.patch +++ b/patches/server/0487-Add-sendOpLevel-API.patch @@ -32,10 +32,10 @@ index 505af87eaf8209437978848be1dde86f879f82f2..d5071f9f2d433706fc378f77906bb5f0 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b0b101b4c0327cfc00afdb2c8919f40422110595..4b822efa702b0bb08a9122554b41c22d68d39548 100644 +index f4af230d447d97506b0d32b4d653c92edc462ca2..d2443a4de68d9fea215c114ada8426f55d9dc8d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -674,6 +674,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -675,6 +675,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0499-Expand-EntityUnleashEvent.patch b/patches/server/0499-Expand-EntityUnleashEvent.patch index 129bd5e2fbe..d179143636f 100644 --- a/patches/server/0499-Expand-EntityUnleashEvent.patch +++ b/patches/server/0499-Expand-EntityUnleashEvent.patch @@ -5,10 +5,10 @@ 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 2b282ba23444110949508dac11a25fee4e472f5d..b7cc2b5ee85e8e6a5c8cb8ce1f3c934773be32e6 100644 +index f91d6cc59f203fc67e38ba92159dbae22b6dbfac..70a151c8d109780350423eba5a951733ac855f23 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1428,12 +1428,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1431,12 +1431,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { // CraftBukkit start - fire PlayerUnleashEntityEvent @@ -26,7 +26,7 @@ index 2b282ba23444110949508dac11a25fee4e472f5d..b7cc2b5ee85e8e6a5c8cb8ce1f3c9347 this.gameEvent(GameEvent.ENTITY_INTERACT, player); return InteractionResult.sidedSuccess(this.level().isClientSide); } else { -@@ -1601,8 +1604,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1604,8 +1607,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 2b282ba23444110949508dac11a25fee4e472f5d..b7cc2b5ee85e8e6a5c8cb8ce1f3c9347 } } -@@ -1670,8 +1676,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1673,8 +1679,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 2b282ba23444110949508dac11a25fee4e472f5d..b7cc2b5ee85e8e6a5c8cb8ce1f3c9347 } return flag1; -@@ -1848,8 +1857,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1851,8 +1860,11 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @Override protected void removeAfterChangingDimensions() { super.removeAfterChangingDimensions(); diff --git a/patches/server/0517-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0517-Allow-using-signs-inside-spawn-protection.patch index 789494c13d0..f71bd69625b 100644 --- a/patches/server/0517-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0517-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ 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 6dfc35d2d5a76e317ff7f15c85a84b72d28c5d0f..aca572c34e12618fa032344ce5b7d890d75120d0 100644 +index 41b520fb63dbbcf144e99364d21592152145d578..8689573179fdcc2751814e225743c16ce65ca8db 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1753,8 +1753,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1747,8 +1747,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl int i = this.player.level().getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/server/0523-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0523-Don-t-ignore-result-of-PlayerEditBookEvent.patch index 65fbf6884a3..df4031ea97c 100644 --- a/patches/server/0523-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0523-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,10 +5,10 @@ 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 aca572c34e12618fa032344ce5b7d890d75120d0..5f4689c411b3f8e89a018b596fa75c3e8fee408d 100644 +index 8689573179fdcc2751814e225743c16ce65ca8db..5fede6095ff9dc85d2f7e1cb2f5acb7216d21940 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1158,7 +1158,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1152,7 +1152,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl List> list1 = pages.stream().map(this::filterableFromOutgoing).toList(); itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1)); diff --git a/patches/server/0533-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0533-fix-PlayerItemHeldEvent-firing-twice.patch index 78af9fb4387..3f974caf76c 100644 --- a/patches/server/0533-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0533-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,10 +5,10 @@ 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 5f4689c411b3f8e89a018b596fa75c3e8fee408d..4371c93b31ca14e29c05d72487a41351e710db86 100644 +index 5fede6095ff9dc85d2f7e1cb2f5acb7216d21940..d57a7bca571c94e44b4d4aebaa26b568c5063f44 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1923,6 +1923,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1917,6 +1917,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (this.player.isImmobile()) return; // CraftBukkit if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) { diff --git a/patches/server/0535-More-World-API.patch b/patches/server/0535-More-World-API.patch index 082bdde4431..0e444d651b7 100644 --- a/patches/server/0535-More-World-API.patch +++ b/patches/server/0535-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4a51d0125d59b1edd2da7aac1db1ca49374c008c..518b3d6a1d339817328ca1081a44ea4d976ecbb5 100644 +index 10ef342b9648699d140968376894f4cd6feca028..5dbc079309933af548e5bec036475d6e621deb8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2128,6 +2128,53 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0538-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0538-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch index 354670a5548..048061b651e 100644 --- a/patches/server/0538-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch +++ b/patches/server/0538-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch @@ -6,10 +6,10 @@ 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 4371c93b31ca14e29c05d72487a41351e710db86..70d5f1202c38d2b73510a8e1fe0863492384cf20 100644 +index d57a7bca571c94e44b4d4aebaa26b568c5063f44..f84a6f1ec9d1081b05ab44dd99659918aa0f1874 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2716,7 +2716,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2710,7 +2710,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl case PERFORM_RESPAWN: if (this.player.wonGame) { this.player.wonGame = false; diff --git a/patches/server/0550-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0550-Expand-PlayerGameModeChangeEvent.patch index 26fabafdc5d..b59f7d772c2 100644 --- a/patches/server/0550-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0550-Expand-PlayerGameModeChangeEvent.patch @@ -132,10 +132,10 @@ 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 70d5f1202c38d2b73510a8e1fe0863492384cf20..f34960b459b9dd7340fd0b8b19739f085f30bae1 100644 +index f84a6f1ec9d1081b05ab44dd99659918aa0f1874..806f16a183ff1abae4cc21409bf8d26e0803483d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2725,7 +2725,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2719,7 +2719,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH); if (this.server.isHardcore()) { @@ -145,7 +145,7 @@ index 70d5f1202c38d2b73510a8e1fe0863492384cf20..f34960b459b9dd7340fd0b8b19739f08 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4b822efa702b0bb08a9122554b41c22d68d39548..5a81e5a50e31c46d94d1674c8b623cf4a1a2e0ae 100644 +index d2443a4de68d9fea215c114ada8426f55d9dc8d5..45174db532a56534184c201767910beb511cbea4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1640,7 +1640,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0553-Move-range-check-for-block-placing-up.patch b/patches/server/0553-Move-range-check-for-block-placing-up.patch index 8e2f6a1473d..3c66f1bf6ab 100644 --- a/patches/server/0553-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0553-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ 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 f34960b459b9dd7340fd0b8b19739f085f30bae1..f5e0d9765dc92e886618d8180a598515c856b789 100644 +index 806f16a183ff1abae4cc21409bf8d26e0803483d..011b69407b56eaea3f373d6e438a4b2b222fcc03 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1740,6 +1740,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1734,6 +1734,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (itemstack.isItemEnabled(worldserver.enabledFeatures())) { BlockHitResult movingobjectpositionblock = packet.getHitResult(); Vec3 vec3d = movingobjectpositionblock.getLocation(); diff --git a/patches/server/0556-Add-Unix-domain-socket-support.patch b/patches/server/0556-Add-Unix-domain-socket-support.patch index 08ae4127ce2..c289ae85a2c 100644 --- a/patches/server/0556-Add-Unix-domain-socket-support.patch +++ b/patches/server/0556-Add-Unix-domain-socket-support.patch @@ -87,10 +87,10 @@ 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 f5e0d9765dc92e886618d8180a598515c856b789..2c4360431135b665e7b95cd3d59bb38871bca68b 100644 +index 011b69407b56eaea3f373d6e438a4b2b222fcc03..210f98f45eaec9470c5e66b3990dc24ca167c0c0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2544,6 +2544,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2538,6 +2538,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot Start public SocketAddress getRawAddress() { diff --git a/patches/server/0559-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0559-Add-cause-to-Weather-ThunderChangeEvents.patch index ae6c28be861..92b87ba18e2 100644 --- a/patches/server/0559-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0559-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -95,7 +95,7 @@ index e50ad48658193f889d65d37c57b1e30ce46758b7..efd0bcfebb3b4f63018d4e20a6a89f79 if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 518b3d6a1d339817328ca1081a44ea4d976ecbb5..24ecb71a878106c1e45564d356affe03ba1d1367 100644 +index 5dbc079309933af548e5bec036475d6e621deb8e..26457cb201b84547875b2989f55f4f4d2c8c03ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1206,7 +1206,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0562-Add-PlayerKickEvent-causes.patch b/patches/server/0562-Add-PlayerKickEvent-causes.patch index 9551550f091..70adee8b166 100644 --- a/patches/server/0562-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0562-Add-PlayerKickEvent-causes.patch @@ -95,10 +95,10 @@ index d1caaecfdfba1cdeba032f0bc38c06541fa61633..6468b3a25c7527a2fde6899e4812b5cb i++; } diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a294553c70b97 100644 +index 2872bef40440b11a206c3ec88e2c6d95cd1a72e9..0273998b72c9d8a1e7de4b1195c547001922cb8e 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -116,7 +116,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -127,7 +127,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -107,7 +107,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 }); // Paper end - This needs to be handled on the main thread for plugins } -@@ -152,7 +152,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -163,7 +163,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -116,7 +116,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } } else if (identifier.equals(ServerCommonPacketListenerImpl.CUSTOM_UNREGISTER)) { try { -@@ -162,7 +162,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -173,7 +173,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -125,7 +125,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } } else { try { -@@ -180,7 +180,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -191,7 +191,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -134,7 +134,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } } -@@ -196,7 +196,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -207,7 +207,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack PacketUtils.ensureRunningOnSameThread(packet, this, (BlockableEventLoop) this.server); if (packet.action() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerCommonPacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack {} rejection", this.playerProfile().getName(), packet.id()); @@ -143,7 +143,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } // Paper start - adventure pack callbacks // call the callbacks before the previously-existing event so the event has final say -@@ -238,7 +238,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -249,7 +249,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack if (!this.isSingleplayerOwner() && elapsedTime >= KEEPALIVE_LIMIT) { // Paper - check keepalive limit, don't fire if already disconnected if (this.keepAlivePending && !this.processedDisconnect) { // Paper @@ -152,7 +152,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } else if (this.checkIfClosed(currentTime)) { // Paper this.keepAlivePending = true; this.keepAliveTime = currentTime; -@@ -254,7 +254,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -265,7 +265,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private boolean checkIfClosed(long time) { if (this.closed) { if (time - this.closedListenerTime >= 15000L) { @@ -161,7 +161,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 } return false; -@@ -305,18 +305,28 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -316,18 +316,28 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } // CraftBukkit start @@ -194,7 +194,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 // Paper end // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { -@@ -326,7 +336,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -337,7 +347,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -203,7 +203,7 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 return null; } }; -@@ -345,7 +355,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -356,7 +366,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack net.kyori.adventure.text.Component leaveMessage = net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? this.player.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(this.player.getScoreboardName())); // Paper - Adventure @@ -213,10 +213,10 @@ index d947eb533ba4dfd3b711e644d2a68238d1ec007a..b9767aff520d32d4615e3cb9e24a2945 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 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05aed4e8a65 100644 +index 210f98f45eaec9470c5e66b3990dc24ca167c0c0..53b833753b73c27110fcfccf8f2dcdb9a11a3545 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -355,7 +355,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -349,7 +349,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger() && !this.player.isDeadOrDying()) { if (++this.aboveGroundTickCount > this.getMaximumFlyingTicks(this.player)) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -225,7 +225,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } } else { -@@ -374,7 +374,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -368,7 +368,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.clientVehicleIsFloating && this.lastVehicle.getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > this.getMaximumFlyingTicks(this.lastVehicle)) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); @@ -234,7 +234,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } } else { -@@ -405,7 +405,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -399,7 +399,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) { this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 @@ -243,7 +243,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } } -@@ -487,7 +487,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -481,7 +481,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleMoveVehicle(ServerboundMoveVehiclePacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(), packet.getY(), packet.getZ(), packet.getYRot(), packet.getXRot())) { @@ -252,7 +252,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } else { Entity entity = this.player.getRootVehicle(); -@@ -689,7 +689,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -683,7 +683,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { @@ -261,7 +261,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } -@@ -747,7 +747,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -741,7 +741,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper - configurable tab spam limits @@ -270,7 +270,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } // CraftBukkit end -@@ -912,7 +912,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -906,7 +906,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper start - validate pick item position if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -279,7 +279,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed -@@ -1091,7 +1091,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1085,7 +1085,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length; if (byteLength > 256 * 4) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!"); @@ -288,7 +288,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } byteTotal += byteLength; -@@ -1114,14 +1114,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1108,14 +1108,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); @@ -305,7 +305,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } this.lastBookTick = MinecraftServer.currentTick; -@@ -1233,7 +1233,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1227,7 +1227,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) { @@ -314,7 +314,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } else { ServerLevel worldserver = this.player.serverLevel(); -@@ -1662,7 +1662,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1656,7 +1656,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.dropCount++; if (this.dropCount >= 20) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!"); @@ -323,7 +323,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } } -@@ -1945,7 +1945,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1939,7 +1939,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetLastActionTime(); } else { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -332,7 +332,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } } -@@ -2143,7 +2143,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2137,7 +2137,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) { @@ -341,7 +341,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false)); } else { -@@ -2166,7 +2166,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2160,7 +2160,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (optional.isEmpty()) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -350,7 +350,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } return optional; -@@ -2352,7 +2352,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2346,7 +2346,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // this.chatSpamTickCount += 20; if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // CraftBukkit end @@ -359,7 +359,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } } -@@ -2364,7 +2364,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2358,7 +2358,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -368,7 +368,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } } -@@ -2512,7 +2512,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2506,7 +2506,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } if (i > 4096) { @@ -377,7 +377,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } } -@@ -2574,7 +2574,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2568,7 +2568,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot Start if ( entity == this.player && !this.player.isSpectator() ) { @@ -386,7 +386,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } // Spigot End -@@ -2688,7 +2688,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2682,7 +2682,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -395,7 +395,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString()); } }); -@@ -3085,7 +3085,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3079,7 +3079,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper start - auto recipe limit if (!org.bukkit.Bukkit.isPrimaryThread()) { if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -404,7 +404,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a return; } } -@@ -3327,7 +3327,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3321,7 +3321,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) { if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) { @@ -413,7 +413,7 @@ index 2c4360431135b665e7b95cd3d59bb38871bca68b..5eb67dbeaa553b25d19e24b3bfb5e05a } else { try { SignatureValidator signaturevalidator = this.server.getProfileKeySignatureValidator(); -@@ -3340,7 +3340,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3334,7 +3334,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage()); @@ -477,10 +477,10 @@ index f472dea0bd4f834c0c8f0aa59ae7cdae082b14af..2fa51c3a70f43cd23b8f494fc643d66c } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5a81e5a50e31c46d94d1674c8b623cf4a1a2e0ae..ff4ec105c2fd4e1bebf9503d4d073fd9135342c8 100644 +index 45174db532a56534184c201767910beb511cbea4..dd30da484ac9bcbbd7aef620151f460ad7dab3f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -632,7 +632,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -633,7 +633,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot if (this.getHandle().connection == null) return; @@ -489,7 +489,7 @@ index 5a81e5a50e31c46d94d1674c8b623cf4a1a2e0ae..ff4ec105c2fd4e1bebf9503d4d073fd9 } // Paper start -@@ -644,10 +644,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -645,10 +645,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void kick(final net.kyori.adventure.text.Component message) { @@ -506,7 +506,7 @@ index 5a81e5a50e31c46d94d1674c8b623cf4a1a2e0ae..ff4ec105c2fd4e1bebf9503d4d073fd9 } } -@@ -706,7 +711,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -707,7 +712,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - Improve chat handling if (ServerGamePacketListenerImpl.isChatMessageIllegal(msg)) { diff --git a/patches/server/0573-add-per-world-spawn-limits.patch b/patches/server/0573-add-per-world-spawn-limits.patch index 4bff2f79a8e..8ff7b500136 100644 --- a/patches/server/0573-add-per-world-spawn-limits.patch +++ b/patches/server/0573-add-per-world-spawn-limits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add per world spawn limits diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 24ecb71a878106c1e45564d356affe03ba1d1367..a46275f0684437d1c99792ad61889fd047318028 100644 +index 26457cb201b84547875b2989f55f4f4d2c8c03ce..3e448a40aaf4c2ae61de685d060495d4cedea031 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -222,6 +222,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0577-Missing-Entity-API.patch b/patches/server/0577-Missing-Entity-API.patch index 12cad0f3e97..fd1ee1ab01d 100644 --- a/patches/server/0577-Missing-Entity-API.patch +++ b/patches/server/0577-Missing-Entity-API.patch @@ -405,10 +405,10 @@ index 3952e52b94c1cc97e1d2d3885f59d7690efb74ad..9bcc0931510607b8fbd01233e2b3c346 + // Paper end - Horse API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java -index 17f2a0dedb55a278c6ee310ba2943fc270f9d408..9f7c40e0529058c8d35acde00a54ad6575270df4 100644 +index a865b981f919c6784ae7c7c551e6a2a1ba0310d5..af35ff560a02daca7a130322fccbb52160e2db98 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java -@@ -223,4 +223,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud +@@ -218,4 +218,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud this.getHandle().setOwner(null); } } diff --git a/patches/server/0578-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0578-Ensure-disconnect-for-book-edit-is-called-on-main.patch index 4738103d194..9af04f98030 100644 --- a/patches/server/0578-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0578-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,10 +5,10 @@ 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 5eb67dbeaa553b25d19e24b3bfb5e05aed4e8a65..dbc8ee99c44db2246e3353f14a5c6e04c8d0b826 100644 +index 53b833753b73c27110fcfccf8f2dcdb9a11a3545..8f075a5fa487a8f2fcb905b9d32f97afa99b9bc3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1121,7 +1121,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1115,7 +1115,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper end - Book size limits // CraftBukkit start if (this.lastBookTick + 20 > MinecraftServer.currentTick) { diff --git a/patches/server/0582-Add-PlayerArmSwingEvent.patch b/patches/server/0582-Add-PlayerArmSwingEvent.patch index fc0f3e4ac30..14174822a6a 100644 --- a/patches/server/0582-Add-PlayerArmSwingEvent.patch +++ b/patches/server/0582-Add-PlayerArmSwingEvent.patch @@ -5,10 +5,10 @@ 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 dbc8ee99c44db2246e3353f14a5c6e04c8d0b826..779a9d409323445c373a9f07b83de0f386ae82cc 100644 +index 8f075a5fa487a8f2fcb905b9d32f97afa99b9bc3..ec5af252a470f23d11b3352fba0705dd2b648565 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2402,7 +2402,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2396,7 +2396,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper end - Call interact event // Arm swing animation diff --git a/patches/server/0583-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0583-Fix-kick-event-leave-message-not-being-sent.patch index 66a12e35389..8d66d84399b 100644 --- a/patches/server/0583-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0583-Fix-kick-event-leave-message-not-being-sent.patch @@ -17,10 +17,10 @@ index a9130dd3097c31d91baaf1405a369881393d42d5..fccc62d601680f7ed2765bb331667baf public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index b9767aff520d32d4615e3cb9e24a294553c70b97..86af1b4b860a144462d856b4ef1702f7b811e4de 100644 +index 0273998b72c9d8a1e7de4b1195c547001922cb8e..802ea97fe03028cfe911aa4052d9c82ad23058f2 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -98,6 +98,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -109,6 +109,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void onDisconnect(Component reason) { @@ -32,7 +32,7 @@ index b9767aff520d32d4615e3cb9e24a294553c70b97..86af1b4b860a144462d856b4ef1702f7 if (this.isSingleplayerOwner()) { ServerCommonPacketListenerImpl.LOGGER.info("Stopping singleplayer server as player logged out"); this.server.halt(false); -@@ -365,7 +370,6 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -376,7 +381,6 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack // Do not kick the player return; } @@ -40,7 +40,7 @@ index b9767aff520d32d4615e3cb9e24a294553c70b97..86af1b4b860a144462d856b4ef1702f7 // Send the possibly modified leave message final Component ichatbasecomponent = io.papermc.paper.adventure.PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end -@@ -374,7 +378,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -385,7 +389,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { this.connection.disconnect(ichatbasecomponent); })); @@ -50,10 +50,10 @@ index b9767aff520d32d4615e3cb9e24a294553c70b97..86af1b4b860a144462d856b4ef1702f7 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 779a9d409323445c373a9f07b83de0f386ae82cc..e1945778de55a75d483c890b2a59276e55a2a0f9 100644 +index ec5af252a470f23d11b3352fba0705dd2b648565..b71ca2aadfa2511371cc8032424c6771220c3605 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1884,6 +1884,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1878,6 +1878,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void onDisconnect(Component reason) { @@ -66,7 +66,7 @@ index 779a9d409323445c373a9f07b83de0f386ae82cc..e1945778de55a75d483c890b2a59276e // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; -@@ -1892,11 +1898,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1886,11 +1892,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), reason.getString()); @@ -86,7 +86,7 @@ index 779a9d409323445c373a9f07b83de0f386ae82cc..e1945778de55a75d483c890b2a59276e this.chatMessageChain.close(); // CraftBukkit start - Replace vanilla quit message handling with our own. /* -@@ -1906,7 +1918,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1900,7 +1912,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.disconnect(); // Paper start - Adventure diff --git a/patches/server/0589-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0589-Prevent-AFK-kick-while-watching-end-credits.patch index e216bc6682f..af6da871457 100644 --- a/patches/server/0589-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0589-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,10 +5,10 @@ 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 e1945778de55a75d483c890b2a59276e55a2a0f9..b908c2125fb3599cfbc227465e98dbaa40f72f9d 100644 +index b71ca2aadfa2511371cc8032424c6771220c3605..f828988421204673cfb80da550a7fc14f420e525 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -403,7 +403,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -397,7 +397,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl --this.dropSpamTickCount; } diff --git a/patches/server/0591-Add-PlayerSetSpawnEvent.patch b/patches/server/0591-Add-PlayerSetSpawnEvent.patch index 421b77f7685..48da78ead48 100644 --- a/patches/server/0591-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0591-Add-PlayerSetSpawnEvent.patch @@ -187,7 +187,7 @@ index e18726915d1491d74084827afd9978800aecb644..a4a90df0b500fb440226b07462faaa87 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ff4ec105c2fd4e1bebf9503d4d073fd9135342c8..60147478bc40bc03a1622895074cf910ef6b94f4 100644 +index dd30da484ac9bcbbd7aef620151f460ad7dab3f7..1389674186b5460b25644cb49ec9fb7f47a3235b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1399,9 +1399,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0592-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0592-Make-hoppers-respect-inventory-max-stack-size.patch index e5bf1b9eca3..c5f669b9798 100644 --- a/patches/server/0592-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0592-Make-hoppers-respect-inventory-max-stack-size.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make hoppers respect inventory max stack size diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 4e9113b704599fb2130d866dd4106053da4cf524..43ee9017fbbe0a5485a281712f76c23b059a849b 100644 +index dfb57192105d5e05e4c2e32da5eadb7c701a763a..92086ca118d55ec49cefa5bf18977f8706e3e4b4 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -485,15 +485,17 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen diff --git a/patches/server/0595-Add-EntityDamageItemEvent.patch b/patches/server/0595-Add-EntityDamageItemEvent.patch index 8c30c613543..bcf3f849b32 100644 --- a/patches/server/0595-Add-EntityDamageItemEvent.patch +++ b/patches/server/0595-Add-EntityDamageItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index c8af2f886ad834d6a405df00560b0f8225fcf471..210d9b05b13f286b6fc834aded0652eb790a4792 100644 +index d95272b1765368a4cd968fa566ad68844dced4c8..081d0241692078516a4554ccbda17f4539dc5ed6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -648,7 +648,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0603-Add-missing-team-sidebar-display-slots.patch b/patches/server/0603-Add-missing-team-sidebar-display-slots.patch index 8000b2e51ee..9d0068df5ae 100644 --- a/patches/server/0603-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0603-Add-missing-team-sidebar-display-slots.patch @@ -9,10 +9,10 @@ public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations toBukkitSlo public org.bukkit.craftbukkit.scoreboard.CraftScoreboardTranslations fromBukkitSlot(Lorg/bukkit/scoreboard/DisplaySlot;)Lnet/minecraft/world/scores/DisplaySlot; diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java -index 71e79ad334a658324058c68284eaf3e55da411a6..8b87c178b17b6d1f9723b2d8d24fa99cb8d80782 100644 +index 658f3962543a36bc8c16f306ccb3e254b5b3d0a8..7bef8539d26bced77406f49c0b6fd2c04e6e641e 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/FieldRename.java -@@ -24,6 +24,7 @@ public class FieldRename { +@@ -27,6 +27,7 @@ public class FieldRename { } return switch (owner) { @@ -20,7 +20,7 @@ index 71e79ad334a658324058c68284eaf3e55da411a6..8b87c178b17b6d1f9723b2d8d24fa99c case "org/bukkit/block/banner/PatternType" -> FieldRename.convertPatternTypeName(apiVersion, from); case "org/bukkit/enchantments/Enchantment" -> FieldRename.convertEnchantmentName(apiVersion, from); case "org/bukkit/block/Biome" -> FieldRename.convertBiomeName(apiVersion, from); -@@ -38,6 +39,18 @@ public class FieldRename { +@@ -43,6 +44,18 @@ public class FieldRename { }; } diff --git a/patches/server/0605-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0605-Add-methods-to-find-targets-for-lightning-strikes.patch index 3a9135307c6..7a7068cabbf 100644 --- a/patches/server/0605-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0605-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -31,7 +31,7 @@ index da3821010598f9c67d6a21fbfc6b559280203100..666968eff55e97443fd02e00a7ad11e0 blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a46275f0684437d1c99792ad61889fd047318028..321da9572b896b54ad961e1c7179929b145ae0ac 100644 +index 3e448a40aaf4c2ae61de685d060495d4cedea031..5f6cec79745aa8e5ae3aa8139c93bbdd1c36c6d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -687,6 +687,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0608-Add-more-advancement-API.patch b/patches/server/0608-Add-more-advancement-API.patch index 0c69576d18b..0fa7fedd648 100644 --- a/patches/server/0608-Add-more-advancement-API.patch +++ b/patches/server/0608-Add-more-advancement-API.patch @@ -164,10 +164,10 @@ index 8ca86852319d7463f60832bc98b825b0b4325995..62ada73302c6b3ce3fb2dcc8c31a1d9c private final DisplayInfo handle; diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index ceeb7381f81daa29f7ac76c68cb3d44886d5ceb5..c85e24d476b3fee51f166150a552a3c5c1097dc3 100644 +index 07239f25bc927c44a9d17f4796db3a107b8e14e0..2aa19120010a07f5da70b9275aed8e76687f3894 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -374,6 +374,11 @@ public class Commodore { +@@ -383,6 +383,11 @@ public class Commodore { super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; } diff --git a/patches/server/0609-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0609-Add-ItemFactory-getSpawnEgg-API.patch index 69cfc59b3d3..6e990a28489 100644 --- a/patches/server/0609-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0609-Add-ItemFactory-getSpawnEgg-API.patch @@ -29,10 +29,10 @@ index 943ef44ce17719170b71be0eae75c43426376459..db112344ef6cd6dc5c1fc5c222e23d48 + // Paper end - old getSpawnEgg API } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index c85e24d476b3fee51f166150a552a3c5c1097dc3..27ca966d3542794e8739b28bae555a0c8ba815fb 100644 +index 2aa19120010a07f5da70b9275aed8e76687f3894..fa5cd7d64a52116afbcf47627b31de0b89305f07 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -381,6 +381,15 @@ public class Commodore { +@@ -390,6 +390,15 @@ public class Commodore { } // Paper end diff --git a/patches/server/0619-Improve-and-expand-AsyncCatcher.patch b/patches/server/0619-Improve-and-expand-AsyncCatcher.patch index b0e0c62601c..1e59e9e075a 100644 --- a/patches/server/0619-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0619-Improve-and-expand-AsyncCatcher.patch @@ -17,10 +17,10 @@ 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 b908c2125fb3599cfbc227465e98dbaa40f72f9d..9a880774eaa71cef96619ff948ce432c57009fec 100644 +index f828988421204673cfb80da550a7fc14f420e525..c0fd3f596384e6bb8aee0d6b33daecd7e5b33878 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1571,6 +1571,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1565,6 +1565,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set set) { // Paper @@ -166,7 +166,7 @@ index 219062cff8a05c765b092f1525043d9d9a1153ae..1c6e8438219f355274db4e0fa849cdd9 PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason}); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 321da9572b896b54ad961e1c7179929b145ae0ac..cbad6add9186a151e1994bb3ed0b11d611f6ca7f 100644 +index 5f6cec79745aa8e5ae3aa8139c93bbdd1c36c6d5..1bf9fbc8f39ec4b0dd1369cace6bbd347c81541a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1756,6 +1756,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0620-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0620-Add-paper-mobcaps-and-paper-playermobcaps.patch index 638d7343efb..51302543ede 100644 --- a/patches/server/0620-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0620-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -294,7 +294,7 @@ index aab59a42af04971b5be4b6295700a1c50e1c964f..382c5a9ad23523b830edc7c81767b13a } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cbad6add9186a151e1994bb3ed0b11d611f6ca7f..c7881cdd8447a632cbb406b379c01b540d5d4152 100644 +index 1bf9fbc8f39ec4b0dd1369cace6bbd347c81541a..f88614e0e83a0b6df379816a532c621108c5ae9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1714,9 +1714,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0633-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0633-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index f99de650d39..f426fa8333a 100644 --- a/patches/server/0633-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0633-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,10 +6,10 @@ 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 9a880774eaa71cef96619ff948ce432c57009fec..bc7dbc66b5675b21f4aa3a4d1333a3782e3a43dd 100644 +index c0fd3f596384e6bb8aee0d6b33daecd7e5b33878..a8c3a2988db845420b254729d125cc2c51660323 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -751,6 +751,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -745,6 +745,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } // CraftBukkit end diff --git a/patches/server/0645-Fix-upstreams-block-state-factories.patch b/patches/server/0645-Fix-upstreams-block-state-factories.patch index aaf9ba6071b..d5cf218ad29 100644 --- a/patches/server/0645-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0645-Fix-upstreams-block-state-factories.patch @@ -26,7 +26,7 @@ index 90b218ebc947a1d8a8c7dfc677fe145b6386654a..df945a152747bea0452ec18c09d59598 if (state instanceof InventoryHolder) return (InventoryHolder) state; return null; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 52fe7315fa838e3b6b236127c293ac0e8528ee7d..120e6034e79f3caa61ddc9a6051b3af5357f1427 100644 +index 89bd200befb65fe33ee049f7a07d5c771c971b13..f97d47677e13441c0b39eb8d18ebee428ea53ca4 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -18,7 +18,7 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -38,7 +38,7 @@ index 52fe7315fa838e3b6b236127c293ac0e8528ee7d..120e6034e79f3caa61ddc9a6051b3af5 private final T tileEntity; private final T snapshot; -@@ -177,14 +177,10 @@ public class CraftBlockEntityState extends CraftBlockStat +@@ -178,14 +178,10 @@ public class CraftBlockEntityState extends CraftBlockStat } @Override @@ -56,7 +56,7 @@ index 52fe7315fa838e3b6b236127c293ac0e8528ee7d..120e6034e79f3caa61ddc9a6051b3af5 // Paper start @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index 4c30af81697db25d9913b436c45d9a926cbb5cca..c38b7148a3bbe7d29adea19d08dde4d9c8e29704 100644 +index e40973b65ece11d9c5a76abad51f72e610bf02ab..411c2de93c71e480f95229c882cdf43b8801edc8 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java @@ -22,6 +22,7 @@ import net.minecraft.world.level.block.entity.BeehiveBlockEntity; diff --git a/patches/server/0667-Validate-usernames.patch b/patches/server/0667-Validate-usernames.patch index 728bfacad51..51eedf4f14e 100644 --- a/patches/server/0667-Validate-usernames.patch +++ b/patches/server/0667-Validate-usernames.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Validate usernames diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 5fa0947bd6029f37d786488b44ec23090c45963a..49627a02cb15e94e7c3ddfe65aa663d982a34408 100644 +index b968026728b8b4e549eed9fa9b43919c6c19eb7a..c44a15fc358c28345302b1bf37fc4b111a77fe0e 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -83,6 +83,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0669-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0669-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 5bdbc4c5264..84800b4cd98 100644 --- a/patches/server/0669-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0669-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -31,7 +31,7 @@ index 8136688a2a4da9d6190d67c0936e210b23ec5126..3807291dc0e40e7247167162225c4f63 biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c7881cdd8447a632cbb406b379c01b540d5d4152..98d87f29f111029b11409e6f4230e53119bd8711 100644 +index f88614e0e83a0b6df379816a532c621108c5ae9d..43b3af7bba4551d98c7ffb53fbee9413ed5b8dd3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -212,6 +212,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0676-Multi-Block-Change-API-Implementation.patch b/patches/server/0676-Multi-Block-Change-API-Implementation.patch index 19cdec2ccdb..d63be4a5f17 100644 --- a/patches/server/0676-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0676-Multi-Block-Change-API-Implementation.patch @@ -24,10 +24,10 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213 buf.writeLong(this.sectionPos.asLong()); buf.writeVarInt(this.positions.length); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 60147478bc40bc03a1622895074cf910ef6b94f4..ea3d87b425360b753af4ac7647ab296dc7a2faf0 100644 +index 1389674186b5460b25644cb49ec9fb7f47a3235b..34cca6af6d6914059048ec5e36945cbee4c20d1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -927,6 +927,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -928,6 +928,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0683-Implement-regenerateChunk.patch b/patches/server/0683-Implement-regenerateChunk.patch index f9045a1c20a..c6a6c8eb347 100644 --- a/patches/server/0683-Implement-regenerateChunk.patch +++ b/patches/server/0683-Implement-regenerateChunk.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement regenerateChunk Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 98d87f29f111029b11409e6f4230e53119bd8711..9aa26056e0056dedaf86d19f71eb0c6e9ab956d3 100644 +index 43b3af7bba4551d98c7ffb53fbee9413ed5b8dd3..e31794510cb204fa1360803050d25d0e226785e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -151,6 +151,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/server/0684-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0684-Fix-cancelled-powdered-snow-bucket-placement.patch index d805bbc70ec..c95ae66f2be 100644 --- a/patches/server/0684-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0684-Fix-cancelled-powdered-snow-bucket-placement.patch @@ -8,7 +8,7 @@ snow bucket didn't revert grass that became snowy because of the placement. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 210d9b05b13f286b6fc834aded0652eb790a4792..463eef2942bcc1b6acf6706fc6bd099f5f4b729e 100644 +index 081d0241692078516a4554ccbda17f4539dc5ed6..8f4ca2479bf185cb2409d1da20dfc7de0f0ce550 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -402,7 +402,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0696-Fix-falling-block-spawn-methods.patch b/patches/server/0696-Fix-falling-block-spawn-methods.patch index d83720726ee..1f5d0c19ccc 100644 --- a/patches/server/0696-Fix-falling-block-spawn-methods.patch +++ b/patches/server/0696-Fix-falling-block-spawn-methods.patch @@ -11,7 +11,7 @@ Restores the API behavior from previous versions of the server public net.minecraft.world.entity.item.FallingBlockEntity (Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9aa26056e0056dedaf86d19f71eb0c6e9ab956d3..df722b6bb5ee5d81d95e61e6eaf35bc44f350d5f 100644 +index e31794510cb204fa1360803050d25d0e226785e2..193b544d1fea692d9948e00c72aa566836c2a4d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1425,7 +1425,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0699-More-Projectile-API.patch b/patches/server/0699-More-Projectile-API.patch index aa2104e4d11..502e5f90982 100644 --- a/patches/server/0699-More-Projectile-API.patch +++ b/patches/server/0699-More-Projectile-API.patch @@ -572,7 +572,7 @@ index 28d371e59d8780bf6e154bac56ee189b3b43b201..dd092e44a18e238e4a8b4d8a791ef426 } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index a58e865a047550cc4508d0515cc6f2fc639f9b3d..9c870aaa147478b46719702ee91615095d41cadb 100644 +index 45a1f5123e5413cf8dd3db68bb47508567198403..76191fe677f3dd91ea55d53881f52952410a3a05 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -293,12 +293,22 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0701-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0701-Don-t-allow-vehicle-movement-from-players-while-tele.patch index 991fbed2fd0..70d82d0dce7 100644 --- a/patches/server/0701-Don-t-allow-vehicle-movement-from-players-while-tele.patch +++ b/patches/server/0701-Don-t-allow-vehicle-movement-from-players-while-tele.patch @@ -7,10 +7,10 @@ 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 bc7dbc66b5675b21f4aa3a4d1333a3782e3a43dd..2ab8a1082775ea3d00bd54b6089247da9a0d6941 100644 +index a8c3a2988db845420b254729d125cc2c51660323..d6f90c013ce5d7058ad1ca9357f5d2d7aab40cf6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -490,6 +490,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -484,6 +484,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.disconnect(Component.translatable("multiplayer.disconnect.invalid_vehicle_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_VEHICLE_MOVEMENT); // Paper - kick event cause } else { Entity entity = this.player.getRootVehicle(); diff --git a/patches/server/0714-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0714-Prevent-tile-entity-copies-loading-chunks.patch index 646b6cf0adb..cc180d9fc62 100644 --- a/patches/server/0714-Prevent-tile-entity-copies-loading-chunks.patch +++ b/patches/server/0714-Prevent-tile-entity-copies-loading-chunks.patch @@ -5,10 +5,10 @@ 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 2ab8a1082775ea3d00bd54b6089247da9a0d6941..bd39281718199e3ce50acaec2d5f3887ab757d95 100644 +index d6f90c013ce5d7058ad1ca9357f5d2d7aab40cf6..7e203542bde371a44294ace5bb1e3c8375b597ca 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3195,7 +3195,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3189,7 +3189,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl BlockPos blockposition = BlockEntity.getPosFromTag(customdata.getUnsafe()); if (this.player.level().isLoaded(blockposition)) { diff --git a/patches/server/0716-Expand-PlayerItemDamageEvent.patch b/patches/server/0716-Expand-PlayerItemDamageEvent.patch index 7b4af3c0fc7..8ef65bfbc21 100644 --- a/patches/server/0716-Expand-PlayerItemDamageEvent.patch +++ b/patches/server/0716-Expand-PlayerItemDamageEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 463eef2942bcc1b6acf6706fc6bd099f5f4b729e..4958c780ebf61890c7da2087725329c807d19d27 100644 +index 8f4ca2479bf185cb2409d1da20dfc7de0f0ce550..179932c624912a39d6c4e53187ba9f9c23df42e5 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -662,10 +662,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0726-Add-support-for-Proxy-Protocol.patch b/patches/server/0726-Add-support-for-Proxy-Protocol.patch index 7988c329fc3..c94fcd99d4b 100644 --- a/patches/server/0726-Add-support-for-Proxy-Protocol.patch +++ b/patches/server/0726-Add-support-for-Proxy-Protocol.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add support for Proxy Protocol diff --git a/build.gradle.kts b/build.gradle.kts -index 9d570d0289ff33b78cea805070e684f8b00b5fe8..2fb342f9d86e169571070b2b40538633f4b0d7cf 100644 +index fb7e956fd7beb741984780a9492230916a330504..41767422b521ff095592d799b14b2f36c3b5c5cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,6 +31,7 @@ dependencies { diff --git a/patches/server/0729-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0729-Sanitize-sent-BlockEntity-NBT.patch index 24ed9484695..79bacba95c6 100644 --- a/patches/server/0729-Sanitize-sent-BlockEntity-NBT.patch +++ b/patches/server/0729-Sanitize-sent-BlockEntity-NBT.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Sanitize sent BlockEntity NBT diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundBlockEntityDataPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundBlockEntityDataPacket.java -index df38a2ffb29394b27a11e5150fc99ecf38331796..3fbf48941d28ffb473c14d15aea334e83a34f961 100644 +index 1970c0fa24764f6bbd0cc360b7d32d7906eaf808..db03254682b827d650160d6f2c1a18cf12c861d7 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundBlockEntityDataPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundBlockEntityDataPacket.java -@@ -29,7 +29,7 @@ public class ClientboundBlockEntityDataPacket implements Packet nbtGetter) { - RegistryAccess registryAccess = blockEntity.getLevel().registryAccess(); -- return new ClientboundBlockEntityDataPacket(blockEntity.getBlockPos(), blockEntity.getType(), nbtGetter.apply(blockEntity, registryAccess)); -+ return new ClientboundBlockEntityDataPacket(blockEntity.getBlockPos(), blockEntity.getType(), blockEntity.sanitizeSentNbt(nbtGetter.apply(blockEntity, registryAccess))); // Paper - Sanitize sent data + RegistryAccess iregistrycustom = blockEntity.getLevel().registryAccess(); + +- return new ClientboundBlockEntityDataPacket(blockEntity.getBlockPos(), blockEntity.getType(), (CompoundTag) nbtGetter.apply(blockEntity, iregistrycustom)); ++ return new ClientboundBlockEntityDataPacket(blockEntity.getBlockPos(), blockEntity.getType(), (CompoundTag) blockEntity.sanitizeSentNbt(nbtGetter.apply(blockEntity, iregistrycustom))); // Paper - Sanitize sent data } public static ClientboundBlockEntityDataPacket create(BlockEntity blockEntity) { diff --git a/patches/server/0745-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0745-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch index ffeb0f7c6c0..67d2417c550 100644 --- a/patches/server/0745-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch +++ b/patches/server/0745-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch @@ -5,10 +5,10 @@ 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 bd39281718199e3ce50acaec2d5f3887ab757d95..6111d7d3bda2626ea6e953d49351af25f8d3e556 100644 +index 7e203542bde371a44294ace5bb1e3c8375b597ca..58da98b619b0f59a527d55d78e09c6c0ed676b7c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2373,7 +2373,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2367,7 +2367,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Spigot end // this.chatSpamTickCount += 20; diff --git a/patches/server/0746-More-Teleport-API.patch b/patches/server/0746-More-Teleport-API.patch index aec19083b52..306f32552d8 100644 --- a/patches/server/0746-More-Teleport-API.patch +++ b/patches/server/0746-More-Teleport-API.patch @@ -5,10 +5,10 @@ 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 6111d7d3bda2626ea6e953d49351af25f8d3e556..78b38aee5ab62597bd679b8c1d981d30a7a4a2bf 100644 +index 58da98b619b0f59a527d55d78e09c6c0ed676b7c..83acd04bdcc7232934628c5d2cde987e410ee3aa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1559,11 +1559,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1553,11 +1553,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return false; // CraftBukkit - Return event status } @@ -112,7 +112,7 @@ index 113ca1d16cb7650d72f488cdaa9e670d51dc85f0..b6fef2ca5b564c293cb602cb8e300d35 private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ea3d87b425360b753af4ac7647ab296dc7a2faf0..1c557d4787b3d10f222e2b11d98d43bc17dac25f 100644 +index 34cca6af6d6914059048ec5e36945cbee4c20d1a..3ea54916f278fadaa66d3bc6a096b90a56355d90 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1273,13 +1273,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0749-Send-block-entities-after-destroy-prediction.patch b/patches/server/0749-Send-block-entities-after-destroy-prediction.patch index 97d22643631..0a6e27c3c60 100644 --- a/patches/server/0749-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0749-Send-block-entities-after-destroy-prediction.patch @@ -57,10 +57,10 @@ 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 78b38aee5ab62597bd679b8c1d981d30a7a4a2bf..c03ae6af07e611d963e60d4ed908e36fb0629621 100644 +index 83acd04bdcc7232934628c5d2cde987e410ee3aa..96ef32b349f11ff747797c850c0e32bcb5e849b7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1706,8 +1706,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1700,8 +1700,28 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } // Paper end - Don't allow digging into unloaded chunks diff --git a/patches/server/0750-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0750-Warn-on-plugins-accessing-faraway-chunks.patch index 9ac0785b1e6..2f60387b5dc 100644 --- a/patches/server/0750-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0750-Warn-on-plugins-accessing-faraway-chunks.patch @@ -18,7 +18,7 @@ index 1408faa8754b2492879f2dbb525aba3bfc8f0421..0fb975d74b8e91617de91dacb206699f private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index df722b6bb5ee5d81d95e61e6eaf35bc44f350d5f..80aa2aebc490e763d2b9dfd56bcaff94cb13cd91 100644 +index 193b544d1fea692d9948e00c72aa566836c2a4d2..0c5c67480e16333641f4ebc89d892f7a0e2387fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -319,9 +319,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0751-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0751-Custom-Chat-Completion-Suggestions-API.patch index cea15717c23..18ff11a0a2f 100644 --- a/patches/server/0751-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0751-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1c557d4787b3d10f222e2b11d98d43bc17dac25f..8d22621b715c46dd96f0bfa646dad08d776c5d0c 100644 +index 3ea54916f278fadaa66d3bc6a096b90a56355d90..5fbe88dfc3246bc6270df5066f56e894f712c0c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -688,6 +688,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -689,6 +689,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end - Add sendOpLevel API diff --git a/patches/server/0756-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0756-Add-Velocity-IP-Forwarding-Support.patch index 167084f062d..ffcb2a197b8 100644 --- a/patches/server/0756-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0756-Add-Velocity-IP-Forwarding-Support.patch @@ -134,7 +134,7 @@ index 784788d8d3d1a07efbd406b6c463e046699081e2..fdff82ed5dbf5176d470b9b6c41acfe6 DedicatedServer.LOGGER.warn("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose."); } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 49627a02cb15e94e7c3ddfe65aa663d982a34408..21d97c2b533a6528dd73c4e514d49273c120e171 100644 +index c44a15fc358c28345302b1bf37fc4b111a77fe0e..3333cb70744dc7ef8b181d332b63766aaaaad11f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -84,6 +84,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/0767-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0767-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index ba5b6fb01ca..6b16e23fbc0 100644 --- a/patches/server/0767-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0767-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type TODO: Remove in 1.21? diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 27ca966d3542794e8739b28bae555a0c8ba815fb..163e773a4782784f236175d7b0cf10ac4a574cac 100644 +index fa5cd7d64a52116afbcf47627b31de0b89305f07..a815e9f3db30c33d69e7b8b862c84e5849b1bfea 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -379,6 +379,12 @@ public class Commodore { +@@ -388,6 +388,12 @@ public class Commodore { super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, runtimeCbPkgPrefix() + "advancement/CraftAdvancement", "getDisplay0", desc, false); return; } diff --git a/patches/server/0777-Elder-Guardian-appearance-API.patch b/patches/server/0777-Elder-Guardian-appearance-API.patch index 9ed8079bb9b..7856f050b09 100644 --- a/patches/server/0777-Elder-Guardian-appearance-API.patch +++ b/patches/server/0777-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8d22621b715c46dd96f0bfa646dad08d776c5d0c..ad345fe407880ec7242923653e766d553a60ad24 100644 +index 5fbe88dfc3246bc6270df5066f56e894f712c0c1..943be224e35f66f5b66274ca8c923f1209889401 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3279,6 +3279,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3275,6 +3275,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0791-Add-Player-Warden-Warning-API.patch b/patches/server/0791-Add-Player-Warden-Warning-API.patch index d60c34b4a31..1ed4e822a22 100644 --- a/patches/server/0791-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0791-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad345fe407880ec7242923653e766d553a60ad24..b8fcb478c40749d335636930a2a3b77dc1ef23d2 100644 +index 943be224e35f66f5b66274ca8c923f1209889401..5837b2697ff630d68362d86dfa1c144a97955fe4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3284,6 +3284,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3280,6 +3280,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/server/0803-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0803-Fixes-and-additions-to-the-SpawnReason-API.patch index b9bedcc9bb1..d758b372060 100644 --- a/patches/server/0803-Fixes-and-additions-to-the-SpawnReason-API.patch +++ b/patches/server/0803-Fixes-and-additions-to-the-SpawnReason-API.patch @@ -8,7 +8,7 @@ Fixes some wrong reasons, and adds missing spawn reasons for entities. Co-authored-by: Doc diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index fb621b161b0a47fac2c44b369ed01c27278bc4f6..3ac31c869d0e53410558ddeb79c21d3f5a3decb6 100644 +index 7df13199eacc8dec0ba8fbf10ea507b0d1c5f591..df7b9d0693777fa203cc4d4a7519c5648e274bb6 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -366,7 +366,7 @@ public class EntityType implements FeatureElement, EntityTypeT diff --git a/patches/server/0804-fix-Instruments.patch b/patches/server/0804-fix-Instruments.patch index 00fbc807aca..fc0962748e9 100644 --- a/patches/server/0804-fix-Instruments.patch +++ b/patches/server/0804-fix-Instruments.patch @@ -6,10 +6,10 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b8fcb478c40749d335636930a2a3b77dc1ef23d2..ed8d88b169c39d28d470f738a4be5d2889ac1a92 100644 +index 5837b2697ff630d68362d86dfa1c144a97955fe4..3bd3ca5aae53fbeb1b2e32ae94a68ad01ade5419 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -765,7 +765,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -766,7 +766,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Sound instrumentSound = instrument.getSound(); if (instrumentSound == null) return; diff --git a/patches/server/0809-Improve-logging-and-errors.patch b/patches/server/0809-Improve-logging-and-errors.patch index 5d745cbff16..5fd0fba842a 100644 --- a/patches/server/0809-Improve-logging-and-errors.patch +++ b/patches/server/0809-Improve-logging-and-errors.patch @@ -52,10 +52,10 @@ 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 c03ae6af07e611d963e60d4ed908e36fb0629621..672216f003fb82f8b77aad759a61e96d65e9fb9a 100644 +index 96ef32b349f11ff747797c850c0e32bcb5e849b7..d8c9db7db74e71f37bd4f2bb8e25b27a46c8ac57 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3393,7 +3393,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3387,7 +3387,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { diff --git a/patches/server/0812-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0812-Add-missing-SpigotConfig-logCommands-check.patch index 2281ffc5586..fca5a305ca6 100644 --- a/patches/server/0812-Add-missing-SpigotConfig-logCommands-check.patch +++ b/patches/server/0812-Add-missing-SpigotConfig-logCommands-check.patch @@ -5,10 +5,10 @@ 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 672216f003fb82f8b77aad759a61e96d65e9fb9a..d23b96ba2db06e6d104e5c30aa9d38dfd552f304 100644 +index d8c9db7db74e71f37bd4f2bb8e25b27a46c8ac57..506d78925907de50a44a937cd6fd45c66af1d662 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2087,7 +2087,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2081,7 +2081,9 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void performSignedChatCommand(ServerboundChatCommandSignedPacket packet, LastSeenMessages lastSeenMessages) { // CraftBukkit start String command = "/" + packet.command(); diff --git a/patches/server/0814-Flying-Fall-Damage.patch b/patches/server/0814-Flying-Fall-Damage.patch index 5cc39c618d3..3438cddfbf1 100644 --- a/patches/server/0814-Flying-Fall-Damage.patch +++ b/patches/server/0814-Flying-Fall-Damage.patch @@ -26,7 +26,7 @@ index 761e8a0c4e1db465c18892999e86885f27ca8075..230ffd3c4541ef8979605d733b6463e3 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ed8d88b169c39d28d470f738a4be5d2889ac1a92..97f86a0fa2b8e83ea42e2b8cbdee05924ed6b842 100644 +index 3bd3ca5aae53fbeb1b2e32ae94a68ad01ade5419..c62c0393e9201194ea3aa28da88773ad562a276b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2566,6 +2566,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0815-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0815-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch index 8da485006b2..0842bf9fa8c 100644 --- a/patches/server/0815-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch +++ b/patches/server/0815-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch @@ -121,7 +121,7 @@ index a4a90df0b500fb440226b07462faaa87594b12a5..c389e2f891655bd8c9f307057dc1ad62 public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index c38b7148a3bbe7d29adea19d08dde4d9c8e29704..30b40d3715f98eff90d16aad491f5be5162be9e2 100644 +index 411c2de93c71e480f95229c882cdf43b8801edc8..489c17d002a5c3580637fda1c51f1bd63814bfa0 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java @@ -291,6 +291,12 @@ public final class CraftBlockStates { diff --git a/patches/server/0817-config-for-disabling-entity-tag-tags.patch b/patches/server/0817-config-for-disabling-entity-tag-tags.patch index f673ff71ba0..79f922d624a 100644 --- a/patches/server/0817-config-for-disabling-entity-tag-tags.patch +++ b/patches/server/0817-config-for-disabling-entity-tag-tags.patch @@ -5,7 +5,7 @@ Subject: [PATCH] config for disabling entity tag tags diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 3ac31c869d0e53410558ddeb79c21d3f5a3decb6..c36b5aa3cf7ecff839f7115bf9be4776bcee13c3 100644 +index df7b9d0693777fa203cc4d4a7519c5648e274bb6..d769dc472d3f12bf1e30ddd767a76659b734caac 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -502,6 +502,16 @@ public class EntityType implements FeatureElement, EntityTypeT diff --git a/patches/server/0818-Use-single-player-info-update-packet-on-join.patch b/patches/server/0818-Use-single-player-info-update-packet-on-join.patch index 8da67e9136e..be7116d3084 100644 --- a/patches/server/0818-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0818-Use-single-player-info-update-packet-on-join.patch @@ -5,10 +5,10 @@ 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 d23b96ba2db06e6d104e5c30aa9d38dfd552f304..59853da5b728f98bf8ef412f4214205ec87b4c2f 100644 +index 506d78925907de50a44a937cd6fd45c66af1d662..f4dc859a2bfe8c06f99ca6d2494fe1e90e4b6076 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3429,7 +3429,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3423,7 +3423,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); this.chatMessageChain.append(() -> { this.player.setChatSession(session); diff --git a/patches/server/0820-Win-Screen-API.patch b/patches/server/0820-Win-Screen-API.patch index 57ec093bb6a..22903e6b33a 100644 --- a/patches/server/0820-Win-Screen-API.patch +++ b/patches/server/0820-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 97f86a0fa2b8e83ea42e2b8cbdee05924ed6b842..89d15164b085e5ff8821257c00746f2a787b4209 100644 +index c62c0393e9201194ea3aa28da88773ad562a276b..fd41178576e8be545b8f31ed1954346eb66d4590 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1292,6 +1292,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0821-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0821-Remove-CraftItemStack-setAmount-null-assignment.patch index d70677da9f8..83f46bb0c67 100644 --- a/patches/server/0821-Remove-CraftItemStack-setAmount-null-assignment.patch +++ b/patches/server/0821-Remove-CraftItemStack-setAmount-null-assignment.patch @@ -16,7 +16,7 @@ with less than zero amounts, so this code doesn't create a problem with operations on the vanilla ItemStack. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 9c870aaa147478b46719702ee91615095d41cadb..f5f0f67fac6e94a0dc1936036212c4eece16b71e 100644 +index 76191fe677f3dd91ea55d53881f52952410a3a05..91c1cba51863aeac0f648089bb4b5297ed33320d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -160,7 +160,7 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0835-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0835-Treat-sequence-violations-like-they-should-be.patch index 5509efdf09f..6a727c191fb 100644 --- a/patches/server/0835-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0835-Treat-sequence-violations-like-they-should-be.patch @@ -5,10 +5,10 @@ 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 59853da5b728f98bf8ef412f4214205ec87b4c2f..5b6ca40052e49e2955f1d3021238f0da9120dcf4 100644 +index f4dc859a2bfe8c06f99ca6d2494fe1e90e4b6076..321c1c6968fd52b1f3e11580b46a6be4368fb4ec 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1966,6 +1966,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1960,6 +1960,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void ackBlockChangesUpTo(int sequence) { if (sequence < 0) { diff --git a/patches/server/0837-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0837-Prevent-causing-expired-keys-from-impacting-new-join.patch index f50dad6450c..bf4d66e9142 100644 --- a/patches/server/0837-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0837-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -26,10 +26,10 @@ 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 5b6ca40052e49e2955f1d3021238f0da9120dcf4..a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5 100644 +index 321c1c6968fd52b1f3e11580b46a6be4368fb4ec..9cbf1b7140fd7562a722fd93842bf1915682bb22 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -296,6 +296,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -295,6 +295,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private int knownMovePacketCount; @Nullable private RemoteChatSession chatSession; @@ -37,7 +37,7 @@ index 5b6ca40052e49e2955f1d3021238f0da9120dcf4..a99be8bb56197067a7fdc6a8dc1ac9df private SignedMessageChain.Decoder signedMessageDecoder; private final LastSeenMessagesValidator lastSeenMessages = new LastSeenMessagesValidator(20); private final MessageSignatureCache messageSignatureCache = MessageSignatureCache.createDefault(); -@@ -408,6 +409,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -402,6 +403,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } @@ -51,7 +51,7 @@ index 5b6ca40052e49e2955f1d3021238f0da9120dcf4..a99be8bb56197067a7fdc6a8dc1ac9df } private int getMaximumFlyingTicks(Entity vehicle) { -@@ -3427,6 +3435,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3421,6 +3429,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void resetPlayerChatState(RemoteChatSession session) { this.chatSession = session; diff --git a/patches/server/0846-Expand-PlayerItemMendEvent.patch b/patches/server/0846-Expand-PlayerItemMendEvent.patch index 0b60cbe2fba..151d6e63cad 100644 --- a/patches/server/0846-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0846-Expand-PlayerItemMendEvent.patch @@ -33,7 +33,7 @@ index adc3e6298a1946fdea029c82a9954fb5b6e24497..a207a31d80a302dbdfe80f8727222542 return k > 0 ? this.repairPlayerItems(player, k) : 0; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 89d15164b085e5ff8821257c00746f2a787b4209..22d32abd43ee4f0e0a15d083d3f0393f1f2c99b8 100644 +index fd41178576e8be545b8f31ed1954346eb66d4590..8cd7841b038615ab41dee342df8aa76a8c3a12a7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1835,11 +1835,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0849-Fix-block-place-logic.patch b/patches/server/0849-Fix-block-place-logic.patch index 5af50bf21ed..aab106847d1 100644 --- a/patches/server/0849-Fix-block-place-logic.patch +++ b/patches/server/0849-Fix-block-place-logic.patch @@ -22,7 +22,7 @@ index 7d76cdc59984b156628273c8357485eb10046007..7180996027f70aef7afe32fb2adfce64 itemstack.consume(1, entityhuman); return InteractionResult.sidedSuccess(world.isClientSide); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 4958c780ebf61890c7da2087725329c807d19d27..df8d8f2130b8006793b2f509550de4d49e0aa2a0 100644 +index 179932c624912a39d6c4e53187ba9f9c23df42e5..144bcbcfc44d0c3467f30046889e225afc42e781 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -516,13 +516,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0850-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0850-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index 4626deae750..405b73f3a46 100644 --- a/patches/server/0850-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0850-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index df8d8f2130b8006793b2f509550de4d49e0aa2a0..38eccd642144c98dde32ae8e48a5b0d94a1ada06 100644 +index 144bcbcfc44d0c3467f30046889e225afc42e781..a11bb28b2b85057418d80db33c2568218ef8db99 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -567,7 +567,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0857-Add-event-for-player-editing-sign.patch b/patches/server/0857-Add-event-for-player-editing-sign.patch index 638060c2bd4..06f432d5d59 100644 --- a/patches/server/0857-Add-event-for-player-editing-sign.patch +++ b/patches/server/0857-Add-event-for-player-editing-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add event for player editing sign diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 38eccd642144c98dde32ae8e48a5b0d94a1ada06..9a261e93526ab48d24bfe5ca914064d8da4c262c 100644 +index a11bb28b2b85057418d80db33c2568218ef8db99..b00cf6f02bf1e85dbbbbb5b5c1201c643385576f 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -546,7 +546,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0865-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0865-fix-item-meta-for-tadpole-buckets.patch index 74eda7a6405..92fa5af5fd3 100644 --- a/patches/server/0865-fix-item-meta-for-tadpole-buckets.patch +++ b/patches/server/0865-fix-item-meta-for-tadpole-buckets.patch @@ -17,7 +17,7 @@ index da1b01c6489f96cfbded87e651e1d6df1dd0751a..c7533d6c512fd61ca77c1e07f844e0dd case GLOW_ITEM_FRAME: case PAINTING: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f5f0f67fac6e94a0dc1936036212c4eece16b71e..52e70f78dcefe69e110dba5300af26b7015f4d76 100644 +index 91c1cba51863aeac0f648089bb4b5297ed33320d..eb305f23898ecb0c1dbc4c659da0a23207d8d362 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -602,6 +602,7 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0866-Fix-BanList-API.patch b/patches/server/0866-Fix-BanList-API.patch index 0fad5866eae..ac583e69658 100644 --- a/patches/server/0866-Fix-BanList-API.patch +++ b/patches/server/0866-Fix-BanList-API.patch @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 22d32abd43ee4f0e0a15d083d3f0393f1f2c99b8..178c52a0752e433d028cd96c4e3451de6a590356 100644 +index 8cd7841b038615ab41dee342df8aa76a8c3a12a7..7bf40626a8fa3e5cd99612cc30681c31e5fcb744 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1733,23 +1733,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0873-Implement-PlayerFailMoveEvent.patch b/patches/server/0873-Implement-PlayerFailMoveEvent.patch index 504f143bae1..a0afcbdacd4 100644 --- a/patches/server/0873-Implement-PlayerFailMoveEvent.patch +++ b/patches/server/0873-Implement-PlayerFailMoveEvent.patch @@ -5,10 +5,10 @@ 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 a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5..46ad0471116267264dfc7c0dde0aee0676a0a334 100644 +index 9cbf1b7140fd7562a722fd93842bf1915682bb22..699d8d4b2333da1b3e83e39167de44ab69ab9029 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1272,8 +1272,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1266,8 +1266,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl double d0 = ServerGamePacketListenerImpl.clampHorizontal(packet.getX(this.player.getX())); final double toX = d0; // Paper - OBFHELPER double d1 = ServerGamePacketListenerImpl.clampVertical(packet.getY(this.player.getY())); final double toY = d1; // Paper - OBFHELPER double d2 = ServerGamePacketListenerImpl.clampHorizontal(packet.getZ(this.player.getZ())); final double toZ = d2; // Paper - OBFHELPER @@ -19,7 +19,7 @@ index a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5..46ad0471116267264dfc7c0dde0aee06 if (this.player.isPassenger()) { this.player.absMoveTo(this.player.getX(), this.player.getY(), this.player.getZ(), f, f1); -@@ -1340,8 +1340,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1334,8 +1334,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper start - Prevent moving into unloaded chunks if (this.player.level().paperConfig().chunks.preventMovingIntoUnloadedChunks && (this.player.getX() != toX || this.player.getZ() != toZ) && !worldserver.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position())))) { @@ -36,7 +36,7 @@ index a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5..46ad0471116267264dfc7c0dde0aee06 } // Paper end - Prevent moving into unloaded chunks -@@ -1350,9 +1356,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1344,9 +1350,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) { // CraftBukkit end @@ -56,7 +56,7 @@ index a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5..46ad0471116267264dfc7c0dde0aee06 } } } -@@ -1414,14 +1427,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1408,14 +1421,31 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl d8 = d2 - this.player.getZ(); d10 = d6 * d6 + d7 * d7 + d8 * d8; @@ -91,7 +91,7 @@ index a99be8bb56197067a7fdc6a8dc1ac9dfe25183e5..46ad0471116267264dfc7c0dde0aee06 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 { -@@ -3456,4 +3486,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3450,4 +3480,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl InteractionResult run(ServerPlayer player, Entity entity, InteractionHand hand); } diff --git a/patches/server/0878-Only-capture-actual-tree-growth.patch b/patches/server/0878-Only-capture-actual-tree-growth.patch index fe8b9e91d1f..dc24233b9c0 100644 --- a/patches/server/0878-Only-capture-actual-tree-growth.patch +++ b/patches/server/0878-Only-capture-actual-tree-growth.patch @@ -17,7 +17,7 @@ index 5bbadc890a72f1cb22c6881ebcc163b0c06a367a..4fa838bf97ede6e1c893ba64f53aa7af } } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 9a261e93526ab48d24bfe5ca914064d8da4c262c..a3e1fdd3010faf06f43d2477c60558089cb18052 100644 +index b00cf6f02bf1e85dbbbbb5b5c1201c643385576f..fb85a7da9da8063c2b781377f62e7db34c467859 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -446,6 +446,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0885-Bandaid-fix-for-Effect.patch b/patches/server/0885-Bandaid-fix-for-Effect.patch index e52b7d570c5..e850224254a 100644 --- a/patches/server/0885-Bandaid-fix-for-Effect.patch +++ b/patches/server/0885-Bandaid-fix-for-Effect.patch @@ -52,7 +52,7 @@ index 71733f918ed84b9879ac1b142ef6205c5e768a9c..7ee13c0a0cd12979c7f8cc2e403baf93 case COMPOSTER_FILL_ATTEMPT: datavalue = ((Boolean) data) ? 1 : 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 80aa2aebc490e763d2b9dfd56bcaff94cb13cd91..e99ebf806f955a7c0c163ef546b884c794be8a2a 100644 +index 0c5c67480e16333641f4ebc89d892f7a0e2387fd..18c1cceb9e8b2873b24134a9e012633616634aae 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1402,7 +1402,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -65,10 +65,10 @@ index 80aa2aebc490e763d2b9dfd56bcaff94cb13cd91..e99ebf806f955a7c0c163ef546b884c7 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 178c52a0752e433d028cd96c4e3451de6a590356..9e329d8d023ab601365a39a5ab8fb840f47fd623 100644 +index 7bf40626a8fa3e5cd99612cc30681c31e5fcb744..a83a9b9399efd843f249ebe0923706935109ee2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -914,7 +914,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -915,7 +915,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(effect != null, "Effect cannot be null"); if (data != null) { Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect); diff --git a/patches/server/0889-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0889-Don-t-tab-complete-namespaced-commands-if-send-names.patch index 7969dabce21..f6d9c42ed2c 100644 --- a/patches/server/0889-Don-t-tab-complete-namespaced-commands-if-send-names.patch +++ b/patches/server/0889-Don-t-tab-complete-namespaced-commands-if-send-names.patch @@ -11,10 +11,10 @@ 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 46ad0471116267264dfc7c0dde0aee0676a0a334..37268ba38f7c2e4cbc731227f82d55004da27ae6 100644 +index 699d8d4b2333da1b3e83e39167de44ab69ab9029..6d5cf94979fba9d27f91b51682a3b7b3f67c07ea 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -823,6 +823,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -817,6 +817,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { diff --git a/patches/server/0893-Add-Listing-API-for-Player.patch b/patches/server/0893-Add-Listing-API-for-Player.patch index 2e5942b4de0..bcd0417d494 100644 --- a/patches/server/0893-Add-Listing-API-for-Player.patch +++ b/patches/server/0893-Add-Listing-API-for-Player.patch @@ -119,10 +119,10 @@ index ea04eb049e16d1027d15f9863d1fcd16f090c464..0aa28caa1254137c0bae8e213bd08c9a // Paper end - Use single player info update packet on join player.sentListPacket = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9e329d8d023ab601365a39a5ab8fb840f47fd623..7321575552591477c4f22f09ba15fcadfb4727e3 100644 +index a83a9b9399efd843f249ebe0923706935109ee2f..e8f90e9fd0fb2a6ae3419be759892f46ee459330 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -198,6 +198,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -199,6 +199,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private final ConversationTracker conversationTracker = new ConversationTracker(); private final Set channels = new HashSet(); private final Map>> invertedVisibilityEntities = new HashMap<>(); diff --git a/patches/server/0899-Add-PlayerPickItemEvent.patch b/patches/server/0899-Add-PlayerPickItemEvent.patch index 014619f8761..a611fad4397 100644 --- a/patches/server/0899-Add-PlayerPickItemEvent.patch +++ b/patches/server/0899-Add-PlayerPickItemEvent.patch @@ -5,10 +5,10 @@ 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 37268ba38f7c2e4cbc731227f82d55004da27ae6..533cba358d5c3ab396002b7c3a68c4ea3c75e842 100644 +index 6d5cf94979fba9d27f91b51682a3b7b3f67c07ea..cab3b97e1153362edf6c48bf30bf4035430e8bf3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -938,8 +938,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -932,8 +932,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.disconnect("Invalid hotbar selection (Hacking?)", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause return; } diff --git a/patches/server/0903-Implement-OfflinePlayer-isConnected.patch b/patches/server/0903-Implement-OfflinePlayer-isConnected.patch index 50f3fabf757..0a5dd1a000e 100644 --- a/patches/server/0903-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/0903-Implement-OfflinePlayer-isConnected.patch @@ -23,10 +23,10 @@ index 4d654c4f0b6210a9841427789ba70ce5d1d308be..9d93130f23addb18b97d7f5ec013faef public String getName() { Player player = this.getPlayer(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7321575552591477c4f22f09ba15fcadfb4727e3..89b71e30798473b175a916b157db444fb895b5a9 100644 +index e8f90e9fd0fb2a6ae3419be759892f46ee459330..3a3e909ed68f7abc1ec5f79c51783334372488d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -253,6 +253,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -254,6 +254,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.server.getPlayer(this.getUniqueId()) != null; } diff --git a/patches/server/0904-Fix-inventory-desync.patch b/patches/server/0904-Fix-inventory-desync.patch index 683a9dc7892..3381bed750b 100644 --- a/patches/server/0904-Fix-inventory-desync.patch +++ b/patches/server/0904-Fix-inventory-desync.patch @@ -5,10 +5,10 @@ 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 b7cc2b5ee85e8e6a5c8cb8ce1f3c934773be32e6..7f93b60e9bdfc2739c77f4dfa69031fbe2097d65 100644 +index 70a151c8d109780350423eba5a951733ac855f23..90cde88f0f1c2991354685c0423475b98e0c28e5 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1464,6 +1464,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1467,6 +1467,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti // CraftBukkit start - fire PlayerLeashEntityEvent if (CraftEventFactory.callPlayerLeashEntityEvent(this, player, player, hand).isCancelled()) { ((ServerPlayer) player).connection.send(new ClientboundSetEntityLinkPacket(this, this.getLeashHolder())); diff --git a/patches/server/0909-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0909-Add-slot-sanity-checks-in-container-clicks.patch index 0e40777c776..3ee111d8479 100644 --- a/patches/server/0909-Add-slot-sanity-checks-in-container-clicks.patch +++ b/patches/server/0909-Add-slot-sanity-checks-in-container-clicks.patch @@ -5,10 +5,10 @@ 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 533cba358d5c3ab396002b7c3a68c4ea3c75e842..43aa78291cc88de0060dc8ed7ff09b7e2628e294 100644 +index cab3b97e1153362edf6c48bf30bf4035430e8bf3..4850971b46586cc6a4aeeba014bc6dcf6453d820 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2978,6 +2978,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2972,6 +2972,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl break; case SWAP: if ((packet.getButtonNum() >= 0 && packet.getButtonNum() < 9) || packet.getButtonNum() == 40) { diff --git a/patches/server/0911-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0911-Allow-proper-checking-of-empty-item-stacks.patch index 431623fe020..906d0184e43 100644 --- a/patches/server/0911-Allow-proper-checking-of-empty-item-stacks.patch +++ b/patches/server/0911-Allow-proper-checking-of-empty-item-stacks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow proper checking of empty item stacks diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 52e70f78dcefe69e110dba5300af26b7015f4d76..0e7a78d0b8b637de3076f1da25dcdfe32bf8ddf3 100644 +index eb305f23898ecb0c1dbc4c659da0a23207d8d362..0790f10122546bff1079b522b08d117426364a95 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -36,12 +36,19 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0912-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0912-Fix-silent-equipment-change-for-mobs.patch index 0232f6df8b1..c75be4adb13 100644 --- a/patches/server/0912-Fix-silent-equipment-change-for-mobs.patch +++ b/patches/server/0912-Fix-silent-equipment-change-for-mobs.patch @@ -5,10 +5,10 @@ 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 7f93b60e9bdfc2739c77f4dfa69031fbe2097d65..506101a692c73f6acf2e647c3ab18024ccdff866 100644 +index 90cde88f0f1c2991354685c0423475b98e0c28e5..7f781afb996dee380487f5be77c2149525ef0cca 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1150,19 +1150,26 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -1153,19 +1153,26 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti @Override public void setItemSlot(EquipmentSlot slot, ItemStack stack) { diff --git a/patches/server/0923-Add-player-idle-duration-API.patch b/patches/server/0923-Add-player-idle-duration-API.patch index 040eb5d834b..1184e24e5b3 100644 --- a/patches/server/0923-Add-player-idle-duration-API.patch +++ b/patches/server/0923-Add-player-idle-duration-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API Implements API for getting and resetting a player's idle duration. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 89b71e30798473b175a916b157db444fb895b5a9..16e3c449afb01b423d37815828c4ba15288785f0 100644 +index 3a3e909ed68f7abc1ec5f79c51783334372488d0..99e676dd5183c1f696afdd2b207ddf5056ba68ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3399,6 +3399,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3395,6 +3395,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0926-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0926-Allow-null-itemstack-for-Player-sendEquipmentChange.patch index 68382e69e43..3f057075efd 100644 --- a/patches/server/0926-Allow-null-itemstack-for-Player-sendEquipmentChange.patch +++ b/patches/server/0926-Allow-null-itemstack-for-Player-sendEquipmentChange.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 16e3c449afb01b423d37815828c4ba15288785f0..d815e30be07db0c2eb690cc1985938d43956f75a 100644 +index 99e676dd5183c1f696afdd2b207ddf5056ba68ef..05b27413b50255b8862f8feab2cd60e260919971 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1125,7 +1125,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0929-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0929-Add-predicate-for-blocks-when-raytracing.patch index e41b3d1a5e0..712ca7a8c84 100644 --- a/patches/server/0929-Add-predicate-for-blocks-when-raytracing.patch +++ b/patches/server/0929-Add-predicate-for-blocks-when-raytracing.patch @@ -47,7 +47,7 @@ index c978f3b2d42f512e982f289e76c2422e41b7eec6..bb8e962e63c7a2d931f9bd7f7c002aa3 Vec3 vec3d = raytrace1.getFrom().subtract(raytrace1.getTo()); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e99ebf806f955a7c0c163ef546b884c794be8a2a..420af35719f1e8b13cb848f94ca5f084057354af 100644 +index 18c1cceb9e8b2873b24134a9e012633616634aae..3abb776f546edb84307f374943427be02dc4c911 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1136,9 +1136,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0933-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0933-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch index b51a75d52a0..3d51508d964 100644 --- a/patches/server/0933-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch +++ b/patches/server/0933-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch @@ -45,7 +45,7 @@ index 0471d9c85af02133f99cca4e181b83b58a3f1abc..4f701788bd21b61cad251a3a88f9bc41 BlockState iblockdata = BaseFireBlock.getState(this.level(), blockposition); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 420af35719f1e8b13cb848f94ca5f084057354af..c479fcf24025ba2c8a48dbc2b9b3c47d398be486 100644 +index 3abb776f546edb84307f374943427be02dc4c911..039efd0b8eb141de044668a5633f26eee238c2b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -768,7 +768,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0939-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0939-Don-t-fire-sync-events-during-worldgen.patch index f7e2f236782..492d95271af 100644 --- a/patches/server/0939-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0939-Don-t-fire-sync-events-during-worldgen.patch @@ -48,7 +48,7 @@ index acf2cc8afaf4dee193ecf3bfc4a39b8c39ffc376..ee38f76e46c20e9fadfb5d4d602b7b82 this.entityData.set(Entity.DATA_POSE, pose); } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index c36b5aa3cf7ecff839f7115bf9be4776bcee13c3..066c7033fdd9506a0edc5f5a0ec3bb1f1fbae336 100644 +index d769dc472d3f12bf1e30ddd767a76659b734caac..8c7cc9c5af0b8d8bef9b6e2d3d3e723cd76f3212 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -592,9 +592,15 @@ public class EntityType implements FeatureElement, EntityTypeT diff --git a/patches/server/0940-Add-Structure-check-API.patch b/patches/server/0940-Add-Structure-check-API.patch index 1471472141f..b1501eb55b6 100644 --- a/patches/server/0940-Add-Structure-check-API.patch +++ b/patches/server/0940-Add-Structure-check-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Structure check API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c479fcf24025ba2c8a48dbc2b9b3c47d398be486..9483c268c19f469943ee0f344a8c599094c64f58 100644 +index 039efd0b8eb141de044668a5633f26eee238c2b0..4a62482b7c73728de8a94542e8978e836540b328 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -237,6 +237,20 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0941-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0941-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch index 5f689dc7c44..8568cfc5bf6 100644 --- a/patches/server/0941-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch +++ b/patches/server/0941-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 93350ee9ad3a6309e6baae97105328f78d485656..62dc63e2825d4144b80193b94f3e2b0d070b39c9 100644 +index a3ae3203e04dfb791b8aa537a303f4a4bd6cbab6..549d06b83b195c0a0207d18850b98d1e6e611460 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/0943-Dont-resend-blocks-on-interactions.patch b/patches/server/0943-Dont-resend-blocks-on-interactions.patch index 53bb0d32a11..384e9d45a5e 100644 --- a/patches/server/0943-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/0943-Dont-resend-blocks-on-interactions.patch @@ -149,7 +149,7 @@ index 6d494b80ae002aea00afa44adf83dad1ae5bbbc1..49557d6f22c5725c663a231deab019d4 return false; } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a3e1fdd3010faf06f43d2477c60558089cb18052..655fa32422c24c81d682791110413e4c771677e0 100644 +index fb85a7da9da8063c2b781377f62e7db34c467859..2d2b436cae5693051df14e5777d385d38d5f4dd6 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -480,10 +480,12 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0947-Add-experience-points-API.patch b/patches/server/0947-Add-experience-points-API.patch index 1a02324f3be..c5f04f3fe49 100644 --- a/patches/server/0947-Add-experience-points-API.patch +++ b/patches/server/0947-Add-experience-points-API.patch @@ -18,7 +18,7 @@ index 230ffd3c4541ef8979605d733b6463e39cd00206..446556028028b25c35dbf3d099bf14a5 // Paper start - send while respecting visibility private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d815e30be07db0c2eb690cc1985938d43956f75a..be57780bc7b1ecfdd6683d785fef8055fce0e222 100644 +index 05b27413b50255b8862f8feab2cd60e260919971..84e7c91c56c306b6956520287364b87a297c14cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1902,6 +1902,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0948-Add-drops-to-shear-events.patch b/patches/server/0948-Add-drops-to-shear-events.patch index 0cc7dc88b24..093e1d3325a 100644 --- a/patches/server/0948-Add-drops-to-shear-events.patch +++ b/patches/server/0948-Add-drops-to-shear-events.patch @@ -264,7 +264,7 @@ index 822bfebc779646dde655239ac217bad011a9eee4..444287fea080182df533198f5c659533 public static Cancellable handleStatisticsIncrease(net.minecraft.world.entity.player.Player entityHuman, net.minecraft.stats.Stat statistic, int current, int newValue) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 0e7a78d0b8b637de3076f1da25dcdfe32bf8ddf3..e37656794bce0221c9869147f87d26a2c8290eef 100644 +index 0790f10122546bff1079b522b08d117426364a95..2ba771efa61e109804f3141e95f77613ac952ed1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -65,6 +65,16 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0950-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0950-Validate-ResourceLocation-in-NBT-reading.patch index 7028c34a8c7..0e1c0b7e08d 100644 --- a/patches/server/0950-Validate-ResourceLocation-in-NBT-reading.patch +++ b/patches/server/0950-Validate-ResourceLocation-in-NBT-reading.patch @@ -40,7 +40,7 @@ index d93b623ce973b63d4f3a77bfe459f51af7cb3c1c..2c4553312f2f37f8613ac813708b4b95 this.path = path; } diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 066c7033fdd9506a0edc5f5a0ec3bb1f1fbae336..d2503224a1697636b3f9c26126d6bb201143076a 100644 +index 8c7cc9c5af0b8d8bef9b6e2d3d3e723cd76f3212..56b51096ca4147363a843accf6ef2510f05e8f1a 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -623,7 +623,7 @@ public class EntityType implements FeatureElement, EntityTypeT @@ -72,10 +72,10 @@ 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 506101a692c73f6acf2e647c3ab18024ccdff866..4f2148d13fc26ad2c43460f46c376832c1bb8150 100644 +index 7f781afb996dee380487f5be77c2149525ef0cca..0fd307e214f544284606ac8aa57f3f6bdca8bca6 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -642,7 +642,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti +@@ -645,7 +645,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti this.setLeftHanded(nbt.getBoolean("LeftHanded")); if (nbt.contains("DeathLootTable", 8)) { diff --git a/patches/server/0966-Deprecate-ItemStack-setType.patch b/patches/server/0966-Deprecate-ItemStack-setType.patch index f13f299b734..a252511a0b6 100644 --- a/patches/server/0966-Deprecate-ItemStack-setType.patch +++ b/patches/server/0966-Deprecate-ItemStack-setType.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate ItemStack#setType diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index e37656794bce0221c9869147f87d26a2c8290eef..7c54b05f0eb734507e36f85690eb0b2832d94ce8 100644 +index 2ba771efa61e109804f3141e95f77613ac952ed1..39e46f3f4b51fce9bc492fa498aa7427b27b78d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -715,4 +715,24 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/0967-Add-CartographyItemEvent.patch b/patches/server/0967-Add-CartographyItemEvent.patch index 12d2f33df86..4502c9aa8ad 100644 --- a/patches/server/0967-Add-CartographyItemEvent.patch +++ b/patches/server/0967-Add-CartographyItemEvent.patch @@ -5,10 +5,10 @@ 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 43aa78291cc88de0060dc8ed7ff09b7e2628e294..d6c767c8fee799e895058c8ef3dad96cc580675d 100644 +index 4850971b46586cc6a4aeeba014bc6dcf6453d820..4db287b7d0d25b0e2b4943a02a72964c387ca321 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3100,6 +3100,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3094,6 +3094,19 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } diff --git a/patches/server/0968-More-Raid-API.patch b/patches/server/0968-More-Raid-API.patch index 64b69fb2f09..14fcb7449a1 100644 --- a/patches/server/0968-More-Raid-API.patch +++ b/patches/server/0968-More-Raid-API.patch @@ -86,7 +86,7 @@ index b8ce1c1c2447f9cff1717bfcfd6eb911ade0d4b3..51f21af9d75769abdcba713b9aa33392 + // Paper end - more Raid API } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9483c268c19f469943ee0f344a8c599094c64f58..9dbdbdda2f55c33d98fc7cd00327b275d9fc5c9b 100644 +index 4a62482b7c73728de8a94542e8978e836540b328..34f03dd227181a03fa90845067424a26382bab9b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2373,6 +2373,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0976-Improve-tag-parser-handling.patch b/patches/server/0976-Improve-tag-parser-handling.patch index 7c29564a496..6f346ac4f2a 100644 --- a/patches/server/0976-Improve-tag-parser-handling.patch +++ b/patches/server/0976-Improve-tag-parser-handling.patch @@ -169,10 +169,10 @@ 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 d6c767c8fee799e895058c8ef3dad96cc580675d..6061f7104dd2094e316739a1b0e541475aed40b0 100644 +index 4db287b7d0d25b0e2b4943a02a72964c387ca321..9c5614d42656d1306e6f0db961391e62a5f42ee7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -769,6 +769,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -763,6 +763,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } // Paper end - Don't suggest if tab-complete is disabled @@ -186,7 +186,7 @@ index d6c767c8fee799e895058c8ef3dad96cc580675d..6061f7104dd2094e316739a1b0e54147 // Paper start - AsyncTabCompleteEvent TAB_COMPLETE_EXECUTOR.execute(() -> this.handleCustomCommandSuggestions0(packet)); } -@@ -821,6 +828,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -815,6 +822,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl private void sendServerSuggestions(final ServerboundCommandSuggestionPacket packet, final StringReader stringreader) { // Paper end - AsyncTabCompleteEvent ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); diff --git a/patches/server/0984-Starlight.patch b/patches/server/0984-Starlight.patch index 0a239e7bcdc..ab183ba00ac 100644 --- a/patches/server/0984-Starlight.patch +++ b/patches/server/0984-Starlight.patch @@ -5410,7 +5410,7 @@ index 88f0aca2da0e14ed5ec0513944fa0ba28b73b5d1..01d6b8683a9fa30d05b03ebfef8ee2dc return nbt != null ? ChunkStatus.byName(nbt.getString("Status")).getChunkType() : ChunkType.PROTOCHUNK; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9dbdbdda2f55c33d98fc7cd00327b275d9fc5c9b..a7aafc754b9c69f19d38504a7bbe551275cd0c42 100644 +index 34f03dd227181a03fa90845067424a26382bab9b..4b6a04e47f5d4c071607516519098fab317dcf12 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -507,12 +507,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0985-Rewrite-chunk-system.patch b/patches/server/0985-Rewrite-chunk-system.patch index 72409d4ddd2..3c137de96cf 100644 --- a/patches/server/0985-Rewrite-chunk-system.patch +++ b/patches/server/0985-Rewrite-chunk-system.patch @@ -21547,7 +21547,7 @@ index 5467a5985eaf159e2a4f19dd5723d05d8f2d598e..66fa93a44a348f9cd300ec0c4a2d09a7 // Paper start - Adventure diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a7aafc754b9c69f19d38504a7bbe551275cd0c42..0d8253f12f8da7f8859b87590bed08ba13df9295 100644 +index 4b6a04e47f5d4c071607516519098fab317dcf12..01fc74e6cc8ea8808b821583afb26309587dc003 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -518,10 +518,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -21649,10 +21649,10 @@ index a7aafc754b9c69f19d38504a7bbe551275cd0c42..0d8253f12f8da7f8859b87590bed08ba // Paper start - implement pointers diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index be57780bc7b1ecfdd6683d785fef8055fce0e222..d6bae0731fc0e43fd3bdc775a4c5255d79891c7a 100644 +index 84e7c91c56c306b6956520287364b87a297c14cf..0b0bef1a8a12029c1da775f1cad5c1af42544179 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3462,31 +3462,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3458,31 +3458,31 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public int getViewDistance() { diff --git a/patches/server/0992-Fix-World-isChunkGenerated-calls.patch b/patches/server/0992-Fix-World-isChunkGenerated-calls.patch index 26ca3e945a5..1aa77b4f435 100644 --- a/patches/server/0992-Fix-World-isChunkGenerated-calls.patch +++ b/patches/server/0992-Fix-World-isChunkGenerated-calls.patch @@ -152,7 +152,7 @@ index c2838ae91b7f078369b63503df57a1eb5d2b0df5..c33640859aab837c85f3e860fe2241a0 // Paper start - don't write garbage data to disk if writing serialization fails dataoutputstream.close(); // Only write if successful diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 0d8253f12f8da7f8859b87590bed08ba13df9295..77d96f76440f34630c2faf2526503522e4451ffd 100644 +index 01fc74e6cc8ea8808b821583afb26309587dc003..0ce0589204a01051aa1251d6af752eed4ac69c0f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -391,9 +391,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0994-Entity-Activation-Range-2.0.patch b/patches/server/0994-Entity-Activation-Range-2.0.patch index 2e387df5239..545f5b69f11 100644 --- a/patches/server/0994-Entity-Activation-Range-2.0.patch +++ b/patches/server/0994-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 4f2148d13fc26ad2c43460f46c376832c1bb8150..146ec4bb70ae7b1d2b7705daa150e5fcfe6ec223 100644 +index 0fd307e214f544284606ac8aa57f3f6bdca8bca6..eb2fd14f175a4ffca920ca116fb8d0d381286dc5 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/0996-Anti-Xray.patch b/patches/server/0996-Anti-Xray.patch index b7302c5a813..c69b6fabaa2 100644 --- a/patches/server/0996-Anti-Xray.patch +++ b/patches/server/0996-Anti-Xray.patch @@ -1586,7 +1586,7 @@ index 66fa93a44a348f9cd300ec0c4a2d09a7a2bf47e1..ac9873c430a3ece5c4b5f5305496639a // Paper start - Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 77d96f76440f34630c2faf2526503522e4451ffd..bb15f318019584f68ce3aeb989d560070665a77d 100644 +index 0ce0589204a01051aa1251d6af752eed4ac69c0f..f2b20ed5063a293f0b464548f590d652170cd1d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -541,11 +541,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/1000-Entity-load-save-limit-per-chunk.patch b/patches/server/1000-Entity-load-save-limit-per-chunk.patch index 73051d43ff8..1dbf729bda1 100644 --- a/patches/server/1000-Entity-load-save-limit-per-chunk.patch +++ b/patches/server/1000-Entity-load-save-limit-per-chunk.patch @@ -9,7 +9,7 @@ defaults are only included for certain entites, this allows setting limits for any entity type. diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index d2503224a1697636b3f9c26126d6bb201143076a..9abc274049ccc7b77286676313f7010e76aa199e 100644 +index 56b51096ca4147363a843accf6ef2510f05e8f1a..a46bf73c608641bf1f00fd55242de71a0f2ee06e 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -649,9 +649,20 @@ public class EntityType implements FeatureElement, EntityTypeT diff --git a/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch index 56318219131..c357a07cf39 100644 --- a/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/1016-Use-Velocity-compression-and-cipher-natives.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use Velocity compression and cipher natives diff --git a/build.gradle.kts b/build.gradle.kts -index 2fb342f9d86e169571070b2b40538633f4b0d7cf..e2e3abe6a4b837fcef96ce7da6679b14afba0519 100644 +index 41767422b521ff095592d799b14b2f36c3b5c5cb..aab4d1f15745bce838329ba0359e3f9ca70f2e1f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -38,6 +38,11 @@ dependencies { @@ -352,7 +352,7 @@ index a08d9aa6e420f691795df9b627a9cd5b5c0112c5..52f537b7bfbdeaad9d17c0e88a1ed1c8 protected void initChannel(Channel channel) { try { diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 21d97c2b533a6528dd73c4e514d49273c120e171..cb25d42ba40bd0901bbe0d8399e5d8e87988706f 100644 +index 3333cb70744dc7ef8b181d332b63766aaaaad11f..765cf12c1558afd9686793b18388fc229c55d2d8 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -274,12 +274,14 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch index 52db1e5fb8a..378e8823664 100644 --- a/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/1019-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -8,10 +8,10 @@ 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 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f29733e52f 100644 +index 9c5614d42656d1306e6f0db961391e62a5f42ee7..ae927c2cdf151b901822636a2543668f85946430 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -578,7 +578,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -572,7 +572,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl return; } @@ -20,7 +20,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 d6 = d3 - this.vehicleLastGoodX; // Paper - diff on change, used for checking large move vectors above d7 = d4 - this.vehicleLastGoodY - 1.0E-6D; // Paper - diff on change, used for checking large move vectors above -@@ -594,6 +594,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -588,6 +588,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } entity.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); @@ -28,7 +28,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 double d11 = d7; d6 = d3 - entity.getX(); -@@ -607,15 +608,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -601,15 +602,23 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl boolean flag2 = false; if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot @@ -55,7 +55,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 entity.absMoveTo(d0, d1, d2, f, f1); this.player.absMoveTo(d0, d1, d2, this.player.getYRot(), this.player.getXRot()); // CraftBukkit this.send(new ClientboundMoveVehiclePacket(entity)); -@@ -694,7 +703,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -688,7 +697,32 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private boolean noBlocksAround(Entity entity) { @@ -89,7 +89,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 } @Override -@@ -1289,7 +1323,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1283,7 +1317,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } if (this.awaitingPositionFromClient != null) { @@ -98,7 +98,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 this.awaitingTeleportTime = this.tickCount; this.teleport(this.awaitingPositionFromClient.x, this.awaitingPositionFromClient.y, this.awaitingPositionFromClient.z, this.player.getYRot(), this.player.getXRot()); } -@@ -1398,7 +1432,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1392,7 +1426,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } @@ -107,7 +107,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 d6 = d0 - this.lastGoodX; // Paper - diff on change, used for checking large move vectors above d7 = d1 - this.lastGoodY; // Paper - diff on change, used for checking large move vectors above -@@ -1440,6 +1474,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1434,6 +1468,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.move(MoverType.PLAYER, new Vec3(d6, d7, d8)); this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move @@ -115,7 +115,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 // Paper start - prevent position desync if (this.awaitingPositionFromClient != null) { return; // ... thanks Mojang for letting move calls teleport across dimensions. -@@ -1470,7 +1505,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1464,7 +1499,17 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } // Paper start - Add fail move event @@ -134,7 +134,7 @@ index 6061f7104dd2094e316739a1b0e541475aed40b0..88fc56fa521c36accd807ca1704136f2 if (teleportBack) { io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.CLIPPED_INTO_BLOCK, toX, toY, toZ, toYaw, toPitch, false); -@@ -1576,6 +1621,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1570,6 +1615,33 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } } diff --git a/patches/server/1024-Properly-resend-entities.patch b/patches/server/1024-Properly-resend-entities.patch index 43f7ee5ae7b..26e6823751c 100644 --- a/patches/server/1024-Properly-resend-entities.patch +++ b/patches/server/1024-Properly-resend-entities.patch @@ -81,10 +81,10 @@ 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 88fc56fa521c36accd807ca1704136f29733e52f..a771f78f63e4f26c0ba411a3c355f8dfbb5f4a61 100644 +index ae927c2cdf151b901822636a2543668f85946430..b1e78d2bf20dc5ee93090615cce39d9f0ce0d80f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2010,6 +2010,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2004,6 +2004,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } if (cancelled) { @@ -92,7 +92,7 @@ index 88fc56fa521c36accd807ca1704136f29733e52f..a771f78f63e4f26c0ba411a3c355f8df this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524 return; } -@@ -2794,7 +2795,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2788,7 +2789,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { diff --git a/patches/server/1025-Optimize-Hoppers.patch b/patches/server/1025-Optimize-Hoppers.patch index 8dc3029475f..9f935dd7a97 100644 --- a/patches/server/1025-Optimize-Hoppers.patch +++ b/patches/server/1025-Optimize-Hoppers.patch @@ -62,7 +62,7 @@ index 88549de2768149885c4eabbaaa71a38341453aed..1adcbfb16ea1fe3378cde7c53e886884 this.profiler.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 655fa32422c24c81d682791110413e4c771677e0..ee8cbff27506a9e26ac0e058b1c361c4f8006eb1 100644 +index 2d2b436cae5693051df14e5777d385d38d5f4dd6..3d6ea1a9bd87ee9ce34cf95db8835e5729b1ade0 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -795,7 +795,13 @@ public final class ItemStack implements DataComponentHolder { @@ -101,7 +101,7 @@ index a7dfad2696e7145af1355a5db132af14d09a6f30..b0421823684ff6b9474b81675742d2ee } diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index 43ee9017fbbe0a5485a281712f76c23b059a849b..57dc38e39a11fa51f0d27830b709fe5b7ae9dc8b 100644 +index 92086ca118d55ec49cefa5bf18977f8706e3e4b4..f78343b50641a63110b8867ad84298ba9e873c22 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -156,6 +156,43 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -388,7 +388,7 @@ index 43ee9017fbbe0a5485a281712f76c23b059a849b..57dc38e39a11fa51f0d27830b709fe5b - destinationInventory = new CraftInventory(iinventory); - } - -- InventoryMoveItemEvent event = new InventoryMoveItemEvent(iinventory.getOwner().getInventory(), oitemstack, destinationInventory, true); +- InventoryMoveItemEvent event = new InventoryMoveItemEvent(blockEntity.getOwner().getInventory(), oitemstack, destinationInventory, true); - world.getCraftServer().getPluginManager().callEvent(event); - if (event.isCancelled()) { - blockEntity.setItem(i, itemstack); @@ -431,7 +431,7 @@ index 43ee9017fbbe0a5485a281712f76c23b059a849b..57dc38e39a11fa51f0d27830b709fe5b + // destinationInventory = new CraftInventory(iinventory); + // } + -+ // InventoryMoveItemEvent event = new InventoryMoveItemEvent(iinventory.getOwner().getInventory(), oitemstack, destinationInventory, true); ++ // InventoryMoveItemEvent event = new InventoryMoveItemEvent(tileentityhopper.getOwner().getInventory(), oitemstack, destinationInventory, true); + // world.getCraftServer().getPluginManager().callEvent(event); + // if (event.isCancelled()) { + // blockEntity.setItem(i, itemstack); diff --git a/patches/server/1035-API-for-checking-sent-chunks.patch b/patches/server/1035-API-for-checking-sent-chunks.patch index 74178c04031..18a11ca0f39 100644 --- a/patches/server/1035-API-for-checking-sent-chunks.patch +++ b/patches/server/1035-API-for-checking-sent-chunks.patch @@ -21,10 +21,10 @@ index ee58c67cb2bd78159cce19ec75f13dc6168a0e7a..149cfb0587299f72fcfddf395fb71b70 // TODO rebase into util patch diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d6bae0731fc0e43fd3bdc775a4c5255d79891c7a..48cc32b1af151f73f97bf2a2def97edb3fbff609 100644 +index 0b0bef1a8a12029c1da775f1cad5c1af42544179..f07173f3ed5a7966bbe5306d81eb3df8b38ca7d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3454,6 +3454,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3450,6 +3450,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/work/Bukkit b/work/Bukkit index 9ea9bb32fe3..69fa46950cc 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 9ea9bb32fe341b8308f6071bcc5f31c1e73a9d26 +Subproject commit 69fa46950cc65264d4e4db9f22e58d5f57e47f46 diff --git a/work/CraftBukkit b/work/CraftBukkit index 062d2bb13b3..90f1059bae9 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 062d2bb13b341b2bcc9a504677b2196c6f68ecb3 +Subproject commit 90f1059bae911966b5629b3ec1ff242d109fde7f