diff --git a/patches/api/0001-Convert-project-to-Gradle.patch b/patches/api/0001-Convert-project-to-Gradle.patch index a815082dfe..5c21cf5dbb 100644 --- a/patches/api/0001-Convert-project-to-Gradle.patch +++ b/patches/api/0001-Convert-project-to-Gradle.patch @@ -27,7 +27,7 @@ index 11038da2e071699d6561a331565db0c8d7850d0e..317acfec5894101294a55abff6181943 +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..9686f621c7b837a7a38ffb2fea10ae492b18556d +index 0000000000000000000000000000000000000000..386d8c36510e69a69ce4536e67af4a6e4e886685 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,81 @@ @@ -59,7 +59,7 @@ index 0000000000000000000000000000000000000000..9686f621c7b837a7a38ffb2fea10ae49 + testImplementation("org.apache.commons:commons-lang3:3.12.0") + testImplementation("junit:junit:4.13.2") + testImplementation("org.hamcrest:hamcrest-library:1.3") -+ testImplementation("org.ow2.asm:asm-tree:9.3") ++ testImplementation("org.ow2.asm:asm-tree:9.4") +} + +configure { @@ -114,10 +114,10 @@ index 0000000000000000000000000000000000000000..9686f621c7b837a7a38ffb2fea10ae49 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 389f3761876d2a667309d317d1a99b545f36771a..0000000000000000000000000000000000000000 +index afe250e329e19a56f58085efeaa28d86b79118ec..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,252 +0,0 @@ +@@ -1,254 +0,0 @@ - - @@ -220,7 +220,7 @@ index 389f3761876d2a667309d317d1a99b545f36771a..00000000000000000000000000000000 - - org.ow2.asm - asm-tree -- 9.3 +- 9.4 - test - - @@ -274,7 +274,7 @@ index 389f3761876d2a667309d317d1a99b545f36771a..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-shade-plugin -- 3.2.4 +- 3.4.1 - - - package @@ -294,6 +294,8 @@ index 389f3761876d2a667309d317d1a99b545f36771a..00000000000000000000000000000000 - - - true +- +- false - - - diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 1ba871ec5a..e57921943c 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -1952,7 +1952,7 @@ index 8489a0b009223b727b0393840374550a1cc192ff..bdcf5219ff1e4d4c0dc8a3423bc17b45 + // Paper end } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd800851d6 100644 +index 9f49dc054e7755392139ffbacc6365f9c742b085..b4a27acb8579e86483646379878fbf67a7783865 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -39,7 +39,28 @@ import org.jetbrains.annotations.Nullable; @@ -2116,7 +2116,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd + // Paper start + /** + * Kicks the player with the default kick message. -+ * @see #kick(Component) ++ * @see #kick(net.kyori.adventure.text.Component) + */ + void kick(); + /** @@ -2130,9 +2130,9 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd /** * Says a message (or runs a command). * -@@ -563,6 +649,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -573,6 +659,90 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ - public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item); + public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map items); + // Paper start + /** @@ -2221,7 +2221,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd /** * Send a sign change. This fakes a sign change packet for a user at * a certain location. This will not actually change the world in any way. -@@ -577,7 +747,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -587,7 +757,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param lines the new text on the sign or null to clear it * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2231,7 +2231,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -596,7 +768,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -606,7 +778,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2241,7 +2241,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -616,7 +790,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -626,7 +800,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if location is null * @throws IllegalArgumentException if dyeColor is null * @throws IllegalArgumentException if lines is non-null and has a length less than 4 @@ -2251,7 +2251,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor, boolean hasGlowingText) throws IllegalArgumentException; /** -@@ -1048,6 +1224,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1058,6 +1234,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * pack correctly. * * @@ -2259,7 +2259,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd * @param url The URL from which the client will download the resource * pack. The string must contain only US-ASCII characters and should * be encoded as per RFC 1738. -@@ -1104,8 +1281,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1114,8 +1291,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2270,7 +2270,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd /** * Request that the player's client download and switch resource packs. *

-@@ -1141,6 +1320,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1151,6 +1330,54 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param hash The sha1 hash sum of the resource pack file which is used * to apply a cached version of the pack directly without downloading * if it is available. Hast to be 20 bytes long! @@ -2325,7 +2325,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd * @param force If true, the client will be disconnected from the server * when it declines to use the resource pack. * @throws IllegalArgumentException Thrown if the URL is null. -@@ -1195,8 +1422,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1205,8 +1432,57 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the hash is not 20 bytes * long. */ @@ -2383,7 +2383,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd /** * Gets the Scoreboard displayed to this player * -@@ -1312,7 +1588,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1322,7 +1598,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param title Title text * @param subtitle Subtitle text @@ -2392,7 +2392,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd */ @Deprecated public void sendTitle(@Nullable String title, @Nullable String subtitle); -@@ -1331,7 +1607,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1341,7 +1617,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. @@ -2402,7 +2402,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd public void sendTitle(@Nullable String title, @Nullable String subtitle, int fadeIn, int stay, int fadeOut); /** -@@ -1558,6 +1836,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1568,6 +1846,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public int getClientViewDistance(); @@ -2417,7 +2417,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd /** * Gets the player's estimated ping in milliseconds. * -@@ -1583,8 +1869,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1593,8 +1879,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale @@ -2428,7 +2428,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd public String getLocale(); /** -@@ -1626,6 +1914,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1636,6 +1924,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isAllowingServerListings(); @@ -2443,7 +2443,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd // Spigot start public class Spigot extends Entity.Spigot { -@@ -1680,11 +1976,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1690,11 +1986,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM throw new UnsupportedOperationException("Not supported yet."); } @@ -2457,7 +2457,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd @Override public void sendMessage(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); -@@ -1695,7 +1993,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1705,7 +2003,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param component the components to send @@ -2467,7 +2467,7 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd 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."); } -@@ -1705,7 +2005,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1715,7 +2015,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param position the screen position * @param components the components to send @@ -2477,24 +2477,24 @@ index 74152aa68883973c896c35f538c402fce377144b..4053c086a9ef9aa071402818672643bd 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."); } -@@ -1716,7 +2018,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1726,7 +2028,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 + * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} */ + @Deprecated // Paper - public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { + public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1727,7 +2031,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1737,7 +2041,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 + * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} */ + @Deprecated // Paper - public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/entity/minecart/CommandMinecart.java b/src/main/java/org/bukkit/entity/minecart/CommandMinecart.java diff --git a/patches/api/0007-Use-ASM-for-event-executors.patch b/patches/api/0007-Use-ASM-for-event-executors.patch index 83326165cf..60a7c14e4f 100644 --- a/patches/api/0007-Use-ASM-for-event-executors.patch +++ b/patches/api/0007-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 4ad00c44b635e1d0b882399b0c76ab32d6bb2501..d54ed6f7c4fa7e287e8daf35f7ae978b5a0a0d51 100644 +index 45f29dd1b1d683f6a4d8b91b81274565d75d4d73..44af6bd382dca476e4afd458a743ae56c91a8dee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -39,6 +39,9 @@ dependencies { @@ -14,8 +14,8 @@ index 4ad00c44b635e1d0b882399b0c76ab32d6bb2501..d54ed6f7c4fa7e287e8daf35f7ae978b apiAndDocs("net.kyori:adventure-text-serializer-plain") apiAndDocs("net.kyori:adventure-text-logger-slf4j") + -+ implementation("org.ow2.asm:asm:9.2") -+ implementation("org.ow2.asm:asm-commons:9.2") ++ implementation("org.ow2.asm:asm:9.4") ++ implementation("org.ow2.asm:asm-commons:9.4") // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.5") diff --git a/patches/api/0008-Paper-Plugins.patch b/patches/api/0008-Paper-Plugins.patch index 7bdf5ebe9b..1d10b9ab51 100644 --- a/patches/api/0008-Paper-Plugins.patch +++ b/patches/api/0008-Paper-Plugins.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Paper Plugins diff --git a/build.gradle.kts b/build.gradle.kts -index d54ed6f7c4fa7e287e8daf35f7ae978b5a0a0d51..5aa294bdc1251df8798709a04ce9d34c316c7a17 100644 +index 44af6bd382dca476e4afd458a743ae56c91a8dee..f5aa8d96dce1dbac78a99535786cf9c0085b3b80 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -44,7 +44,7 @@ dependencies { - implementation("org.ow2.asm:asm-commons:9.2") + implementation("org.ow2.asm:asm-commons:9.4") // Paper end - compileOnly("org.apache.maven:maven-resolver-provider:3.8.5") diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch index f34621159e..8102412e83 100644 --- a/patches/api/0010-Timings-v2.patch +++ b/patches/api/0010-Timings-v2.patch @@ -3392,12 +3392,12 @@ index 516d7fc7812aac343782861d0d567f54aa578c2a..00000000000000000000000000000000 - // Spigot end -} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4053c086a9ef9aa071402818672643bd800851d6..705644a2e0d209ef717470da07d34fafc88a0640 100644 +index b4a27acb8579e86483646379878fbf67a7783865..05d8c6e65d5aed5c0b38e9d3c5becdca361a4829 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2036,7 +2036,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2046,7 +2046,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper - public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { + public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @Nullable java.util.UUID sender, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { throw new UnsupportedOperationException("Not supported yet."); + + } diff --git a/patches/api/0012-Player-affects-spawning-API.patch b/patches/api/0012-Player-affects-spawning-API.patch index 231bbfca9b..79b855356c 100644 --- a/patches/api/0012-Player-affects-spawning-API.patch +++ b/patches/api/0012-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 705644a2e0d209ef717470da07d34fafc88a0640..1c3d9ac922c189adc139c2646b4bdc97dbfadb43 100644 +index 05d8c6e65d5aed5c0b38e9d3c5becdca361a4829..ab29ddf09a178b70c7afad33d282cb39fcd7e92a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1875,6 +1875,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1885,6 +1885,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Deprecated // Paper public String getLocale(); diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch index 9c146dfd15..8c17924c18 100644 --- a/patches/api/0017-Add-view-distance-API.patch +++ b/patches/api/0017-Add-view-distance-API.patch @@ -75,10 +75,10 @@ index ed57cd69d88504b78782271c9a3d423a29471674..8a6a548314eef8d486be908e38e3a456 public class Spigot { diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1c3d9ac922c189adc139c2646b4bdc97dbfadb43..7efbc8540d3a42ae8ec9b4e4343e1352e0cfa993 100644 +index ab29ddf09a178b70c7afad33d282cb39fcd7e92a..3c7665d5e96e710eb1ebb439a0bc0fd441bd2532 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1889,6 +1889,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1899,6 +1899,78 @@ 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/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index ba52e08d1b..8a7f6124fb 100644 --- a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -76,10 +76,10 @@ index 6a7b91af3e738613cf79c13e2844efe9a2efd254..bef555b3de44fed312b45a5d5cd811b1 * 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 7efbc8540d3a42ae8ec9b4e4343e1352e0cfa993..6120eeefb8ffcb39bac81ba60ff3a5d9a3687dd5 100644 +index 3c7665d5e96e710eb1ebb439a0bc0fd441bd2532..1fe1d5a0a777ecaab9ac1d8092e5a46ddacf4e18 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -803,6 +803,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -813,6 +813,42 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/api/0025-Player-Tab-List-and-Title-APIs.patch b/patches/api/0025-Player-Tab-List-and-Title-APIs.patch index 06d9807549..9e9998bd47 100644 --- a/patches/api/0025-Player-Tab-List-and-Title-APIs.patch +++ b/patches/api/0025-Player-Tab-List-and-Title-APIs.patch @@ -432,18 +432,10 @@ index 0000000000000000000000000000000000000000..9e90c3df567a65b48a0b9341f784eb90 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6120eeefb8ffcb39bac81ba60ff3a5d9a3687dd5..5de2fbb69c8950a5f85476b60993b3d6b2164162 100644 +index 1fe1d5a0a777ecaab9ac1d8092e5a46ddacf4e18..d108c0485110be014b7dc05a3ade660b750f1dce 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; - import java.net.InetSocketAddress; - import java.util.Collection; - import java.util.UUID; -+import com.destroystokyo.paper.Title; // Paper - import org.bukkit.DyeColor; - import org.bukkit.Effect; - import org.bukkit.GameMode; -@@ -837,6 +838,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -847,6 +847,131 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } @@ -544,14 +536,14 @@ index 6120eeefb8ffcb39bac81ba60ff3a5d9a3687dd5..5de2fbb69c8950a5f85476b60993b3d6 + /** + * Show the title to the player, overriding any previously displayed title. + * -+ *

This method overrides any previous title, use {@link #updateTitle(Title)} to change the existing one.

++ *

This method overrides any previous title, use {@link #updateTitle(com.destroystokyo.paper.Title)} to change the existing one.

+ * + * @param title the title to send + * @throws NullPointerException if the title is null + * @deprecated Use {@link #showTitle(net.kyori.adventure.title.Title)} or {@link #sendTitlePart(net.kyori.adventure.title.TitlePart, Object)} + */ + @Deprecated -+ void sendTitle(@NotNull Title title); ++ void sendTitle(@NotNull com.destroystokyo.paper.Title title); + + /** + * Show the title to the player, overriding any previously displayed title. @@ -563,7 +555,7 @@ index 6120eeefb8ffcb39bac81ba60ff3a5d9a3687dd5..5de2fbb69c8950a5f85476b60993b3d6 + * @deprecated Use {@link #showTitle(net.kyori.adventure.title.Title)} or {@link #sendTitlePart(net.kyori.adventure.title.TitlePart, Object)} + */ + @Deprecated -+ void updateTitle(@NotNull Title title); ++ void updateTitle(@NotNull com.destroystokyo.paper.Title title); + + /** + * Hide any title that is currently visible to the player diff --git a/patches/api/0027-Complete-resource-pack-API.patch b/patches/api/0027-Complete-resource-pack-API.patch index 87a1f02236..6658f5134c 100644 --- a/patches/api/0027-Complete-resource-pack-API.patch +++ b/patches/api/0027-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ 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 5de2fbb69c8950a5f85476b60993b3d6b2164162..60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9 100644 +index d108c0485110be014b7dc05a3ade660b750f1dce..e3bd8634defd69ecb8146ea19e11c0ffc14374d9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1354,7 +1354,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1363,7 +1363,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException Thrown if the URL is null. * @throws IllegalArgumentException Thrown if the URL is too long. The * length restriction is an implementation specific arbitrary value. @@ -18,7 +18,7 @@ index 5de2fbb69c8950a5f85476b60993b3d6b2164162..60bfbf979899df20e0f7ab5f1dcf79ff public void setResourcePack(@NotNull String url); /** -@@ -2170,6 +2172,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2179,6 +2181,124 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM default net.kyori.adventure.text.event.HoverEvent asHoverEvent(final @NotNull java.util.function.UnaryOperator 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/0046-Add-String-based-Action-Bar-API.patch b/patches/api/0046-Add-String-based-Action-Bar-API.patch index d2e11a89db..1ef6da305a 100644 --- a/patches/api/0046-Add-String-based-Action-Bar-API.patch +++ b/patches/api/0046-Add-String-based-Action-Bar-API.patch @@ -5,18 +5,10 @@ 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 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff799a2897c1 100644 +index e3bd8634defd69ecb8146ea19e11c0ffc14374d9..da9febacac135ebecf0236a7cda589cb1d527ef0 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; - import java.util.Collection; - import java.util.UUID; - import com.destroystokyo.paper.Title; // Paper -+import net.kyori.adventure.text.Component; - import org.bukkit.DyeColor; - import org.bukkit.Effect; - import org.bukkit.GameMode; -@@ -805,6 +806,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -814,6 +814,39 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start @@ -27,7 +19,7 @@ index 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff79 + * Use Section symbols for legacy color codes to send formatting. + * + * @param message The message to send -+ * @deprecated use {@link #sendActionBar(Component)} ++ * @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)} + */ + @Deprecated + public void sendActionBar(@NotNull String message); @@ -39,7 +31,7 @@ index 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff79 + * + * @param alternateChar Alternate symbol such as '&' + * @param message The message to send -+ * @deprecated use {@link #sendActionBar(Component)} ++ * @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)} + */ + @Deprecated + public void sendActionBar(char alternateChar, @NotNull String message); @@ -48,7 +40,7 @@ index 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff79 + * Sends an Action Bar message to the client. + * + * @param message The components to send -+ * @deprecated use {@link #sendActionBar(Component)} ++ * @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)} + */ + @Deprecated + public void sendActionBar(@NotNull net.md_5.bungee.api.chat.BaseComponent... message); @@ -56,7 +48,7 @@ index 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff79 /** * Sends the component to the player * -@@ -832,9 +866,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -841,9 +874,11 @@ 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 * @@ -68,19 +60,3 @@ index 60bfbf979899df20e0f7ab5f1dcf79ff3cb483a9..92d1f84e3fdd2c0d69239e1ddc77ff79 public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { spigot().sendMessage(position, components); } -@@ -2361,6 +2397,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - /** - * Sends the component to the specified screen position of this player - * -+ * @deprecated This is unlikely the API you want to use. See {@link #sendActionBar(String)} for a more proper Action Bar API. This deprecated API may send unsafe items to the client. - * @param position the screen position - * @param component the components to send - * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} -@@ -2373,6 +2410,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 - * -+ * @deprecated This is unlikely the API you want to use. See {@link #sendActionBar(String)} for a more proper Action Bar API. This deprecated API may send unsafe items to the client. - * @param position the screen position - * @param components the components to send - * @deprecated use {@code sendMessage} methods that accept {@link net.kyori.adventure.text.Component} diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 33f96dea90..4426cb60ef 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -134,10 +134,10 @@ index 2926fa6071bc7640cc10280b5c3962b0ce7686f1..4f63988848443aff55619bc12ef12c92 * Instructs this Mob to set the specified LivingEntity as its target. *

diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 92d1f84e3fdd2c0d69239e1ddc77ff799a2897c1..e15a9525b989abee62ca2d8ec924ee492118abb2 100644 +index da9febacac135ebecf0236a7cda589cb1d527ef0..7e3e717d6831ac6a206d58313c7f2da0c4b92e6b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -312,15 +312,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -310,15 +310,15 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Saves the players current location, health, inventory, motion, and @@ -157,14 +157,14 @@ index 92d1f84e3fdd2c0d69239e1ddc77ff799a2897c1..e15a9525b989abee62ca2d8ec924ee49 *

* Note: This will overwrite the players current inventory, health, * motion, etc, with the state from the saved dat file. -@@ -823,7 +823,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -831,7 +831,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * Use supplied alternative character to the section symbol to represent legacy color codes. * - * @param alternateChar Alternate symbol such as '&' + * @param alternateChar Alternate symbol such as '&' * @param message The message to send - * @deprecated use {@link #sendActionBar(Component)} + * @deprecated use {@link #sendActionBar(net.kyori.adventure.text.Component)} */ diff --git a/src/main/java/org/bukkit/entity/Slime.java b/src/main/java/org/bukkit/entity/Slime.java index a5ad3250cebfeb302c58e0bfd6db1295913c927e..bfac874840cf1f36afba16ae4d176c5821a68cfb 100644 diff --git a/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch index 83582332b8..07b00d1fb8 100644 --- a/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/build.gradle.kts b/build.gradle.kts -index 5aa294bdc1251df8798709a04ce9d34c316c7a17..7ba2b08b8c5eb405a64f9edfa72195dcf48f82bd 100644 +index f5aa8d96dce1dbac78a99535786cf9c0085b3b80..9421e45653e68922a51cf0071792e6fa7999d0b8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -39,6 +39,8 @@ dependencies { @@ -24,8 +24,8 @@ index 5aa294bdc1251df8798709a04ce9d34c316c7a17..7ba2b08b8c5eb405a64f9edfa72195dc + api("org.apache.logging.log4j:log4j-api:2.17.1") + api("org.slf4j:slf4j-api:1.8.0-beta4") - implementation("org.ow2.asm:asm:9.2") - implementation("org.ow2.asm:asm-commons:9.2") + implementation("org.ow2.asm:asm:9.4") + implementation("org.ow2.asm:asm-commons:9.4") diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java index 8c76716249e44ed8bf6be94c1f5c7b6d9bb35be2..4eb639fbb46a0848be207149ea433455550fae1c 100644 --- a/src/main/java/org/bukkit/plugin/Plugin.java diff --git a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch index b8c4f58271..72133bbfdb 100644 --- a/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/api/0076-Expose-client-protocol-version-and-virtual-host.patch @@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..7b2af1bd72dfbcf4e962a982940fc49b + +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index e15a9525b989abee62ca2d8ec924ee492118abb2..7efa33336a6f6309cf11677185fd11a7c0757bb3 100644 +index 7e3e717d6831ac6a206d58313c7f2da0c4b92e6b..0267319ee4e4a7ec3b28ad83572c8e8684d2f9fe 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -41,7 +41,7 @@ import org.jetbrains.annotations.Nullable; +@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable; /** * Represents a player, connected or not */ diff --git a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch index 757c0b1d45..48e0860138 100644 --- a/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/api/0080-Ability-to-apply-mending-to-XP-API.patch @@ -10,10 +10,10 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 7efa33336a6f6309cf11677185fd11a7c0757bb3..a2a207ea9aa7e6a09af75cf8975153b9abc10ec2 100644 +index 0267319ee4e4a7ec3b28ad83572c8e8684d2f9fe..d68c7751d135c0e600907ae3a1ddd55f591dcade 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1089,12 +1089,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1097,12 +1097,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void resetPlayerWeather(); diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 2e0e0ff318..7da06195ba 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -93,10 +93,10 @@ index bf1102b4481b8c9b9c4f5ba0c561556b75fea077..8539bac19bf9ba1a66689a9af90e088a /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a2a207ea9aa7e6a09af75cf8975153b9abc10ec2..c2723b0e34f5d63b4b26ddb3b7c7e8b349a5521e 100644 +index d68c7751d135c0e600907ae3a1ddd55f591dcade..ccde3d91163b27e27334d859120e0eb851846d1d 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2347,6 +2347,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2355,6 +2355,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/0094-Add-openSign-method-to-HumanEntity.patch b/patches/api/0094-Add-openSign-method-to-HumanEntity.patch index b0e1448977..fada2d1393 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 abdca9fe5acc90f167219eb769ece66c35682bb1..9715a9d36187e2eecfeab1a05087d27c /** * 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 c2723b0e34f5d63b4b26ddb3b7c7e8b349a5521e..6a33b5d7fc34a78a131a0ef280cddd1b9718e125 100644 +index ccde3d91163b27e27334d859120e0eb851846d1d..b35d53ef3fd560a4790b5d7850c5d50f7bea2163 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2202,7 +2202,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2210,7 +2210,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Open a Sign for editing by the Player. * diff --git a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch index 4c2078ecb1..7d5a95c9c7 100644 --- a/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch +++ b/patches/api/0095-Add-Ban-Methods-to-Player-Objects.patch @@ -74,10 +74,10 @@ index 3ba8ff1a41ac9fd96fd4dec5cbe0f714fef93022..b39ed4eb2e7d9e40805e201d77973877 /** * Checks if this player is whitelisted or not diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6a33b5d7fc34a78a131a0ef280cddd1b9718e125..41188fb005807f3adfcdd81e72da122309850383 100644 +index b35d53ef3fd560a4790b5d7850c5d50f7bea2163..cfa1a685fbf2be603a6f95eaa6519c7ffe954c23 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -806,6 +806,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -814,6 +814,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendMap(@NotNull MapView map); // Paper start diff --git a/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch b/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch index fe319a1efb..3852129e7a 100644 --- a/patches/api/0144-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/api/0144-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 41188fb005807f3adfcdd81e72da122309850383..01c530297bfdb7a0279be7af7eecef3eb95cd369 100644 +index cfa1a685fbf2be603a6f95eaa6519c7ffe954c23..98b50de33b9c48e25da0a19747cd1599df5becfc 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2517,6 +2517,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2525,6 +2525,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param profile The new profile to use */ void setPlayerProfile(@NotNull com.destroystokyo.paper.profile.PlayerProfile profile); diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index 7ee8a90b5e..005e2563d7 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -357,10 +357,10 @@ index 95c79c5fa0c4e30201f887da6467ce5f81c8a255..7f9c4d4b430a3f0276461346ff2621ba /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 01c530297bfdb7a0279be7af7eecef3eb95cd369..0dd3fcd86099e5a032b09b46309894d5c3e6f39d 100644 +index 98b50de33b9c48e25da0a19747cd1599df5becfc..fec96fff783995ccb7df24bd40368885ed9eefa1 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1424,9 +1424,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1432,9 +1432,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param plugin Plugin that wants to hide the entity * @param entity Entity to hide @@ -371,7 +371,7 @@ index 01c530297bfdb7a0279be7af7eecef3eb95cd369..0dd3fcd86099e5a032b09b46309894d5 public void hideEntity(@NotNull Plugin plugin, @NotNull Entity entity); /** -@@ -1436,9 +1435,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1444,9 +1443,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param plugin Plugin that wants to show the entity * @param entity Entity to show @@ -382,7 +382,7 @@ index 01c530297bfdb7a0279be7af7eecef3eb95cd369..0dd3fcd86099e5a032b09b46309894d5 public void showEntity(@NotNull Plugin plugin, @NotNull Entity entity); /** -@@ -1447,9 +1445,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1455,9 +1453,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param entity Entity to check * @return True if the provided entity is not being hidden from this * player diff --git a/patches/api/0189-Add-Player-Client-Options-API.patch b/patches/api/0189-Add-Player-Client-Options-API.patch index c04d29472e..0c8b5c3795 100644 --- a/patches/api/0189-Add-Player-Client-Options-API.patch +++ b/patches/api/0189-Add-Player-Client-Options-API.patch @@ -229,18 +229,10 @@ index 0000000000000000000000000000000000000000..cf67dc7d465223710adbf2b798109f52 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0dd3fcd86099e5a032b09b46309894d5c3e6f39d..e277cf56c8c2c005efdbe1dd450c158debf46569 100644 +index fec96fff783995ccb7df24bd40368885ed9eefa1..36735fff136986bf4d3fac0ad431d36a95a6439f 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; - import java.net.InetSocketAddress; - import java.util.Collection; - import java.util.UUID; -+import com.destroystokyo.paper.ClientOption; // Paper - import com.destroystokyo.paper.Title; // Paper - import net.kyori.adventure.text.Component; - import org.bukkit.DyeColor; -@@ -2534,6 +2535,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2542,6 +2542,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the cooldown counter to 0, effectively starting the cooldown period. */ void resetCooldown(); @@ -249,7 +241,7 @@ index 0dd3fcd86099e5a032b09b46309894d5c3e6f39d..e277cf56c8c2c005efdbe1dd450c158d + * @return the client option value of the player + */ + @NotNull -+ T getClientOption(@NotNull ClientOption option); ++ T getClientOption(@NotNull com.destroystokyo.paper.ClientOption option); // Paper end // Spigot start diff --git a/patches/api/0206-Brand-support.patch b/patches/api/0206-Brand-support.patch index fb38631c64..40d09661e3 100644 --- a/patches/api/0206-Brand-support.patch +++ b/patches/api/0206-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 e277cf56c8c2c005efdbe1dd450c158debf46569..91a5ddaee8b5e4581e3cdef7aecf21788d21bbba 100644 +index 36735fff136986bf4d3fac0ad431d36a95a6439f..5d65fc6f2f87810999144f97cdf08fdbe2859d4b 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2669,6 +2669,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2674,6 +2674,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end } diff --git a/patches/api/0220-Player-elytra-boost-API.patch b/patches/api/0220-Player-elytra-boost-API.patch index 8ab8153eac..6d77f7e606 100644 --- a/patches/api/0220-Player-elytra-boost-API.patch +++ b/patches/api/0220-Player-elytra-boost-API.patch @@ -5,13 +5,13 @@ 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 91a5ddaee8b5e4581e3cdef7aecf21788d21bbba..ea824a19e3e75bbfd7382c977a5409c9d6ed03ab 100644 +index 5d65fc6f2f87810999144f97cdf08fdbe2859d4b..43bee9f08f02564d48c21f350f54131e6c63f321 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2541,6 +2541,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2548,6 +2548,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @NotNull - T getClientOption(@NotNull ClientOption option); + T getClientOption(@NotNull com.destroystokyo.paper.ClientOption option); + + /** + * Boost a Player that's {@link #isGliding()} using a {@link Firework}. diff --git a/patches/api/0248-Add-sendOpLevel-API.patch b/patches/api/0248-Add-sendOpLevel-API.patch index 30329ebd74..5ea68e2387 100644 --- a/patches/api/0248-Add-sendOpLevel-API.patch +++ b/patches/api/0248-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 ea824a19e3e75bbfd7382c977a5409c9d6ed03ab..c3db4783a05020cf91e2fd314dddf22d1ccfc02b 100644 +index 43bee9f08f02564d48c21f350f54131e6c63f321..e499452a8be3f3eec2429c4958877e40117ae594 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2554,6 +2554,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2561,6 +2561,17 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ @Nullable Firework boostElytra(@NotNull ItemStack firework); diff --git a/patches/api/0297-Add-PlayerKickEvent-causes.patch b/patches/api/0297-Add-PlayerKickEvent-causes.patch index a216a1fe7d..bba583f005 100644 --- a/patches/api/0297-Add-PlayerKickEvent-causes.patch +++ b/patches/api/0297-Add-PlayerKickEvent-causes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerKickEvent causes diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c3db4783a05020cf91e2fd314dddf22d1ccfc02b..ba45de407168f34511af34bcd1a0e209ddfe2374 100644 +index e499452a8be3f3eec2429c4958877e40117ae594..528fee6866f6bb988e62627161e62f7b74fdb574 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -252,6 +252,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -249,6 +249,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param message kick message */ void kick(final @Nullable net.kyori.adventure.text.Component message); @@ -19,7 +19,7 @@ index c3db4783a05020cf91e2fd314dddf22d1ccfc02b..ba45de407168f34511af34bcd1a0e209 + * @param message kick message + * @param cause kick cause + */ -+ void kick(final @Nullable Component message, @NotNull org.bukkit.event.player.PlayerKickEvent.Cause cause); ++ void kick(final @Nullable net.kyori.adventure.text.Component message, @NotNull org.bukkit.event.player.PlayerKickEvent.Cause cause); // Paper end /** diff --git a/patches/api/0332-Add-player-health-update-API.patch b/patches/api/0332-Add-player-health-update-API.patch index 49930e7153..65256c5aa7 100644 --- a/patches/api/0332-Add-player-health-update-API.patch +++ b/patches/api/0332-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 ba45de407168f34511af34bcd1a0e209ddfe2374..0c3a4a3ebd6f16c1c45c2b82620d5ca6cdace8a1 100644 +index 528fee6866f6bb988e62627161e62f7b74fdb574..b8649646550d92e74d81f8502ce7a0e3479ebced 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1942,6 +1942,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1949,6 +1949,31 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public double getHealthScale(); diff --git a/patches/api/0347-Multi-Block-Change-API.patch b/patches/api/0347-Multi-Block-Change-API.patch index 09612ae46c..32dc167c98 100644 --- a/patches/api/0347-Multi-Block-Change-API.patch +++ b/patches/api/0347-Multi-Block-Change-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Multi Block Change API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0c3a4a3ebd6f16c1c45c2b82620d5ca6cdace8a1..17ad43c24dc2e18f5cde0ac0bfae1de9fe415964 100644 +index b8649646550d92e74d81f8502ce7a0e3479ebced..596af6bb00429bad7d36ea9b06573ec0aacc4cff 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -649,6 +649,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -646,6 +646,27 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendBlockDamage(@NotNull Location loc, float progress); @@ -34,5 +34,5 @@ index 0c3a4a3ebd6f16c1c45c2b82620d5ca6cdace8a1..17ad43c24dc2e18f5cde0ac0bfae1de9 + // Paper end + /** - * Send the equipment change of an entity. This fakes the equipment change - * of an entity for a user. This will not actually change the inventory of + * Send an equipment change for the target entity. This will not + * actually change the entity's equipment in any way. diff --git a/patches/api/0375-More-Teleport-API.patch b/patches/api/0375-More-Teleport-API.patch index af9380f40b..926db17d83 100644 --- a/patches/api/0375-More-Teleport-API.patch +++ b/patches/api/0375-More-Teleport-API.patch @@ -165,10 +165,10 @@ index b878509ff536f2d728c800a0ae6cd36802570b31..ec2adecad37c321b7852c34020dc1c61 * Teleports this entity to the given location. If this entity is riding a * vehicle, it will be dismounted prior to teleportation. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 17ad43c24dc2e18f5cde0ac0bfae1de9fe415964..02979f3bce2d771120a39287cdfcb12c5487a23f 100644 +index 596af6bb00429bad7d36ea9b06573ec0aacc4cff..7b239b001288e773920195f3602b3f7103f80884 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2757,6 +2757,49 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2762,6 +2762,49 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM String getClientBrandName(); // Paper end diff --git a/patches/api/0377-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0377-Custom-Chat-Completion-Suggestions-API.patch index 61ef59a573..bab0808013 100644 --- a/patches/api/0377-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/api/0377-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 6fbdcf6e5df2e613db022d38fc1e170578ef5e8a..30e8f60762235e87db0445c041e47969223ce570 100644 +index 7c9e61e8a85b06561b1b2d5dac32b92eade94205..529d07aa4581b8ab036fab5e93c2179c860efc0c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2619,6 +2619,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2626,6 +2626,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException If the level is negative or greater than {@code 4} (i.e. not within {@code [0, 4]}). */ void sendOpLevel(byte level); diff --git a/patches/api/0381-Add-custom-destroyerIdentity-to-sendBlockDamage.patch b/patches/api/0381-Add-custom-destroyerIdentity-to-sendBlockDamage.patch index 04accb0303..655e7e4ee8 100644 --- a/patches/api/0381-Add-custom-destroyerIdentity-to-sendBlockDamage.patch +++ b/patches/api/0381-Add-custom-destroyerIdentity-to-sendBlockDamage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add custom destroyerIdentity to sendBlockDamage diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 30e8f60762235e87db0445c041e47969223ce570..478c175d1fcb9a6d1211c50618eec4b9b14bc0ba 100644 +index 529d07aa4581b8ab036fab5e93c2179c860efc0c..a6ad21303a03f7a09707ed28ab9e24443f3a62bf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -641,7 +641,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -638,7 +638,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM /** * Send block damage. This fakes block break progress for a user at a * certain location. This will not actually change the block's break @@ -17,7 +17,7 @@ index 30e8f60762235e87db0445c041e47969223ce570..478c175d1fcb9a6d1211c50618eec4b9 * * @param loc the location of the damaged block * @param progress the progress from 0.0 - 1.0 where 0 is no damage and -@@ -650,6 +650,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -647,6 +647,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendBlockDamage(@NotNull Location loc, float progress); // Paper start diff --git a/patches/api/0388-Elder-Guardian-appearance-API.patch b/patches/api/0388-Elder-Guardian-appearance-API.patch index 81a6ca50fa..67f57fff47 100644 --- a/patches/api/0388-Elder-Guardian-appearance-API.patch +++ b/patches/api/0388-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ebe926bff51954785a6f2ad518ba31eaf8bc8f82..2c4ee85e845f145ae7c6d27e4cac46ab9c23b5b2 100644 +index 8ad4b7b85c86259b3ba415cea2e398403bd91ffe..9f5dfdf6318860f2a2a5f213425d1a2d945b0ea4 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2831,6 +2831,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2836,6 +2836,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void lookAt(@NotNull org.bukkit.entity.Entity entity, @NotNull io.papermc.paper.entity.LookAnchor playerAnchor, @NotNull io.papermc.paper.entity.LookAnchor entityAnchor); // Paper end - Teleport API diff --git a/patches/api/0396-Add-Player-Warden-Warning-API.patch b/patches/api/0396-Add-Player-Warden-Warning-API.patch index 5b59ae5930..c18b7a64d3 100644 --- a/patches/api/0396-Add-Player-Warden-Warning-API.patch +++ b/patches/api/0396-Add-Player-Warden-Warning-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player Warden Warning API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 2c4ee85e845f145ae7c6d27e4cac46ab9c23b5b2..c480f251f912d14726f3f2fc8f40bd921eb39fe6 100644 +index 9f5dfdf6318860f2a2a5f213425d1a2d945b0ea4..33c2dd4ef74f20d33cc81eccd6a55f02550ce3ea 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2847,6 +2847,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2852,6 +2852,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param silent whether sound should be silenced */ void showElderGuardian(boolean silent); diff --git a/patches/api/0405-fix-Instruments.patch b/patches/api/0405-fix-Instruments.patch index 199e7067e4..ff62e930b4 100644 --- a/patches/api/0405-fix-Instruments.patch +++ b/patches/api/0405-fix-Instruments.patch @@ -105,10 +105,10 @@ index de976be7132d05506fde7a839cac3954b0dd8da4..27dafd1850d3b984a6af155f5c08ee54 public static Instrument getByType(final byte type) { return BY_DATA.get(type); diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 3a450af12df6c71e91eab34237dcbf870708f3c6..4d7089da20e0667fd7e67ef4da073d938e7b9a67 100644 +index a7adeb2f77bcc4e7d2402d21d3f3189bc09144b7..cdb6ad62da2cdc38807550555753447af3b40fb2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -393,9 +393,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -390,9 +390,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void playNote(@NotNull Location loc, byte instrument, byte note); /** diff --git a/patches/api/0407-Add-Sneaking-API-for-Entities.patch b/patches/api/0407-Add-Sneaking-API-for-Entities.patch index 69b2e6b650..a5e5ca0571 100644 --- a/patches/api/0407-Add-Sneaking-API-for-Entities.patch +++ b/patches/api/0407-Add-Sneaking-API-for-Entities.patch @@ -35,10 +35,10 @@ index 833a8abcdcbe70b2912779f6e179fa3739d099bd..11cf1bb585e2754bda443b776e9fcaf0 * Get the category of spawn to which this entity belongs. * diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index d162b838a25d7eed6b8fc66c630e8c68e809c4cd..3f2025023dc5cecb37af136042809e9800c77594 100644 +index ac992523f09ffe35a55ef6f67115d3862504c2a6..213eb6bf962b4bd6fcab9f8a5fa90962e7805d8c 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -296,6 +296,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -293,6 +293,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @return true if player is in sneak mode */ @@ -46,7 +46,7 @@ index d162b838a25d7eed6b8fc66c630e8c68e809c4cd..3f2025023dc5cecb37af136042809e98 public boolean isSneaking(); /** -@@ -303,6 +304,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -300,6 +301,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * * @param sneak true if player should appear sneaking */ diff --git a/patches/api/0410-Flying-Fall-Damage-API.patch b/patches/api/0410-Flying-Fall-Damage-API.patch index 4ef427e75e..3feb79f975 100644 --- a/patches/api/0410-Flying-Fall-Damage-API.patch +++ b/patches/api/0410-Flying-Fall-Damage-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b27d7414f34f1d49c56dbc33d6d23bc822adf721..b06f759b6188d87cf406072b6d7ef8266512ce50 100644 +index b6284a2e4f66b1f2ec2ac59f36190a44bbce260f..43c9cfef868b2e68e2c5741c095cc214d2095b70 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1416,6 +1416,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1423,6 +1423,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void setAllowFlight(boolean flight); diff --git a/patches/api/0413-Add-Player-sendEquipmentChange-Map-API.patch b/patches/api/0413-Add-Player-sendEquipmentChange-Map-API.patch deleted file mode 100644 index b62f95da72..0000000000 --- a/patches/api/0413-Add-Player-sendEquipmentChange-Map-API.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aya <31237389+tal5@users.noreply.github.com> -Date: Fri, 20 Jan 2023 13:49:35 +0000 -Subject: [PATCH] Add Player#sendEquipmentChange(Map) API - - -diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b06f759b6188d87cf406072b6d7ef8266512ce50..1604351236f748b5009eed29f6051e68092d6090 100644 ---- a/src/main/java/org/bukkit/entity/Player.java -+++ b/src/main/java/org/bukkit/entity/Player.java -@@ -691,7 +691,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * @param slot The slot of the spoofed equipment change - * @param item The ItemStack to display for the player - */ -- public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item); -+ // Paper start -+ default void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull EquipmentSlot slot, @NotNull ItemStack item) { -+ this.sendEquipmentChange(entity, java.util.Map.of(slot, item)); -+ }; -+ -+ /** -+ * Send an equipment change for an entity. This fakes the equipment change -+ * of an entity for a user. This will not actually change the inventory of -+ * the specified entity in any way. -+ * -+ * @param entity The entity that the player will see the change for -+ * @param equipmentChanges A map of slots to the items they will be changed to, cannot contain null values. -+ */ -+ void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull java.util.Map equipmentChanges); -+ // Paper end - - // Paper start - /** diff --git a/patches/api/0414-Win-Screen-API.patch b/patches/api/0413-Win-Screen-API.patch similarity index 94% rename from patches/api/0414-Win-Screen-API.patch rename to patches/api/0413-Win-Screen-API.patch index ba18c74e5a..75167568ff 100644 --- a/patches/api/0414-Win-Screen-API.patch +++ b/patches/api/0413-Win-Screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Win Screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1604351236f748b5009eed29f6051e68092d6090..d7d94b954262da0cbe11850cbc3ebd45e32c8c76 100644 +index 43c9cfef868b2e68e2c5741c095cc214d2095b70..49a797325be9a9e7174610dccba12b0a19cf6723 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -861,6 +861,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -854,6 +854,47 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendMap(@NotNull MapView map); diff --git a/patches/api/0415-Add-Entity-Body-Yaw-API.patch b/patches/api/0414-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/api/0415-Add-Entity-Body-Yaw-API.patch rename to patches/api/0414-Add-Entity-Body-Yaw-API.patch diff --git a/patches/api/0416-Add-missing-isFuel-Material-entries.patch b/patches/api/0415-Add-missing-isFuel-Material-entries.patch similarity index 100% rename from patches/api/0416-Add-missing-isFuel-Material-entries.patch rename to patches/api/0415-Add-missing-isFuel-Material-entries.patch diff --git a/patches/api/0417-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0416-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch similarity index 100% rename from patches/api/0417-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch rename to patches/api/0416-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch diff --git a/patches/api/0418-Add-EntityFertilizeEggEvent.patch b/patches/api/0417-Add-EntityFertilizeEggEvent.patch similarity index 100% rename from patches/api/0418-Add-EntityFertilizeEggEvent.patch rename to patches/api/0417-Add-EntityFertilizeEggEvent.patch diff --git a/patches/api/0419-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0418-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/api/0419-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/api/0418-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index a969954713..de7d3b2aa3 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,7 +28,7 @@ index 3df8c60ab5cd1454660980883f80668d535b742b..37c3a00659ce21623be07317f4f6a45b +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..43bf332213712237e0695e1f9a71267377dbdd22 +index 0000000000000000000000000000000000000000..c9950851db38df64fd82a3a549072d240e37d64d --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,137 @@ @@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..43bf332213712237e0695e1f9a712673 + implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") { + exclude(group = "org.apache.logging.log4j", module = "log4j-api") + } -+ implementation("org.ow2.asm:asm:9.3") ++ implementation("org.ow2.asm:asm:9.4") + implementation("commons-lang:commons-lang:2.6") + runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") + runtimeOnly("mysql:mysql-connector-java:8.0.29") @@ -171,10 +171,10 @@ index 0000000000000000000000000000000000000000..43bf332213712237e0695e1f9a712673 +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 30e4978569bcda9e38a326b8fcd9953e1e319c21..0000000000000000000000000000000000000000 +index 1f24a779e3dd95a796f7eae2b2097b5aabc4fdb8..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,629 +0,0 @@ +@@ -1,617 +0,0 @@ - - 4.0.0 @@ -238,7 +238,7 @@ index 30e4978569bcda9e38a326b8fcd9953e1e319c21..00000000000000000000000000000000 - - org.ow2.asm - asm -- 9.3 +- 9.4 - compile - - @@ -559,19 +559,7 @@ index 30e4978569bcda9e38a326b8fcd9953e1e319c21..00000000000000000000000000000000 - - org.apache.maven.plugins - maven-shade-plugin -- 3.2.4 -- -- -- org.ow2.asm -- asm -- 9.3 -- -- -- org.ow2.asm -- asm-commons -- 9.3 -- -- +- 3.4.1 - - - package diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 84e51e0fe4..8670553269 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 43bf332213712237e0695e1f9a71267377dbdd22..74ca0d83f207da2e18634e85a6947abc414fc74f 100644 +index c9950851db38df64fd82a3a549072d240e37d64d..ce176ef04e211b82020fa082b9cb1bdc4769a526 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,10 +9,9 @@ plugins { @@ -16,8 +16,8 @@ index 43bf332213712237e0695e1f9a71267377dbdd22..74ca0d83f207da2e18634e85a6947abc - exclude(group = "org.apache.logging.log4j", module = "log4j-api") - } + implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") -+ implementation("org.ow2.asm:asm-commons:9.3") // Paper - ASM event executor generation + implementation("org.ow2.asm:asm:9.4") ++ implementation("org.ow2.asm:asm-commons:9.4") // Paper - ASM event executor generation implementation("commons-lang:commons-lang:2.6") runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") runtimeOnly("mysql:mysql-connector-java:8.0.29") @@ -67,7 +67,7 @@ index 43bf332213712237e0695e1f9a71267377dbdd22..74ca0d83f207da2e18634e85a6947abc exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class") } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 19c669347c5f3a70e7f378c836798e6787094e26..8842ac222e0dea1afb7ba4584512147bb53ccb56 100644 +index 2e216027fc38fabf3e3e49dbc310ecb648ab63d6..2ae4dbd8cc49efb93ecceeb9a7a08e1a8af1d84a 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -192,7 +192,7 @@ public class Main { @@ -78,7 +78,7 @@ index 19c669347c5f3a70e7f378c836798e6787094e26..8842ac222e0dea1afb7ba4584512147b + Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -14); + deadline.add(Calendar.DAY_OF_YEAR, -28); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch index a13d84f5c7..78b6cf28a0 100644 --- a/patches/server/0004-Test-changes.patch +++ b/patches/server/0004-Test-changes.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Test changes diff --git a/build.gradle.kts b/build.gradle.kts -index 74ca0d83f207da2e18634e85a6947abc414fc74f..66c49e3d29fa18845d0deb43c91fa45f236d60c5 100644 +index ce176ef04e211b82020fa082b9cb1bdc4769a526..15456e54d8a392e702a30dfb3d06a3f74156dce7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") - implementation("org.ow2.asm:asm-commons:9.3") // Paper - ASM event executor generation + implementation("org.ow2.asm:asm:9.4") + implementation("org.ow2.asm:asm-commons:9.4") // Paper - ASM event executor generation + testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito implementation("commons-lang:commons-lang:2.6") runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 7fc809342d..7925568dde 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -14,12 +14,12 @@ public org.spigotmc.SpigotWorldConfig getString(Ljava/lang/String;Ljava/lang/Str public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES diff --git a/build.gradle.kts b/build.gradle.kts -index 66c49e3d29fa18845d0deb43c91fa45f236d60c5..1ad9c90511bf0ec7a2e966cb4177ed26bd094a44 100644 +index 15456e54d8a392e702a30dfb3d06a3f74156dce7..4294f230f91f03db2181d355d3be84bf032eeffb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,6 +13,7 @@ dependencies { - implementation("org.ow2.asm:asm:9.3") - implementation("org.ow2.asm:asm-commons:9.3") // Paper - ASM event executor generation + implementation("org.ow2.asm:asm:9.4") + implementation("org.ow2.asm:asm-commons:9.4") // Paper - ASM event executor generation testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito + implementation("org.spongepowered:configurate-yaml:4.1.2") // Paper - config files implementation("commons-lang:commons-lang:2.6") @@ -4576,7 +4576,7 @@ index 9afc0881f6891ef2696b6f2b37c0826f3beb0666..8873bf84c71c48297a360df9c99e511f world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 8842ac222e0dea1afb7ba4584512147bb53ccb56..7e9381fcdaafb15b22d9f79592422b165b3e2523 100644 +index 2ae4dbd8cc49efb93ecceeb9a7a08e1a8af1d84a..fd213200dcc5fe08f4b28e94ce2a0cf5b3c7ad5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -131,6 +131,19 @@ public class Main { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 6eaab053de..d7a0e0b84b 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2073,7 +2073,7 @@ index 0f7dd33d51281b383be0fb47d4e6b133f123ce1f..011c3d2dbd34dd0c2afba477202c937c } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 56016d59d66d90de2ac4326c16b09f86e4ac390b..722422c214ae346b5b6d29b5b99553eae5c64b5b 100644 +index 39f60f3878b57feeb6c2645a8ed4432fb53a0269..650d28ce34239d3ae9caa3852e1bac518790fd83 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -156,6 +156,7 @@ import net.minecraft.world.scores.Score; @@ -2178,7 +2178,7 @@ index 56016d59d66d90de2ac4326c16b09f86e4ac390b..722422c214ae346b5b6d29b5b99553ea // CraftBukkit end this.chatVisibility = packet.chatVisibility(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 478d40c7cc0374cddb76486b6bd148a846a16813..6878af0ad58c40f54a216c12b28b990424ecd414 100644 +index 1cf586f485fcfb4e10bc239200367177b5f0da94..e5407a092c602cfec4bcc80198d2a9f3f5d3680b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -185,6 +185,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; @@ -2305,20 +2305,7 @@ index 478d40c7cc0374cddb76486b6bd148a846a16813..6878af0ad58c40f54a216c12b28b9904 } else { this.chat(s, message, true); } -@@ -2357,6 +2369,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - } - - public void sendPlayerChatMessage(PlayerChatMessage message, ChatType.Bound params) { -+ // Paper start -+ if (!this.getCraftPlayer().canSee(message.link().sender())) { -+ this.sendDisguisedChatMessage(message.decoratedContent(), params); -+ return; -+ } -+ // Paper end - this.send(new ClientboundPlayerChatPacket(message.link().sender(), message.link().index(), message.signature(), message.signedBody().pack(this.messageSignatureCache), message.unsignedContent(), message.filterMask(), params.toNetwork(this.player.level.registryAccess()))); - this.addPendingMessage(message); - } -@@ -2980,30 +2998,30 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2986,30 +2998,30 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -2852,7 +2839,7 @@ index 57ed87689c7cb709d54e611bfbdbb70890021df2..fd1da8431578832bcd1f3ca7890dd215 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 7e9381fcdaafb15b22d9f79592422b165b3e2523..5448d2a6fe8cace246b81742da19666ec24ca48c 100644 +index fd213200dcc5fe08f4b28e94ce2a0cf5b3c7ad5b..481c1f853bbe81da123cfb3f79ed4509cf127db8 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -19,6 +19,12 @@ public class Main { @@ -3334,7 +3321,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 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb13ab2bb50 100644 +index 2864661527c55752bb43de3430ca29151a7502ab..ec27b75c4cf292ffc95ebad63617ffab48a10a16 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -277,14 +277,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3507,20 +3494,7 @@ index 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb1 } @Override -@@ -1351,6 +1423,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - return !this.hiddenEntities.containsKey(entity.getUniqueId()); - } - -+ // Paper start -+ public boolean canSee(UUID entityUUID) { -+ return !this.hiddenEntities.containsKey(entityUUID); -+ } -+ // Paper end -+ - @Override - public Map serialize() { - Map result = new LinkedHashMap(); -@@ -1488,7 +1566,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1502,7 +1574,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -3529,7 +3503,7 @@ index 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb1 } @Override -@@ -1503,7 +1581,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1517,7 +1589,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -3538,7 +3512,7 @@ index 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb1 } @Override -@@ -1519,6 +1597,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1533,6 +1605,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -3560,7 +3534,7 @@ index 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb1 public void addChannel(String channel) { Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel); -@@ -1923,6 +2016,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1937,6 +2024,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -3573,7 +3547,7 @@ index 87c9e95a184e316d1273debc9fc5f3ff6a5aa91f..8a78d0bde6f833b745c8a125bc251eb1 @Override public int getPing() { return this.getHandle().latency; -@@ -1968,6 +2067,254 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1982,6 +2075,254 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -4599,7 +4573,7 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index b39ded554ee86bf840ce04eba58ac19d40226c9f..750f4b3930278c291f10015c7a8a8df57d04a286 100644 +index 21ca79fa628d9cc970942bcd5368d971d800753a..0bf46f90333d79e2cada286b493c5fc2b6903970 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -72,6 +72,43 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch index 362e6d903d..f3d1374d6e 100644 --- a/patches/server/0013-Paper-Plugins.patch +++ b/patches/server/0013-Paper-Plugins.patch @@ -6633,10 +6633,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7 @Override public FileConfiguration getConfig() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 750f4b3930278c291f10015c7a8a8df57d04a286..3d2303dbd06a12968302cb100e36be9de28700f0 100644 +index 0bf46f90333d79e2cada286b493c5fc2b6903970..59f0c09f657416c723fa69b71bd31e0e5922c073 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -436,6 +436,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -437,6 +437,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index 46b5e45db4..a1210bcddf 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -1262,7 +1262,7 @@ index 8784b0702f10eb7582c309c15f18fe13eebd9c8e..6f81aa6b0a835bf10e0d5f2b32fe9fb2 this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 032a21ffd22630c0d4d0456ac651b05105449350..fdb7314784a2232a96a9ccdb049bd240e1cc9b06 100644 +index 2f7e63a1206f954aac9ded087eeda3d566443189..c47ae6b97e0bb6a52430c01f0b989bf9f81744a9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -335,7 +335,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1825,10 +1825,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 8a78d0bde6f833b745c8a125bc251eb13ab2bb50..b09d8420ffe3c7e2ba173ee98643bc17909db563 100644 +index ec27b75c4cf292ffc95ebad63617ffab48a10a16..ef1a0db17276178717b83a6d081a9e111d34e4e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2401,6 +2401,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2409,6 +2409,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR)); } @@ -2021,7 +2021,7 @@ index e52ef47b783785dc214746b678e7b549aea9a274..3d90b3426873a3528af14f7f1ab0adae this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 3d2303dbd06a12968302cb100e36be9de28700f0..8324787573510df3e23e6833f06aa1618336b7bb 100644 +index 59f0c09f657416c723fa69b71bd31e0e5922c073..d22210c6aaeed8ac6df296f47a699f2e5b67abf4 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -222,6 +222,12 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -2037,7 +2037,7 @@ index 3d2303dbd06a12968302cb100e36be9de28700f0..8324787573510df3e23e6833f06aa161 public static byte toLegacyData(BlockState data) { return CraftLegacy.toLegacyData(data); -@@ -443,6 +449,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -444,6 +450,13 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 83f31264af..ab778676bc 100644 --- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -32,11 +32,11 @@ index d82e0dd38ef2b32d82e906d5bc71b46052eb0625..e5aa25abee4d4c5447920e64ad45acf9 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index a51581263f1c9d72aab7c9223a816d034630f702..d453c630da1780a7aeab80cf95adcee62f4e8a14 100644 +index 985aae207e23584519b4c096f2aaaf0e80b6c163..49f6d20706e8fb94c41834f5addcd015d18acd7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -223,12 +223,25 @@ public class Main { - deadline.add(Calendar.DAY_OF_YEAR, -14); + deadline.add(Calendar.DAY_OF_YEAR, -28); if (buildDate.before(deadline.getTime())) { System.err.println("*** Error, this build is outdated ***"); - System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***"); diff --git a/patches/server/0028-Implement-Paper-VersionChecker.patch b/patches/server/0028-Implement-Paper-VersionChecker.patch index 701eb0a55b..4f3c7316ef 100644 --- a/patches/server/0028-Implement-Paper-VersionChecker.patch +++ b/patches/server/0028-Implement-Paper-VersionChecker.patch @@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..351159bbdb0c8045f4983f54dee34430 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 8324787573510df3e23e6833f06aa1618336b7bb..0ee761fa0d42fd90e82f3284ee756ddd60c6178d 100644 +index d22210c6aaeed8ac6df296f47a699f2e5b67abf4..289276ae40409868c6293c5ab3bafe54c2ccf15c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -454,6 +454,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -455,6 +455,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getTimingsServerName() { return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName; } diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch index da16ad1762..32fec191c1 100644 --- a/patches/server/0030-Player-affects-spawning-API.patch +++ b/patches/server/0030-Player-affects-spawning-API.patch @@ -137,10 +137,10 @@ index be6e3e21ad62da01e5e2dd78e300cbc8efdbeb42..ea98625fe7c00743b8df74a24e6d4b75 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 9a6c9c42b162315115781246cdf91af816d93293..69e197c78b4e6265f61f42232ac2d06687b6ca5e 100644 +index 92e5b781049122e3de3784ec4197557f2730b3b3..eecfbd4e835bfc3d98194365e360a827fb02bb38 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2105,8 +2105,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2113,8 +2113,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0032-Only-refresh-abilities-if-needed.patch b/patches/server/0032-Only-refresh-abilities-if-needed.patch index ab9f46dccf..2708f1d2af 100644 --- a/patches/server/0032-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0032-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 69e197c78b4e6265f61f42232ac2d06687b6ca5e..a6b1cd3361018ce3c7e0760a101184e2d15b69bb 100644 +index eecfbd4e835bfc3d98194365e360a827fb02bb38..27f4387a3ac750114c99e41e855c8fb8081a507d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1774,12 +1774,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1782,12 +1782,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { diff --git a/patches/server/0040-Optimize-explosions.patch b/patches/server/0040-Optimize-explosions.patch index 3c4dbcae07..7927aa4c7c 100644 --- a/patches/server/0040-Optimize-explosions.patch +++ b/patches/server/0040-Optimize-explosions.patch @@ -22,7 +22,7 @@ index ac81428f19e2d445f315000d34173c2d650a9aeb..28d58f402f15ee37cc1bfa3114839db2 this.profiler.popPush("connection"); diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 735442e98fc9f5a182ff15a526d9601162c9418d..c834b4a7f5fb4eded402df116f14d4c14704d95c 100644 +index c5544f952be057bae9407725d885798f461081ea..b71cd16a63889d8a286b642158f9ab45af89b7c4 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -221,7 +221,7 @@ public class Explosion { @@ -34,7 +34,7 @@ index 735442e98fc9f5a182ff15a526d9601162c9418d..c834b4a7f5fb4eded402df116f14d4c1 double d13 = (1.0D - d7) * d12; // CraftBukkit start -@@ -491,4 +491,84 @@ public class Explosion { +@@ -494,4 +494,84 @@ public class Explosion { private BlockInteraction() {} } diff --git a/patches/server/0041-Disable-explosion-knockback.patch b/patches/server/0041-Disable-explosion-knockback.patch index 4831565dcc..3c85d2dc89 100644 --- a/patches/server/0041-Disable-explosion-knockback.patch +++ b/patches/server/0041-Disable-explosion-knockback.patch @@ -33,10 +33,10 @@ index c6ce813f7ea6c4dcbd45e9d8c55f56c29dc3ea53..7e4f95e04a880ecb459228c90be462cb if (!this.checkTotemDeathProtection(source)) { SoundEvent soundeffect = this.getDeathSound(); diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index c834b4a7f5fb4eded402df116f14d4c14704d95c..c4f1b98de5b7db95ca886c0f8b7b893428e1b460 100644 +index b71cd16a63889d8a286b642158f9ab45af89b7c4..a9f45dbc2997c4deeba932d04a52e21f4dbfea95 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -257,14 +257,14 @@ public class Explosion { +@@ -260,14 +260,14 @@ public class Explosion { double d14 = d13; if (entity instanceof LivingEntity) { diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch index d41f976a1e..b03de0c378 100644 --- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch @@ -30,10 +30,10 @@ index d7b581a34d95b038e548a7380ce00ebba9835606..a95e2e05db626edbedaa604f059e19a5 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 a6b1cd3361018ce3c7e0760a101184e2d15b69bb..63e01d1380135072735444724a9b060be364cec4 100644 +index 27f4387a3ac750114c99e41e855c8fb8081a507d..31172053e26a8df53d0987e816b3e03a560332e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2105,8 +2105,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2113,8 +2113,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index 62705fa37c..e711fe672c 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8db291b3dceaa49f095cf7486e4b7f69209548b4..f552e14a3164c8b877c5017911eada24ed067e9c 100644 +index 0a92f895922f5eacb87fc6cf4cd9e3783703cdf9..8b97cf87bff848b60f506ae0cde14e369e4afca8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1145,7 +1145,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1155,7 +1155,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (fromWorld == toWorld) { entity.connection.teleport(to); } else { diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index 9e136e551d..28d589c62f 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f9f18e263d29421bdc83993a6fd55f47cb7ab926..f49a8a0f56bc3dd9e8a33cfefefed414e56153fd 100644 +index 706e777cad3e5d56896b05740d42216aa2660f0b..38aad9faade27d1362711915cd4ccabedd8521e2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1764,8 +1764,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -23,7 +23,7 @@ index f9f18e263d29421bdc83993a6fd55f47cb7ab926..f49a8a0f56bc3dd9e8a33cfefefed414 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f552e14a3164c8b877c5017911eada24ed067e9c..e4cbd5bee86f7ad26eb78b3c1d279a65b896fb77 100644 +index 8b97cf87bff848b60f506ae0cde14e369e4afca8..673e4dc85e5c3ae43170564108f6b74187720d07 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -152,6 +152,7 @@ import org.bukkit.plugin.Plugin; @@ -45,7 +45,7 @@ index f552e14a3164c8b877c5017911eada24ed067e9c..e4cbd5bee86f7ad26eb78b3c1d279a65 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2228,6 +2233,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2236,6 +2241,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } diff --git a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch index e01a3e800a..fbca2d3be2 100644 --- a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 29495ff2d2c31f6b6ef6e2817662d143e538f926..b2871726eb4dd7f16d161097cbf0f287 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e4cbd5bee86f7ad26eb78b3c1d279a65b896fb77..2338f20c1af3b93cb6dd1a3c518499e6dd2130c3 100644 +index 673e4dc85e5c3ae43170564108f6b74187720d07..b08b72f8c029faae9b9d425e8ce77a1ff23addd7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2033,6 +2033,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2041,6 +2041,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch index 4e6e2ebfa3..44ff255f6b 100644 --- a/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0136-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index 1ad9c90511bf0ec7a2e966cb4177ed26bd094a44..f17f91e50f49b1d45b1bab469f2cf8ac3b9db042 100644 +index 4294f230f91f03db2181d355d3be84bf032eeffb..26987f66704ae01dc25edc52734c95b9b73f4b57 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,17 @@ plugins { @@ -39,8 +39,8 @@ index 1ad9c90511bf0ec7a2e966cb4177ed26bd094a44..f17f91e50f49b1d45b1bab469f2cf8ac + runtimeOnly("org.apache.logging.log4j:log4j-core:2.14.1") + // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") - implementation("org.ow2.asm:asm-commons:9.3") // Paper - ASM event executor generation + implementation("org.ow2.asm:asm:9.4") + implementation("org.ow2.asm:asm-commons:9.4") // Paper - ASM event executor generation diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 index 0000000000000000000000000000000000000000..a4070b59e261f0f1ac4beec47b11492f4724bf27 @@ -262,7 +262,7 @@ index 50218a10a86926fb050b7e9ef3b17ba17fec59f7..5f6ddee55b2289d80c55015f44c431b7 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 47c97c16eb23cdd485858c39c571a7ef5ac6d594..7004baa10a6df287239db868dce64d054105040c 100644 +index ef46dc1ed538b783213651f624326b2d49c786e0..d50be10ddc8c215374c97662f839a9710fc863b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; diff --git a/patches/server/0152-Fix-this-stupid-bullshit.patch b/patches/server/0152-Fix-this-stupid-bullshit.patch index c198fc05b3..0e38e136bf 100644 --- a/patches/server/0152-Fix-this-stupid-bullshit.patch +++ b/patches/server/0152-Fix-this-stupid-bullshit.patch @@ -31,12 +31,12 @@ index e43096e69a00f9ea96badd7c966443cfcf3e7b95..ac2b7b5161eaaca3620268ae865d6f2a Bootstrap.isBootstrapped = true; if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 7004baa10a6df287239db868dce64d054105040c..127b05c44aa1e20ce097f1c1fe6b6ca2b32226c0 100644 +index d50be10ddc8c215374c97662f839a9710fc863b4..c9c0c17651b05094f96840b4fc0fd60825eef146 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -241,10 +241,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -14); + deadline.add(Calendar.DAY_OF_YEAR, -28); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/patches/server/0157-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0157-Handle-plugin-prefixes-using-Log4J-configuration.patch index 84398986d6..2738068841 100644 --- a/patches/server/0157-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/0157-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/build.gradle.kts b/build.gradle.kts -index f17f91e50f49b1d45b1bab469f2cf8ac3b9db042..ecce63a519c9603c2cff47c4affbd481ccdd07e7 100644 +index 26987f66704ae01dc25edc52734c95b9b73f4b57..c909ad3e263cdce6766dcc2ac64412effaa9a784 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,7 @@ dependencies { @@ -26,7 +26,7 @@ index f17f91e50f49b1d45b1bab469f2cf8ac3b9db042..ecce63a519c9603c2cff47c4affbd481 + implementation("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - implementation // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") + implementation("org.ow2.asm:asm:9.4") diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index 0a0aa6de31a94a701074cc5f43c94be7515a185c..489ce6f439778b26eb33ede9432681d4bf9e0116 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java diff --git a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch index 89bd767245..0fddb45cac 100644 --- a/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0171-Ability-to-apply-mending-to-XP-API.patch @@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dfabf22bb14bbbd6b2d2b9beafa3815303f32f7f..d7d47a3dce2c15d39531344a9eaac3990dc1dfc2 100644 +index dfc5a445744520388bd09cf4a68a232885c6e2c9..43fed86150b15294ed4aeb1a6139891456754c97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1460,7 +1460,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1470,7 +1470,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0184-Player.setPlayerProfile-API.patch b/patches/server/0184-Player.setPlayerProfile-API.patch index 7211262325..cc79f13f6b 100644 --- a/patches/server/0184-Player.setPlayerProfile-API.patch +++ b/patches/server/0184-Player.setPlayerProfile-API.patch @@ -42,7 +42,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..69a1852905dd4724c30ac8ab88c14251 public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d7d47a3dce2c15d39531344a9eaac3990dc1dfc2..5843e7a364a2fc190adc522c6a99f27094ac1337 100644 +index 43fed86150b15294ed4aeb1a6139891456754c97..8e36073d0519f341c3356cb460b26d1221d3b187 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -81,6 +81,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -65,7 +65,7 @@ index d7d47a3dce2c15d39531344a9eaac3990dc1dfc2..5843e7a364a2fc190adc522c6a99f270 @Override public InetSocketAddress getAddress() { if (this.getHandle().connection == null) return null; -@@ -1593,8 +1589,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1603,8 +1599,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.hiddenEntities.put(entity.getUniqueId(), hidingPlugins); // Remove this entity from the hidden player's EntityTrackerEntry @@ -82,7 +82,7 @@ index d7d47a3dce2c15d39531344a9eaac3990dc1dfc2..5843e7a364a2fc190adc522c6a99f270 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1607,8 +1610,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1617,8 +1620,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID()))); } } @@ -91,7 +91,7 @@ index d7d47a3dce2c15d39531344a9eaac3990dc1dfc2..5843e7a364a2fc190adc522c6a99f270 } @Override -@@ -1645,8 +1646,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1655,8 +1656,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } this.hiddenEntities.remove(entity.getUniqueId()); @@ -108,7 +108,7 @@ index d7d47a3dce2c15d39531344a9eaac3990dc1dfc2..5843e7a364a2fc190adc522c6a99f270 if (other instanceof ServerPlayer) { ServerPlayer otherPlayer = (ServerPlayer) other; -@@ -1657,10 +1665,63 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1667,10 +1675,63 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) { entry.updatePlayer(this.getHandle()); } diff --git a/patches/server/0189-Flag-to-disable-the-channel-limit.patch b/patches/server/0189-Flag-to-disable-the-channel-limit.patch index ed477cb37a..926ebc84aa 100644 --- a/patches/server/0189-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0189-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 5843e7a364a2fc190adc522c6a99f27094ac1337..569ea39bfc3d3eb39e0a69655f91eda09b36b09d 100644 +index 8e36073d0519f341c3356cb460b26d1221d3b187..1d217d3795abe2e0e0d40746a523f78c84127ea4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -175,6 +175,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -20,7 +20,7 @@ index 5843e7a364a2fc190adc522c6a99f27094ac1337..569ea39bfc3d3eb39e0a69655f91eda0 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1926,7 +1927,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1934,7 +1935,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end public void addChannel(String channel) { diff --git a/patches/server/0218-InventoryCloseEvent-Reason-API.patch b/patches/server/0218-InventoryCloseEvent-Reason-API.patch index 95664847f0..0070bf4011 100644 --- a/patches/server/0218-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0218-InventoryCloseEvent-Reason-API.patch @@ -75,7 +75,7 @@ index 673252f54103a7ab34650db85d6200953755c745..ab71db25415e87e2ebd299e4d491be5e this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b11f6e5c55e4eeeac82b1567a27b013867a570e3..0a4c9fa74b294e9aa15658b7e6a36603f3c55516 100644 +index 180e9073db54c15585d204c39cb3ba93fd108ab8..2b98424cdb8a5cacd51ba3902360b80aac712e4d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -217,6 +217,7 @@ import org.bukkit.event.inventory.ClickType; @@ -173,10 +173,10 @@ index 787ccb37a39bb506cf9fd8d54cf772b346981f85..f5b3190ffb9e9f92977afc9e40ddfa15 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 38abee17ad6db9f593cca06efb1d14049b3307e6..6bec3eb7180ef24c5c1480acd35ca43fdd4e6c3e 100644 +index 18b57fef0a5b48a8f88e8e05282171f3666a6d72..df53b772db2394c8927eac39ad62c51a06704965 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1174,7 +1174,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1184,7 +1184,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { diff --git a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch index aab55eee84..dcb8c2ce3c 100644 --- a/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0254-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 5fb1e25722bd08da00f9bd970e7c176329df6e05..0d955b34bb61beeddf08941e92081ac89e8f46c6 100644 +index d9a5a6719be998b9e40ab76519e4f207ee5c6bf9..c75fb5c096da9a20298ad857352298dbd5b5ef3f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2683,6 +2683,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2691,6 +2691,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch index ef7f3ce738..965cbff328 100644 --- a/patches/server/0255-Improve-death-events.patch +++ b/patches/server/0255-Improve-death-events.patch @@ -19,7 +19,7 @@ public net.minecraft.world.entity.LivingEntity getDeathSound()Lnet/minecraft/sou public net.minecraft.world.entity.LivingEntity getSoundVolume()F diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index d815679423557606ae653073ce6f9740a766fa03..b847973ef8b1293a821cffd723cec0c9aff248ad 100644 +index 20c4ba5d00f5a40f5c7da282c9c069b365273041..4c8b1d30b82fd7a87f79983577695c680013d3f4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -235,6 +235,10 @@ public class ServerPlayer extends Player { @@ -347,10 +347,10 @@ index f70f75867a8f03d42f240a0d007d2221269f2fdb..4edd48ce10caf31ac0136af35f19836b this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0d955b34bb61beeddf08941e92081ac89e8f46c6..aec0434f1885ba465fd7874e693b16fdf60a7f59 100644 +index c75fb5c096da9a20298ad857352298dbd5b5ef3f..088a95b0f1574f293fe535b763c3768dbf95c9cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2186,7 +2186,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2194,7 +2194,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { diff --git a/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index d9be16fd24..c871008098 100644 --- a/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0292-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 63e2e281b693b25159f9359190e5500a4be01e5f..e795d04d218219c701f058cd70f13076ed3e72ba 100644 +index 4f851879aaea3b604e45c2f608edd3c2972bd038..c0ba5e308d8ef8333eeea6217f95022cf59c76b7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -235,6 +235,7 @@ public class ServerPlayer extends Player { @@ -106,7 +106,7 @@ index 69a1852905dd4724c30ac8ab88c14251eee2c371..17b3d5de58a9ef3acc67624c46cd6bbd public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index aec0434f1885ba465fd7874e693b16fdf60a7f59..93196c1e4ca9427c77ead10f7e0c98e4f571bf7f 100644 +index 088a95b0f1574f293fe535b763c3768dbf95c9cc..3f23d3bc3b35b48f3c8962b2622c54dbb675e02d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -176,6 +176,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -117,7 +117,7 @@ index aec0434f1885ba465fd7874e693b16fdf60a7f59..93196c1e4ca9427c77ead10f7e0c98e4 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1798,6 +1799,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1806,6 +1807,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index aec0434f1885ba465fd7874e693b16fdf60a7f59..93196c1e4ca9427c77ead10f7e0c98e4 public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1820,6 +1833,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1828,6 +1841,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index aec0434f1885ba465fd7874e693b16fdf60a7f59..93196c1e4ca9427c77ead10f7e0c98e4 if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1834,6 +1849,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1842,6 +1857,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("firstPlayed", this.getFirstPlayed()); data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch index 46e3622fb2..41a375e16e 100644 --- a/patches/server/0294-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0294-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 93196c1e4ca9427c77ead10f7e0c98e4f571bf7f..7a7de6ce7ac0a713f86ff49c98e74b7997918ef4 100644 +index 3f23d3bc3b35b48f3c8962b2622c54dbb675e02d..d21faa3e7a97c28e380323b503d32de5e5705d11 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2730,6 +2730,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2738,6 +2738,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0353-Remove-garbage-Java-version-check.patch b/patches/server/0353-Remove-garbage-Java-version-check.patch index 56a2300cea..67418476be 100644 --- a/patches/server/0353-Remove-garbage-Java-version-check.patch +++ b/patches/server/0353-Remove-garbage-Java-version-check.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Remove garbage Java version check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 127b05c44aa1e20ce097f1c1fe6b6ca2b32226c0..4f666a16a46d86cd0919bbe8f8b918a7f451d254 100644 +index c9c0c17651b05094f96840b4fc0fd60825eef146..08e74f41516a545a2371a7418d995ab288831834 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -196,10 +196,6 @@ public class Main { System.err.println("Unsupported Java detected (" + javaVersion + "). This version of Minecraft requires at least Java 17. Check your Java version with the command 'java -version'."); return; } -- if (javaVersion > 63.0) { -- System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 19 is supported."); +- if (javaVersion > 64.0) { +- System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 20 is supported."); - return; - } diff --git a/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch index f371e21c28..b0e2f299b7 100644 --- a/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0366-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0ee761fa0d42fd90e82f3284ee756ddd60c6178d..70c4eb21b3730a6bb7c44671eaaba9a7bc3ee5a3 100644 +index 289276ae40409868c6293c5ab3bafe54c2ccf15c..69b126c8bbba26f517e0d314b3629b2445349770 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -459,6 +459,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -460,6 +460,52 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0397-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0397-Deobfuscate-stacktraces-in-log-messages-crash-report.patch index c4d9c3312e..85baa9a0ee 100644 --- a/patches/server/0397-Deobfuscate-stacktraces-in-log-messages-crash-report.patch +++ b/patches/server/0397-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 bba43db4bdde5e40a316f7f94009d41cca12fa6c..54b55e0691e6169017a988074a9f3a52703d0839 100644 +index 243e40cb0e14f62e284fc272aeb0b6a1bc54ea9f..daf75df1e515511fd28ed555c2c0c8ea70ec47dd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,6 +19,7 @@ dependencies { @@ -16,7 +16,7 @@ index bba43db4bdde5e40a316f7f94009d41cca12fa6c..54b55e0691e6169017a988074a9f3a52 + annotationProcessor("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - Needed to generate meta for our Log4j plugins // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") + implementation("org.ow2.asm:asm:9.4") @@ -26,6 +27,7 @@ dependencies { testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito implementation("org.spongepowered:configurate-yaml:4.1.2") // Paper - config files diff --git a/patches/server/0407-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0407-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch index 6e84017fa3..6cd55247ad 100644 --- a/patches/server/0407-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch +++ b/patches/server/0407-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch @@ -13,7 +13,7 @@ A config is provided if you rather let players use these exploits, and let them destroy the worlds End Portals and get on top of the nether easy. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index cc8dcb77f2b6d447c0e8d769a3d233dc2eb64efa..0a2f5e929d34c933755e9bc4b205e1b2ad0ce3bc 100644 +index 1582f8aad002c14ed45a5748e99f259896e8c9e9..4eb2b90596d2a538c1ea380f11fcd23f2465d611 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -168,6 +168,7 @@ public class Explosion { @@ -24,7 +24,7 @@ index cc8dcb77f2b6d447c0e8d769a3d233dc2eb64efa..0a2f5e929d34c933755e9bc4b205e1b2 FluidState fluid = iblockdata.getFluidState(); // Paper if (!this.level.isInWorldBounds(blockposition)) { -@@ -347,7 +348,7 @@ public class Explosion { +@@ -350,7 +351,7 @@ public class Explosion { BlockState iblockdata = this.level.getBlockState(blockposition); Block block = iblockdata.getBlock(); diff --git a/patches/server/0458-Brand-support.patch b/patches/server/0458-Brand-support.patch index 68eef7dc3f..84447bf737 100644 --- a/patches/server/0458-Brand-support.patch +++ b/patches/server/0458-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 662cad3da78c131e865dc4a09fe5ebd603d737eb..cb9d7bb244331830855b57b8cfb9a8b668985c69 100644 +index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef269ede66 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -298,6 +298,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -56,10 +56,10 @@ index 662cad3da78c131e865dc4a09fe5ebd603d737eb..cb9d7bb244331830855b57b8cfb9a8b6 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 f0d18b144da254847640cbbf215a74d5794f1550..51f8cbd4ae78c55720ef641237c69c739f17da80 100644 +index 7dfa2ce4028b7ab3b1ebe063f497b8adda397079..f0146fc5f294a54bbcc2df5eed1082c0809a88b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2858,6 +2858,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2866,6 +2866,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 4f8b381046..67ca418316 100644 --- a/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -21,10 +21,10 @@ index 873206bb65b2412d3066a0f7e35fe0684e29661a..d170254265a789998be96ce1dcaf71c9 + // 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 70c4eb21b3730a6bb7c44671eaaba9a7bc3ee5a3..26e6fab362db3f5880bb5daddd4795465e969c27 100644 +index 69b126c8bbba26f517e0d314b3629b2445349770..75be35b61608a0266fe2b734290077a27f05122b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -505,6 +505,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -506,6 +506,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 14fe56aad5..b7736b2fcc 100644 --- a/patches/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0506-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 c7bef9df5592eba20ac3b64e5b68070be1405698..da6a74c139ac75521a5cb9648642a4a835055e99 100644 +index b6a7fc3602d7af1de9ecd8eff23a8e7b07d8667f..96c9cc8c86dbf022c6cbc5c3da130ad6f477d350 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2379,7 +2379,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2387,7 +2387,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/0583-Expand-world-key-API.patch b/patches/server/0583-Expand-world-key-API.patch index fa39a0a15e..764e30feeb 100644 --- a/patches/server/0583-Expand-world-key-API.patch +++ b/patches/server/0583-Expand-world-key-API.patch @@ -67,10 +67,10 @@ index b68b19f32754c9c426e711892235b469a85fefb2..3135b7254776a96c581a5f8008c9712e // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1caee283ae73943f936eddd822fbe64dc7815fdf..88074c487de90a7adc86c2345830147ac9f3ae77 100644 +index c05024b813264669d559cf18a15b1a60f427186a..443bf7db58d091348be741cb3b61a6140e6c7b9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -516,6 +516,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -517,6 +517,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/server/0585-Item-Rarity-API.patch b/patches/server/0585-Item-Rarity-API.patch index a481dc1afb..6e804eef11 100644 --- a/patches/server/0585-Item-Rarity-API.patch +++ b/patches/server/0585-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 88074c487de90a7adc86c2345830147ac9f3ae77..9c24c1f163fe6dd71239e6fb888d66a130e4596b 100644 +index 443bf7db58d091348be741cb3b61a6140e6c7b9a..adb841b8f4506fee2fd8c76339c1b5bf73093e39 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -521,6 +521,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -522,6 +522,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0591-Expose-protocol-version.patch b/patches/server/0591-Expose-protocol-version.patch index fc90422cc0..d705eb4ba4 100644 --- a/patches/server/0591-Expose-protocol-version.patch +++ b/patches/server/0591-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 9c24c1f163fe6dd71239e6fb888d66a130e4596b..9efcc26d49204255831a14115af09a8db7ad4636 100644 +index adb841b8f4506fee2fd8c76339c1b5bf73093e39..30b4ac8e5b813024b2e8fc9f173a3434b8123ca8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -535,6 +535,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -536,6 +536,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0619-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0619-additions-to-PlayerGameModeChangeEvent.patch index d5f9198d1d..05594f8fa2 100644 --- a/patches/server/0619-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0619-additions-to-PlayerGameModeChangeEvent.patch @@ -129,7 +129,7 @@ index 645a226c2e3f6dcf1c25187d006d425038b4545d..17c313b9cb45c8158cab751ffc4e0dc3 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7794964b08ac64e87fe83ebf7d7d483316172246..b069d3b3f68adbde23f69407a8803c13d15f7d9e 100644 +index 1468125664acb4594e0fe12e3b74b5b7610eceeb..a4e92b8b0a6192c3f805591eaef09da40864fb8d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2773,7 +2773,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -142,10 +142,10 @@ index 7794964b08ac64e87fe83ebf7d7d483316172246..b069d3b3f68adbde23f69407a8803c13 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 69cfbe2c3ba14d7ebf4b29a89161b6d1d00ebc91..4315db62aa597de5fa2a022513ada129ae19a3f8 100644 +index c221a8543da2e3c8fafa77fc63db7e1de222f0c9..ceb277b8c69de3ffef29784494b16d1c364707c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1485,7 +1485,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1495,7 +1495,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/server/0620-ItemStack-repair-check-API.patch b/patches/server/0620-ItemStack-repair-check-API.patch index 85b3141e7e..9f4ef58587 100644 --- a/patches/server/0620-ItemStack-repair-check-API.patch +++ b/patches/server/0620-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 9efcc26d49204255831a14115af09a8db7ad4636..73fa833ecf2e783f25f24de48b00829a813c1d19 100644 +index 30b4ac8e5b813024b2e8fc9f173a3434b8123ca8..60b2a96ebfae85762daa5ecc94d3e46f0434c9cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -536,6 +536,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -537,6 +537,14 @@ public final class CraftMagicNumbers implements UnsafeValues { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0627-Attributes-API-for-item-defaults.patch b/patches/server/0627-Attributes-API-for-item-defaults.patch index 96a30561d7..a1895ea21d 100644 --- a/patches/server/0627-Attributes-API-for-item-defaults.patch +++ b/patches/server/0627-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 73fa833ecf2e783f25f24de48b00829a813c1d19..23b322f077312ad6b40964b12dff1ac03ad1a2b8 100644 +index 60b2a96ebfae85762daa5ecc94d3e46f0434c9cc..119ef8f4db4f4aa6129b6d246fdae0be790718f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -544,6 +544,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -545,6 +545,19 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial)); } diff --git a/patches/server/0667-Add-PlayerSetSpawnEvent.patch b/patches/server/0667-Add-PlayerSetSpawnEvent.patch index f27961e337..cd968f756d 100644 --- a/patches/server/0667-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0667-Add-PlayerSetSpawnEvent.patch @@ -129,10 +129,10 @@ index 37e111589134d80fdfd7a04d624b8c1d58a2d664..53b35f003034e7f4c9dd8ccfaf773891 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 99753168f6611b9844c43766f2e54a9e721cfdbc..485cbeeae012383ec959503c8b909441c25fa4d1 100644 +index a345baf095ee766092e5b09e50a2c7d60965d995..ba0231ef9d0cc1c0e67b90457e08f0386daf4f42 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1305,9 +1305,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1315,9 +1315,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0684-Get-entity-default-attributes.patch b/patches/server/0684-Get-entity-default-attributes.patch index a11e6eebe5..082e7ea26c 100644 --- a/patches/server/0684-Get-entity-default-attributes.patch +++ b/patches/server/0684-Get-entity-default-attributes.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 23b322f077312ad6b40964b12dff1ac03ad1a2b8..c18829fb68db70296ddf546a903ed38cb12a593e 100644 +index 119ef8f4db4f4aa6129b6d246fdae0be790718f8..3691072d04c37ffdeb4d55aae2805dd2f3a3e844 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -561,6 +561,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -562,6 +562,18 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0690-Add-isCollidable-methods-to-various-places.patch b/patches/server/0690-Add-isCollidable-methods-to-various-places.patch index 1ece66e444..3094688930 100644 --- a/patches/server/0690-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0690-Add-isCollidable-methods-to-various-places.patch @@ -39,10 +39,10 @@ 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 c18829fb68db70296ddf546a903ed38cb12a593e..368693d93700390915f538de37409b5a37f916b7 100644 +index 3691072d04c37ffdeb4d55aae2805dd2f3a3e844..a0fbbcda1eccaadc7071e54968a0bf0588962d66 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -573,6 +573,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -574,6 +574,12 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } diff --git a/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch index 31523bbd5f..b39643ede6 100644 --- a/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0693-Add-Raw-Byte-Entity-Serialization.patch @@ -45,10 +45,10 @@ index f1ee89047e8cd916c762b91162842e3f981856b3..726a4ae7ab928eda3ae1c1e98f342157 // 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 368693d93700390915f538de37409b5a37f916b7..57a1b4f0e179deec31bcda23a1ebafe2c745df11 100644 +index a0fbbcda1eccaadc7071e54968a0bf0588962d66..b25b645df6be2ace22c280473f5f1a2c911ee239 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -484,6 +484,29 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -485,6 +485,29 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion()))); } diff --git a/patches/server/0757-Add-player-health-update-API.patch b/patches/server/0757-Add-player-health-update-API.patch index 91a3ca64b2..a42564ec47 100644 --- a/patches/server/0757-Add-player-health-update-API.patch +++ b/patches/server/0757-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 6ca632786ff21cdddd5333b574d8bd7211481bbc..eacb64671049def9daccc08ba63176bd1257db46 100644 +index dda1f3e9370110c08ed28fd404c8a246fa468db9..13855196d3c5405116bcd60518e8dd6b4fa0bf3f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2258,9 +2258,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2266,9 +2266,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index 6ca632786ff21cdddd5333b574d8bd7211481bbc..eacb64671049def9daccc08ba63176bd if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -2268,7 +2270,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2276,7 +2278,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end } diff --git a/patches/server/0844-Add-support-for-Proxy-Protocol.patch b/patches/server/0844-Add-support-for-Proxy-Protocol.patch index 01638b044d..1f15547b0e 100644 --- a/patches/server/0844-Add-support-for-Proxy-Protocol.patch +++ b/patches/server/0844-Add-support-for-Proxy-Protocol.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add support for Proxy Protocol diff --git a/build.gradle.kts b/build.gradle.kts -index 3c493f7eeffefee013c7837c3b46531fd20aac0f..4cc7d15f43b2547a723ea231bcf98bc13bdb85bf 100644 +index dc61ebe468740b0b9359bf6e3a6050726136941c..1919a8e9cb7c995b2a9c876ff4980bdc98977133 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,6 +20,7 @@ dependencies { @@ -15,7 +15,7 @@ index 3c493f7eeffefee013c7837c3b46531fd20aac0f..4cc7d15f43b2547a723ea231bcf98bc1 + implementation("io.netty:netty-codec-haproxy:4.1.87.Final") // Paper - Add support for proxy protocol // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion - implementation("org.ow2.asm:asm:9.3") + implementation("org.ow2.asm:asm:9.4") diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java index cfdbcd024de6ad0f9d4e83b2f912b36ef3299458..abcc3266d18f34d160eac87fdea153dce24c60b8 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java diff --git a/patches/server/0867-More-Teleport-API.patch b/patches/server/0867-More-Teleport-API.patch index a001e776a1..0f0e673633 100644 --- a/patches/server/0867-More-Teleport-API.patch +++ b/patches/server/0867-More-Teleport-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] More Teleport API public net.minecraft.server.network.ServerGamePacketListenerImpl internalTeleport(DDDFFLjava/util/Set;Z)V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5f2ca04a299b61f2cce8a4dfd060485e05153650..28a2ccb8da1c448873802e1056a08f34a8e27e68 100644 +index a603bc195462227a6737d2d3f9bc247c630c4012..a5734228fbad1b9e704573ea220084a8c142e069 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1718,11 +1718,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -74,10 +74,10 @@ index 32b9816283c8c1de929d5664733553277cf6bf3c..13dbac3b3aa7d67320203b64eaa13092 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 118a671cdeee8c5fd051192b7b72ad63f79e7eca..8c1c3f7203eb2c30f2d2e909799071c31e234db7 100644 +index 7034ca7b50c12b000abf33b14fbe216fe8b14a8c..977063eeaa1d8864a86f48f87d820d01d14e5bb6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1198,13 +1198,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1208,13 +1208,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setRotation(float yaw, float pitch) { @@ -179,7 +179,7 @@ index 118a671cdeee8c5fd051192b7b72ad63f79e7eca..8c1c3f7203eb2c30f2d2e909799071c3 location.checkFinite(); ServerPlayer entity = this.getHandle(); -@@ -1217,7 +1304,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1227,7 +1314,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } @@ -188,7 +188,7 @@ index 118a671cdeee8c5fd051192b7b72ad63f79e7eca..8c1c3f7203eb2c30f2d2e909799071c3 return false; } -@@ -1235,7 +1322,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1245,7 +1332,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // If this player is riding another entity, we must dismount before teleporting. @@ -197,7 +197,7 @@ index 118a671cdeee8c5fd051192b7b72ad63f79e7eca..8c1c3f7203eb2c30f2d2e909799071c3 // SPIGOT-5509: Wakeup, similar to riding if (this.isSleeping()) { -@@ -1251,13 +1338,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1261,13 +1348,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle(); // Close any foreign inventory diff --git a/patches/server/0881-Add-NamespacedKey-biome-methods.patch b/patches/server/0881-Add-NamespacedKey-biome-methods.patch index 81bbcfdda0..0b21a6a077 100644 --- a/patches/server/0881-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0881-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 57a1b4f0e179deec31bcda23a1ebafe2c745df11..2d5c4d4170e9a7cae9200280de3706e4be317413 100644 +index b25b645df6be2ace22c280473f5f1a2c911ee239..81ffcca62c2ebb15889d286bfe9138b86ccfe71e 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -602,6 +602,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -603,6 +603,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/server/0905-Elder-Guardian-appearance-API.patch b/patches/server/0905-Elder-Guardian-appearance-API.patch index e5f6394504..da13501a8a 100644 --- a/patches/server/0905-Elder-Guardian-appearance-API.patch +++ b/patches/server/0905-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index eee94df12d5915f5b6dcd0686dd204df82c301ad..fd8be33b4661e0d761b300b216d8bcb9cb04ff2e 100644 +index fb2c4547896fc39a78bc28261a5a6c3764527f6a..8d03824629d7a407f6b94c7ee306cce5ffcea1d3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3038,6 +3038,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3046,6 +3046,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0922-Add-Player-Warden-Warning-API.patch b/patches/server/0922-Add-Player-Warden-Warning-API.patch index 81f7ca0245..c4d561f57b 100644 --- a/patches/server/0922-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0922-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd8be33b4661e0d761b300b216d8bcb9cb04ff2e..d35cc0cab93ea3db0dddb0bdfb4c33bb516e8367 100644 +index 8d03824629d7a407f6b94c7ee306cce5ffcea1d3..bd202861639727012506415e4b90f6de808081db 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3043,6 +3043,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3051,6 +3051,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch b/patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch index 744161902a..c2d0079207 100644 --- a/patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch +++ b/patches/server/0942-Fix-explosion-yield-with-new-gamerules.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix explosion yield with new gamerules diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index f607c40cde7ac2a79ee2cfd618c0c11abbab6e46..ab8467a64202ccafa8188641eb9e3a5941331812 100644 +index 092ba9e1f5bf331d65b549d54689b337e67a6d58..4a7733c259d75bf2b3ea559fd4eba398bc56195d 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -325,13 +325,13 @@ public class Explosion { +@@ -328,13 +328,13 @@ public class Explosion { float yield; if (explode != null) { diff --git a/patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch b/patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch index 8302db7860..1eecab80fa 100644 --- a/patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch +++ b/patches/server/0946-Add-exploded-block-state-to-BlockExplodeEvent.patch @@ -35,10 +35,10 @@ index 8795c94e6b6474addddbb0b337a962e8fac46b2b..2848cb7c76e94d8349f042dc92daf013 public String toString() { diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index ab8467a64202ccafa8188641eb9e3a5941331812..a213f4098859858a73ddd601bbe8c7511972e0d5 100644 +index 4a7733c259d75bf2b3ea559fd4eba398bc56195d..5ef6b5ad4dd69a57595914c7af8422ee2f6ad054 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -331,7 +331,7 @@ public class Explosion { +@@ -334,7 +334,7 @@ public class Explosion { bukkitBlocks = event.blockList(); yield = event.getYield(); } else { diff --git a/patches/server/0950-Flying-Fall-Damage.patch b/patches/server/0950-Flying-Fall-Damage.patch index e59e188713..b864987ca5 100644 --- a/patches/server/0950-Flying-Fall-Damage.patch +++ b/patches/server/0950-Flying-Fall-Damage.patch @@ -26,10 +26,10 @@ index 875a7d2b2ecd75a51af7d158b7acee358b5082fe..1116116e4ba6c5ecec400cd371b70b9e } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d83df7194a60d713e725a38ccc2c5f293a678d06..e2b750697b59240253aefe71915882a7a7d15d9d 100644 +index 42cff4d205f36a4342e645139bcff86027239b55..b7fb3af8a32c18e1eb078224a69f2fafe203c231 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2205,6 +2205,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2213,6 +2213,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/server/0955-Add-Player-sendEquipmentChange-Map-API.patch b/patches/server/0955-Add-Player-sendEquipmentChange-Map-API.patch deleted file mode 100644 index d57a7ebad4..0000000000 --- a/patches/server/0955-Add-Player-sendEquipmentChange-Map-API.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aya <31237389+tal5@users.noreply.github.com> -Date: Fri, 20 Jan 2023 13:49:59 +0000 -Subject: [PATCH] Add Player#sendEquipmentChange(Map) API - - -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b1d01555cb919edd16d46df28d6b09661317b233..5ec97491d6c2888e360de1d53f3edcc75ccac95a 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1068,17 +1068,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - this.sendSignChange0(components, loc, dyeColor, hasGlowingText); // Paper - } - -+ // Paper start - @Override -- public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) { -+ public void sendEquipmentChange(LivingEntity entity, Map equipmentChanges) { - Preconditions.checkArgument(entity != null, "entity must not be null"); -- Preconditions.checkArgument(slot != null, "slot must not be null"); -- Preconditions.checkArgument(item != null, "item must not be null"); -+ Preconditions.checkNotNull(equipmentChanges, "equipmentChanges must not be null"); - - if (this.getHandle().connection == null) return; - -- List> equipment = Arrays.asList( -- new Pair<>(CraftEquipmentSlot.getNMS(slot), CraftItemStack.asNMSCopy(item)) -- ); -+ List> equipment = new ArrayList<>(equipmentChanges.size()); -+ for (Map.Entry entry : equipmentChanges.entrySet()) { -+ Preconditions.checkNotNull(entry.getKey(), "EquipmentSlot key must not be null"); -+ Preconditions.checkNotNull(entry.getValue(), "ItemStack value must not be null"); -+ equipment.add(new Pair<>(CraftEquipmentSlot.getNMS(entry.getKey()), CraftItemStack.asNMSCopy(entry.getValue()))); -+ } -+ // Paper end - - this.getHandle().connection.send(new ClientboundSetEquipmentPacket(entity.getEntityId(), equipment)); - } diff --git a/patches/server/0956-Win-Screen-API.patch b/patches/server/0955-Win-Screen-API.patch similarity index 88% rename from patches/server/0956-Win-Screen-API.patch rename to patches/server/0955-Win-Screen-API.patch index 07502c9fdf..0ca67bcf37 100644 --- a/patches/server/0956-Win-Screen-API.patch +++ b/patches/server/0955-Win-Screen-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5ec97491d6c2888e360de1d53f3edcc75ccac95a..03430916a8107c1b0f04d84e1dce494e2da06e7a 100644 +index d57ace8a5dd316d259644342579aeaaf1810245d..8d4e03c9c9bd41433c9a6a4a9378ed3f0681bfdf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1179,6 +1179,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1185,6 +1185,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0957-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0956-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/server/0957-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0956-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/server/0958-Fix-force-opening-enchantment-tables.patch b/patches/server/0957-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/server/0958-Fix-force-opening-enchantment-tables.patch rename to patches/server/0957-Fix-force-opening-enchantment-tables.patch diff --git a/patches/server/0959-Add-Entity-Body-Yaw-API.patch b/patches/server/0958-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/server/0959-Add-Entity-Body-Yaw-API.patch rename to patches/server/0958-Add-Entity-Body-Yaw-API.patch diff --git a/patches/server/0960-Add-missing-isFuel-Material-entries.patch b/patches/server/0959-Add-missing-isFuel-Material-entries.patch similarity index 100% rename from patches/server/0960-Add-missing-isFuel-Material-entries.patch rename to patches/server/0959-Add-missing-isFuel-Material-entries.patch diff --git a/patches/server/0962-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0960-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/server/0962-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0960-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/server/0961-Temp-fix-for-EntityType.translationKey.patch b/patches/server/0961-Temp-fix-for-EntityType.translationKey.patch deleted file mode 100644 index 1d8e910ec4..0000000000 --- a/patches/server/0961-Temp-fix-for-EntityType.translationKey.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shane Freeder -Date: Thu, 16 Feb 2023 03:19:19 +0000 -Subject: [PATCH] Temp fix for EntityType.translationKey() - - -diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 2d5c4d4170e9a7cae9200280de3706e4be317413..1244c1ca5e0907298b1ca6de538db82b2209ec4d 100644 ---- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -440,7 +440,12 @@ public final class CraftMagicNumbers implements UnsafeValues { - - @Override - public String getTranslationKey(EntityType entityType) { -- return net.minecraft.world.entity.EntityType.byString(entityType.name()).map(net.minecraft.world.entity.EntityType::getDescriptionId).orElseThrow(); -+ // Paper start -+ if (entityType.getName() == null || entityType == EntityType.UNKNOWN) { -+ throw new IllegalArgumentException("Cannot lookup translation key of entity type " + entityType); -+ } -+ return net.minecraft.world.entity.EntityType.byString(entityType.getName()).map(net.minecraft.world.entity.EntityType::getDescriptionId).orElseThrow(); -+ // Paper end - } - - @Override diff --git a/patches/server/0963-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0961-Update-the-flag-when-a-captured-block-state-is-outda.patch similarity index 100% rename from patches/server/0963-Update-the-flag-when-a-captured-block-state-is-outda.patch rename to patches/server/0961-Update-the-flag-when-a-captured-block-state-is-outda.patch diff --git a/patches/server/0964-Add-EntityFertilizeEggEvent.patch b/patches/server/0962-Add-EntityFertilizeEggEvent.patch similarity index 100% rename from patches/server/0964-Add-EntityFertilizeEggEvent.patch rename to patches/server/0962-Add-EntityFertilizeEggEvent.patch diff --git a/patches/server/0965-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0963-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 100% rename from patches/server/0965-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0963-Fix-HumanEntity-drop-not-updating-the-client-inv.patch diff --git a/patches/server/0966-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0964-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/server/0966-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0964-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0967-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0965-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/server/0967-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0965-Correctly-handle-ArmorStand-invisibility.patch diff --git a/work/Bukkit b/work/Bukkit index 37262de84b..6b3c598b97 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 37262de84b9613e61809f31691e6f9db48dce0a8 +Subproject commit 6b3c598b975cca10e0027f624dc5115e0f32a0bc diff --git a/work/CraftBukkit b/work/CraftBukkit index a50301aa51..b56426c7ae 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit a50301aa51aab7aa25869d921fa0c6a65eeda547 +Subproject commit b56426c7aeb086a363d7a8ee7f228b31249c7fb8 diff --git a/work/Spigot b/work/Spigot index 19641c7577..a2190e302d 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 19641c7577eefd3f47df12167c5e01f449bce47c +Subproject commit a2190e302dde05a08e245990d97fb09184815583