diff options
author | Noah van der Aa <[email protected]> | 2021-12-20 23:46:51 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-12-20 22:46:51 +0000 |
commit | ae6fec6d13255847ade2d54aa6462addbb1ad4d0 (patch) | |
tree | 47d80db0bb562e275d9723a0dddd32f50cb7fcf1 | |
parent | 6178609e1d7e9fda3d59786b69425a3b00d73298 (diff) | |
download | Paper-ae6fec6d13255847ade2d54aa6462addbb1ad4d0.tar.gz Paper-ae6fec6d13255847ade2d54aa6462addbb1ad4d0.zip |
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7116)
240 files changed, 432 insertions, 453 deletions
diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index a623f130c6..53ca02cece 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,7 +27,7 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21 +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb6a5c2768 +index 0000000000000000000000000000000000000000..c76bfbcfbe034700bdbd9396643cfca625273a14 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,66 @@ @@ -47,17 +47,17 @@ index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb + api("com.google.guava:guava:31.0.1-jre") + api("com.google.code.gson:gson:2.8.8") + api("net.md-5:bungeecord-chat:1.16-R0.4") -+ api("org.yaml:snakeyaml:1.28") ++ api("org.yaml:snakeyaml:1.30") + -+ compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") -+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") -+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") ++ compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") ++ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2") ++ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2") + -+ val annotations = "org.jetbrains:annotations-java5:21.0.1" ++ val annotations = "org.jetbrains:annotations-java5:23.0.0" + compileOnly(annotations) + testCompileOnly(annotations) + -+ testImplementation("junit:junit:4.13.1") ++ testImplementation("junit:junit:4.13.2") + testImplementation("org.hamcrest:hamcrest-library:1.3") + testImplementation("org.ow2.asm:asm-tree:9.2") +} @@ -92,14 +92,14 @@ index 0000000000000000000000000000000000000000..1b16a242187079f80720fc1990ee09bb +tasks.withType<Javadoc> { + (options as StandardJavadocDocletOptions).links( + "https://guava.dev/releases/31.0.1-jre/api/docs/", -+ "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/", -+ "https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/", ++ "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", ++ "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/", + "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/", + ) +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..0000000000000000000000000000000000000000 +index 9c130bf7fe7ec4b6b5d4f4c30cdbe6dc75b0f9a0..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null @@ -1,262 +0,0 @@ @@ -166,40 +166,40 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000 - <dependency> - <groupId>org.yaml</groupId> - <artifactId>snakeyaml</artifactId> -- <version>1.28</version> +- <version>1.30</version> - <scope>compile</scope> - </dependency> - <!-- not part of the API proper --> - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-resolver-provider</artifactId> -- <version>3.8.1</version> +- <version>3.8.4</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-connector-basic</artifactId> -- <version>1.7.0</version> +- <version>1.7.2</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-transport-http</artifactId> -- <version>1.7.0</version> +- <version>1.7.2</version> - <scope>provided</scope> - </dependency> - <!-- annotations --> - <dependency> - <groupId>org.jetbrains</groupId> - <artifactId>annotations-java5</artifactId> -- <version>21.0.1</version> +- <version>23.0.0</version> - <scope>provided</scope> - </dependency> - <!-- testing --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> -- <version>4.13.1</version> +- <version>4.13.2</version> - <scope>test</scope> - </dependency> - <dependency> @@ -248,7 +248,7 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000 - <dependency> - <groupId>org.eclipse.jdt</groupId> - <artifactId>ecj</artifactId> -- <version>3.27.0</version> +- <version>3.28.0</version> - </dependency> - </dependencies> - </plugin> @@ -299,8 +299,8 @@ index 0e69806e4b6fa44d1d2f8ebf1cf0dc4ef386e69e..00000000000000000000000000000000 - <configuration> - <links> - <link>https://guava.dev/releases/31.0.1-jre/api/docs/</link> -- <link>https://javadoc.io/doc/org.yaml/snakeyaml/1.28/</link> -- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/</link> +- <link>https://javadoc.io/doc/org.yaml/snakeyaml/1.30/</link> +- <link>https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/</link> - <link>https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/</link> - </links> - </configuration> diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch index b34052204b..fb74bef974 100644 --- a/patches/api/0002-Build-system-changes.patch +++ b/patches/api/0002-Build-system-changes.patch @@ -5,26 +5,26 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 1b16a242187079f80720fc1990ee09bb6a5c2768..b6ec62c00140a1e225e93c4b0413c0767f4ca5b8 100644 +index c76bfbcfbe034700bdbd9396643cfca625273a14..364b6215d2facb0273a67ff605ccb8e707e080b8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,15 +15,27 @@ dependencies { api("com.google.code.gson:gson:2.8.8") api("net.md-5:bungeecord-chat:1.16-R0.4") - api("org.yaml:snakeyaml:1.28") + api("org.yaml:snakeyaml:1.30") + // Paper start + api("com.googlecode.json-simple:json-simple:1.1.1") { + isTransitive = false // includes junit + } + // Paper end - compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") - compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") - compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") + compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") + compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2") + compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2") + compileOnly("com.google.code.findbugs:jsr305:1.3.9") // Paper -- val annotations = "org.jetbrains:annotations-java5:21.0.1" -+ val annotations = "org.jetbrains:annotations:21.0.1" // Paper - we don't want Java 5 annotations... +- val annotations = "org.jetbrains:annotations-java5:23.0.0" ++ val annotations = "org.jetbrains:annotations:23.0.0" // Paper - we don't want Java 5 annotations... compileOnly(annotations) testCompileOnly(annotations) @@ -34,15 +34,15 @@ index 1b16a242187079f80720fc1990ee09bb6a5c2768..b6ec62c00140a1e225e93c4b0413c076 + testCompileOnly(checkerAnnotations) + // Paper end + - testImplementation("junit:junit:4.13.1") + testImplementation("junit:junit:4.13.2") testImplementation("org.hamcrest:hamcrest-library:1.3") testImplementation("org.ow2.asm:asm-tree:9.2") @@ -60,7 +72,7 @@ tasks.withType<Javadoc> { (options as StandardJavadocDocletOptions).links( "https://guava.dev/releases/31.0.1-jre/api/docs/", - "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/", -- "https://javadoc.io/doc/org.jetbrains/annotations-java5/21.0.1/", -+ "https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/", // Paper - we don't want Java 5 annotations + "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", +- "https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/", ++ "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/", ) } diff --git a/patches/api/0004-Add-FastUtil-to-Bukkit.patch b/patches/api/0004-Add-FastUtil-to-Bukkit.patch index 5ebfe29090..af4e597708 100644 --- a/patches/api/0004-Add-FastUtil-to-Bukkit.patch +++ b/patches/api/0004-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 1168642d832727af2173dfcae6d132a9d44132c1..a1fd76a7a7fea04a67752ff60834b566fe6f5ec5 100644 +index 364b6215d2facb0273a67ff605ccb8e707e080b8..3777d12874ede329410a6bf1c0533deb44924d73 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,6 +19,7 @@ dependencies { @@ -16,4 +16,4 @@ index 1168642d832727af2173dfcae6d132a9d44132c1..a1fd76a7a7fea04a67752ff60834b566 + api("it.unimi.dsi:fastutil:8.5.6") // Paper end - compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") + compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") diff --git a/patches/api/0006-Timings-v2.patch b/patches/api/0006-Timings-v2.patch index 899d4cbd8c..ed2bf61dad 100644 --- a/patches/api/0006-Timings-v2.patch +++ b/patches/api/0006-Timings-v2.patch @@ -2782,10 +2782,10 @@ index 0000000000000000000000000000000000000000..5989ee21297935651b0edd44b8239e65 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 806aeee78956fc79fda62c706f40d3edd2ef8388..a238302f2a12194aa30a88867070705dc749b36b 100644 +index 072bcbbbf167e02ce5014b672f2cf63122d29b21..de7f303bce9e2454eaec12131cd1439a54281c7e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -704,7 +704,6 @@ public final class Bukkit { +@@ -747,7 +747,6 @@ public final class Bukkit { */ public static void reload() { server.reload(); @@ -2794,10 +2794,10 @@ index 806aeee78956fc79fda62c706f40d3edd2ef8388..a238302f2a12194aa30a88867070705d /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 70d711b51e6bb3860c17e631fe5892b6bde9b245..3e91c4000c468fd8bdcb938e942a7bbf4988cab2 100644 +index 2bfccae871b92749fa5893b5a7ff327fc93695ad..31e989bdaf60d38e14c84c4a0a31ede6e1a72e86 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1465,6 +1465,26 @@ public interface Server extends PluginMessageRecipient { +@@ -1500,6 +1500,26 @@ public interface Server extends PluginMessageRecipient { throw new UnsupportedOperationException("Not supported yet."); } @@ -3377,10 +3377,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 9a864f54992cd0a6987d095ef3b98dd500d0eff9..4a20f96268ea831ed4fdd236b582abdf07dc4748 100644 +index 709016bdc30d5502765af842d4fc83af53779a9e..c36e4ceb1094aa9469f976e0952e2725358ff761 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1469,7 +1469,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1610,7 +1610,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); diff --git a/patches/api/0008-Adventure.patch b/patches/api/0008-Adventure.patch index b6599a84a2..81fea21170 100644 --- a/patches/api/0008-Adventure.patch +++ b/patches/api/0008-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml <[email protected]> Co-authored-by: Jake Potrebic <[email protected]> diff --git a/build.gradle.kts b/build.gradle.kts -index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d164676dcf75fc 100644 +index 3777d12874ede329410a6bf1c0533deb44924d73..0e8e827b5a05ac9423386eaea4188d132cc7f954 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,19 @@ java { @@ -41,7 +41,7 @@ index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d16467 + apiAndDocs("net.kyori:adventure-text-serializer-plain") // Paper end - compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") + compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") @@ -70,10 +88,25 @@ tasks.jar { } @@ -57,8 +57,8 @@ index 0a202cb63769d68ecda1644cb259c17740e5b00e..c0279749aacf5735309545cd40d16467 + } (options as StandardJavadocDocletOptions).links( "https://guava.dev/releases/31.0.1-jre/api/docs/", - "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/", - "https://javadoc.io/doc/org.jetbrains/annotations/21.0.1/", // Paper - we don't want Java 5 annotations + "https://javadoc.io/doc/org.yaml/snakeyaml/1.30/", + "https://javadoc.io/doc/org.jetbrains/annotations/23.0.0/", // Paper - we don't want Java 5 annotations "https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/", + // Paper start + "https://jd.adventure.kyori.net/api/$adventureVersion/", @@ -472,10 +472,10 @@ index 0000000000000000000000000000000000000000..77db592d05b754f879f8d1790642e9d9 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc 100644 +index 0d96b6bdc744a23cc7322f2bd6a7a7b38acb6830..84a620bbbc24ded4075bce0209caed7fa03a92eb 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -326,7 +326,9 @@ public final class Bukkit { +@@ -369,7 +369,9 @@ public final class Bukkit { * * @param message the message * @return the number of players @@ -485,7 +485,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 public static int broadcastMessage(@NotNull String message) { return server.broadcastMessage(message); } -@@ -969,6 +971,19 @@ public final class Bukkit { +@@ -1012,6 +1014,19 @@ public final class Bukkit { server.shutdown(); } @@ -505,7 +505,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 /** * Broadcasts the specified message to every user with the given * permission name. -@@ -978,6 +993,21 @@ public final class Bukkit { +@@ -1021,6 +1036,21 @@ public final class Bukkit { * permissibles} must have to receive the broadcast * @return number of message recipients */ @@ -527,7 +527,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 public static int broadcast(@NotNull String message, @NotNull String permission) { return server.broadcast(message, permission); } -@@ -1177,6 +1207,7 @@ public final class Bukkit { +@@ -1220,6 +1250,7 @@ public final class Bukkit { return server.createInventory(owner, type); } @@ -535,7 +535,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 /** * Creates an empty inventory with the specified type and title. If the type * is {@link InventoryType#CHEST}, the new inventory has a size of 27; -@@ -1202,6 +1233,38 @@ public final class Bukkit { +@@ -1245,6 +1276,38 @@ public final class Bukkit { * @see InventoryType#isCreatable() */ @NotNull @@ -574,7 +574,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) { return server.createInventory(owner, type, title); } -@@ -1220,6 +1283,7 @@ public final class Bukkit { +@@ -1263,6 +1326,7 @@ public final class Bukkit { return server.createInventory(owner, size); } @@ -582,7 +582,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1232,10 +1296,30 @@ public final class Bukkit { +@@ -1275,10 +1339,30 @@ public final class Bukkit { * @throws IllegalArgumentException if the size is not a multiple of 9 */ @NotNull @@ -613,7 +613,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 /** * Creates an empty merchant. * -@@ -1243,7 +1327,20 @@ public final class Bukkit { +@@ -1286,7 +1370,20 @@ public final class Bukkit { * when the merchant inventory is viewed * @return a new merchant */ @@ -634,7 +634,7 @@ index cc42bfa74b41ef6d6374efa7b882f71677fb0824..ef06bd2972e0a4e7ffa0e91d2b0de5d7 public static Merchant createMerchant(@Nullable String title) { return server.createMerchant(title); } -@@ -1323,22 +1420,47 @@ public final class Bukkit { +@@ -1366,22 +1463,47 @@ public final class Bukkit { return server.isPrimaryThread(); } @@ -786,7 +786,7 @@ index 803fa0019869127ee8c7e4fb1777a59c43e66f8a..c65f0d6569c130b4920a9e71ad24af64 + // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd315152812975855fe9 100644 +index 7f4d6d605934e47ec97b8ad7cca3c48460bc0082..ede5de4c310a93989608bf48b3e5116f380589dd 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -56,7 +56,7 @@ import org.jetbrains.annotations.Nullable; @@ -816,7 +816,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 */ public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user"; -@@ -269,7 +269,9 @@ public interface Server extends PluginMessageRecipient { +@@ -304,7 +304,9 @@ public interface Server extends PluginMessageRecipient { * * @param message the message * @return the number of players @@ -826,7 +826,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 public int broadcastMessage(@NotNull String message); /** -@@ -821,8 +823,33 @@ public interface Server extends PluginMessageRecipient { +@@ -856,8 +858,33 @@ public interface Server extends PluginMessageRecipient { * @param permission the required permission {@link Permissible * permissibles} must have to receive the broadcast * @return number of message recipients @@ -860,7 +860,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 /** * Gets the player by the given name, regardless if they are offline or -@@ -987,6 +1014,7 @@ public interface Server extends PluginMessageRecipient { +@@ -1022,6 +1049,7 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type); @@ -868,7 +868,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 /** * Creates an empty inventory with the specified type and title. If the type * is {@link InventoryType#CHEST}, the new inventory has a size of 27; -@@ -1012,6 +1040,36 @@ public interface Server extends PluginMessageRecipient { +@@ -1047,6 +1075,36 @@ public interface Server extends PluginMessageRecipient { * @see InventoryType#isCreatable() */ @NotNull @@ -905,7 +905,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title); /** -@@ -1026,6 +1084,22 @@ public interface Server extends PluginMessageRecipient { +@@ -1061,6 +1119,22 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException; @@ -928,7 +928,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1036,10 +1110,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1071,10 +1145,13 @@ public interface Server extends PluginMessageRecipient { * viewed * @return a new inventory * @throws IllegalArgumentException if the size is not a multiple of 9 @@ -942,7 +942,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 /** * Creates an empty merchant. * -@@ -1047,7 +1124,18 @@ public interface Server extends PluginMessageRecipient { +@@ -1082,7 +1159,18 @@ public interface Server extends PluginMessageRecipient { * when the merchant inventory is viewed * @return a new merchant */ @@ -961,7 +961,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 Merchant createMerchant(@Nullable String title); /** -@@ -1111,20 +1199,41 @@ public interface Server extends PluginMessageRecipient { +@@ -1146,20 +1234,41 @@ public interface Server extends PluginMessageRecipient { */ boolean isPrimaryThread(); @@ -1003,7 +1003,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 String getShutdownMessage(); /** -@@ -1501,7 +1610,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1536,7 +1645,9 @@ public interface Server extends PluginMessageRecipient { * Sends the component to the player * * @param component the components to send @@ -1013,7 +1013,7 @@ index 1fb1d4f32af8150711ca766fcd7d0a0c177df7c4..4bea157f06924d80a850dd3151528129 public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1510,7 +1621,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1545,7 +1656,9 @@ public interface Server extends PluginMessageRecipient { * Sends an array of components as a single message to the player * * @param components the components to send @@ -1579,7 +1579,7 @@ index 25a6f9313a1953def7470e411b53016f2ca14bef..10cb6088c4618f228c757f4e592b44ed + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0d5d00831 100644 +index c36e4ceb1094aa9469f976e0952e2725358ff761..32850ac21d59f962de10125e1b528856bc561d70 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -35,7 +35,28 @@ import org.jetbrains.annotations.Nullable; @@ -1875,7 +1875,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1051,7 +1222,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1192,7 +1363,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param title Title text * @param subtitle Subtitle text @@ -1884,7 +1884,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 */ @Deprecated public void sendTitle(@Nullable String title, @Nullable String subtitle); -@@ -1070,7 +1241,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1211,7 +1382,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param fadeIn time in ticks for titles to fade in. Defaults to 10. * @param stay time in ticks for titles to stay. Defaults to 70. * @param fadeOut time in ticks for titles to fade out. Defaults to 20. @@ -1894,7 +1894,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut); /** -@@ -1297,6 +1470,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1438,6 +1611,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -1909,7 +1909,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 /** * Gets the player's estimated ping in milliseconds. * -@@ -1322,8 +1503,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1463,8 +1644,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -1920,7 +1920,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public String getLocale(); /** -@@ -1365,6 +1548,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1506,6 +1689,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isAllowingServerListings(); @@ -1935,7 +1935,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 // Spigot start public class Spigot extends Entity.Spigot { -@@ -1419,11 +1610,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1560,11 +1751,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -1949,7 +1949,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1434,7 +1627,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1575,7 +1768,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -1959,7 +1959,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1444,7 +1639,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1585,7 +1780,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -1969,7 +1969,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1455,7 +1652,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1596,7 +1793,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param component the components to send @@ -1979,7 +1979,7 @@ index 4a20f96268ea831ed4fdd236b582abdf07dc4748..4f8c4a736c5c78cae66dd76b25d787f0 public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1466,7 +1665,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1607,7 +1806,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param position the screen position * @param sender the sender of the message * @param components the components to send diff --git a/patches/api/0009-Player-affects-spawning-API.patch b/patches/api/0009-Player-affects-spawning-API.patch index 05cc9a53b4..55bb3b46fb 100644 --- a/patches/api/0009-Player-affects-spawning-API.patch +++ b/patches/api/0009-Player-affects-spawning-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4f8c4a736c5c78cae66dd76b25d787f0d5d00831..2338eae12f5a984e953a332b3a5a6700a031dd5a 100644 +index 32850ac21d59f962de10125e1b528856bc561d70..b3b53db0a74df795866677285fab4c943db42100 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1509,6 +1509,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1650,6 +1650,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public String getLocale(); diff --git a/patches/api/0010-Add-getTPS-method.patch b/patches/api/0010-Add-getTPS-method.patch index e689523512..d0a3ff3bdd 100644 --- a/patches/api/0010-Add-getTPS-method.patch +++ b/patches/api/0010-Add-getTPS-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getTPS method diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc..fb2001968b4f7498da9ea7bbb79468c1e5383c0f 100644 +index 84a620bbbc24ded4075bce0209caed7fa03a92eb..bbee4e40917cca4e692c3d60c1c513b4c847160f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1685,6 +1685,17 @@ public final class Bukkit { +@@ -1728,6 +1728,17 @@ public final class Bukkit { return server.getEntity(uuid); } @@ -27,10 +27,10 @@ index ef06bd2972e0a4e7ffa0e91d2b0de5d7f8425edc..fb2001968b4f7498da9ea7bbb79468c1 * Get the advancement specified by this key. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4bea157f06924d80a850dd315152812975855fe9..dfe7aa74fb4b49a2f3994571c041f1a5d9668841 100644 +index ede5de4c310a93989608bf48b3e5116f380589dd..835041d2ab6545e52d963d96d558f9a7e52d279a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1426,6 +1426,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1461,6 +1461,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable Entity getEntity(@NotNull UUID uuid); diff --git a/patches/api/0014-Add-view-distance-API.patch b/patches/api/0014-Add-view-distance-API.patch index 6b1891a73a..f540860d10 100644 --- a/patches/api/0014-Add-view-distance-API.patch +++ b/patches/api/0014-Add-view-distance-API.patch @@ -65,10 +65,10 @@ index c58b1885662c6a234ffee75995051c9750c1a512..7b1fb280a86ab44756fc233b085f878d public class Spigot { diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 2338eae12f5a984e953a332b3a5a6700a031dd5a..73c42df406d3935d8eeab2f27f4478f92d2d45d9 100644 +index b3b53db0a74df795866677285fab4c943db42100..152f848d2f93a52999f093bd83b4732af9aab8d8 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1523,6 +1523,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1664,6 +1664,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param affects Whether the player can affect mob spawning */ public void setAffectsSpawning(boolean affects); diff --git a/patches/api/0018-Expose-server-CommandMap.patch b/patches/api/0018-Expose-server-CommandMap.patch index de71d57cfe..9f4a755b1b 100644 --- a/patches/api/0018-Expose-server-CommandMap.patch +++ b/patches/api/0018-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index fb2001968b4f7498da9ea7bbb79468c1e5383c0f..93598a80a3f71d5e90fa9d7c93c01e1024c045c8 100644 +index bbee4e40917cca4e692c3d60c1c513b4c847160f..259c15ada05115b9fc86f1de06649d5cec2ef137 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1869,6 +1869,19 @@ public final class Bukkit { +@@ -1912,6 +1912,19 @@ public final class Bukkit { return server.getUnsafe(); } @@ -29,10 +29,10 @@ index fb2001968b4f7498da9ea7bbb79468c1e5383c0f..93598a80a3f71d5e90fa9d7c93c01e10 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index dfe7aa74fb4b49a2f3994571c041f1a5d9668841..b476f473078512363a7142d82fbc28afaa4690ff 100644 +index 835041d2ab6545e52d963d96d558f9a7e52d279a..66211ef974b9e091983bfda108f6e420c01a9d78 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1436,6 +1436,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1471,6 +1471,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi public double[] getTPS(); // Paper end diff --git a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index ac801cf869..4feb45418d 100644 --- a/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0019-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses Change Javadoc to be accurate diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 93598a80a3f71d5e90fa9d7c93c01e1024c045c8..f1612106fa284f9d69f4b8981e5e5efac22765b8 100644 +index 259c15ada05115b9fc86f1de06649d5cec2ef137..5fc71e24f1562ff0d448b964f29fd109d4d9bb4d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -333,6 +333,30 @@ public final class Bukkit { +@@ -376,6 +376,30 @@ public final class Bukkit { return server.broadcastMessage(message); } @@ -41,10 +41,10 @@ index 93598a80a3f71d5e90fa9d7c93c01e1024c045c8..f1612106fa284f9d69f4b8981e5e5efa * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b476f473078512363a7142d82fbc28afaa4690ff..30252583c457a1afafa4172321e13673fb19c08f 100644 +index 66211ef974b9e091983bfda108f6e420c01a9d78..8fb6545406ab6029d82c903856bda6c6d6fa0636 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -274,6 +274,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -309,6 +309,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Deprecated // Paper public int broadcastMessage(@NotNull String message); @@ -76,7 +76,7 @@ index b476f473078512363a7142d82fbc28afaa4690ff..30252583c457a1afafa4172321e13673 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 73c42df406d3935d8eeab2f27f4478f92d2d45d9..b6a848261f7c136cbcb4a4f40223d2f248d546c2 100644 +index 152f848d2f93a52999f093bd83b4732af9aab8d8..771682aa1c5e1bfb9670cc98ce99439014d0d31c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -708,6 +708,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/api/0025-Complete-resource-pack-API.patch b/patches/api/0025-Complete-resource-pack-API.patch index 95d5db5fa6..3ed4198de0 100644 --- a/patches/api/0025-Complete-resource-pack-API.patch +++ b/patches/api/0025-Complete-resource-pack-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1df2ff828aee7dac50d63fe1d51104e9fb2ed264..9884b8eefea0cc84a1af5901410d77746f85b5d7 100644 +index 70e97db83071935dfe6cbf2a60660672d0205a96..8fa4606e187b4677d2302b4fec5c02adf652b3e5 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -1251,7 +1251,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -18,7 +18,7 @@ index 1df2ff828aee7dac50d63fe1d51104e9fb2ed264..9884b8eefea0cc84a1af5901410d7774 public void setResourcePack(@NotNull String url); /** -@@ -1788,6 +1790,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1929,6 +1931,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM default net.kyori.adventure.text.event.HoverEvent<net.kyori.adventure.text.event.HoverEvent.ShowEntity> asHoverEvent(final @NotNull java.util.function.UnaryOperator<net.kyori.adventure.text.event.HoverEvent.ShowEntity> op) { return net.kyori.adventure.text.event.HoverEvent.showEntity(op.apply(net.kyori.adventure.text.event.HoverEvent.ShowEntity.of(this.getType().getKey(), this.getUniqueId(), this.displayName()))); } diff --git a/patches/api/0026-Use-ASM-for-event-executors.patch b/patches/api/0026-Use-ASM-for-event-executors.patch index 382bc191fd..bec520ef22 100644 --- a/patches/api/0026-Use-ASM-for-event-executors.patch +++ b/patches/api/0026-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 57c216660b86a35f3e182d90c2a107563eaf5cb1..5a1b66c6692451a78be6c4adb103de34bb06b056 100644 +index 0e8e827b5a05ac9423386eaea4188d132cc7f954..70d6503745942ea8637146369aeab8f9357c42d5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -38,6 +38,9 @@ dependencies { @@ -18,7 +18,7 @@ index 57c216660b86a35f3e182d90c2a107563eaf5cb1..5a1b66c6692451a78be6c4adb103de34 + implementation("org.ow2.asm:asm-commons:9.2") // Paper end - compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") + compileOnly("org.apache.maven:maven-resolver-provider:3.8.4") diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java new file mode 100644 index 0000000000000000000000000000000000000000..5b28e9b1daba7834af67dbc193dd656bedd9a994 diff --git a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch index 7f906cf81b..bf64d7b98d 100644 --- a/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/patches/api/0029-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f1612106fa284f9d69f4b8981e5e5efac22765b8..0a2fc619ec9f28b43920cedcd18b75edfa66a36b 100644 +index 5fc71e24f1562ff0d448b964f29fd109d4d9bb4d..191e9985fc17ffbdb9b6bdadbea46da54f5f7599 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1904,6 +1904,13 @@ public final class Bukkit { +@@ -1947,6 +1947,13 @@ public final class Bukkit { public static org.bukkit.command.CommandMap getCommandMap() { return server.getCommandMap(); } @@ -24,10 +24,10 @@ index f1612106fa284f9d69f4b8981e5e5efac22765b8..0a2fc619ec9f28b43920cedcd18b75ed @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 30252583c457a1afafa4172321e13673fb19c08f..07146beb9009e7f631905db0c86a4f4a048039da 100644 +index 8fb6545406ab6029d82c903856bda6c6d6fa0636..731679a0893635f5cb71a19fd9ee8562795230b8 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1682,4 +1682,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1717,4 +1717,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull Spigot spigot(); // Spigot end diff --git a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch index 18acabd480..be232c93b6 100644 --- a/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/api/0042-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0a2fc619ec9f28b43920cedcd18b75edfa66a36b..2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08 100644 +index 191e9985fc17ffbdb9b6bdadbea46da54f5f7599..3f58ffb4c59a92259fc5dde3d220658b6e54896f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1911,6 +1911,15 @@ public final class Bukkit { +@@ -1954,6 +1954,15 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } @@ -26,10 +26,10 @@ index 0a2fc619ec9f28b43920cedcd18b75edfa66a36b..2c94d2adfe6de1ea4d7d6d8f169e19f3 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 07146beb9009e7f631905db0c86a4f4a048039da..2b1c1fc275ce773f87a669c858ab00108cd0e39b 100644 +index 731679a0893635f5cb71a19fd9ee8562795230b8..01df6fc54078901a9195dd2bb45eaef1706ba036 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1684,4 +1684,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1719,4 +1719,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi // Spigot end void reloadPermissions(); // Paper diff --git a/patches/api/0045-Add-String-based-Action-Bar-API.patch b/patches/api/0045-Add-String-based-Action-Bar-API.patch index 8a9b06d46e..482f703133 100644 --- a/patches/api/0045-Add-String-based-Action-Bar-API.patch +++ b/patches/api/0045-Add-String-based-Action-Bar-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add String based Action Bar API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e91897bcf8e61 100644 +index 8fa4606e187b4677d2302b4fec5c02adf652b3e5..d98029f01bc81c5bf33545fee54bdbce17960b50 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -3,6 +3,7 @@ package org.bukkit.entity; @@ -68,7 +68,7 @@ index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e9189 public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -1979,6 +2015,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2120,6 +2156,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends the component to the specified screen position of this player * @@ -76,7 +76,7 @@ index 9884b8eefea0cc84a1af5901410d77746f85b5d7..c89bfe671ec4110951595b5c8c9e9189 * @param position the screen position * @param component the components to send * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} -@@ -1991,6 +2028,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2132,6 +2169,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Sends an array of components as a single message to the specified screen position of this player * diff --git a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch index 6b0c0e1396..c323e5b78e 100644 --- a/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/api/0053-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08..675f3d9c5213eb55cb10064c6df339e1d301989e 100644 +index 3f58ffb4c59a92259fc5dde3d220658b6e54896f..45c4fddb8562736eaf98810d70d002ae6e3664e7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1920,6 +1920,16 @@ public final class Bukkit { +@@ -1963,6 +1963,16 @@ public final class Bukkit { public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } @@ -27,10 +27,10 @@ index 2c94d2adfe6de1ea4d7d6d8f169e19f3cc0a9f08..675f3d9c5213eb55cb10064c6df339e1 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 2b1c1fc275ce773f87a669c858ab00108cd0e39b..50c0fc0eb2c3fb7aec23594453e1b51264b83758 100644 +index 01df6fc54078901a9195dd2bb45eaef1706ba036..1db8f63d9207330acc1b403adce0773149bc879f 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1686,4 +1686,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1721,4 +1721,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper diff --git a/patches/api/0054-Fix-upstream-javadocs.patch b/patches/api/0054-Fix-upstream-javadocs.patch index dd4b514de4..07f29b6019 100644 --- a/patches/api/0054-Fix-upstream-javadocs.patch +++ b/patches/api/0054-Fix-upstream-javadocs.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadocs Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 675f3d9c5213eb55cb10064c6df339e1d301989e..94c7ede642fa11d9065b494745ca23c8657b0616 100644 +index 45c4fddb8562736eaf98810d70d002ae6e3664e7..9838557d874e498e1f7cef8f219000dcaea7a263 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1177,6 +1177,8 @@ public final class Bukkit { +@@ -1220,6 +1220,8 @@ public final class Bukkit { /** * Gets every player that has ever played on this server. @@ -19,10 +19,10 @@ index 675f3d9c5213eb55cb10064c6df339e1d301989e..94c7ede642fa11d9065b494745ca23c8 * @return an array containing all previous players */ diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 50c0fc0eb2c3fb7aec23594453e1b51264b83758..5b38517a366d4e695b7d4ea7af8177660b79b32b 100644 +index 1db8f63d9207330acc1b403adce0773149bc879f..ad11f8271d5b6f44d7d5cf0c122b51b2b8d1af3b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -992,6 +992,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1027,6 +1027,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi /** * Gets every player that has ever played on this server. @@ -76,7 +76,7 @@ index be9334a8b5fba9181ad63c211697e798be63da25..0514a141cb93a650be38c63d4336d46e * Instructs this Mob to set the specified LivingEntity as its target. * <p> diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c89bfe671ec4110951595b5c8c9e91897bcf8e61..48b127cafe6fecb1849b176df43cbf26e5a1db79 100644 +index d98029f01bc81c5bf33545fee54bdbce17960b50..dae5ffe9ed6ea43b269d14a6aaf08929fb90570f 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -728,7 +728,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM diff --git a/patches/api/0058-Basic-PlayerProfile-API.patch b/patches/api/0058-Basic-PlayerProfile-API.patch index 0a24a0b781..2cbd23e6f3 100644 --- a/patches/api/0058-Basic-PlayerProfile-API.patch +++ b/patches/api/0058-Basic-PlayerProfile-API.patch @@ -267,10 +267,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 94c7ede642fa11d9065b494745ca23c8657b0616..621a6e09322de838a9d7de481a32f458e351d814 100644 +index 9838557d874e498e1f7cef8f219000dcaea7a263..c7daa7c9f85c62d0effd5c3f406568d77fd8cd78 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1932,6 +1932,40 @@ public final class Bukkit { +@@ -1975,6 +1975,40 @@ public final class Bukkit { public static boolean suggestPlayerNamesWhenNullTabCompletions() { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -312,10 +312,10 @@ index 94c7ede642fa11d9065b494745ca23c8657b0616..621a6e09322de838a9d7de481a32f458 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5b38517a366d4e695b7d4ea7af8177660b79b32b..e9945187a8af2688dae2eeb007a2a16bd5e88560 100644 +index ad11f8271d5b6f44d7d5cf0c122b51b2b8d1af3b..fb5c308d82e9103a212deea2a6fa2e158cddb931 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1697,5 +1697,33 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1732,5 +1732,33 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 270d3ae83a..0ce8b444b6 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1e3a56ff656cdfe18cf665eecd8f126275f29715..f7aeb7aca3bf3929d1a8751928318ff6c7da96f6 100644 +index 4485542bcf3014364c2920026a07da6194d6ba29..1c3b5b1950b8b2cb660e160e455384780f2d4e75 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -4,6 +4,7 @@ import java.net.InetSocketAddress; @@ -17,7 +17,7 @@ index 1e3a56ff656cdfe18cf665eecd8f126275f29715..f7aeb7aca3bf3929d1a8751928318ff6 import org.bukkit.DyeColor; import org.bukkit.Effect; import org.bukkit.GameMode; -@@ -1965,6 +1966,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2106,6 +2107,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED} */ boolean hasResourcePack(); diff --git a/patches/api/0092-getPlayerUniqueId-API.patch b/patches/api/0092-getPlayerUniqueId-API.patch index 0172af8bdb..f8774143a4 100644 --- a/patches/api/0092-getPlayerUniqueId-API.patch +++ b/patches/api/0092-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 621a6e09322de838a9d7de481a32f458e351d814..832b3f72c4a314dc0f38d412bdc999508f7d2b7b 100644 +index c7daa7c9f85c62d0effd5c3f406568d77fd8cd78..23960534cbb83cfca08ccc1e37bc7a713728b791 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -573,6 +573,20 @@ public final class Bukkit { +@@ -616,6 +616,20 @@ public final class Bukkit { return server.getPlayer(id); } @@ -34,10 +34,10 @@ index 621a6e09322de838a9d7de481a32f458e351d814..832b3f72c4a314dc0f38d412bdc99950 * Gets the plugin manager for interfacing with plugins. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e9945187a8af2688dae2eeb007a2a16bd5e88560..58e347f771b85c6bfbb06690f6a80fffaf1538f6 100644 +index fb5c308d82e9103a212deea2a6fa2e158cddb931..f7320c0797f31cc9609a6764d886bdb6dbd082af 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -489,6 +489,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -524,6 +524,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public Player getPlayer(@NotNull UUID id); diff --git a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch index a87e737ca1..bd0d9c11d7 100644 --- a/patches/api/0094-Add-openSign-method-to-HumanEntity.patch +++ b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch @@ -24,10 +24,10 @@ index 396092fd249928ca01133eeeeb61f0ad90b2e332..5cc025b69c4f405be8f7098d0dcef40f /** * Make the entity drop the item in their hand. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index f7aeb7aca3bf3929d1a8751928318ff6c7da96f6..da5dd22e75b998495258a482557221ebd52e0c39 100644 +index 1c3b5b1950b8b2cb660e160e455384780f2d4e75..7587483e96a842391e3711c165825682b58286cd 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1821,7 +1821,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1962,7 +1962,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Open a Sign for editing by the Player. * diff --git a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch index bca20c6e2d..ae5b213277 100644 --- a/patches/api/0149-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0149-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/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 07ae612268a5857cedf8c646a09eb30c9b0a036b..b3e63a1a8a71b127735a05bc4938587fc0963c17 100644 +index 55054303659544ac9ef0d69838e5f8fadb2d43c5..ecebe470f4b3579a5af39a4dfa541a7e470de181 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2140,6 +2140,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2281,6 +2281,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull PlayerProfile profile); diff --git a/patches/api/0165-Make-the-default-permission-message-configurable.patch b/patches/api/0165-Make-the-default-permission-message-configurable.patch index fe51b80662..57e95dc845 100644 --- a/patches/api/0165-Make-the-default-permission-message-configurable.patch +++ b/patches/api/0165-Make-the-default-permission-message-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 832b3f72c4a314dc0f38d412bdc999508f7d2b7b..80517b3bc7fe470c418cf9343c86b151ad9a702a 100644 +index 23960534cbb83cfca08ccc1e37bc7a713728b791..53a361b2f6d8d8e79f215e64d3b42fcbe54b0d81 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1947,6 +1947,15 @@ public final class Bukkit { +@@ -1990,6 +1990,15 @@ public final class Bukkit { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -25,10 +25,10 @@ index 832b3f72c4a314dc0f38d412bdc999508f7d2b7b..80517b3bc7fe470c418cf9343c86b151 * Creates a PlayerProfile for the specified uuid, with name as null * @param uuid UUID to create profile for diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 58e347f771b85c6bfbb06690f6a80fffaf1538f6..2534560ccc8340500b71572ee6121df8ec06e154 100644 +index f7320c0797f31cc9609a6764d886bdb6dbd082af..963edbb1e7d47410b7474b8e0ce6774a76ea9d88 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1710,6 +1710,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1745,6 +1745,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0177-Fix-Spigot-annotation-mistakes.patch b/patches/api/0177-Fix-Spigot-annotation-mistakes.patch index 9be65f44cf..b5140befef 100644 --- a/patches/api/0177-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0177-Fix-Spigot-annotation-mistakes.patch @@ -9,10 +9,10 @@ a ton of noise to plugin developers. These do not help plugin developers if they bring moise noise than value. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 80517b3bc7fe470c418cf9343c86b151ad9a702a..50412ec90cd480b7457dd30723d4978fb90fae72 100644 +index 53a361b2f6d8d8e79f215e64d3b42fcbe54b0d81..28bc240ba5d93e4112bd95963a334215b1dc2388 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1533,7 +1533,7 @@ public final class Bukkit { +@@ -1576,7 +1576,7 @@ public final class Bukkit { * * @return the scoreboard manager or null if no worlds are loaded. */ @@ -21,7 +21,7 @@ index 80517b3bc7fe470c418cf9343c86b151ad9a702a..50412ec90cd480b7457dd30723d4978f public static ScoreboardManager getScoreboardManager() { return server.getScoreboardManager(); } -@@ -1830,7 +1830,7 @@ public final class Bukkit { +@@ -1873,7 +1873,7 @@ public final class Bukkit { * @param clazz the class of the tag entries * @return the tag or null */ @@ -62,10 +62,10 @@ index 88b3e0323dbc4f0fce31b147c7aaa08d65745852..23ca89dde7f6ac9082d4b97fce295942 if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 2534560ccc8340500b71572ee6121df8ec06e154..5d3479f494e874d9824b178bfc0664d81e9b5649 100644 +index 963edbb1e7d47410b7474b8e0ce6774a76ea9d88..1ffdaf8a7814b44facf9648f9e1ba6525055405b 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1298,7 +1298,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1333,7 +1333,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @return the scoreboard manager or null if no worlds are loaded. */ @@ -74,7 +74,7 @@ index 2534560ccc8340500b71572ee6121df8ec06e154..5d3479f494e874d9824b178bfc0664d8 ScoreboardManager getScoreboardManager(); /** -@@ -1568,7 +1568,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1603,7 +1603,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param clazz the class of the tag entries * @return the tag or null */ diff --git a/patches/api/0185-Expose-the-internal-current-tick.patch b/patches/api/0185-Expose-the-internal-current-tick.patch index 83ac823098..36d2927333 100644 --- a/patches/api/0185-Expose-the-internal-current-tick.patch +++ b/patches/api/0185-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 50412ec90cd480b7457dd30723d4978fb90fae72..8580bc20e24c3bde5b57f0727f79051c9d7d0f2e 100644 +index 28bc240ba5d93e4112bd95963a334215b1dc2388..f31a1f8a65a79953f6f053c785a7bdacb32291a0 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1989,6 +1989,10 @@ public final class Bukkit { +@@ -2032,6 +2032,10 @@ public final class Bukkit { public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) { return server.createProfile(uuid, name); } @@ -20,10 +20,10 @@ index 50412ec90cd480b7457dd30723d4978fb90fae72..8580bc20e24c3bde5b57f0727f79051c @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5d3479f494e874d9824b178bfc0664d81e9b5649..b765aa35680e67bb919c020b54830ee5aca9d27f 100644 +index 1ffdaf8a7814b44facf9648f9e1ba6525055405b..f78119e1fad76cd7bbb0a5b78973baf7876d3a9e 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1744,5 +1744,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1779,5 +1779,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name); diff --git a/patches/api/0191-Add-tick-times-API.patch b/patches/api/0191-Add-tick-times-API.patch index 4b4b3793bb..dcec4879fd 100644 --- a/patches/api/0191-Add-tick-times-API.patch +++ b/patches/api/0191-Add-tick-times-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 8580bc20e24c3bde5b57f0727f79051c9d7d0f2e..a5f1191abb99a63dc2e20ef59688e4df30e12f67 100644 +index f31a1f8a65a79953f6f053c785a7bdacb32291a0..c277b48d45c7aab3b727a7019b3ef253e045629d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1734,6 +1734,25 @@ public final class Bukkit { +@@ -1777,6 +1777,25 @@ public final class Bukkit { public static double[] getTPS() { return server.getTPS(); } @@ -35,10 +35,10 @@ index 8580bc20e24c3bde5b57f0727f79051c9d7d0f2e..a5f1191abb99a63dc2e20ef59688e4df /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b765aa35680e67bb919c020b54830ee5aca9d27f..0c5776e05e53802c45caea39002828507155fed5 100644 +index f78119e1fad76cd7bbb0a5b78973baf7876d3a9e..38febebef94652a9e44475560974d6e8d6949db0 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1472,6 +1472,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1507,6 +1507,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull public double[] getTPS(); diff --git a/patches/api/0192-Expose-MinecraftServer-isRunning.patch b/patches/api/0192-Expose-MinecraftServer-isRunning.patch index 88f637c9f4..ad0f1da75c 100644 --- a/patches/api/0192-Expose-MinecraftServer-isRunning.patch +++ b/patches/api/0192-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a5f1191abb99a63dc2e20ef59688e4df30e12f67..ddaee386c6039eabb349481c2a66ec1292d0bfde 100644 +index c277b48d45c7aab3b727a7019b3ef253e045629d..c043e6798314e322e32a1c8e8ef6a795e022b858 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2012,6 +2012,15 @@ public final class Bukkit { +@@ -2055,6 +2055,15 @@ public final class Bukkit { public static int getCurrentTick() { return server.getCurrentTick(); } @@ -26,10 +26,10 @@ index a5f1191abb99a63dc2e20ef59688e4df30e12f67..ddaee386c6039eabb349481c2a66ec12 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 0c5776e05e53802c45caea39002828507155fed5..dd263faad52612a076847c717582e8fc09dc3345 100644 +index 38febebef94652a9e44475560974d6e8d6949db0..ad940c5d327c7e1e09aea7d2cee27a8abcf3fed7 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1766,5 +1766,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1801,5 +1801,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return Current tick */ int getCurrentTick(); diff --git a/patches/api/0196-Add-Player-Client-Options-API.patch b/patches/api/0196-Add-Player-Client-Options-API.patch index 850a6126bf..8019df7f8b 100644 --- a/patches/api/0196-Add-Player-Client-Options-API.patch +++ b/patches/api/0196-Add-Player-Client-Options-API.patch @@ -193,7 +193,7 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b3e63a1a8a71b127735a05bc4938587fc0963c17..7f42df9683761ef022a2ff47915aca258158d633 100644 +index ecebe470f4b3579a5af39a4dfa541a7e470de181..b349b2c2a7c70e57b4c28c8b540d01a2c0e62959 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -2,6 +2,7 @@ package org.bukkit.entity; @@ -204,7 +204,7 @@ index b3e63a1a8a71b127735a05bc4938587fc0963c17..7f42df9683761ef022a2ff47915aca25 import com.destroystokyo.paper.Title; // Paper import net.kyori.adventure.text.Component; import com.destroystokyo.paper.profile.PlayerProfile; // Paper -@@ -2160,6 +2161,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2301,6 +2302,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the cooldown counter to 0, effectively starting the cooldown period. */ void resetCooldown(); diff --git a/patches/api/0202-Add-Mob-Goal-API.patch b/patches/api/0202-Add-Mob-Goal-API.patch index c59aa43f9e..7f010834bd 100644 --- a/patches/api/0202-Add-Mob-Goal-API.patch +++ b/patches/api/0202-Add-Mob-Goal-API.patch @@ -521,10 +521,10 @@ index 0000000000000000000000000000000000000000..2405254739a83b2fb517da7fa4ea0721 + @Deprecated GoalKey<Mob> UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset")); +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 93f6168f2748f127d94a13a3c92e257135bfc534..338f0938fbae7eec6cecaf3f1cd30d3e27ad40d6 100644 +index 92bebf6f46cdd2ff5bc09af32e2d6d2ef0f4f45b..0a29ddee94051e398780b9fa07e5ce2b46c51b97 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2033,6 +2033,16 @@ public final class Bukkit { +@@ -2076,6 +2076,16 @@ public final class Bukkit { public static boolean isStopping() { return server.isStopping(); } @@ -542,10 +542,10 @@ index 93f6168f2748f127d94a13a3c92e257135bfc534..338f0938fbae7eec6cecaf3f1cd30d3e @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3b370b0cefe2debacb187d74e8c47ae56c7397e1..5a98eaeafafc11a7f925701187fc96eb5c675efe 100644 +index f9b25ecf5642c30c04f5e0483a654ff33d1c188d..a8e187a3f386210c712ab7d620d6a4aa91bf42f8 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1783,5 +1783,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1818,5 +1818,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if server is in the process of being shutdown */ boolean isStopping(); diff --git a/patches/api/0220-Brand-support.patch b/patches/api/0220-Brand-support.patch index 36eb6a5635..f4046aab70 100644 --- a/patches/api/0220-Brand-support.patch +++ b/patches/api/0220-Brand-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 7f42df9683761ef022a2ff47915aca258158d633..59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd 100644 +index b349b2c2a7c70e57b4c28c8b540d01a2c0e62959..f6137979701026f2acbd04d111afa79332bf08bf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2295,6 +2295,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2436,6 +2436,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end } diff --git a/patches/api/0229-Player-elytra-boost-API.patch b/patches/api/0229-Player-elytra-boost-API.patch index bf2578bd46..f135296600 100644 --- a/patches/api/0229-Player-elytra-boost-API.patch +++ b/patches/api/0229-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 59e5f30b46c2c9dcc424e0fd8553e76cd5f721cd..833e049ba0f5f5ac45cc75a6766e8a605eadbf5e 100644 +index f6137979701026f2acbd04d111afa79332bf08bf..4847db0673ea2a6587703a30f9f3b4e3c278514b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2167,6 +2167,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2308,6 +2308,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @NotNull <T> T getClientOption(@NotNull ClientOption<T> option); diff --git a/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch index e68ca79d44..37fe365874 100644 --- a/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/api/0230-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 899a9dbd277b755195a67b6a0c56ac266a52e4c8..60528523299f92f842700cafd513a8ef6fd3c290 100644 +index dee9bcd9caee7c900a38c92d5e967cdaaf875a08..b2699b0d82f2cf05a04ded5bc335f91362ddfa9a 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1095,6 +1095,27 @@ public final class Bukkit { +@@ -1138,6 +1138,27 @@ public final class Bukkit { return server.getOfflinePlayer(name); } @@ -37,10 +37,10 @@ index 899a9dbd277b755195a67b6a0c56ac266a52e4c8..60528523299f92f842700cafd513a8ef * Gets the player by the given UUID, regardless if they are offline or * online. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ad19ce0418ce3477d21583cb83c9ced639b250ff..5e0124fbfa7caa4ed321bf1e01ad0fde9941d7ef 100644 +index a3f6a2bbc1d4626b657acc1e108c04ce8d0d577c..df893601ec71dcc782a7050fb10684c5980105ee 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -926,6 +926,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -961,6 +961,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); diff --git a/patches/api/0231-Add-ignore-discounts-API.patch b/patches/api/0231-Add-ignore-discounts-API.patch index 492c998c91..fae76b45fa 100644 --- a/patches/api/0231-Add-ignore-discounts-API.patch +++ b/patches/api/0231-Add-ignore-discounts-API.patch @@ -5,31 +5,34 @@ Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/org/bukkit/inventory/MerchantRecipe.java b/src/main/java/org/bukkit/inventory/MerchantRecipe.java -index 1fb4a1c53791776f9c5a952a592f15fc35cb2703..2be2f3fe655c417bfc8f8e840f9e9415d168f37e 100644 +index 620a4df8166be7a17ba4546f5d705114490c2526..c52326961a163c552025456bcadc1c897e08deb0 100644 --- a/src/main/java/org/bukkit/inventory/MerchantRecipe.java +++ b/src/main/java/org/bukkit/inventory/MerchantRecipe.java -@@ -28,6 +28,7 @@ public class MerchantRecipe implements Recipe { - private boolean experienceReward; +@@ -59,6 +59,7 @@ public class MerchantRecipe implements Recipe { + private int demand; private int villagerExperience; private float priceMultiplier; + private boolean ignoreDiscounts; // Paper public MerchantRecipe(@NotNull ItemStack result, int maxUses) { this(result, 0, maxUses, false); -@@ -38,6 +39,12 @@ public class MerchantRecipe implements Recipe { +@@ -73,6 +74,15 @@ public class MerchantRecipe implements Recipe { } - public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier) { + public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice) { + // Paper start - add ignoreDiscounts param -+ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, false); ++ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, demand, specialPrice, false); + } + public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, boolean ignoreDiscounts) { ++ this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, 0, 0, ignoreDiscounts); ++ } ++ public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice, boolean ignoreDiscounts) { + this.ignoreDiscounts = ignoreDiscounts; + // Paper end this.result = result; this.uses = uses; this.maxUses = maxUses; -@@ -172,4 +179,20 @@ public class MerchantRecipe implements Recipe { +@@ -298,4 +308,20 @@ public class MerchantRecipe implements Recipe { public void setPriceMultiplier(float priceMultiplier) { this.priceMultiplier = priceMultiplier; } diff --git a/patches/api/0257-Add-sendOpLevel-API.patch b/patches/api/0257-Add-sendOpLevel-API.patch index db3cee49ab..da9f900e4f 100644 --- a/patches/api/0257-Add-sendOpLevel-API.patch +++ b/patches/api/0257-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 833e049ba0f5f5ac45cc75a6766e8a605eadbf5e..a27abc477900e7007e8e001a778a647af79c2d86 100644 +index 4847db0673ea2a6587703a30f9f3b4e3c278514b..f31519b5208ed1426bb59499c62e82e49a192488 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2180,6 +2180,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2321,6 +2321,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @Nullable Firework boostElytra(@NotNull ItemStack firework); diff --git a/patches/api/0278-Implement-Keyed-on-World.patch b/patches/api/0278-Implement-Keyed-on-World.patch index 40c3e90695..990e32790c 100644 --- a/patches/api/0278-Implement-Keyed-on-World.patch +++ b/patches/api/0278-Implement-Keyed-on-World.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 60528523299f92f842700cafd513a8ef6fd3c290..71423daecacf5cc8ec797ddfc8d74ca0af85b7b4 100644 +index b2699b0d82f2cf05a04ded5bc335f91362ddfa9a..ea5745e548b11e4d71737a78e10e53c23bc3eb8e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -708,6 +708,18 @@ public final class Bukkit { +@@ -751,6 +751,18 @@ public final class Bukkit { public static World getWorld(@NotNull UUID uid) { return server.getWorld(uid); } @@ -28,10 +28,10 @@ index 60528523299f92f842700cafd513a8ef6fd3c290..71423daecacf5cc8ec797ddfc8d74ca0 /** * Gets the map from the given item ID. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5e0124fbfa7caa4ed321bf1e01ad0fde9941d7ef..6aee6423d9c68e567f581899a2d83dc35e56bd55 100644 +index df893601ec71dcc782a7050fb10684c5980105ee..e435df76a752c523b8bc0bd2d2abf35c2460f880 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -601,6 +601,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -636,6 +636,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public World getWorld(@NotNull UUID uid); diff --git a/patches/api/0297-Add-basic-Datapack-API.patch b/patches/api/0297-Add-basic-Datapack-API.patch index 54afb44dc8..aa17cda2f7 100644 --- a/patches/api/0297-Add-basic-Datapack-API.patch +++ b/patches/api/0297-Add-basic-Datapack-API.patch @@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7 + +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 71423daecacf5cc8ec797ddfc8d74ca0af85b7b4..0521781a48d326c0a4a01b920188e9ce00b51ef0 100644 +index ea5745e548b11e4d71737a78e10e53c23bc3eb8e..63a4e03b0c5508d5f027c7fa3cecb8b5aa9d450b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2087,6 +2087,14 @@ public final class Bukkit { +@@ -2130,6 +2130,14 @@ public final class Bukkit { public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return server.getMobGoals(); } @@ -89,10 +89,10 @@ index 71423daecacf5cc8ec797ddfc8d74ca0af85b7b4..0521781a48d326c0a4a01b920188e9ce @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6aee6423d9c68e567f581899a2d83dc35e56bd55..395b0706bfbf03741df6ca1ff084618b91140acc 100644 +index e435df76a752c523b8bc0bd2d2abf35c2460f880..48f9b34aa6caf91174af87f0fe694562417dcc60 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1830,5 +1830,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1865,5 +1865,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); diff --git a/patches/api/0344-Add-player-health-update-API.patch b/patches/api/0344-Add-player-health-update-API.patch index a918c504ee..97cc0dbefd 100644 --- a/patches/api/0344-Add-player-health-update-API.patch +++ b/patches/api/0344-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index bcd17e01e1be66cc5b7c851a4d1ad62b9f158f9b..f5ded992672dde910cd4e1be50c238b142157ff8 100644 +index 7f476ff106a641ef475899a9c6cfafdaa18fc63c..1b4b54741719252892a3a51491d49cd5423de499 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1584,6 +1584,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1725,6 +1725,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public double getHealthScale(); diff --git a/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch index 3929720576..2ad1a31794 100644 --- a/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/api/0345-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index eb0aa2a2a9def0270341ee15d8a7a0629a67a823..b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c 100644 +index f7df34539f03e2d5bbb2733709dcbcda65a23b29..53c4e5ca208ee17c7c244e416c537c7b63edf194 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1697,6 +1697,24 @@ public final class Bukkit { +@@ -1740,6 +1740,24 @@ public final class Bukkit { return server.createChunkData(world); } @@ -34,10 +34,10 @@ index eb0aa2a2a9def0270341ee15d8a7a0629a67a823..b7c45aa5d5f79fd16e59401acfa9c2be * Creates a boss bar instance to display to players. The progress * defaults to 1.0 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 395b0706bfbf03741df6ca1ff084618b91140acc..6996a61534bbdd34729f1dcd988ae2666bfad2c4 100644 +index 48f9b34aa6caf91174af87f0fe694562417dcc60..e48af3822e9f118399c3a1c9358c56efae12e0da 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1422,6 +1422,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1457,6 +1457,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ChunkGenerator.ChunkData createChunkData(@NotNull World world); diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index d03b406f5b..2928029f72 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,7 +28,7 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff40234a992 +index 0000000000000000000000000000000000000000..dc8f0a7ac3387323428f71139ac07ec98cd33ed8 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,141 @@ @@ -54,11 +54,11 @@ index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff4 + runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") + runtimeOnly("mysql:mysql-connector-java:8.0.27") + -+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") ++ runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.4") ++ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2") ++ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2") + -+ testImplementation("junit:junit:4.13.1") ++ testImplementation("junit:junit:4.13.2") + testImplementation("org.hamcrest:hamcrest-library:1.3") +} + @@ -175,7 +175,7 @@ index 0000000000000000000000000000000000000000..9c4382ef7373110b6e72163779316ff4 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 56938962e9ba6b188c2f4bc1694b911f05994436..0000000000000000000000000000000000000000 +index 5d1e2c51c814281bf50c352f7fa9f99465100068..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null @@ -1,540 +0,0 @@ @@ -347,26 +347,26 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000 - <dependency> - <groupId>org.apache.maven</groupId> - <artifactId>maven-resolver-provider</artifactId> -- <version>3.8.1</version> +- <version>3.8.4</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-connector-basic</artifactId> -- <version>1.7.0</version> +- <version>1.7.2</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-transport-http</artifactId> -- <version>1.7.0</version> +- <version>1.7.2</version> - <scope>runtime</scope> - </dependency> - <!-- testing --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> -- <version>4.13.1</version> +- <version>4.13.2</version> - <scope>test</scope> - </dependency> - <dependency> @@ -474,12 +474,12 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000 - <dependency> - <groupId>org.ow2.asm</groupId> - <artifactId>asm</artifactId> -- <version>9.1</version> +- <version>9.2</version> - </dependency> - <dependency> - <groupId>org.ow2.asm</groupId> - <artifactId>asm-commons</artifactId> -- <version>9.1</version> +- <version>9.2</version> - </dependency> - </dependencies> - <executions> @@ -598,7 +598,7 @@ index 56938962e9ba6b188c2f4bc1694b911f05994436..00000000000000000000000000000000 - <dependency> - <groupId>org.eclipse.jdt</groupId> - <artifactId>ecj</artifactId> -- <version>3.27.0</version> +- <version>3.28.0</version> - </dependency> - </dependencies> - </plugin> diff --git a/patches/server/0004-Paper-config-files.patch b/patches/server/0004-Paper-config-files.patch index 91a4d3dcb6..70f6c99b2e 100644 --- a/patches/server/0004-Paper-config-files.patch +++ b/patches/server/0004-Paper-config-files.patch @@ -714,10 +714,10 @@ index aaf71bfb582d1d86d67205618825411babd2625a..f18ae5b80c930c3a7c2da079b9926ab2 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45fa08dcd6 100644 +index dfd7da8bc5cdcdf1548cc5ba871fb8809ee911e8..6258eed86c1f0461a8d8c8b9f82bb8be9dc6d71e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -842,6 +842,7 @@ public final class CraftServer implements Server { +@@ -863,6 +863,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot @@ -725,7 +725,7 @@ index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45 for (ServerLevel world : this.console.getAllLevels()) { world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); -@@ -881,12 +882,14 @@ public final class CraftServer implements Server { +@@ -902,12 +903,14 @@ public final class CraftServer implements Server { world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns(); } world.spigotConfig.init(); // Spigot @@ -740,7 +740,7 @@ index 63a45a3bcde978bc34d14c498e2ec026975af94e..204f3ece37ebbc5159e80c2161801e45 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2287,4 +2290,35 @@ public final class CraftServer implements Server { +@@ -2308,4 +2311,35 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch index 568b4f2271..beab4653a4 100644 --- a/patches/server/0010-Timings-v2.patch +++ b/patches/server/0010-Timings-v2.patch @@ -1713,10 +1713,10 @@ index ed639dbb4ea94839390778654c7dd0437bac41ac..1729af83b979e35a585c8d049b14dc23 }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 204f3ece37ebbc5159e80c2161801e45fa08dcd6..95046f9499a1dee5bcb4e2aab03ca6b11b4b145b 100644 +index 6258eed86c1f0461a8d8c8b9f82bb8be9dc6d71e..ecc6c5aa6534fd36f7534e7fd70d9fe568ae83eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2259,12 +2259,31 @@ public final class CraftServer implements Server { +@@ -2280,12 +2280,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1918,10 +1918,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 5333f690774686f3bec3ec693228cb806939a10e..1d587a67847dac2e020ae357f0f174d86c066ff8 100644 +index 55efa7cf942ece15ce5925c36aea5c33f67ced1e..bfb1ced180ff4943ba15eb16f01530cd1b5b8a90 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1864,6 +1864,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1881,6 +1881,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { packet.components = components; CraftPlayer.this.getHandle().connection.send(packet); } diff --git a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch index 4ccda846c8..711541572b 100644 --- a/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0011-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 59e619f745f62dec5a5fe304bbea75690a0b1663..23cba4bd17742733659aef498aa39d12ef48ca1d 100644 +index ecc6c5aa6534fd36f7534e7fd70d9fe568ae83eb..8b521bf3b10412b7ebe081591f0e6413e235d978 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -403,10 +403,15 @@ public final class CraftServer implements Server { +@@ -404,10 +404,15 @@ public final class CraftServer implements Server { public void loadPlugins() { this.pluginManager.registerInterface(JavaPluginLoader.class); @@ -29,7 +29,7 @@ index 59e619f745f62dec5a5fe304bbea75690a0b1663..23cba4bd17742733659aef498aa39d12 for (Plugin plugin : plugins) { try { String message = String.format("Loading %s", plugin.getDescription().getFullName()); -@@ -421,6 +426,35 @@ public final class CraftServer implements Server { +@@ -422,6 +427,35 @@ public final class CraftServer implements Server { } } diff --git a/patches/server/0012-Adventure.patch b/patches/server/0012-Adventure.patch index ac1d13b0ad..6d6a1e0f6c 100644 --- a/patches/server/0012-Adventure.patch +++ b/patches/server/0012-Adventure.patch @@ -1718,10 +1718,10 @@ index 9af14095fa8dbc75fadb84c5a1d263039994e441..3b35ec1df648a3de920ea0c159623880 } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5c6656050 100644 +index 8b521bf3b10412b7ebe081591f0e6413e235d978..855740411220bc8178ea7bfd561a377f2ac30087 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -624,8 +624,10 @@ public final class CraftServer implements Server { +@@ -625,8 +625,10 @@ public final class CraftServer implements Server { } @Override @@ -1732,7 +1732,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 } @Override -@@ -1454,7 +1456,15 @@ public final class CraftServer implements Server { +@@ -1475,7 +1477,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -1748,7 +1748,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1612,7 +1622,20 @@ public final class CraftServer implements Server { +@@ -1633,7 +1643,20 @@ public final class CraftServer implements Server { } @Override @@ -1769,7 +1769,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 Set<CommandSender> recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1620,14 +1643,14 @@ public final class CraftServer implements Server { +@@ -1641,14 +1664,14 @@ public final class CraftServer implements Server { } } @@ -1786,7 +1786,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1863,6 +1886,14 @@ public final class CraftServer implements Server { +@@ -1884,6 +1907,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -1801,7 +1801,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1875,13 +1906,28 @@ public final class CraftServer implements Server { +@@ -1896,13 +1927,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -1830,7 +1830,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1930,6 +1976,12 @@ public final class CraftServer implements Server { +@@ -1951,6 +1997,12 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -1843,7 +1843,7 @@ index 7d1ff7636d5e91249c71303da708e754c90f0b92..693d92e3c72e8f76b12a14083efde0b5 @Override public String getMotd() { return this.console.getMotd(); -@@ -2373,5 +2425,15 @@ public final class CraftServer implements Server { +@@ -2394,5 +2446,15 @@ public final class CraftServer implements Server { return null; } } @@ -2368,7 +2368,7 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa 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 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63af4146553 100644 +index bfb1ced180ff4943ba15eb16f01530cd1b5b8a90..10e23477f58c7189dee1b3c06a21d656c9b50e82 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -252,14 +252,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2533,7 +2533,7 @@ index 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63a } @Override -@@ -1723,6 +1787,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1740,6 +1804,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -2546,7 +2546,7 @@ index 1d587a67847dac2e020ae357f0f174d86c066ff8..8975e64f40e6faeda38332ae0baba63a @Override public int getPing() { return this.getHandle().latency; -@@ -1768,6 +1838,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1785,6 +1855,194 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } diff --git a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index e01dcd586c..973fb13cc6 100644 --- a/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0020-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -32,10 +32,10 @@ index 844f24fd16aac25bf681bd3e98f0737be62bead6..f1dfb56d0158d36b583b5ee559623554 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cf79b158c7fbbb3ccddd4472eceb27d6f238f489..cfdc78fe0820d47d8af055e844b08ea003d74368 100644 +index 855740411220bc8178ea7bfd561a377f2ac30087..10f5be8b1319d371eab0c3153b5f605b033d5208 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -249,7 +249,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -250,7 +250,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot public final class CraftServer implements Server { diff --git a/patches/server/0023-Player-affects-spawning-API.patch b/patches/server/0023-Player-affects-spawning-API.patch index f04f26eb0b..47b0dfb42a 100644 --- a/patches/server/0023-Player-affects-spawning-API.patch +++ b/patches/server/0023-Player-affects-spawning-API.patch @@ -21,7 +21,7 @@ index 5c3b11f738c1ea19981cc878aa6c2323497391a0..b91a61be7c4829fce0ff8da290eab580 public static Predicate<Entity> 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 d5d79927aeab04d24010b53f9b527fa7b05d8a47..a2310dc7b045d4e4c3924d656a4dcf0a1d66c095 100644 +index 92fdccbcf472d99989eb47c0dac1b8c557c37165..405ed6034c894bdff889307d9bbf8900f7085a94 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -774,7 +774,7 @@ public abstract class Mob extends LivingEntity { @@ -117,10 +117,10 @@ index c65d1dc6eb0c1fc7c4a91faf0f1c6f26b3c2a76e..0dc46471f7247e5d36c3896a0c874730 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 8975e64f40e6faeda38332ae0baba63af4146553..52d8d73cf95d36ca3fd44408aea785f3f7351c05 100644 +index 10e23477f58c7189dee1b3c06a21d656c9b50e82..2f6a08b66c7451cbc9990062286199f25f7da36a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1801,8 +1801,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1818,8 +1818,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0025-Further-improve-server-tick-loop.patch b/patches/server/0025-Further-improve-server-tick-loop.patch index 7470a903bd..df0154b516 100644 --- a/patches/server/0025-Further-improve-server-tick-loop.patch +++ b/patches/server/0025-Further-improve-server-tick-loop.patch @@ -144,10 +144,10 @@ index f1dfb56d0158d36b583b5ee5596235540b2cb11c..b86ceda8f7376334987955095234bdec this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50ed646021808e23876735d50c727a0f300f596e..3fdfa7750436f78ce6f0c5bac68ee0e602e8ec67 100644 +index 10f5be8b1319d371eab0c3153b5f605b033d5208..ae2bad0ba336aa5f3c6d71a04a3ac8a15b311600 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2341,6 +2341,17 @@ public final class CraftServer implements Server { +@@ -2362,6 +2362,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0026-Only-refresh-abilities-if-needed.patch b/patches/server/0026-Only-refresh-abilities-if-needed.patch index ed17ae277d..9bc49b87da 100644 --- a/patches/server/0026-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0026-Only-refresh-abilities-if-needed.patch @@ -5,10 +5,10 @@ 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 52d8d73cf95d36ca3fd44408aea785f3f7351c05..deb477d2b6140348c399c4159bdff9b9018e2e36 100644 +index 2f6a08b66c7451cbc9990062286199f25f7da36a..5fe5a4d12f53d340f9920e3fb3ae61d5b9711e59 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1470,12 +1470,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1487,12 +1487,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch index cb38529341..c559bab19d 100644 --- a/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0039-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index 88b6be62678fc09b5a39db28c6d71cc31b16dbcd..352bfe795aea26307de9c998d67a43af this.locale = packet.language; // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index deb477d2b6140348c399c4159bdff9b9018e2e36..a3de0658c00175dedfbd1844e2c18082641b7072 100644 +index 5fe5a4d12f53d340f9920e3fb3ae61d5b9711e59..1a27cc950e23fbdf91a7b700f7dc4f994e05b316 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1801,8 +1801,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1818,8 +1818,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0047-Ensure-commands-are-not-ran-async.patch b/patches/server/0047-Ensure-commands-are-not-ran-async.patch index 2dff934b14..ac56314eca 100644 --- a/patches/server/0047-Ensure-commands-are-not-ran-async.patch +++ b/patches/server/0047-Ensure-commands-are-not-ran-async.patch @@ -48,10 +48,10 @@ index 8dfc214b57f77c86f3e3f52ef8b6058295bf7be9..25117f4b7f6139688c1845a1dc257f7d } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 528687b7672ebf6e25fc0fc120fffe158e543bb3..99c1ca9a93092465c08723b919aa61dff747bd66 100644 +index ae2bad0ba336aa5f3c6d71a04a3ac8a15b311600..8f49af4892390a990ea2c273b8c64e359ff15b72 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -828,6 +828,28 @@ public final class CraftServer implements Server { +@@ -849,6 +849,28 @@ public final class CraftServer implements Server { Validate.notNull(commandLine, "CommandLine cannot be null"); org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot diff --git a/patches/server/0049-Expose-server-CommandMap.patch b/patches/server/0049-Expose-server-CommandMap.patch index 8449513d20..02b0830fb7 100644 --- a/patches/server/0049-Expose-server-CommandMap.patch +++ b/patches/server/0049-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9284b5a3b303222df23bee4b66551c08f4c55c1f..1f9e896b70888708d6420c060d8657b9ff7e60c4 100644 +index 8f49af4892390a990ea2c273b8c64e359ff15b72..94804f241792bd7067edf0cdbf154ed1533241c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1959,6 +1959,7 @@ public final class CraftServer implements Server { +@@ -1980,6 +1980,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0054-Add-velocity-warnings.patch b/patches/server/0054-Add-velocity-warnings.patch index 73bcf10eab..95ab2e6f9e 100644 --- a/patches/server/0054-Add-velocity-warnings.patch +++ b/patches/server/0054-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d30b04375eaed44ae63b3e60ab9ac8a42478a604..41729294bf394a609c25e135b0697e0306f5c098 100644 +index 94804f241792bd7067edf0cdbf154ed1533241c3..607f5547d33fd2f8009837fc4a212b5f08a51027 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -287,6 +287,7 @@ public final class CraftServer implements Server { +@@ -288,6 +288,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List<CraftPlayer> playerView; public int reloadCount; diff --git a/patches/server/0061-Complete-resource-pack-API.patch b/patches/server/0061-Complete-resource-pack-API.patch index 4441d7ac93..b03c6b826a 100644 --- a/patches/server/0061-Complete-resource-pack-API.patch +++ b/patches/server/0061-Complete-resource-pack-API.patch @@ -23,7 +23,7 @@ index 25117f4b7f6139688c1845a1dc257f7d5c268fde..103d0afd73de68e3b07a9a4ef6d2f5af @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 87a193e8f026166b5821710d5501eb11175744b0..21df67c4b78947868407d96cd91a3ce0fd1dc927 100644 +index 1c5d31872ba125f6bc990fedb0c350b2825f301d..27d4b69bc3184869e9b66d1933ceb3fb8f8832ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -134,6 +134,7 @@ import org.bukkit.metadata.MetadataValue; @@ -45,7 +45,16 @@ index 87a193e8f026166b5821710d5501eb11175744b0..21df67c4b78947868407d96cd91a3ce0 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -1941,6 +1946,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1494,7 +1499,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + + @Override + public void setResourcePack(String url) { +- this.setResourcePack(url, null); ++ this.setResourcePack(url, (byte[]) null); + } + + @Override +@@ -1958,6 +1963,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch index 3fe39f5ba7..47bf3e9c9a 100644 --- a/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch @@ -30,10 +30,10 @@ index 701a2ffd04df48d437b2cb963dd150af99725b6e..817d4572c9991992b720b3ba163188ac + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b5308df2e1b 100644 +index 607f5547d33fd2f8009837fc4a212b5f08a51027..cafb0d40a7bf1a6263cb48c507f51ede0c9cd126 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -460,6 +460,7 @@ public final class CraftServer implements Server { +@@ -461,6 +461,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -41,7 +41,7 @@ index 41729294bf394a609c25e135b0697e0306f5c098..fb220fb9567bbbbeb0ec5515359a5b53 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -479,7 +480,7 @@ public final class CraftServer implements Server { +@@ -480,7 +481,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch index df259483f7..1fd1dfb2ba 100644 --- a/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f473ec0852648198a1633fb5c916ed2bfc49630d..9e6bfd8e5ca42bb72d3d56ae7eb82c0f704f15e1 100644 +index cafb0d40a7bf1a6263cb48c507f51ede0c9cd126..be2e3fc4f670730b6e1fc07eab8c1e612c3270dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2471,5 +2471,23 @@ public final class CraftServer implements Server { +@@ -2492,5 +2492,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch index c2126e2192..cd98d2bb64 100644 --- a/patches/server/0064-Remove-Metadata-on-reload.patch +++ b/patches/server/0064-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8e0e98506a647428a06b1cda094c7e00990bdfe8..448544b7d290e8e98322833ec55b467e43209cae 100644 +index be2e3fc4f670730b6e1fc07eab8c1e612c3270dd..13cd1fe6cae82fe73bd6df3049133db51da0084c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -945,8 +945,16 @@ public final class CraftServer implements Server { +@@ -966,8 +966,16 @@ public final class CraftServer implements Server { world.paperConfig.init(); // Paper } diff --git a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch index e3b7d5c937..9d86d7922f 100644 --- a/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 76da306041b61f6c93e6f58f580054af7dfc234e..2277b06e3e13a1abb469064d5b23495a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 21df67c4b78947868407d96cd91a3ce0fd1dc927..885d5dd984f2d7d8d662d6b6546eacd0879a2e54 100644 +index a8cdb69c3d1187d28529fae3b4e35d0550980c2b..d47e9df3a0decca7a360be01d488ba21cef7091e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1746,6 +1746,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1763,6 +1763,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch index 44926a0da4..3f389f4c7c 100644 --- a/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0103-Add-setting-for-proxy-online-mode-status.patch @@ -67,10 +67,10 @@ index 876658b685ea09adb4c01d436da56daadb7eedaa..5445cb5910ec63408dc4379eec5e12d3 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd5bf92faef1f7a9c5cf48eb9b1cc04272d2bd70..8b438464892f9d78457a2b09cb4670da2e356549 100644 +index 13cd1fe6cae82fe73bd6df3049133db51da0084c..a5fe53aaa10bb919888da732fe86123c8e78cd1d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1702,7 +1702,7 @@ public final class CraftServer implements Server { +@@ -1723,7 +1723,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch index f2e3a3268e..b2d9fc9a68 100644 --- a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8b438464892f9d78457a2b09cb4670da2e356549..53e3ab7845934e0bbc1923be84eeb34e72794777 100644 +index a5fe53aaa10bb919888da732fe86123c8e78cd1d..1bfd0cb76ccd8c7e1947407a865e7be7bfa35b3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2497,5 +2497,24 @@ public final class CraftServer implements Server { +@@ -2518,5 +2518,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch index 3c0c78bdb8..3d4d0ced6d 100644 --- a/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0136-Add-configuration-option-to-prevent-player-names-fro.patch @@ -20,10 +20,10 @@ index 5e23ff0c5e44427a996281ae42fc12c28649e158..7a69f9d9bb9c05474d8fbab22d626529 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 53e3ab7845934e0bbc1923be84eeb34e72794777..39e99daae4bb16fca5e14edf86f300f040d535eb 100644 +index 1bfd0cb76ccd8c7e1947407a865e7be7bfa35b3a..9bd1dac354a14735c3547215f85f1124c933f311 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2516,5 +2516,10 @@ public final class CraftServer implements Server { +@@ -2537,5 +2537,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch index 9dd1d44a9e..11205cb310 100644 --- a/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index bba267ecca0121df22fdfa60961017863b5e3415..b9ed067f776a47a977e90bb89cdd1768fd54eb2c 100644 +index 4db0cc3f8505747e77d314320545eb71904b4eac..8b424fb5e3c7e9169894438f680be1d43829d060 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,7 +12,17 @@ repositories { @@ -244,10 +244,10 @@ index e47642c3164f7f7a358d2c7a9722643acf3e0089..dc891a463ec24b0b1b4c6c00b2c199e7 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd101c9450f 100644 +index 9bd1dac354a14735c3547215f85f1124c933f311..0fd04a4371525d6655c5a6f24c097c55914cd225 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -48,7 +48,6 @@ import java.util.logging.Level; +@@ -49,7 +49,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; @@ -255,7 +255,7 @@ index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd1 import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -60,6 +59,7 @@ import net.minecraft.resources.RegistryReadOps; +@@ -61,6 +60,7 @@ import net.minecraft.resources.RegistryReadOps; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.ConsoleInput; @@ -263,7 +263,7 @@ index 93e3d587f7d1d621e8aedb8e53f38a8df21b5587..8bad6fa590cfe47e1216a160531f4cd1 import net.minecraft.server.MinecraftServer; import net.minecraft.server.bossevents.CustomBossEvent; import net.minecraft.server.commands.ReloadCommand; -@@ -1287,9 +1287,13 @@ public final class CraftServer implements Server { +@@ -1308,9 +1308,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0142-Add-UnknownCommandEvent.patch b/patches/server/0142-Add-UnknownCommandEvent.patch index 2aca1dacb0..caec5ca6de 100644 --- a/patches/server/0142-Add-UnknownCommandEvent.patch +++ b/patches/server/0142-Add-UnknownCommandEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8bad6fa590cfe47e1216a160531f4cd101c9450f..e873cc1e27fc3fe65e7bb07c5bec7f599c32be32 100644 +index 0fd04a4371525d6655c5a6f24c097c55914cd225..7a96dd337c41cdfa7703de4b21380a4fce0198c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -858,7 +858,13 @@ public final class CraftServer implements Server { +@@ -879,7 +879,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0143-Basic-PlayerProfile-API.patch b/patches/server/0143-Basic-PlayerProfile-API.patch index 005bbed272..c02db4e8fd 100644 --- a/patches/server/0143-Basic-PlayerProfile-API.patch +++ b/patches/server/0143-Basic-PlayerProfile-API.patch @@ -491,10 +491,10 @@ index 00f783aafd81fa7e836e4eea5bfeac7434f33b0f..3789441e2df9410aa1c6efe59054aaba String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 23941b3ef194818483f0903b5b4793391c16f705..f824c8725ac104c93e0c24c90d3825bfb153cd2a 100644 +index 7a96dd337c41cdfa7703de4b21380a4fce0198c8..def56e6c17d6e2efddcdca22e391f11b2de58966 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -248,6 +248,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -249,6 +249,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -504,7 +504,7 @@ index 23941b3ef194818483f0903b5b4793391c16f705..f824c8725ac104c93e0c24c90d3825bf public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -2531,5 +2534,24 @@ public final class CraftServer implements Server { +@@ -2552,5 +2555,24 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/patches/server/0169-AsyncTabCompleteEvent.patch b/patches/server/0169-AsyncTabCompleteEvent.patch index a1174e8f7d..2e58f17deb 100644 --- a/patches/server/0169-AsyncTabCompleteEvent.patch +++ b/patches/server/0169-AsyncTabCompleteEvent.patch @@ -72,10 +72,10 @@ index c63bb524cbcceb926fa7f0b72bfffb670e560c5a..fd7242648da5acbb6b7c5f4c182c1e04 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f824c8725ac104c93e0c24c90d3825bfb153cd2a..36001fea693200fb2f7d1b5b8f4d851f4fc7b480 100644 +index def56e6c17d6e2efddcdca22e391f11b2de58966..70c12364dad4426a55e3a79c642af9be4d9212d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2051,7 +2051,7 @@ public final class CraftServer implements Server { +@@ -2072,7 +2072,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0185-getPlayerUniqueId-API.patch b/patches/server/0185-getPlayerUniqueId-API.patch index 498b66a365..69942b6d5e 100644 --- a/patches/server/0185-getPlayerUniqueId-API.patch +++ b/patches/server/0185-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 36001fea693200fb2f7d1b5b8f4d851f4fc7b480..ee14922b588dfb5fe65f8c6b67ba8795219cbfba 100644 +index 70c12364dad4426a55e3a79c642af9be4d9212d7..e4424e15d28c7011f2dd708f9d7bbb05b25be688 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1704,6 +1704,25 @@ public final class CraftServer implements Server { +@@ -1725,6 +1725,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0190-Flag-to-disable-the-channel-limit.patch b/patches/server/0190-Flag-to-disable-the-channel-limit.patch index dc18022c12..f5852d36cf 100644 --- a/patches/server/0190-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0190-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ 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 51839994999b22251bd9e813f1e05ef8d7e97c0d..3df6adfe061392992b5f7dbf246cdf8fca21a478 100644 +index 54fe0cca4b45924ae6e27a8cbab0fc00e325ec50..0b193616a1a89857e22356c03d05f5fa0fc78aea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -155,6 +155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -20,7 +20,7 @@ index 51839994999b22251bd9e813f1e05ef8d7e97c0d..3df6adfe061392992b5f7dbf246cdf8f // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1643,7 +1644,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1660,7 +1661,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { diff --git a/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch index d49156adb1..9ae2453670 100644 --- a/patches/server/0223-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch +++ b/patches/server/0223-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 a20994ee826d42e3b8dff35d3f67e8bcf8fb79a3..1d62be2d0b8b35eaa7c0f7169df71ca27f8477d3 100644 +index 8cec9cdfc2708153e8d37a7d52a15fd47dc21dcd..125630037713c4790636ffd11b14b2c1d83a085a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -28,6 +28,7 @@ dependencies { @@ -14,8 +14,8 @@ index a20994ee826d42e3b8dff35d3f67e8bcf8fb79a3..1d62be2d0b8b35eaa7c0f7169df71ca2 runtimeOnly("mysql:mysql-connector-java:8.0.27") + runtimeOnly("com.lmax:disruptor:3.4.4") // Paper - runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1") - runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") + runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.4") + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2") diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 476f4a5cbe664ddd05474cb88553018bd334a5b8..3dc317e466e1b93dff030794dd7f29ca1b266778 100644 --- a/src/main/resources/log4j2.xml diff --git a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch index d32440ccbf..787e1ec372 100644 --- a/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0243-Add-Early-Warning-Feature-to-WatchDog.patch @@ -48,10 +48,10 @@ index f6050e8ee4b43e0405933f6f7f0c234978c0639e..d42db22e74e36a8a701a322c7bac5c73 long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop lastTick = start - TICK_TIME; // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e..e4af349ab368ab561f6ef929395020fc260fe159 100644 +index e4424e15d28c7011f2dd708f9d7bbb05b25be688..93eed255771097a396b1148e67d99a581be676c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -876,6 +876,7 @@ public final class CraftServer implements Server { +@@ -897,6 +897,7 @@ public final class CraftServer implements Server { @Override public void reload() { @@ -59,7 +59,7 @@ index 03cd3fa77ca0f4c6c1f84a7866c7cd72c8f81f2e..e4af349ab368ab561f6ef929395020fc this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -994,6 +995,7 @@ public final class CraftServer implements Server { +@@ -1015,6 +1016,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch index 58a3c724fb..427f745ced 100644 --- a/patches/server/0260-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0260-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 9b97224009b572a75fa6d289c226801a558d2484..8823863939c8e6d0f0a018d7a56efeb44c639d34 100644 +index ec369a97fe3bdea9a75467a166a732674e497003..602164382586cc73704a776efebcd82ffba22e83 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2340,6 +2340,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2357,6 +2357,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0261-Improve-death-events.patch b/patches/server/0261-Improve-death-events.patch index 99f3ad1a9b..9d23e96394 100644 --- a/patches/server/0261-Improve-death-events.patch +++ b/patches/server/0261-Improve-death-events.patch @@ -295,10 +295,10 @@ index 91cf7728aee475cb36f2c02bbfb7e3d2e0d00576..a3a900d10440ed5ebe24370a77ccb6ca } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8823863939c8e6d0f0a018d7a56efeb44c639d34..2a313757c85faeb353fb8140db84a464cc46b524 100644 +index 602164382586cc73704a776efebcd82ffba22e83..e2c4f56d7bcf4c0c0be38a60d47b814fc615732b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1903,7 +1903,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1920,7 +1920,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch index f9d4659fad..b4ed8f3f3a 100644 --- a/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0280-Add-Velocity-IP-Forwarding-Support.patch @@ -225,10 +225,10 @@ index 67b300574655854249c1f7440f56a6e8f0fad351..bb767f5b626225e70a8af273384bb74d } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e4af349ab368ab561f6ef929395020fc260fe159..5eaf046724b7354b84c9a40f73c2f4d3d21fc601 100644 +index 93eed255771097a396b1148e67d99a581be676c4..589af624599aee8f08f786da183f5e058f2044cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -744,7 +744,7 @@ public final class CraftServer implements Server { +@@ -765,7 +765,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/server/0292-Make-the-default-permission-message-configurable.patch b/patches/server/0292-Make-the-default-permission-message-configurable.patch index 5e7a6ae0ac..8d179d354e 100644 --- a/patches/server/0292-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0292-Make-the-default-permission-message-configurable.patch @@ -42,10 +42,10 @@ index 1015fcc6c77bd64c3f3cbf234e85a6602dbfa0d7..769353df1fcdaacecd80085165a1d72f Object val = config.get("settings.save-player-data"); if (val instanceof Boolean) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index df29e226904111e9fba1cee5a29b952c6f8362ad..0e8b290f92c0d66968fd9428aac19ca233dfdde1 100644 +index 589af624599aee8f08f786da183f5e058f2044cc..3a82ffd3286bf84529825b9ed805d31ef521f64a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2556,6 +2556,11 @@ public final class CraftServer implements Server { +@@ -2577,6 +2577,11 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions; } diff --git a/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch index 1e49d27b44..2ec35187a1 100644 --- a/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0303-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3026243161b6a0f978a62c67ecb7825713ac5249..946b33afb3a2c11836e6da887309f70d45dc586d 100644 +index 133111bdb165fc2c98824c0592223fe435860368..5efda81f8028f3a939ba581ceaf328f4f537c225 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2387,6 +2387,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2404,6 +2404,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index b2d011c7ab..e5b2c90fe3 100644 --- a/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/patches/server/0327-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -29,10 +29,10 @@ index bc9937642a46ecd766a45ccb037de993dafa3608..bd8e654c1580a0ac7dd411b9f1dcad4a public boolean isDebugging() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0e8b290f92c0d66968fd9428aac19ca233dfdde1..1f7ac7b4d2d26ecf1f3ab8f5eec0e0e2dcc679c1 100644 +index 3a82ffd3286bf84529825b9ed805d31ef521f64a..9b8d39e3f323829286d06d07cc7303e6fdc1bad8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2040,7 +2040,7 @@ public final class CraftServer implements Server { +@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/patches/server/0329-Implement-CraftBlockSoundGroup.patch b/patches/server/0329-Implement-CraftBlockSoundGroup.patch index 2e21d7cc57..5f9ce7ce01 100644 --- a/patches/server/0329-Implement-CraftBlockSoundGroup.patch +++ b/patches/server/0329-Implement-CraftBlockSoundGroup.patch @@ -49,10 +49,10 @@ index 0000000000000000000000000000000000000000..9a516520d975f52169e346adc4ec6d9d + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 3250559589eb4db7b3df828144cee81a19651842..0408a72e801178375426edf3e1c1880774ca5478 100644 +index 1cbc9288cabc0637c0ad6145e7461fef87bfc830..5284b17b77fb714f1b68b2e1ee15b4bf992bd8e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -606,4 +606,11 @@ public class CraftBlock implements Block { +@@ -607,4 +607,11 @@ public class CraftBlock implements Block { return iblockdata.canSurvive(world, this.position); } diff --git a/patches/server/0334-Expose-the-internal-current-tick.patch b/patches/server/0334-Expose-the-internal-current-tick.patch index bbd59d4d14..a729de62a1 100644 --- a/patches/server/0334-Expose-the-internal-current-tick.patch +++ b/patches/server/0334-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1f7ac7b4d2d26ecf1f3ab8f5eec0e0e2dcc679c1..f4f3e9e964effd856a9456b6d5759bf0bf0aa7a7 100644 +index 9b8d39e3f323829286d06d07cc7303e6fdc1bad8..91ef1b0e06c30668fe4bfb18ecdf2fe499f72fee 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2579,5 +2579,10 @@ public final class CraftServer implements Server { +@@ -2600,5 +2600,10 @@ public final class CraftServer implements Server { } return new com.destroystokyo.paper.profile.CraftPlayerProfile(uuid, name); } diff --git a/patches/server/0363-Anti-Xray.patch b/patches/server/0363-Anti-Xray.patch index a09d9223c4..77ea3047ac 100644 --- a/patches/server/0363-Anti-Xray.patch +++ b/patches/server/0363-Anti-Xray.patch @@ -1596,10 +1596,10 @@ index 7bc1219523eeb0880493e6fb42692f1fdb30c110..d6efa18ba9c032858071f6c87f1bdc0c } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f4f3e9e964effd856a9456b6d5759bf0bf0aa7a7..14102e929bb8c91e50a6ea3175512dfb01ccac27 100644 +index 91ef1b0e06c30668fe4bfb18ecdf2fe499f72fee..36b7de78fa69f652079d74252286bb6df68cf0c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2195,7 +2195,7 @@ public final class CraftServer implements Server { +@@ -2216,7 +2216,7 @@ public final class CraftServer implements Server { public ChunkGenerator.ChunkData createChunkData(World world) { Validate.notNull(world, "World cannot be null"); ServerLevel handle = ((CraftWorld) world).getHandle(); diff --git a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch index 32ba46040c..0754a3d76f 100644 --- a/patches/server/0384-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0384-Add-tick-times-API-and-mspt-command.patch @@ -146,10 +146,10 @@ index b3d3e023d10fe6bb964fe7a3d1cbb96d6a406283..51b8b23892d9a57c1502a7cd9dbde033 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 14102e929bb8c91e50a6ea3175512dfb01ccac27..47f69b5ce833003d70b0c9a46a69b007a62f3dcd 100644 +index 36b7de78fa69f652079d74252286bb6df68cf0c6..fc51c094b4eb2ec6cc79a649f3a3aec8c44b915a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2417,6 +2417,16 @@ public final class CraftServer implements Server { +@@ -2438,6 +2438,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0385-Expose-MinecraftServer-isRunning.patch b/patches/server/0385-Expose-MinecraftServer-isRunning.patch index 731080bb27..c1c7c662fd 100644 --- a/patches/server/0385-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0385-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 47f69b5ce833003d70b0c9a46a69b007a62f3dcd..709666558393b60e9655718c0e2a812821fccd3e 100644 +index fc51c094b4eb2ec6cc79a649f3a3aec8c44b915a..7764e78ad23ca196bcc621bb1cb895a8e5763c82 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2594,5 +2594,10 @@ public final class CraftServer implements Server { +@@ -2615,5 +2615,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0396-Improved-Watchdog-Support.patch b/patches/server/0396-Improved-Watchdog-Support.patch index 7d9f4ee94e..42b646feff 100644 --- a/patches/server/0396-Improved-Watchdog-Support.patch +++ b/patches/server/0396-Improved-Watchdog-Support.patch @@ -323,10 +323,10 @@ index 8cfe47012b78eb582afff23ffcf758ca2e9dec95..d70bdf21dd7bdf01b34d0fd38e79f9b3 final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 709666558393b60e9655718c0e2a812821fccd3e..d260e8d47915752c3b99d0fce952503ff0dca3a4 100644 +index 7764e78ad23ca196bcc621bb1cb895a8e5763c82..fbdc39181ea3074c2b2e3a877a59afafd02fe3c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2040,7 +2040,7 @@ public final class CraftServer implements Server { +@@ -2061,7 +2061,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { diff --git a/patches/server/0416-Expose-game-version.patch b/patches/server/0416-Expose-game-version.patch index 3e86dd3397..71ee6acb34 100644 --- a/patches/server/0416-Expose-game-version.patch +++ b/patches/server/0416-Expose-game-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 264d1202d2efc6aeb89be17f74c0f1423d80be1d..af05f2fe686fbdd52f7e536e7f14e96b157de6ca 100644 +index fbdc39181ea3074c2b2e3a877a59afafd02fe3c9..6c8b907b3c2f9e9a5cbae38620d6ebbd70eaf453 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -577,6 +577,13 @@ public final class CraftServer implements Server { +@@ -578,6 +578,13 @@ public final class CraftServer implements Server { return this.bukkitVersion; } diff --git a/patches/server/0419-misc-debugging-dumps.patch b/patches/server/0419-misc-debugging-dumps.patch index 76ce5f9ca6..687469904b 100644 --- a/patches/server/0419-misc-debugging-dumps.patch +++ b/patches/server/0419-misc-debugging-dumps.patch @@ -74,10 +74,10 @@ index 301042e7a0d372a914f27ec0988dd938cf2a8262..1766a22e65af2e08611a9435c7384377 this.connection.send(new ClientboundDisconnectPacket(chatmessage)); this.connection.disconnect(chatmessage); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index af05f2fe686fbdd52f7e536e7f14e96b157de6ca..134f9efd6267c3baeabc110f75d7182b0f78fa77 100644 +index 6c8b907b3c2f9e9a5cbae38620d6ebbd70eaf453..fc9c24e20bcdb43d79cb44bfbc2c0e82e8d1db46 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -997,6 +997,7 @@ public final class CraftServer implements Server { +@@ -1018,6 +1018,7 @@ public final class CraftServer implements Server { plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); diff --git a/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch index 252820d7aa..52590b5222 100644 --- a/patches/server/0420-Deobfuscate-stacktraces-in-log-messages-crash-report.patch +++ b/patches/server/0420-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 6e47e915134bccb7efa9555d7f33fbe82a25c003..30f31973478175fe62877e21ab6a5473801a58dc 100644 +index 898e2efb764e5bd97ab4e757e6c4c27fc4efdbef..055abcdfd779ce37d657845b3c6322f01fac989d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,6 @@ @@ -37,12 +37,12 @@ index 6e47e915134bccb7efa9555d7f33fbe82a25c003..30f31973478175fe62877e21ab6a5473 implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper implementation("org.ow2.asm:asm:9.2") @@ -35,6 +43,8 @@ dependencies { - runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") - runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.2") + runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2") + implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation + - testImplementation("junit:junit:4.13.1") + testImplementation("junit:junit:4.13.2") testImplementation("org.hamcrest:hamcrest-library:1.3") } @@ -92,6 +102,45 @@ tasks.shadowJar { diff --git a/patches/server/0421-Implement-Mob-Goal-API.patch b/patches/server/0421-Implement-Mob-Goal-API.patch index 97b2c79a22..3f50c4d346 100644 --- a/patches/server/0421-Implement-Mob-Goal-API.patch +++ b/patches/server/0421-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 30f31973478175fe62877e21ab6a5473801a58dc..3381ac7c25323d662935c98aa444195c49cf4e8e 100644 +index 055abcdfd779ce37d657845b3c6322f01fac989d..0ed1fa068da85543b161fe86869ad8c90e701b73 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -45,6 +45,7 @@ dependencies { @@ -13,7 +13,7 @@ index 30f31973478175fe62877e21ab6a5473801a58dc..3381ac7c25323d662935c98aa444195c implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation + testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test - testImplementation("junit:junit:4.13.1") + testImplementation("junit:junit:4.13.2") testImplementation("org.hamcrest:hamcrest-library:1.3") } diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java @@ -785,10 +785,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cd09ec4a75166553470f83f249b6d1e6ee944b50..f0dd163b4af8034a2eaf9298a38a418fe5e05a70 100644 +index fc9c24e20bcdb43d79cb44bfbc2c0e82e8d1db46..a90b4d062ba602ed63ba11d42898997c4bf672f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2607,5 +2607,11 @@ public final class CraftServer implements Server { +@@ -2628,5 +2628,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch index 4dc23f673d..d4b780a618 100644 --- a/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0428-Wait-for-Async-Tasks-during-shutdown.patch @@ -22,10 +22,10 @@ index d613d9bbd2096788cd0f7e3a8aa901e44a4e25ff..faee8e2a29b4c9cbd62185f401ac7bbd // CraftBukkit end if (this.getConnection() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1fc14d579e00534c5eb6ffb67fd61fd0685edb5a..9815401cc7e4438d44c6d812190f181300001802 100644 +index a90b4d062ba602ed63ba11d42898997c4bf672f2..ed4e566cd18de4f58fcbb54cf2b6ed5ce4895d0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1006,6 +1006,35 @@ public final class CraftServer implements Server { +@@ -1027,6 +1027,35 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch b/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch index 7c1bab1183..0850983283 100644 --- a/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch +++ b/patches/server/0439-Fix-villager-trading-demand-MC-163962.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix villager trading demand - MC-163962 Prevent demand from going negative and tending to negative infinity diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -index a9970cd2cdca15d6ea2d3acd3c361dd99f64061b..29b65a80e890e7e513336cb78d052c9d2c535a35 100644 +index 510730fecc8a88dd0588689512863bd30ac248c7..f3cf16ce1e1d6c8f76ca5823f532925253ae64aa 100644 --- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java +++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -@@ -109,7 +109,7 @@ public class MerchantOffer { +@@ -113,7 +113,7 @@ public class MerchantOffer { } public void updateDemand() { diff --git a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 4ceaacadbc..1e824670c1 100644 --- a/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0453-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -107,10 +107,10 @@ index 62deb7cc804b97528a74600b1918fc88d71e2966..acffb2c8a4f864da16c65b83a320d8b1 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9815401cc7e4438d44c6d812190f181300001802..34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad 100644 +index ed4e566cd18de4f58fcbb54cf2b6ed5ce4895d0a..52fabc8cd1b76a825a13d39f38ca982e252cb39b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -921,8 +921,8 @@ public final class CraftServer implements Server { +@@ -942,8 +942,8 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper for (ServerLevel world : this.console.getAllLevels()) { diff --git a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 3143c5e86e..b8c17f7de9 100644 --- a/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0458-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad..f71b244b4d8afa1d109061de5c23f32f67539a93 100644 +index 52fabc8cd1b76a825a13d39f38ca982e252cb39b..54598af96488c47b613de8eb8eb0bf31ea84743f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -371,7 +371,7 @@ public final class CraftServer implements Server { +@@ -372,7 +372,7 @@ public final class CraftServer implements Server { this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient"); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -34,7 +34,7 @@ index 34abd017ac54ae7f12f8d6ffacfd7af90d7f9cad..f71b244b4d8afa1d109061de5c23f32f this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); } -@@ -901,7 +901,7 @@ public final class CraftServer implements Server { +@@ -922,7 +922,7 @@ public final class CraftServer implements Server { this.waterUndergroundCreatureSpawn = this.configuration.getInt("spawn-limits.water-underground-creature"); this.ambientSpawn = this.configuration.getInt("spawn-limits.ambient"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); diff --git a/patches/server/0487-Brand-support.patch b/patches/server/0487-Brand-support.patch index 7e22187c8b..29cb274d4e 100644 --- a/patches/server/0487-Brand-support.patch +++ b/patches/server/0487-Brand-support.patch @@ -72,10 +72,10 @@ index 938e6ee89bdb398dc4e2ce1682727c0e63f28c26..4065a1cb1b4b68aa3ff9f1c3e86c270e return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd27b0e62c3da17e7f6b948b6380d9d29422b9ba..2f961b09c0e2a79391e13f2ea473099080471af6 100644 +index 9eb324b576cd9b50cf7cfad6470ae6a9b8de0a19..fa3554c96e87fc58c3e71e1635b5cf76fe18e27d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2531,6 +2531,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2548,6 +2548,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0488-Add-setMaxPlayers-API.patch b/patches/server/0488-Add-setMaxPlayers-API.patch index 960ac5bd01..25631acf0d 100644 --- a/patches/server/0488-Add-setMaxPlayers-API.patch +++ b/patches/server/0488-Add-setMaxPlayers-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add #setMaxPlayers API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c75218775bb5e9745b863ef1db5280a4a3f2bed9..a1077445ab7d416dc61db85742e447193642b919 100644 +index 98c70121c53e42e3c9bc7403eed83335f567bc74..ba46e9eafab188455d49f1a555e38b0ebe66fcf9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -144,7 +144,7 @@ public abstract class PlayerList { @@ -18,10 +18,10 @@ index c75218775bb5e9745b863ef1db5280a4a3f2bed9..a1077445ab7d416dc61db85742e44719 private int simulationDistance; private boolean allowCheatsForAllPlayers; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f71b244b4d8afa1d109061de5c23f32f67539a93..80843004e01ae8ce66823daa1062c997f135baf3 100644 +index 54598af96488c47b613de8eb8eb0bf31ea84743f..5e3397c8066dacdc1ebcbef57ecf4af0596cc02d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -672,6 +672,13 @@ public final class CraftServer implements Server { +@@ -673,6 +673,13 @@ public final class CraftServer implements Server { return this.playerList.getMaxPlayers(); } diff --git a/patches/server/0503-Add-methods-to-get-translation-keys.patch b/patches/server/0503-Add-methods-to-get-translation-keys.patch index ed27a602e0..fdc247d975 100644 --- a/patches/server/0503-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0503-Add-methods-to-get-translation-keys.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add methods to get translation keys Co-authored-by: MeFisto94 <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 00056d5b3426df121242de2ae01fca492d20089a..ce97c1cafc520db5670004e00aee6b08045e9e00 100644 +index a3eb8cd92c1c7a40175e3dd637c0fd6b8d0dfc67..980f0ec9d343b4186dfeb07b9b08edfde9efeb33 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -625,5 +625,15 @@ public class CraftBlock implements Block { +@@ -626,5 +626,15 @@ public class CraftBlock implements Block { public com.destroystokyo.paper.block.BlockSoundGroup getSoundGroup() { return new com.destroystokyo.paper.block.CraftBlockSoundGroup(getNMS().getBlock().defaultBlockState().getSoundType()); } @@ -42,7 +42,7 @@ index eb99e0c2462a2d1ab4508a5c3f1580b6e31d7465..c536eceef3365a7b726cd970df345ba1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 19401098850f3fecaaea1f27ff4febd7bda1f7c9..dd9433f014c974bbee6f00a9677403ddbbcee416 100644 +index 30142e9177ac1f8a985643524d5c11fda9854d64..b160c437fea9a09e9a67d6bd103960b038fe88fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -442,6 +442,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch index a2426ad732..5f9c235557 100644 --- a/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0527-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1b49560b8323ab5fc3f02963b2911473e36e3cba..538fd5553c6d8ebea5ae83d47fcfbdd4b2ada611 100644 +index 5e3397c8066dacdc1ebcbef57ecf4af0596cc02d..93faeef65f846fdb472204709093ebcdba790dce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1799,6 +1799,28 @@ public final class CraftServer implements Server { +@@ -1820,6 +1820,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/server/0528-Add-ignore-discounts-API.patch b/patches/server/0528-Add-ignore-discounts-API.patch index cfd1698df4..b09ae75fa6 100644 --- a/patches/server/0528-Add-ignore-discounts-API.patch +++ b/patches/server/0528-Add-ignore-discounts-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 785fcb94d707b6790ef2191f7c9db77d253e9c6d..353ee3699c7c7e40dc920e687055d82e23f02008 100644 +index 55b44d0391e9b946536f070ea5bbdd19cd0ae981..6cd297e66a7563bb8f2988302c657ac81fdd3d0f 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -475,6 +475,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -25,32 +25,35 @@ index 785fcb94d707b6790ef2191f7c9db77d253e9c6d..353ee3699c7c7e40dc920e687055d82e int k = (int) Math.floor(d0 * (double) merchantrecipe1.getBaseCostA().getCount()); diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5eeaef976b5 100644 +index f3cf16ce1e1d6c8f76ca5823f532925253ae64aa..c9cb0717c2793acd5b5870a6cc4d672d69a40026 100644 --- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java +++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java @@ -19,6 +19,7 @@ public class MerchantOffer { - private int demand; + public int demand; // PAIL private -> public public float priceMultiplier; public int xp; + public boolean ignoreDiscounts; // Paper // CraftBukkit start private CraftMerchantRecipe bukkitHandle; -@@ -27,7 +28,12 @@ public class MerchantOffer { +@@ -31,7 +32,15 @@ public class MerchantOffer { } - public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, CraftMerchantRecipe bukkit) { -- this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier); + public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, int demand, CraftMerchantRecipe bukkit) { +- this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand); + // Paper start - add ignoreDiscounts param -+ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, false, bukkit); ++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand, false, bukkit); + } + public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, boolean ignoreDiscounts, CraftMerchantRecipe bukkit) { -+ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, 0, ignoreDiscounts); ++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, 0, ignoreDiscounts, bukkit); ++ } ++ public MerchantOffer(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int uses, int maxUses, int experience, float priceMultiplier, int demand, boolean ignoreDiscounts, CraftMerchantRecipe bukkit) { ++ this(itemstack, itemstack1, itemstack2, uses, maxUses, experience, priceMultiplier, demand, ignoreDiscounts); + // Paper end this.bukkitHandle = bukkit; } // CraftBukkit end -@@ -59,6 +65,7 @@ public class MerchantOffer { +@@ -63,6 +72,7 @@ public class MerchantOffer { this.specialPriceDiff = nbt.getInt("specialPrice"); this.demand = nbt.getInt("demand"); @@ -58,7 +61,7 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee } public MerchantOffer(ItemStack buyItem, ItemStack sellItem, int maxUses, int merchantExperience, float priceMultiplier) { -@@ -70,10 +77,19 @@ public class MerchantOffer { +@@ -74,10 +84,19 @@ public class MerchantOffer { } public MerchantOffer(ItemStack firstBuyItem, ItemStack secondBuyItem, ItemStack sellItem, int uses, int maxUses, int merchantExperience, float priceMultiplier) { @@ -79,7 +82,7 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee this.rewardExp = true; this.xp = 1; this.baseCostA = firstBuyItem; -@@ -189,6 +205,7 @@ public class MerchantOffer { +@@ -193,6 +212,7 @@ public class MerchantOffer { nbttagcompound.putFloat("priceMultiplier", this.priceMultiplier); nbttagcompound.putInt("specialPrice", this.specialPriceDiff); nbttagcompound.putInt("demand", this.demand); @@ -88,32 +91,40 @@ index 29b65a80e890e7e513336cb78d052c9d2c535a35..e0f1857dc100bc4d68e5e308b984e5ee } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java -index 8dfbac01a7c88797bb7adfee6278d090da2bedc9..fc69347b03ce197584b310f99e14799046ed5b70 100644 +index 07462b77107541aed2e29d04da33831ac113b450..0f038f6152c90e707cb633dffcab0a1c5b99d260 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java -@@ -17,7 +17,12 @@ public class CraftMerchantRecipe extends MerchantRecipe { +@@ -18,11 +18,19 @@ public class CraftMerchantRecipe extends MerchantRecipe { } public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier) { -- super(result, uses, maxUses, experienceReward, experience, priceMultiplier); +- this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0); + // Paper start - add ignoreDiscounts param -+ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, false); ++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0, false); + } + public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, boolean ignoreDiscounts) { -+ super(result, uses, maxUses, experienceReward, experience, priceMultiplier, ignoreDiscounts); ++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, 0, 0, ignoreDiscounts); + } + + public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, int demand, int specialPrice) { +- super(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice); ++ this(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice, false); ++ } ++ public CraftMerchantRecipe(ItemStack result, int uses, int maxUses, boolean experienceReward, int experience, float priceMultiplier, int demand, int specialPrice, boolean ignoreDiscounts) { ++ super(result, uses, maxUses, experienceReward, experience, priceMultiplier, demand, specialPrice, ignoreDiscounts); + // Paper end this.handle = new net.minecraft.world.item.trading.MerchantOffer( net.minecraft.world.item.ItemStack.EMPTY, net.minecraft.world.item.ItemStack.EMPTY, -@@ -26,6 +31,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { - maxUses, +@@ -32,6 +40,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { experience, priceMultiplier, + demand, + ignoreDiscounts, // Paper - add ignoreDiscounts param this ); - this.setExperienceReward(experienceReward); -@@ -81,6 +87,18 @@ public class CraftMerchantRecipe extends MerchantRecipe { + this.setSpecialPrice(specialPrice); +@@ -108,6 +117,18 @@ public class CraftMerchantRecipe extends MerchantRecipe { handle.priceMultiplier = priceMultiplier; } @@ -132,7 +143,7 @@ index 8dfbac01a7c88797bb7adfee6278d090da2bedc9..fc69347b03ce197584b310f99e147990 public net.minecraft.world.item.trading.MerchantOffer toMinecraft() { List<ItemStack> ingredients = getIngredients(); Preconditions.checkState(!ingredients.isEmpty(), "No offered ingredients"); -@@ -95,7 +113,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { +@@ -122,7 +143,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { if (recipe instanceof CraftMerchantRecipe) { return (CraftMerchantRecipe) recipe; } else { diff --git a/patches/server/0538-Add-Destroy-Speed-API.patch b/patches/server/0538-Add-Destroy-Speed-API.patch index b878752c90..8727a04a53 100644 --- a/patches/server/0538-Add-Destroy-Speed-API.patch +++ b/patches/server/0538-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e69b1831cbfdff3f2b1e4be4d5de313bfe724795..fcaf05af6cfd15e0e313c4ffeb5dfd604806afbd 100644 +index aa783fb4d77c9edb58c56ff98c604a87d9583767..2144126241450fe2d6e801bd9452d211a03b6f7c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -635,5 +635,26 @@ public class CraftBlock implements Block { +@@ -636,5 +636,26 @@ public class CraftBlock implements Block { public String translationKey() { return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); } diff --git a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 6dd68c211c..97588b69a4 100644 --- a/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0539-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ 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 86814204543d56f2ecc0878525d0864d1fdbf76e..2e75bdfaeaef4acfbbb6e4f79317f1050fe82852 100644 +index d392a02d996140ab8102e8b9243fd6119fe343a2..8e41be518510e559724f2f26c195f9a99ba343e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2102,7 +2102,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2119,7 +2119,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/server/0615-Add-Block-isValidTool.patch b/patches/server/0615-Add-Block-isValidTool.patch index 80337e27f0..766561ca56 100644 --- a/patches/server/0615-Add-Block-isValidTool.patch +++ b/patches/server/0615-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index a992c5d0cbc3882d7fb1343aa4ca784cad6cc1a9..1cc8edc51bedc53ee82490bc1df4a36a5a88c028 100644 +index fdf342e6059d967746164f18dc041b4e586f1a20..bdabe194a32e922bbbd73a2a33c3d0f54c46be67 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -675,5 +675,9 @@ public class CraftBlock implements Block { +@@ -676,5 +676,9 @@ public class CraftBlock implements Block { } return speed; } diff --git a/patches/server/0617-Implement-Keyed-on-World.patch b/patches/server/0617-Implement-Keyed-on-World.patch index cbc6409a40..896d602707 100644 --- a/patches/server/0617-Implement-Keyed-on-World.patch +++ b/patches/server/0617-Implement-Keyed-on-World.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement Keyed on World diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ecc02cd16c 100644 +index 93faeef65f846fdb472204709093ebcdba790dce..28fb73ffd683a45b1d6be4b55116e861d0c2973c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1236,7 +1236,7 @@ public final class CraftServer implements Server { +@@ -1257,7 +1257,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -17,7 +17,7 @@ index 8535bb6523ef8736970f064ee2b52563a4c9726f..203ba9f883941cd4f421b2c53ee153ec } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, dimensionmanager, this.getServer().progressListenerFactory.create(11), -@@ -1328,6 +1328,15 @@ public final class CraftServer implements Server { +@@ -1349,6 +1349,15 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0657-Add-basic-Datapack-API.patch b/patches/server/0657-Add-basic-Datapack-API.patch index 78e2a58dd0..dd319fdd20 100644 --- a/patches/server/0657-Add-basic-Datapack-API.patch +++ b/patches/server/0657-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbeabd5bda0 100644 +index 28fb73ffd683a45b1d6be4b55116e861d0c2973c..6513cb5f236d86097f078f8c72cc3d0a0ebc9617 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -290,6 +290,7 @@ public final class CraftServer implements Server { +@@ -291,6 +291,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List<CraftPlayer> playerView; public int reloadCount; @@ -103,7 +103,7 @@ index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbe public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -374,6 +375,7 @@ public final class CraftServer implements Server { +@@ -375,6 +376,7 @@ public final class CraftServer implements Server { TicketType.PLUGIN.timeout = Math.min(20, this.configuration.getInt("chunk-gc.period-in-ticks")); // Paper - cap plugin loads to 1 second this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); @@ -111,7 +111,7 @@ index 8a4c15afceb96e319b80b7506e401f60275b5116..8fe8a761b76972fbc586fa7bb3e08fbe } public boolean getCommandBlockOverride(String command) { -@@ -2680,5 +2682,11 @@ public final class CraftServer implements Server { +@@ -2701,5 +2703,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch index 5e80e687bc..697a7622df 100644 --- a/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0662-Fix-and-optimise-world-force-upgrading.patch @@ -246,7 +246,7 @@ index 0000000000000000000000000000000000000000..748e6923338d40d67e31251e9ab60016 + } +} diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index f685ab3cc6e4fd76e8dec3d2d3627a13715cda44..36a1d58dd238c835ce3cc9c2376a86a04915d098 100644 +index 3835a8340792837674bdbcd5583ce74446b0460b..e2c8f716af55ebb7e4233c2a3d6515f8f4a239fa 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -13,6 +13,7 @@ import java.nio.file.Paths; @@ -306,7 +306,7 @@ index 5de82c5d7da2ca6eeee4b804b916fa9d385cc25c..e03018882da878ddc51986733cfd6ea1 if (dimensionKey == LevelStem.OVERWORLD) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 0149e5c3618e1c35ec15230fe9838650429afeb9..aaebbf265ba6ad98fc14d02d24b3db1a6fa904ba 100644 +index c76b508026c5ad54879ba400a9b6f8287f3f95b8..b7f9d6682c1dc5f03ae363b782ae9346f5bbe841 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -177,6 +177,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -359,10 +359,10 @@ index 2ee32657a49937418b352a138aca21fbb27857e6..7b4f3c30cfc4bf68cc872598726f7f7e return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c1a28d8d52afcfd60223b59107ce92e1037f5ba6..febad6c8687b33d13dcd55bfe6390eda6d605a45 100644 +index 6513cb5f236d86097f078f8c72cc3d0a0ebc9617..dfeef8b13a86998599d17f84996e1368649c47b1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1197,12 +1197,7 @@ public final class CraftServer implements Server { +@@ -1218,12 +1218,7 @@ public final class CraftServer implements Server { } worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); @@ -376,7 +376,7 @@ index c1a28d8d52afcfd60223b59107ce92e1037f5ba6..febad6c8687b33d13dcd55bfe6390eda long j = BiomeManager.obfuscateSeed(creator.seed()); List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1231,6 +1226,14 @@ public final class CraftServer implements Server { +@@ -1252,6 +1247,14 @@ public final class CraftServer implements Server { } } diff --git a/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch index c2c8ad9b37..90092e8142 100644 --- a/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch +++ b/patches/server/0688-Fix-return-value-of-Block-applyBoneMeal-always-being.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix return value of Block#applyBoneMeal always being false diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 011f34034bf6d8481e91b08894c68d87de41f2c1..ee24edb7f3821ae3a1881824257d21226f909adb 100644 +index bdabe194a32e922bbbd73a2a33c3d0f54c46be67..991e73e0f397da265b08ce14bb2f92b251eaff48 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -520,7 +520,7 @@ public class CraftBlock implements Block { +@@ -521,7 +521,7 @@ public class CraftBlock implements Block { Direction direction = CraftBlock.blockFaceToNotch(face); UseOnContext context = new UseOnContext(this.getCraftWorld().getHandle(), null, InteractionHand.MAIN_HAND, Items.BONE_MEAL.getDefaultInstance(), new BlockHitResult(Vec3.ZERO, direction, this.getPosition(), false)); diff --git a/patches/server/0696-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0695-Don-t-apply-cramming-damage-to-players.patch index bb7e966527..b51e8e18ca 100644 --- a/patches/server/0696-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0695-Don-t-apply-cramming-damage-to-players.patch @@ -11,7 +11,7 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index f07174ca6cdf9609fd695f999b09312c7b2b468e..5f8e4ea63d00f62df22f4379b67058238e6fe971 100644 +index be7b7f9345a42007d6ccea6a31c93a4c874647b6..a374112dc1ecb55dc921d2a2202f6eab47be0d35 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -883,4 +883,9 @@ public class PaperWorldConfig { @@ -25,7 +25,7 @@ index f07174ca6cdf9609fd695f999b09312c7b2b468e..5f8e4ea63d00f62df22f4379b6705823 + } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index df0b08628d736b7f75120f1b9840784f6c472853..2607dc36e0bd7a915afb0cc9e0f453a2b301c0bd 100644 +index 6f5be46ae4c4f53695cdc5954352a2589842ede6..e87d4071604a642c0a08129b469e707a609bf83d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1435,7 +1435,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch b/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch deleted file mode 100644 index 6cc9fedf40..0000000000 --- a/patches/server/0695-Fix-MerchantOffer-BuyB-Only-AssertionError.patch +++ /dev/null @@ -1,18 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: thamid-gamer <[email protected]> -Date: Fri, 16 Jul 2021 16:00:17 -0400 -Subject: [PATCH] Fix MerchantOffer BuyB-Only AssertionError - - -diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -index e0f1857dc100bc4d68e5e308b984e5eeaef976b5..12354b2fd411c57fd14dfca92cd2f1522fa6f050 100644 ---- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -+++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -@@ -231,6 +231,7 @@ public class MerchantOffer { - if (!this.satisfiedBy(firstBuyStack, secondBuyStack)) { - return false; - } else { -+ if (!this.getCostA().isEmpty()) // Paper - firstBuyStack.shrink(this.getCostA().getCount()); - if (!this.getCostB().isEmpty()) { - secondBuyStack.shrink(this.getCostB().getCount()); diff --git a/patches/server/0697-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0696-Rate-options-and-timings-for-sensors-and-behaviors.patch index dbc3d332fc..730ffaccf0 100644 --- a/patches/server/0697-Rate-options-and-timings-for-sensors-and-behaviors.patch +++ b/patches/server/0696-Rate-options-and-timings-for-sensors-and-behaviors.patch @@ -28,7 +28,7 @@ index b47b7dce26805badd422c1867733ff4bfd00e9f4..b27021a42cbed3f0648a8d0903d00d03 * Get a named timer for the specified tile entity type to track type specific timings. * @param entity diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5f8e4ea63d00f62df22f4379b67058238e6fe971..aaa437f83b5784464ba443cd04bf13a1321f0921 100644 +index a374112dc1ecb55dc921d2a2202f6eab47be0d35..9e31046c1e6f1138e75aee11647b0ff9bf45503d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -9,8 +9,10 @@ import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap; diff --git a/patches/server/0698-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0697-Add-a-bunch-of-missing-forceDrop-toggles.patch index 8e3b6ad7b3..8e3b6ad7b3 100644 --- a/patches/server/0698-Add-a-bunch-of-missing-forceDrop-toggles.patch +++ b/patches/server/0697-Add-a-bunch-of-missing-forceDrop-toggles.patch diff --git a/patches/server/0699-Stinger-API.patch b/patches/server/0698-Stinger-API.patch index 33f8959315..33f8959315 100644 --- a/patches/server/0699-Stinger-API.patch +++ b/patches/server/0698-Stinger-API.patch diff --git a/patches/server/0700-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0699-Fix-incosistency-issue-with-empty-map-items-in-CB.patch index 77196f4ae2..77196f4ae2 100644 --- a/patches/server/0700-Fix-incosistency-issue-with-empty-map-items-in-CB.patch +++ b/patches/server/0699-Fix-incosistency-issue-with-empty-map-items-in-CB.patch diff --git a/patches/server/0701-Add-System.out-err-catcher.patch b/patches/server/0700-Add-System.out-err-catcher.patch index efb52379da..4af2eb2238 100644 --- a/patches/server/0701-Add-System.out-err-catcher.patch +++ b/patches/server/0700-Add-System.out-err-catcher.patch @@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index febad6c8687b33d13dcd55bfe6390eda6d605a45..88166a778b30e7d3ff6a63e1162232b68a11f17f 100644 +index dfeef8b13a86998599d17f84996e1368649c47b1..5f35c3714ac4e0e7afaa81c1ebe8d9601202bbb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -18,6 +18,7 @@ import com.mojang.serialization.Lifecycle; @@ -116,7 +116,7 @@ index febad6c8687b33d13dcd55bfe6390eda6d605a45..88166a778b30e7d3ff6a63e1162232b6 import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; import java.awt.image.BufferedImage; import java.io.File; -@@ -292,6 +293,7 @@ public final class CraftServer implements Server { +@@ -293,6 +294,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/server/0702-Fix-test-not-bootstrapping.patch b/patches/server/0701-Fix-test-not-bootstrapping.patch index 5d0466c3b3..5d0466c3b3 100644 --- a/patches/server/0702-Fix-test-not-bootstrapping.patch +++ b/patches/server/0701-Fix-test-not-bootstrapping.patch diff --git a/patches/server/0703-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0702-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch index 10cd90749d..10cd90749d 100644 --- a/patches/server/0703-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch +++ b/patches/server/0702-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/server/0704-Improve-boat-collision-performance.patch b/patches/server/0703-Improve-boat-collision-performance.patch index 9e8bbe1be1..9e8bbe1be1 100644 --- a/patches/server/0704-Improve-boat-collision-performance.patch +++ b/patches/server/0703-Improve-boat-collision-performance.patch diff --git a/patches/server/0705-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0704-Prevent-AFK-kick-while-watching-end-credits.patch index 0a0996db8c..0a0996db8c 100644 --- a/patches/server/0705-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0704-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/server/0706-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0705-Allow-skipping-writing-of-comments-to-server.propert.patch index d4d19d0e69..d4d19d0e69 100644 --- a/patches/server/0706-Allow-skipping-writing-of-comments-to-server.propert.patch +++ b/patches/server/0705-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0707-Add-PlayerSetSpawnEvent.patch b/patches/server/0706-Add-PlayerSetSpawnEvent.patch index 41e17f2098..648acdbf32 100644 --- a/patches/server/0707-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0706-Add-PlayerSetSpawnEvent.patch @@ -18,7 +18,7 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3 String string = resourceKey.location().toString(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2607dc36e0bd7a915afb0cc9e0f453a2b301c0bd..ea724b1781ea256c991fe47aa044183e20ae4d82 100644 +index e87d4071604a642c0a08129b469e707a609bf83d..6c0c1f7f4f3407164ee39abf4c87ffcc057994fd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1276,7 +1276,7 @@ public class ServerPlayer extends Player { @@ -93,7 +93,7 @@ index d620f559cdd1bd0e161a99123ef6c6f64e3302df..07e893f1859abe3c2a765694c21309d6 return InteractionResult.SUCCESS; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6a76ae601bfaa64b64bd4c62c488cd4f70953427..097f8d360fcdd96f95ece64d4d1368e36408d451 100644 +index 39afaf3355aaf601bab0526c720dbe2049518e8c..03888e95445147ed462233c0115d7e90411c192c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1089,9 +1089,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0708-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0707-Make-hoppers-respect-inventory-max-stack-size.patch index fe1da128ae..fe1da128ae 100644 --- a/patches/server/0708-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0707-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/server/0709-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0708-Optimize-entity-tracker-passenger-checks.patch index ce8a02f22d..ce8a02f22d 100644 --- a/patches/server/0709-Optimize-entity-tracker-passenger-checks.patch +++ b/patches/server/0708-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0710-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0709-Config-option-for-Piglins-guarding-chests.patch index bff7c34f22..a5ae275da7 100644 --- a/patches/server/0710-Config-option-for-Piglins-guarding-chests.patch +++ b/patches/server/0709-Config-option-for-Piglins-guarding-chests.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config option for Piglins guarding chests diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index aaa437f83b5784464ba443cd04bf13a1321f0921..27dbdf072fde014b6244428afbc3b279e2080995 100644 +index 9e31046c1e6f1138e75aee11647b0ff9bf45503d..e85835f3ec7bb5e5ef5a827a4cb6614780255326 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -72,6 +72,11 @@ public class PaperWorldConfig { diff --git a/patches/server/0711-Added-EntityDamageItemEvent.patch b/patches/server/0710-Added-EntityDamageItemEvent.patch index bab8258ae6..bab8258ae6 100644 --- a/patches/server/0711-Added-EntityDamageItemEvent.patch +++ b/patches/server/0710-Added-EntityDamageItemEvent.patch diff --git a/patches/server/0712-Optimize-indirect-passenger-iteration.patch b/patches/server/0711-Optimize-indirect-passenger-iteration.patch index 485e10407d..2011f87762 100644 --- a/patches/server/0712-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0711-Optimize-indirect-passenger-iteration.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4049a35d44c8351e81d7867b3524fa960ecc2d71..648987c04c6e025e86825142cacaedb7c9a1cba4 100644 +index 6970bb9951e83d5e1a76bad8ca4a7cb16d7fdd92..aa85a026b04f790dd9e4551f2ea3082bc076e04f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3496,26 +3496,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0713-Fix-block-drops-position-losing-precision-millions-o.patch b/patches/server/0712-Fix-block-drops-position-losing-precision-millions-o.patch index 7077043f4f..7077043f4f 100644 --- a/patches/server/0713-Fix-block-drops-position-losing-precision-millions-o.patch +++ b/patches/server/0712-Fix-block-drops-position-losing-precision-millions-o.patch diff --git a/patches/server/0714-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0713-Configurable-item-frame-map-cursor-update-interval.patch index c1bdb0ab59..6a567624e6 100644 --- a/patches/server/0714-Configurable-item-frame-map-cursor-update-interval.patch +++ b/patches/server/0713-Configurable-item-frame-map-cursor-update-interval.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable item frame map cursor update interval diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 27dbdf072fde014b6244428afbc3b279e2080995..d549455e893a2e65fb6f4a529cc9685420190da9 100644 +index e85835f3ec7bb5e5ef5a827a4cb6614780255326..f0073bafac729f018ad3264f673c158c1ed5b0d7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -876,6 +876,11 @@ public class PaperWorldConfig { diff --git a/patches/server/0715-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0714-Make-EntityUnleashEvent-cancellable.patch index 76356ad122..76356ad122 100644 --- a/patches/server/0715-Make-EntityUnleashEvent-cancellable.patch +++ b/patches/server/0714-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/server/0716-Clear-bucket-NBT-after-dispense.patch b/patches/server/0715-Clear-bucket-NBT-after-dispense.patch index 046e7d2e5c..046e7d2e5c 100644 --- a/patches/server/0716-Clear-bucket-NBT-after-dispense.patch +++ b/patches/server/0715-Clear-bucket-NBT-after-dispense.patch diff --git a/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch b/patches/server/0716-Respect-despawn-rate-in-item-merge-check.patch index d5cd293f4a..d5cd293f4a 100644 --- a/patches/server/0717-Respect-despawn-rate-in-item-merge-check.patch +++ b/patches/server/0716-Respect-despawn-rate-in-item-merge-check.patch diff --git a/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch b/patches/server/0717-Move-BlockPistonRetractEvent-to-fix-duplication.patch index 87cfb92404..87cfb92404 100644 --- a/patches/server/0718-Move-BlockPistonRetractEvent-to-fix-duplication.patch +++ b/patches/server/0717-Move-BlockPistonRetractEvent-to-fix-duplication.patch diff --git a/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0718-Change-EnderEye-target-without-changing-other-things.patch index e4af6267df..e4af6267df 100644 --- a/patches/server/0719-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/server/0718-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0720-Add-BlockBreakBlockEvent.patch b/patches/server/0719-Add-BlockBreakBlockEvent.patch index bbd9414dca..bbd9414dca 100644 --- a/patches/server/0720-Add-BlockBreakBlockEvent.patch +++ b/patches/server/0719-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0720-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index 14e666a79e..14e666a79e 100644 --- a/patches/server/0721-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/server/0720-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/server/0722-More-CommandBlock-API.patch b/patches/server/0721-More-CommandBlock-API.patch index daf682f8a0..daf682f8a0 100644 --- a/patches/server/0722-More-CommandBlock-API.patch +++ b/patches/server/0721-More-CommandBlock-API.patch diff --git a/patches/server/0723-Add-missing-team-sidebar-display-slots.patch b/patches/server/0722-Add-missing-team-sidebar-display-slots.patch index 5581728a48..5581728a48 100644 --- a/patches/server/0723-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0722-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0724-Add-back-EntityPortalExitEvent.patch b/patches/server/0723-Add-back-EntityPortalExitEvent.patch index 5fa0a24533..6b82f775a0 100644 --- a/patches/server/0724-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0723-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 648987c04c6e025e86825142cacaedb7c9a1cba4..9e966aab98ffcb30c700396025d755ffdad8b7f5 100644 +index aa85a026b04f790dd9e4551f2ea3082bc076e04f..1869eb6067da68e7c43b3749738c8376d18ed4cf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3008,6 +3008,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0724-Add-methods-to-find-targets-for-lightning-strikes.patch index 166bb4006d..166bb4006d 100644 --- a/patches/server/0725-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0724-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/server/0726-Get-entity-default-attributes.patch b/patches/server/0725-Get-entity-default-attributes.patch index 6cdfcd9662..82c52bd6fe 100644 --- a/patches/server/0726-Get-entity-default-attributes.patch +++ b/patches/server/0725-Get-entity-default-attributes.patch @@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..4ecba0b02c2813a890aecc5586987879 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index fd02c143fa1cc972341f8122d554539c968bab1a..08b44f0f5e018ac5ecc42906a0c126061ed52268 100644 +index 88b32c3fb3e35819f0de34dc92084c3c0b861d31..5ca85ce019e7160081451a6f26f2edded34a917d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -516,6 +516,18 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0727-Left-handed-API.patch b/patches/server/0726-Left-handed-API.patch index dd1acc7723..dd1acc7723 100644 --- a/patches/server/0727-Left-handed-API.patch +++ b/patches/server/0726-Left-handed-API.patch diff --git a/patches/server/0728-Add-advancement-display-API.patch b/patches/server/0727-Add-advancement-display-API.patch index c2bd6b94c0..c2bd6b94c0 100644 --- a/patches/server/0728-Add-advancement-display-API.patch +++ b/patches/server/0727-Add-advancement-display-API.patch diff --git a/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch b/patches/server/0728-Add-ItemFactory-getMonsterEgg-API.patch index a7a82e297a..a7a82e297a 100644 --- a/patches/server/0729-Add-ItemFactory-getMonsterEgg-API.patch +++ b/patches/server/0728-Add-ItemFactory-getMonsterEgg-API.patch diff --git a/patches/server/0730-Add-critical-damage-API.patch b/patches/server/0729-Add-critical-damage-API.patch index e9da7c9a2f..e9da7c9a2f 100644 --- a/patches/server/0730-Add-critical-damage-API.patch +++ b/patches/server/0729-Add-critical-damage-API.patch diff --git a/patches/server/0731-Fix-issues-with-mob-conversion.patch b/patches/server/0730-Fix-issues-with-mob-conversion.patch index 65a03ed56e..65a03ed56e 100644 --- a/patches/server/0731-Fix-issues-with-mob-conversion.patch +++ b/patches/server/0730-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0732-Add-isCollidable-methods-to-various-places.patch b/patches/server/0731-Add-isCollidable-methods-to-various-places.patch index 3b727102f7..002bcd906b 100644 --- a/patches/server/0732-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0731-Add-isCollidable-methods-to-various-places.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add isCollidable methods to various places diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 4a013a0ecdeda29c64748a551f79b8437021978c..fcf2e5b0b07d2884b678b9c39b72cc7dc5518163 100644 +index 991e73e0f397da265b08ce14bb2f92b251eaff48..89cfa5093d53e1a249efc64aa1b449755c6eecd9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -473,6 +473,11 @@ public class CraftBlock implements Block { @@ -37,7 +37,7 @@ index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 08b44f0f5e018ac5ecc42906a0c126061ed52268..ac9bfb29009d9969c7444678fb1478752f15bfac 100644 +index 5ca85ce019e7160081451a6f26f2edded34a917d..b43a6df5665f88e0d715ead5ca71a8f9f03e8e4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -528,6 +528,12 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0733-Goat-ram-API.patch b/patches/server/0732-Goat-ram-API.patch index 641bebca80..641bebca80 100644 --- a/patches/server/0733-Goat-ram-API.patch +++ b/patches/server/0732-Goat-ram-API.patch diff --git a/patches/server/0734-Add-API-for-resetting-a-single-score.patch b/patches/server/0733-Add-API-for-resetting-a-single-score.patch index c2e1fd93b9..c2e1fd93b9 100644 --- a/patches/server/0734-Add-API-for-resetting-a-single-score.patch +++ b/patches/server/0733-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0734-Add-Raw-Byte-Entity-Serialization.patch index 434733010e..7272e6803a 100644 --- a/patches/server/0735-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0734-Add-Raw-Byte-Entity-Serialization.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9e966aab98ffcb30c700396025d755ffdad8b7f5..dd21b208fcfa73b17123abb83358b823201bdfaf 100644 +index 1869eb6067da68e7c43b3749738c8376d18ed4cf..8963bc6cfd3edfd493cc73918513478a5bc03903 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1826,6 +1826,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -45,7 +45,7 @@ index ee50ea695585639d0ff184b675f3fb3b205b9f86..5aae88e20bc04560d6ad52cfcaa872d2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ac9bfb29009d9969c7444678fb1478752f15bfac..d51c63496b55d64ac7ee6175bc364012df897891 100644 +index b43a6df5665f88e0d715ead5ca71a8f9f03e8e4b..90e68a8cfd00e4ad7ffaddfc8e8d5df26c49cf7a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -421,6 +421,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0736-Vanilla-command-permission-fixes.patch b/patches/server/0735-Vanilla-command-permission-fixes.patch index b5097e5762..b5097e5762 100644 --- a/patches/server/0736-Vanilla-command-permission-fixes.patch +++ b/patches/server/0735-Vanilla-command-permission-fixes.patch diff --git a/patches/server/0737-Make-CallbackExecutor-strict-again.patch b/patches/server/0736-Make-CallbackExecutor-strict-again.patch index 68b18d6536..48a552aa64 100644 --- a/patches/server/0737-Make-CallbackExecutor-strict-again.patch +++ b/patches/server/0736-Make-CallbackExecutor-strict-again.patch @@ -10,7 +10,7 @@ schedules. Effectively, use the callback executor as a tool of finding issues rather than hiding these issues. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index a1b667084f710230d3f94ee0e5f5750de1d71e29..b8066eec2a1481059ee0c25756e14449e3007b6b 100644 +index a97bf06a0e8ba1cd612f7e8be2585bfdfbdfa969..2af478902b528f335797c691730afb2657d4e6c4 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -160,17 +160,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch b/patches/server/0737-Do-not-allow-the-server-to-unload-chunks-at-request-.patch index 0f9c3bedf6..0f9c3bedf6 100644 --- a/patches/server/0738-Do-not-allow-the-server-to-unload-chunks-at-request-.patch +++ b/patches/server/0737-Do-not-allow-the-server-to-unload-chunks-at-request-.patch diff --git a/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0738-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 04bbf92438..04bbf92438 100644 --- a/patches/server/0739-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0738-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch diff --git a/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch b/patches/server/0739-Correctly-handle-recursion-for-chunkholder-updates.patch index d4a47032bf..d4a47032bf 100644 --- a/patches/server/0740-Correctly-handle-recursion-for-chunkholder-updates.patch +++ b/patches/server/0739-Correctly-handle-recursion-for-chunkholder-updates.patch diff --git a/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch b/patches/server/0740-Separate-lookup-locking-from-state-access-in-UserCac.patch index 20298aa1a6..20298aa1a6 100644 --- a/patches/server/0741-Separate-lookup-locking-from-state-access-in-UserCac.patch +++ b/patches/server/0740-Separate-lookup-locking-from-state-access-in-UserCac.patch diff --git a/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch b/patches/server/0741-Fix-chunks-refusing-to-unload-at-low-TPS.patch index b0b95db3bf..b0b95db3bf 100644 --- a/patches/server/0742-Fix-chunks-refusing-to-unload-at-low-TPS.patch +++ b/patches/server/0741-Fix-chunks-refusing-to-unload-at-low-TPS.patch diff --git a/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch b/patches/server/0742-Do-not-allow-ticket-level-changes-while-unloading-pl.patch index af693f3838..af693f3838 100644 --- a/patches/server/0743-Do-not-allow-ticket-level-changes-while-unloading-pl.patch +++ b/patches/server/0742-Do-not-allow-ticket-level-changes-while-unloading-pl.patch diff --git a/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch b/patches/server/0743-Do-not-allow-ticket-level-changes-when-updating-chun.patch index 538eaa84b7..538eaa84b7 100644 --- a/patches/server/0744-Do-not-allow-ticket-level-changes-when-updating-chun.patch +++ b/patches/server/0743-Do-not-allow-ticket-level-changes-when-updating-chun.patch diff --git a/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0744-Do-not-submit-profile-lookups-to-worldgen-threads.patch index 534570379c..534570379c 100644 --- a/patches/server/0745-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0744-Do-not-submit-profile-lookups-to-worldgen-threads.patch diff --git a/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0745-Log-when-the-async-catcher-is-tripped.patch index 7006040b25..7006040b25 100644 --- a/patches/server/0746-Log-when-the-async-catcher-is-tripped.patch +++ b/patches/server/0745-Log-when-the-async-catcher-is-tripped.patch diff --git a/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0746-Add-paper-mobcaps-and-paper-playermobcaps.patch index 2983360250..2983360250 100644 --- a/patches/server/0747-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0746-Add-paper-mobcaps-and-paper-playermobcaps.patch diff --git a/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch b/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch index 2c13e7604d..2c13e7604d 100644 --- a/patches/server/0748-Prevent-unload-calls-removing-tickets-for-sync-loads.patch +++ b/patches/server/0747-Prevent-unload-calls-removing-tickets-for-sync-loads.patch diff --git a/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0748-Sanitize-ResourceLocation-error-logging.patch index 1f990a622a..1f990a622a 100644 --- a/patches/server/0749-Sanitize-ResourceLocation-error-logging.patch +++ b/patches/server/0748-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0750-Optimise-general-POI-access.patch b/patches/server/0749-Optimise-general-POI-access.patch index c920f51774..c920f51774 100644 --- a/patches/server/0750-Optimise-general-POI-access.patch +++ b/patches/server/0749-Optimise-general-POI-access.patch diff --git a/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0750-Allow-controlled-flushing-for-network-manager.patch index c52730c1df..c52730c1df 100644 --- a/patches/server/0751-Allow-controlled-flushing-for-network-manager.patch +++ b/patches/server/0750-Allow-controlled-flushing-for-network-manager.patch diff --git a/patches/server/0752-Add-more-async-catchers.patch b/patches/server/0751-Add-more-async-catchers.patch index 9eca07f148..9eca07f148 100644 --- a/patches/server/0752-Add-more-async-catchers.patch +++ b/patches/server/0751-Add-more-async-catchers.patch diff --git a/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0752-Rewrite-entity-bounding-box-lookup-calls.patch index 790186480d..1643085a3e 100644 --- a/patches/server/0753-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0752-Rewrite-entity-bounding-box-lookup-calls.patch @@ -953,7 +953,7 @@ index de5e18a331178da8f7e82aa2419a0ee606e801ee..9b25d36fe5230e287d81b99be31b9edd + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dd21b208fcfa73b17123abb83358b823201bdfaf..546f44dbfdda20c4b53bba840def286612630da5 100644 +index 8963bc6cfd3edfd493cc73918513478a5bc03903..a320816795fa9b2d4fc696b008222368b00c586e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -419,6 +419,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0754-Optimise-chunk-tick-iteration.patch b/patches/server/0753-Optimise-chunk-tick-iteration.patch index c381730e4a..c381730e4a 100644 --- a/patches/server/0754-Optimise-chunk-tick-iteration.patch +++ b/patches/server/0753-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch b/patches/server/0754-Execute-chunk-tasks-mid-tick.patch index 9f14b511e7..9f14b511e7 100644 --- a/patches/server/0755-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/0754-Execute-chunk-tasks-mid-tick.patch diff --git a/patches/server/0756-Do-not-copy-visible-chunks.patch b/patches/server/0755-Do-not-copy-visible-chunks.patch index ba44aac258..ba44aac258 100644 --- a/patches/server/0756-Do-not-copy-visible-chunks.patch +++ b/patches/server/0755-Do-not-copy-visible-chunks.patch diff --git a/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0756-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch index 48436825c0..48436825c0 100644 --- a/patches/server/0757-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch +++ b/patches/server/0756-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0757-Custom-table-implementation-for-blockstate-state-loo.patch index 9b556d7fe8..9b556d7fe8 100644 --- a/patches/server/0758-Custom-table-implementation-for-blockstate-state-loo.patch +++ b/patches/server/0757-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0758-Detail-more-information-in-watchdog-dumps.patch index 3ee35843b6..d0b6b6fd2e 100644 --- a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0758-Detail-more-information-in-watchdog-dumps.patch @@ -123,7 +123,7 @@ index 7e837b2896cac64a982d9025c4e190dfa7ebc451..c353e41fa733b42350285861a5ddbdf3 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 546f44dbfdda20c4b53bba840def286612630da5..384949c5badb0950b3bca6ff2bbe632d7ae801df 100644 +index a320816795fa9b2d4fc696b008222368b00c586e..ac6c0474fc05178d1efac7f5767066074def2f16 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -898,7 +898,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0759-Manually-inline-methods-in-BlockPosition.patch index 9d7f17f71a..9d7f17f71a 100644 --- a/patches/server/0760-Manually-inline-methods-in-BlockPosition.patch +++ b/patches/server/0759-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0761-Distance-manager-tick-timings.patch b/patches/server/0760-Distance-manager-tick-timings.patch index c12b5b8d05..c12b5b8d05 100644 --- a/patches/server/0761-Distance-manager-tick-timings.patch +++ b/patches/server/0760-Distance-manager-tick-timings.patch diff --git a/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0761-Name-craft-scheduler-threads-according-to-the-plugin.patch index 7d081ee195..7d081ee195 100644 --- a/patches/server/0762-Name-craft-scheduler-threads-according-to-the-plugin.patch +++ b/patches/server/0761-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0762-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch index c20e5ba267..c20e5ba267 100644 --- a/patches/server/0763-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch +++ b/patches/server/0762-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0764-Add-packet-limiter-config.patch b/patches/server/0763-Add-packet-limiter-config.patch index 4ff4c8272f..4ff4c8272f 100644 --- a/patches/server/0764-Add-packet-limiter-config.patch +++ b/patches/server/0763-Add-packet-limiter-config.patch diff --git a/patches/server/0765-Lag-compensate-block-breaking.patch b/patches/server/0764-Lag-compensate-block-breaking.patch index 520e151053..520e151053 100644 --- a/patches/server/0765-Lag-compensate-block-breaking.patch +++ b/patches/server/0764-Lag-compensate-block-breaking.patch diff --git a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch b/patches/server/0765-Use-correct-LevelStem-registry-when-loading-default-.patch index 7cd2d9c9f6..7cd2d9c9f6 100644 --- a/patches/server/0766-Use-correct-LevelStem-registry-when-loading-default-.patch +++ b/patches/server/0765-Use-correct-LevelStem-registry-when-loading-default-.patch diff --git a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch index b201e36d10..b201e36d10 100644 --- a/patches/server/0767-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch +++ b/patches/server/0766-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0767-Consolidate-flush-calls-for-entity-tracker-packets.patch index faa1b46041..faa1b46041 100644 --- a/patches/server/0768-Consolidate-flush-calls-for-entity-tracker-packets.patch +++ b/patches/server/0767-Consolidate-flush-calls-for-entity-tracker-packets.patch diff --git a/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0768-Don-t-lookup-fluid-state-when-raytracing.patch index eef7de0e32..eef7de0e32 100644 --- a/patches/server/0769-Don-t-lookup-fluid-state-when-raytracing.patch +++ b/patches/server/0768-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0770-Time-scoreboard-search.patch b/patches/server/0769-Time-scoreboard-search.patch index 48469b83af..48469b83af 100644 --- a/patches/server/0770-Time-scoreboard-search.patch +++ b/patches/server/0769-Time-scoreboard-search.patch diff --git a/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0770-Send-full-pos-packets-for-hard-colliding-entities.patch index af1611e279..af1611e279 100644 --- a/patches/server/0771-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/0770-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0771-Do-not-run-raytrace-logic-for-AIR.patch index baedf55a9d..baedf55a9d 100644 --- a/patches/server/0772-Do-not-run-raytrace-logic-for-AIR.patch +++ b/patches/server/0771-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0772-Oprimise-map-impl-for-tracked-players.patch index 977c8a0a81..977c8a0a81 100644 --- a/patches/server/0773-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0772-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0773-Optimise-BlockSoil-nearby-water-lookup.patch index ab3e7cfa17..ab3e7cfa17 100644 --- a/patches/server/0774-Optimise-BlockSoil-nearby-water-lookup.patch +++ b/patches/server/0773-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch b/patches/server/0774-Allow-removal-addition-of-entities-to-entity-ticklis.patch index d68c8524e7..d68c8524e7 100644 --- a/patches/server/0775-Allow-removal-addition-of-entities-to-entity-ticklis.patch +++ b/patches/server/0774-Allow-removal-addition-of-entities-to-entity-ticklis.patch diff --git a/patches/server/0776-Optimise-random-block-ticking.patch b/patches/server/0775-Optimise-random-block-ticking.patch index 74ef7737b2..74ef7737b2 100644 --- a/patches/server/0776-Optimise-random-block-ticking.patch +++ b/patches/server/0775-Optimise-random-block-ticking.patch diff --git a/patches/server/0777-Optimise-non-flush-packet-sending.patch b/patches/server/0776-Optimise-non-flush-packet-sending.patch index f8dc75ba8c..f8dc75ba8c 100644 --- a/patches/server/0777-Optimise-non-flush-packet-sending.patch +++ b/patches/server/0776-Optimise-non-flush-packet-sending.patch diff --git a/patches/server/0778-Optimise-nearby-player-lookups.patch b/patches/server/0777-Optimise-nearby-player-lookups.patch index 7eacd2f196..7eacd2f196 100644 --- a/patches/server/0778-Optimise-nearby-player-lookups.patch +++ b/patches/server/0777-Optimise-nearby-player-lookups.patch diff --git a/patches/server/0779-Optimise-WorldServer-notify.patch b/patches/server/0778-Optimise-WorldServer-notify.patch index c1218ac6bd..c1218ac6bd 100644 --- a/patches/server/0779-Optimise-WorldServer-notify.patch +++ b/patches/server/0778-Optimise-WorldServer-notify.patch diff --git a/patches/server/0780-Remove-streams-for-villager-AI.patch b/patches/server/0779-Remove-streams-for-villager-AI.patch index 8257c2de40..8257c2de40 100644 --- a/patches/server/0780-Remove-streams-for-villager-AI.patch +++ b/patches/server/0779-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0781-Rewrite-dataconverter-system.patch b/patches/server/0780-Rewrite-dataconverter-system.patch index c2ceaf8d0f..c2ceaf8d0f 100644 --- a/patches/server/0781-Rewrite-dataconverter-system.patch +++ b/patches/server/0780-Rewrite-dataconverter-system.patch diff --git a/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0781-Use-Velocity-compression-and-cipher-natives.patch index 64e78ac585..bea421075b 100644 --- a/patches/server/0782-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0781-Use-Velocity-compression-and-cipher-natives.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Use Velocity compression and cipher natives diff --git a/build.gradle.kts b/build.gradle.kts -index 3381ac7c25323d662935c98aa444195c49cf4e8e..5678a9f8d2aa8a7afbc5729570ec297b12acf75d 100644 +index eed80e8716468c8b918f3237b326198973e87fe9..70232e71f8495a1beeed880bdf66856b4d0ca5e6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -44,6 +44,11 @@ dependencies { - runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") + runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.2") implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation + // Paper start - Use Velocity cipher @@ -19,7 +19,7 @@ index 3381ac7c25323d662935c98aa444195c49cf4e8e..5678a9f8d2aa8a7afbc5729570ec297b + // Paper end testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test - testImplementation("junit:junit:4.13.1") + testImplementation("junit:junit:4.13.2") diff --git a/src/main/java/net/minecraft/network/CipherDecoder.java b/src/main/java/net/minecraft/network/CipherDecoder.java index 778beb445eac5769b9e4e07b4d1294c50ae2602b..c712fb8193115e1ab71b5e40fb0ccb9413062b03 100644 --- a/src/main/java/net/minecraft/network/CipherDecoder.java diff --git a/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0782-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch index 07f72d1a93..07f72d1a93 100644 --- a/patches/server/0783-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch +++ b/patches/server/0782-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch b/patches/server/0783-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch index ddc57c0d3a..ddc57c0d3a 100644 --- a/patches/server/0784-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch +++ b/patches/server/0783-Do-not-process-entity-loads-in-CraftChunk-getEntitie.patch diff --git a/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch b/patches/server/0784-Async-catch-modifications-to-critical-entity-state.patch index 7b91e7da2c..7b91e7da2c 100644 --- a/patches/server/0785-Async-catch-modifications-to-critical-entity-state.patch +++ b/patches/server/0784-Async-catch-modifications-to-critical-entity-state.patch diff --git a/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0785-Fix-Bukkit-NamespacedKey-shenanigans.patch index 8f152dd0e7..8f152dd0e7 100644 --- a/patches/server/0786-Fix-Bukkit-NamespacedKey-shenanigans.patch +++ b/patches/server/0785-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0786-Fix-merchant-inventory-not-closing-on-entity-removal.patch index 5f9cbf9735..5f9cbf9735 100644 --- a/patches/server/0787-Fix-merchant-inventory-not-closing-on-entity-removal.patch +++ b/patches/server/0786-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0787-Check-requirement-before-suggesting-root-nodes.patch index da19d3f1ca..da19d3f1ca 100644 --- a/patches/server/0788-Check-requirement-before-suggesting-root-nodes.patch +++ b/patches/server/0787-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0788-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index 1b40cf1c18..1b40cf1c18 100644 --- a/patches/server/0789-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0788-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0789-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch index 31e987614a..31e987614a 100644 --- a/patches/server/0790-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch +++ b/patches/server/0789-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0791-Ensure-valid-vehicle-status.patch b/patches/server/0790-Ensure-valid-vehicle-status.patch index 80521d64a1..80521d64a1 100644 --- a/patches/server/0791-Ensure-valid-vehicle-status.patch +++ b/patches/server/0790-Ensure-valid-vehicle-status.patch diff --git a/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0791-Prevent-softlocked-end-exit-portal-generation.patch index d7ec8ee0ea..d7ec8ee0ea 100644 --- a/patches/server/0792-Prevent-softlocked-end-exit-portal-generation.patch +++ b/patches/server/0791-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0792-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch index 2ce994e362..2ce994e362 100644 --- a/patches/server/0793-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch +++ b/patches/server/0792-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0793-Don-t-log-debug-logging-being-disabled.patch index 52bf120706..52bf120706 100644 --- a/patches/server/0794-Don-t-log-debug-logging-being-disabled.patch +++ b/patches/server/0793-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch b/patches/server/0794-Mark-fish-and-axolotls-from-buckets-as-persistent.patch index 5a420fb241..5a420fb241 100644 --- a/patches/server/0795-Mark-fish-and-axolotls-from-buckets-as-persistent.patch +++ b/patches/server/0794-Mark-fish-and-axolotls-from-buckets-as-persistent.patch diff --git a/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0795-fix-various-menus-with-empty-level-accesses.patch index 3bda24b9c6..3bda24b9c6 100644 --- a/patches/server/0796-fix-various-menus-with-empty-level-accesses.patch +++ b/patches/server/0795-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch b/patches/server/0796-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch index 7cda38b29f..7cda38b29f 100644 --- a/patches/server/0797-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch +++ b/patches/server/0796-Do-not-overload-I-O-threads-with-chunk-data-while-fl.patch diff --git a/patches/server/0798-Preserve-overstacked-loot.patch b/patches/server/0797-Preserve-overstacked-loot.patch index c344524a24..c344524a24 100644 --- a/patches/server/0798-Preserve-overstacked-loot.patch +++ b/patches/server/0797-Preserve-overstacked-loot.patch diff --git a/patches/server/0799-Update-head-rotation-in-missing-places.patch b/patches/server/0798-Update-head-rotation-in-missing-places.patch index c8aa34155c..0ed572e8a7 100644 --- a/patches/server/0799-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0798-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 384949c5badb0950b3bca6ff2bbe632d7ae801df..62b9abd299980f5e3cf711003dfbb90cf1687ae9 100644 +index ac6c0474fc05178d1efac7f5767066074def2f16..d4b553322712439bd4a459e7eaaa9df090e9cc6e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1654,6 +1654,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0800-prevent-unintended-light-block-manipulation.patch b/patches/server/0799-prevent-unintended-light-block-manipulation.patch index 08bd6164f5..08bd6164f5 100644 --- a/patches/server/0800-prevent-unintended-light-block-manipulation.patch +++ b/patches/server/0799-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch b/patches/server/0800-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch index 17215f32f2..17215f32f2 100644 --- a/patches/server/0801-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch +++ b/patches/server/0800-Dont-count-named-piglins-and-hoglins-towards-mob-cap.patch diff --git a/patches/server/0802-Fix-CraftCriteria-defaults-map.patch b/patches/server/0801-Fix-CraftCriteria-defaults-map.patch index 11fce3ca24..11fce3ca24 100644 --- a/patches/server/0802-Fix-CraftCriteria-defaults-map.patch +++ b/patches/server/0801-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0803-Fix-upstreams-block-state-factories.patch b/patches/server/0802-Fix-upstreams-block-state-factories.patch index 0d31f433f5..0d31f433f5 100644 --- a/patches/server/0803-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0802-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0803-Add-config-option-for-logging-player-ip-addresses.patch index 39b64883ac..39b64883ac 100644 --- a/patches/server/0804-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0803-Add-config-option-for-logging-player-ip-addresses.patch diff --git a/patches/server/0805-Configurable-feature-seeds.patch b/patches/server/0804-Configurable-feature-seeds.patch index 4a81ec7caf..4a81ec7caf 100644 --- a/patches/server/0805-Configurable-feature-seeds.patch +++ b/patches/server/0804-Configurable-feature-seeds.patch diff --git a/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0805-VanillaCommandWrapper-didnt-account-for-entity-sende.patch index 6e33709dbe..6e33709dbe 100644 --- a/patches/server/0806-VanillaCommandWrapper-didnt-account-for-entity-sende.patch +++ b/patches/server/0805-VanillaCommandWrapper-didnt-account-for-entity-sende.patch diff --git a/patches/server/0807-Add-root-admin-user-detection.patch b/patches/server/0806-Add-root-admin-user-detection.patch index 63ae0993b1..63ae0993b1 100644 --- a/patches/server/0807-Add-root-admin-user-detection.patch +++ b/patches/server/0806-Add-root-admin-user-detection.patch diff --git a/patches/server/0808-Always-allow-item-changing-in-Fireball.patch b/patches/server/0807-Always-allow-item-changing-in-Fireball.patch index fe4cbf2ef1..fe4cbf2ef1 100644 --- a/patches/server/0808-Always-allow-item-changing-in-Fireball.patch +++ b/patches/server/0807-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0808-don-t-attempt-to-teleport-dead-entities.patch index ffaf509f20..93735c2294 100644 --- a/patches/server/0809-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0808-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 62b9abd299980f5e3cf711003dfbb90cf1687ae9..516015eb48900abaf0e2f47de4ffd10e9cf4d9a7 100644 +index d4b553322712439bd4a459e7eaaa9df090e9cc6e..e2c35ace138d7a6c41e7f07e9759f684b7152b71 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -706,7 +706,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i diff --git a/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch b/patches/server/0809-Fix-anvil-prepare-event-not-working-with-zero-xp.patch index 408215402f..408215402f 100644 --- a/patches/server/0811-Fix-anvil-prepare-event-not-working-with-zero-xp.patch +++ b/patches/server/0809-Fix-anvil-prepare-event-not-working-with-zero-xp.patch diff --git a/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch b/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch deleted file mode 100644 index 8ccb77cbf1..0000000000 --- a/patches/server/0810-Call-onRemove-logic-for-breakNaturally.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic <[email protected]> -Date: Sun, 31 Oct 2021 14:49:43 -0700 -Subject: [PATCH] Call onRemove logic for breakNaturally - - -diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index fcf2e5b0b07d2884b678b9c39b72cc7dc5518163..ca320ef8a28fe15b32197669419981c4c2fcafd9 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -516,8 +516,14 @@ public class CraftBlock implements Block { - if (triggerEffect) world.levelEvent(org.bukkit.Effect.STEP_SOUND.getId(), position, net.minecraft.world.level.block.Block.getId(block.defaultBlockState())); // Paper - result = true; - } -+ // Paper start -+ net.minecraft.world.level.block.state.BlockState newBlockState = Blocks.AIR.defaultBlockState(); -+ if (this.world instanceof net.minecraft.world.level.Level level) { -+ iblockdata.onRemove(level, position, newBlockState, false); -+ } -+ // Paper end - -- return this.setTypeAndData(Blocks.AIR.defaultBlockState(), true) && result; -+ return this.setTypeAndData(newBlockState, true) && result; // Paper - } - - @Override diff --git a/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0810-Prevent-excessive-velocity-through-repeated-crits.patch index 794b416d60..794b416d60 100644 --- a/patches/server/0812-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0810-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0811-Remove-client-side-code-using-deprecated-for-removal.patch index 654a699a88..654a699a88 100644 --- a/patches/server/0813-Remove-client-side-code-using-deprecated-for-removal.patch +++ b/patches/server/0811-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/server/0814-Rewrite-the-light-engine.patch b/patches/server/0812-Rewrite-the-light-engine.patch index 4e4ff82174..2aef0702ca 100644 --- a/patches/server/0814-Rewrite-the-light-engine.patch +++ b/patches/server/0812-Rewrite-the-light-engine.patch @@ -4432,7 +4432,7 @@ index 825fdb0336b0388dbbc54c8da99781900612031c..d271871563fa883efb77b35ec3b1dfbb private final DebugBuffer<ChunkHolder.ChunkSaveDebug> chunkToSaveHistory; public int oldTicketLevel; diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 30f3d7571c021ed9c0d7d96b53752dd453704b20..7cb613103bca57c82418f4f968922f510819ee70 100644 +index b5ea631f93b9390f82475560cf3e33585d034cd6..0c046cd0fab44aecd41ef5c1477b13ea9606aee4 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -130,7 +130,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider diff --git a/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch b/patches/server/0813-Always-parse-protochunk-light-sources-unless-it-is-m.patch index 96c4a80599..96c4a80599 100644 --- a/patches/server/0815-Always-parse-protochunk-light-sources-unless-it-is-m.patch +++ b/patches/server/0813-Always-parse-protochunk-light-sources-unless-it-is-m.patch diff --git a/patches/server/0816-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0814-Fix-removing-recipes-from-RecipeIterator.patch index 5784fd4dc3..5784fd4dc3 100644 --- a/patches/server/0816-Fix-removing-recipes-from-RecipeIterator.patch +++ b/patches/server/0814-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0815-Prevent-sending-oversized-item-data-in-equipment-and.patch index ce6b90d603..ce6b90d603 100644 --- a/patches/server/0817-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0815-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0816-Hide-unnecessary-itemmeta-from-clients.patch index e0d22d41e6..e0d22d41e6 100644 --- a/patches/server/0818-Hide-unnecessary-itemmeta-from-clients.patch +++ b/patches/server/0816-Hide-unnecessary-itemmeta-from-clients.patch diff --git a/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch b/patches/server/0817-Fix-kelp-modifier-changing-growth-for-other-crops.patch index 3342b664b5..3342b664b5 100644 --- a/patches/server/0819-Fix-kelp-modifier-changing-growth-for-other-crops.patch +++ b/patches/server/0817-Fix-kelp-modifier-changing-growth-for-other-crops.patch diff --git a/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0818-Prevent-ContainerOpenersCounter-openCount-from-going.patch index 0e41fd2743..0e41fd2743 100644 --- a/patches/server/0820-Prevent-ContainerOpenersCounter-openCount-from-going.patch +++ b/patches/server/0818-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0819-Add-PlayerItemFrameChangeEvent.patch index 8e8fbb1fb8..8e8fbb1fb8 100644 --- a/patches/server/0821-Add-PlayerItemFrameChangeEvent.patch +++ b/patches/server/0819-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0822-Add-player-health-update-API.patch b/patches/server/0820-Add-player-health-update-API.patch index 12eb8fbfb7..ca1dc0afce 100644 --- a/patches/server/0822-Add-player-health-update-API.patch +++ b/patches/server/0820-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 097f8d360fcdd96f95ece64d4d1368e36408d451..c6cd4a5790384811f3171ce740afb9459f3d6fc0 100644 +index 03888e95445147ed462233c0115d7e90411c192c..741a03430199cc28b64e2f7ab7167c1d7b7110bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1981,9 +1981,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1998,9 +1998,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index 097f8d360fcdd96f95ece64d4d1368e36408d451..c6cd4a5790384811f3171ce740afb945 if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -1991,7 +1993,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2008,7 +2010,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end } diff --git a/patches/server/0823-Optimize-HashMapPalette.patch b/patches/server/0821-Optimize-HashMapPalette.patch index 63c4c69921..ef1880895f 100644 --- a/patches/server/0823-Optimize-HashMapPalette.patch +++ b/patches/server/0821-Optimize-HashMapPalette.patch @@ -24,7 +24,7 @@ to corrupted data. This is also something that Anti-Xray is currently relying on. diff --git a/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java b/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java -index 0dfba8a941a6bc91af523e39055311be2364821c..1e5c7c888364bd026530353ec17c4a87c90ad1de 100644 +index c5551c31597f5a7fe62ade325e36425e5f2df0b9..ba9b0f419b0785a0b1e3bc57f18bfe5edaa192bd 100644 --- a/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java +++ b/src/main/java/net/minecraft/world/level/chunk/HashMapPalette.java @@ -19,7 +19,7 @@ public class HashMapPalette<T> implements Palette<T> { diff --git a/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0822-Allow-delegation-to-vanilla-chunk-gen.patch index 5284e078ca..e5618d5f78 100644 --- a/patches/server/0824-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0822-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c17a2da92d8268564af075916c3503b82ba492f..b70a6d126e80d775870cfececf6724cde89d4554 100644 +index 5f35c3714ac4e0e7afaa81c1ebe8d9601202bbb2..ba7023e7ca5d29375ff53c2951892138d155f69f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2280,6 +2280,107 @@ public final class CraftServer implements Server { +@@ -2301,6 +2301,107 @@ public final class CraftServer implements Server { return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registry.BIOME_REGISTRY), world); // Paper - Anti-Xray - Add parameters } diff --git a/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0823-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index 093ed036f5..093ed036f5 100644 --- a/patches/server/0825-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0823-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch diff --git a/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0824-Optimise-collision-checking-in-player-move-packet-ha.patch index c5199df153..c5199df153 100644 --- a/patches/server/0826-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/0824-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/0827-Actually-unload-POI-data.patch b/patches/server/0825-Actually-unload-POI-data.patch index c03e727b8f..c03e727b8f 100644 --- a/patches/server/0827-Actually-unload-POI-data.patch +++ b/patches/server/0825-Actually-unload-POI-data.patch diff --git a/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0826-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch index 6f7e30efa6..6f7e30efa6 100644 --- a/patches/server/0828-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch +++ b/patches/server/0826-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0829-Update-Log4j.patch b/patches/server/0827-Update-Log4j.patch index 36ad717c1f..4b014b2e90 100644 --- a/patches/server/0829-Update-Log4j.patch +++ b/patches/server/0827-Update-Log4j.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Update Log4j diff --git a/build.gradle.kts b/build.gradle.kts -index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..93d4d490da802f8a432124b3120e7adc485b6d41 100644 +index 70232e71f8495a1beeed880bdf66856b4d0ca5e6..954c49fedd2ae228dde7076b80ba22bb7ecb1197 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,10 +29,11 @@ dependencies { diff --git a/patches/server/0830-Add-more-Campfire-API.patch b/patches/server/0828-Add-more-Campfire-API.patch index ceffa1575f..ceffa1575f 100644 --- a/patches/server/0830-Add-more-Campfire-API.patch +++ b/patches/server/0828-Add-more-Campfire-API.patch diff --git a/patches/server/0831-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch b/patches/server/0829-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch index 2768b9635e..2768b9635e 100644 --- a/patches/server/0831-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch +++ b/patches/server/0829-Fix-WorldGenRegion-leak-when-converting-pre-1.18-chu.patch diff --git a/scripts/apatch.sh b/scripts/apatch.sh index f56771d9ef..9156cb7cb9 100755 --- a/scripts/apatch.sh +++ b/scripts/apatch.sh @@ -40,7 +40,7 @@ fi for i in $(find . -name \*.rej); do base=$(echo "$i" | sed 's/.rej//g') if [ -f "$i" ]; then - sed -e 's/^diff a\/\(.*\) b\/\(.*\)[[:space:]].*rejected.*$/--- \1\n+++ \2/' -i $i && wiggle -v -l --replace "$base" "$i" + sed -e 's/^diff a\/\(.*\) b\/\(.*\)[[:space:]].*rejected.*$/--- \1\n+++ \2/' -i '' $i && wiggle -v -l --replace "$base" "$i" rm "$base.porig" "$i" else echo "No such file: $base" diff --git a/work/Bukkit b/work/Bukkit -Subproject 5906bed05d29c64af69983e2521cc3e9060d95e +Subproject 031731e60ece4b3fe0468a0df94b89d339b4169 diff --git a/work/CraftBukkit b/work/CraftBukkit -Subproject dad851710202aeda815ff91c595de68f99e45f2 +Subproject 2a2caa7e25cfcf66c368b0098f320ac93d416d6 diff --git a/work/Spigot b/work/Spigot -Subproject f65de01fa82909bd90444c24e49436771663e9c +Subproject 8965a5024427f83a4e82ce3e3d4773fd78d22d7 |