diff --git a/gradle.properties b/gradle.properties index 5e20ff503..aadf32fc4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.18.2-R0.1-SNAPSHOT -paperCommit = d4a712d957804a01eae35f3a970c134f69938731 +paperCommit = 1cfd363d326102b77b278c9ff96968794ac1f8a0 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0004-Purpur-config-files.patch b/patches/api/0004-Purpur-config-files.patch index 38058f225..3a75cd2af 100644 --- a/patches/api/0004-Purpur-config-files.patch +++ b/patches/api/0004-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index a62c27777672eff1c488517b37876e3a44a2d57d..d55ee1f892bb37836acd7204a92962a79b0b76b1 100644 +index 7a3a2ff605e06e42ba2a0263e2c50eed5c24f8e9..187d610fbd9707256d0af2f343bee95829e4efc6 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1886,6 +1886,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1899,6 +1899,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index 5a879d40f..c14f6dbc9 100644 --- a/patches/api/0005-Purpur-client-support.patch +++ b/patches/api/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index f954801f6a5d465b8545e75d7ff5af0352d6ec0d..19ae113caade6dff786c0e94b2d8a4bf0d92742c 100644 +index 8ca135d2e3682581855399e7c6d07a2d13244600..efe1db718cbdbd15167b98a30b5987bf66a35e74 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2672,4 +2672,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2696,4 +2696,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0010-AFK-API.patch b/patches/api/0010-AFK-API.patch index dbe6590c3..8dda9c72e 100644 --- a/patches/api/0010-AFK-API.patch +++ b/patches/api/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 19ae113caade6dff786c0e94b2d8a4bf0d92742c..c7ccccd264286433548931aa4e92fb71b4f371d8 100644 +index efe1db718cbdbd15167b98a30b5987bf66a35e74..d14c86066b61f28d1078fb426643fdfc0de4ab0e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2680,5 +2680,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2704,5 +2704,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0011-Bring-back-server-name.patch b/patches/api/0011-Bring-back-server-name.patch index 6a66e95dc..e85445fb4 100644 --- a/patches/api/0011-Bring-back-server-name.patch +++ b/patches/api/0011-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index c093ba024cfd951be1afc4100d899ed8f70ab003..83bd664304e972c04fb21ebad857feec7062485d 100644 +index dcfd22862c79ae01ca7707d9abf0a71cc0d4ad9d..02eda647b3edce330251c97483d861a080238e37 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2322,4 +2322,15 @@ public final class Bukkit { +@@ -2334,4 +2334,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index c093ba024cfd951be1afc4100d899ed8f70ab003..83bd664304e972c04fb21ebad857feec + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index c0b2d372ea5f86779d1f0eda79e87a2ce08af2bb..843b5c66f38864c5bb27229133e56d71b83dd91e 100644 +index 187d610fbd9707256d0af2f343bee95829e4efc6..ef034c77723ffff8eb70326d4952f8f169cb1932 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2025,4 +2025,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2038,4 +2038,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); // Paper end diff --git a/patches/api/0014-Lagging-threshold.patch b/patches/api/0014-Lagging-threshold.patch index e780ab9de..adb0fb923 100644 --- a/patches/api/0014-Lagging-threshold.patch +++ b/patches/api/0014-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 83bd664304e972c04fb21ebad857feec7062485d..bd000be1f942070ce760c7a24ade40174a1fce57 100644 +index 02eda647b3edce330251c97483d861a080238e37..3f173ab53030057aed17462c1e6345b8f1780167 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2332,5 +2332,14 @@ public final class Bukkit { +@@ -2344,5 +2344,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index 83bd664304e972c04fb21ebad857feec7062485d..bd000be1f942070ce760c7a24ade4017 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 843b5c66f38864c5bb27229133e56d71b83dd91e..f24b6b46b1963712a6ef2a5dd2a2679b75370406 100644 +index ef034c77723ffff8eb70326d4952f8f169cb1932..519067033f702620e9ccda7d3474d3acc3e14876 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2033,5 +2033,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2046,5 +2046,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0017-Player-invulnerabilities.patch b/patches/api/0017-Player-invulnerabilities.patch index 7026c491e..d20f96a6b 100644 --- a/patches/api/0017-Player-invulnerabilities.patch +++ b/patches/api/0017-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index c7ccccd264286433548931aa4e92fb71b4f371d8..4854aa5e9eafc340ef99b5b64cd351a9f0542748 100644 +index d14c86066b61f28d1078fb426643fdfc0de4ab0e..9a3dc0fc7f68f109ff9d6511a733bcfc72cd2a96 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2699,5 +2699,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2723,5 +2723,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0032-Conflict-on-change-for-adventure-deprecations.patch b/patches/api/0032-Conflict-on-change-for-adventure-deprecations.patch index 8e14e4516..c5ee3834a 100644 --- a/patches/api/0032-Conflict-on-change-for-adventure-deprecations.patch +++ b/patches/api/0032-Conflict-on-change-for-adventure-deprecations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Conflict on change for adventure deprecations diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b63a40f4a3 100644 +index 3f173ab53030057aed17462c1e6345b8f1780167..47c455b7ce0a08d9cd1732a326f7bdce20defe7c 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -415,7 +415,7 @@ public final class Bukkit { @@ -17,7 +17,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 public static int broadcastMessage(@NotNull String message) { return server.broadcastMessage(message); } -@@ -1182,7 +1182,7 @@ public final class Bukkit { +@@ -1194,7 +1194,7 @@ public final class Bukkit { * @return number of message recipients * @deprecated in favour of {@link #broadcast(net.kyori.adventure.text.Component, String)} */ @@ -26,7 +26,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 public static int broadcast(@NotNull String message, @NotNull String permission) { return server.broadcast(message, permission); } -@@ -1517,7 +1517,7 @@ public final class Bukkit { +@@ -1529,7 +1529,7 @@ public final class Bukkit { * * @see InventoryType#isCreatable() */ @@ -35,7 +35,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 @NotNull public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) { return server.createInventory(owner, type, title); -@@ -1567,7 +1567,7 @@ public final class Bukkit { +@@ -1579,7 +1579,7 @@ public final class Bukkit { * @throws IllegalArgumentException if the size is not a multiple of 9 * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} */ @@ -44,7 +44,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 @NotNull public static Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException { return server.createInventory(owner, size, title); -@@ -1594,7 +1594,7 @@ public final class Bukkit { +@@ -1606,7 +1606,7 @@ public final class Bukkit { * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} */ @NotNull @@ -53,7 +53,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 public static Merchant createMerchant(@Nullable String title) { return server.createMerchant(title); } -@@ -1718,7 +1718,7 @@ public final class Bukkit { +@@ -1730,7 +1730,7 @@ public final class Bukkit { * @deprecated in favour of {@link #motd()} */ @NotNull @@ -62,7 +62,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 public static String getMotd() { return server.getMotd(); } -@@ -1740,7 +1740,7 @@ public final class Bukkit { +@@ -1752,7 +1752,7 @@ public final class Bukkit { * @deprecated in favour of {@link #shutdownMessage()} */ @Nullable @@ -72,7 +72,7 @@ index 94353ff03683425814f73c25ae2e5507c9ae20e6..3ef38fee9957243a4e52fefdb50a53b6 return server.getShutdownMessage(); } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738801ebae5 100644 +index 519067033f702620e9ccda7d3474d3acc3e14876..ca1295dfbd1ca547ebf2a0315a45914f0cf51396 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -327,7 +327,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -84,7 +84,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 public int broadcastMessage(@NotNull String message); // Paper start -@@ -963,7 +963,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -976,7 +976,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return number of message recipients * @deprecated in favour of {@link #broadcast(net.kyori.adventure.text.Component, String)} */ @@ -93,7 +93,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 public int broadcast(@NotNull String message, @NotNull String permission); // Paper start /** -@@ -1275,7 +1275,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1288,7 +1288,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @see InventoryType#isCreatable() */ @@ -102,7 +102,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title); -@@ -1319,7 +1319,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1332,7 +1332,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @throws IllegalArgumentException if the size is not a multiple of 9 * @deprecated in favour of {@link #createInventory(InventoryHolder, int, net.kyori.adventure.text.Component)} */ @@ -111,7 +111,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException; -@@ -1342,7 +1342,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1355,7 +1355,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} */ @NotNull @@ -120,7 +120,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 Merchant createMerchant(@Nullable String title); /** -@@ -1445,7 +1445,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1458,7 +1458,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #motd()} */ @NotNull @@ -129,7 +129,7 @@ index b423fca93820e48de1318c3c18b2f7669ff5b57b..1045c360c465a878f8119925d37f4738 String getMotd(); // Paper start -@@ -1463,7 +1463,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1476,7 +1476,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #shutdownMessage()} */ @Nullable @@ -170,10 +170,10 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce0093176e73a 100644 +index 9a3dc0fc7f68f109ff9d6511a733bcfc72cd2a96..85bce5517a775af872a0e5d0a847e5137bbf8a34 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -71,7 +71,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -73,7 +73,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return the friendly name * @deprecated in favour of {@link #displayName()} */ @@ -182,7 +182,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 @NotNull public String getDisplayName(); -@@ -85,7 +85,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -87,7 +87,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param name The new display name. * @deprecated in favour of {@link #displayName(net.kyori.adventure.text.Component)} */ @@ -191,7 +191,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void setDisplayName(@Nullable String name); // Paper start -@@ -126,7 +126,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -128,7 +128,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #playerListName()} */ @NotNull @@ -200,7 +200,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public String getPlayerListName(); /** -@@ -137,7 +137,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -139,7 +139,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param name new player list name * @deprecated in favour of {@link #playerListName(net.kyori.adventure.text.Component)} */ @@ -209,7 +209,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void setPlayerListName(@Nullable String name); /** -@@ -146,7 +146,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -148,7 +148,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return player list header or null * @deprecated in favour of {@link #playerListHeader()} */ @@ -218,7 +218,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 @Nullable public String getPlayerListHeader(); -@@ -156,7 +156,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -158,7 +158,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return player list header or null * @deprecated in favour of {@link #playerListFooter()} */ @@ -227,7 +227,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 @Nullable public String getPlayerListFooter(); -@@ -166,7 +166,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -168,7 +168,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param header player list header, null for empty * @deprecated in favour of {@link #sendPlayerListHeader(net.kyori.adventure.text.Component)} */ @@ -236,7 +236,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void setPlayerListHeader(@Nullable String header); /** -@@ -175,7 +175,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -177,7 +177,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param footer player list footer, null for empty * @deprecated in favour of {@link #sendPlayerListFooter(net.kyori.adventure.text.Component)} */ @@ -245,7 +245,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void setPlayerListFooter(@Nullable String footer); /** -@@ -186,7 +186,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -188,7 +188,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param footer player list footer, null for empty * @deprecated in favour of {@link #sendPlayerListHeaderAndFooter(net.kyori.adventure.text.Component, net.kyori.adventure.text.Component)} */ @@ -254,7 +254,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer); /** -@@ -226,7 +226,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -228,7 +228,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param message kick message * @deprecated in favour of {@link #kick(net.kyori.adventure.text.Component)} */ @@ -263,7 +263,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void kickPlayer(@Nullable String message); // Paper start -@@ -711,7 +711,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -713,7 +713,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if lines is non-null and has a length less than 4 * @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List)} */ @@ -272,7 +272,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -732,7 +732,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -734,7 +734,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if lines is non-null and has a length less than 4 * @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List, org.bukkit.DyeColor)} */ @@ -281,7 +281,7 @@ index 4854aa5e9eafc340ef99b5b64cd351a9f0542748..a45e8af464c143cfae5c300aac8ce009 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -2212,7 +2212,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2236,7 +2236,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #locale()} */ @NotNull @@ -684,7 +684,7 @@ index 36bcbb3f3acedf7ebecbf6f6b358cf64af0edfb2..8046b61a62f3cfecb6cd7cb7126b8cbc /** diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java -index 77f52b117dec8b99a507995a587505229eadb89e..ba8c55f9ad20049d950813cc971c18aa9a33c172 100644 +index 67c9347c09c8fe8932ad95762aa5f6c527550cdc..3b23fe19ed92291182a1dab08321404810fe97a0 100644 --- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java @@ -59,7 +59,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste @@ -768,7 +768,7 @@ index b93b1b0428d11589605c8edf5c053369e1031076..140ac3ebdb0aab58093429faf67a31f7 /** diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java -index 9a395b138be3f6fa9a52639f0ac4070c23f7d77c..3e1cddb86fd721683220c2a2d1e016c921cc3016 100644 +index fc3456bb79f2fe1504359455b937c162780110c2..c39ca39190c8eacff9e68ef2edd54d814f06d2fb 100644 --- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java +++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java @@ -89,7 +89,7 @@ public interface Scoreboard { diff --git a/patches/api/0036-Flying-Fall-Damage-API.patch b/patches/api/0036-Flying-Fall-Damage-API.patch index c5b3f22e6..994ad3c52 100644 --- a/patches/api/0036-Flying-Fall-Damage-API.patch +++ b/patches/api/0036-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 a45e8af464c143cfae5c300aac8ce0093176e73a..3c9ac7aeac5abb424fffb1f39008c5b16f1ed207 100644 +index 85bce5517a775af872a0e5d0a847e5137bbf8a34..f2d260146f8ca9297d8ef257ffa1fdb3652a00e2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2720,5 +2720,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2744,5 +2744,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0042-Added-the-ability-to-add-combustible-items.patch b/patches/api/0042-Added-the-ability-to-add-combustible-items.patch index 0fc3d9f22..5646dda67 100644 --- a/patches/api/0042-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0042-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index acc9e8ccf76a9f5276ab896bfcd169b9a0bf71a4..6ba3272a10e357de99b75a7a7a63047f34a7fb8d 100644 +index 47c455b7ce0a08d9cd1732a326f7bdce20defe7c..689b16c3c582da7d35746b1d799426c0ecf593b7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2341,5 +2341,24 @@ public final class Bukkit { +@@ -2353,5 +2353,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index acc9e8ccf76a9f5276ab896bfcd169b9a0bf71a4..6ba3272a10e357de99b75a7a7a63047f // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 82aab5a123f16ea8447bc40e8de32229d5a2bc7e..a272285d1389eed7ab07b253a48f1defabacb187 100644 +index ca1295dfbd1ca547ebf2a0315a45914f0cf51396..4e26a6d95c1d8468c0b9cea8d49fafdc4f64d4f9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2040,5 +2040,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2053,5 +2053,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0046-Lobotomize-stuck-villagers.patch b/patches/api/0046-Lobotomize-stuck-villagers.patch index d74a4720b..1b0592425 100644 --- a/patches/api/0046-Lobotomize-stuck-villagers.patch +++ b/patches/api/0046-Lobotomize-stuck-villagers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lobotomize stuck villagers diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java -index 02ecc87a90bbd81e7d21279fac701ba41c74fd9f..5b1d1403c5cf57a797e80ecd5442499ba666f8d3 100644 +index d61855b83da0776fe910dee8cde184c720571a71..b7b7963c07f9859df980017d0515ab437f7d9d10 100644 --- a/src/main/java/org/bukkit/entity/Villager.java +++ b/src/main/java/org/bukkit/entity/Villager.java -@@ -285,4 +285,14 @@ public interface Villager extends AbstractVillager { +@@ -297,4 +297,14 @@ public interface Villager extends AbstractVillager { */ public void clearReputations(); // Paper end diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 4082d133d..6acbf7fc8 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -20,10 +20,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index 4beb35d1e5b013395f5df101e843f41c2ce174ad..3fe815647ff89d463137aff3cb08d2276dbbf827 100644 +index dd8f449dddbe0838835ae8f8d5033aa422db403d..9521971e9e597834e785b36d1657064dc1621b9b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -18,8 +18,12 @@ repositories { +@@ -9,8 +9,12 @@ plugins { } dependencies { @@ -38,7 +38,7 @@ index 4beb35d1e5b013395f5df101e843f41c2ce174ad..3fe815647ff89d463137aff3cb08d227 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -51,11 +55,26 @@ dependencies { +@@ -42,11 +46,26 @@ dependencies { } // Paper end @@ -65,7 +65,7 @@ index 4beb35d1e5b013395f5df101e843f41c2ce174ad..3fe815647ff89d463137aff3cb08d227 tasks.jar { archiveClassifier.set("dev") -@@ -68,7 +87,7 @@ tasks.jar { +@@ -59,7 +78,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -2368,7 +2368,7 @@ index f91e1a876ad4c46a7c92cead18947a941b4d9e68..d52072ab126f2fdee30bb114f3058338 this.wasOnGround = this.entity.isOnGround(); this.teleportDelay = 0; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3b1a34b34979ab436ccd33f0a85bfae537cbecb4..1b6d32d8720f66908b9f1b872115fcff081f5378 100644 +index 50fd3419deb668dda64b1056f03fb66da55e6960..c63ee396e990d11e2f613f3b5a478b486076ed56 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -670,7 +670,20 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -2425,7 +2425,7 @@ index 3b1a34b34979ab436ccd33f0a85bfae537cbecb4..1b6d32d8720f66908b9f1b872115fcff this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e4d54fdc28b6161e74626f25299b1081e6605e98..70d5757d957b3d428c2d0ba9cd676a7f69011de5 100644 +index ca876d0916b7b888e8df58fb6b115fa0ab5b79d3..93eb94fc3b1dd35efecc4615bd4f1b0b8361be2d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -4119,10 +4119,10 @@ index b1992ed5136cc7dcf04219868b94b3c37ae36b4b..5b5339cba819368f4d6b7eaf404fa59b @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5be9e73dc0314831bbaa6301fc704295dd8ed2bc..22dc604b42b068ca7b5cbf7d3920a4696c96ad34 100644 +index 16d3f2dce44fc374ec3ab5882135d06113681fb6..cca4ae47f80c45e64b4e0915d938e6e394a39b8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper +@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -4131,7 +4131,7 @@ index 5be9e73dc0314831bbaa6301fc704295dd8ed2bc..22dc604b42b068ca7b5cbf7d3920a469 private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); -@@ -1042,6 +1042,11 @@ public final class CraftServer implements Server { +@@ -1043,6 +1043,11 @@ public final class CraftServer implements Server { plugin.getDescription().getName(), "This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies." )); diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index 84d062434..fb2a6f257 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 3fe815647ff89d463137aff3cb08d2276dbbf827..5dc4106efefb5400cf5504b225e1e6e5788d14f3 100644 +index 9521971e9e597834e785b36d1657064dc1621b9b..655f4d84a9522b7af5f3fd234d8797758d0171b5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -18,7 +18,7 @@ repositories { +@@ -9,7 +9,7 @@ plugins { } dependencies { @@ -17,7 +17,7 @@ index 3fe815647ff89d463137aff3cb08d2276dbbf827..5dc4106efefb5400cf5504b225e1e6e5 // Pufferfish start implementation("io.papermc.paper:paper-mojangapi:1.18.2-R0.1-SNAPSHOT") { exclude("io.papermc.paper", "paper-api") -@@ -54,6 +54,8 @@ dependencies { +@@ -45,6 +45,8 @@ dependencies { isTransitive = false } // Paper end @@ -26,7 +26,7 @@ index 3fe815647ff89d463137aff3cb08d2276dbbf827..5dc4106efefb5400cf5504b225e1e6e5 // Pufferfish start implementation("org.yaml:snakeyaml:1.30") -@@ -87,7 +89,7 @@ tasks.jar { +@@ -78,7 +80,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -35,7 +35,7 @@ index 3fe815647ff89d463137aff3cb08d2276dbbf827..5dc4106efefb5400cf5504b225e1e6e5 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -175,7 +177,7 @@ fun TaskContainer.registerRunTask( +@@ -166,7 +168,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -221,10 +221,10 @@ index 303b70f0433ff49a3bee2a0d92c41f01aec38bee..5e9fc979daced5dad9977ab12ea019f4 private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 22dc604b42b068ca7b5cbf7d3920a4696c96ad34..a0c08d7c6f1d9f3e157c4776ba9b2536449ad52d 100644 +index cca4ae47f80c45e64b4e0915d938e6e394a39b8e..de1f35271ca1ab711d2d9301c4c695219c7e170d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -248,7 +248,7 @@ import javax.annotation.Nullable; // Paper +@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -313,7 +313,7 @@ index 80553face9c70c2a3d897681e7761df85b22d464..99597258e8e88cd9e2c901c4ac3ff7fa if (stream != null) { diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index bee38307494188800886a1622fed229b88dbd8f1..04e836cf07b64a99f87e016834f9e365b29f0cc2 100644 +index 24fefa521093448e608e217af7b88a6397a4b054..fc5b64da74230b4e95b7d85b22cb21e7421c575b 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -97,7 +97,7 @@ public class WatchdogThread extends Thread diff --git a/patches/server/0003-Purpur-config-files.patch b/patches/server/0003-Purpur-config-files.patch index d1dd01fb4..72b3f4537 100644 --- a/patches/server/0003-Purpur-config-files.patch +++ b/patches/server/0003-Purpur-config-files.patch @@ -105,10 +105,10 @@ index 8026e8ca528071bf80fecb5e96370d1d2ae799db..f16e21045f3a6b8c0446c72825b463ee this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5db94729b74419054264f0cbb4e1a7ddf455f0b7..ce07e8cd0a767a97850380c5e015108f0f1a238b 100644 +index de1f35271ca1ab711d2d9301c4c695219c7e170d..805b3c13098ccaa5ad490fff5804fbb53dd808ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -955,6 +955,7 @@ public final class CraftServer implements Server { +@@ -956,6 +956,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper @@ -116,7 +116,7 @@ index 5db94729b74419054264f0cbb4e1a7ddf455f0b7..ce07e8cd0a767a97850380c5e015108f for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -971,6 +972,7 @@ public final class CraftServer implements Server { +@@ -972,6 +973,7 @@ public final class CraftServer implements Server { } world.spigotConfig.init(); // Spigot world.paperConfig.init(); // Paper @@ -124,7 +124,7 @@ index 5db94729b74419054264f0cbb4e1a7ddf455f0b7..ce07e8cd0a767a97850380c5e015108f } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -986,6 +988,7 @@ public final class CraftServer implements Server { +@@ -987,6 +989,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper @@ -132,7 +132,7 @@ index 5db94729b74419054264f0cbb4e1a7ddf455f0b7..ce07e8cd0a767a97850380c5e015108f this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2699,6 +2702,18 @@ public final class CraftServer implements Server { +@@ -2705,6 +2708,18 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.config; } @@ -152,7 +152,7 @@ index 5db94729b74419054264f0cbb4e1a7ddf455f0b7..ce07e8cd0a767a97850380c5e015108f public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index afcc80d1f79d1743b0940c69858eacec88fec889..73f00d5ab5b3c3697b887bd160b42b1fc0ff9d79 100644 +index fbe68bd4739d9a0e7d9bc4c3d5ba8ecfd2d13954..dd8ab900bb3ff451c7c200f9cb3e3eca3e78a2c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -153,6 +153,14 @@ public class Main { diff --git a/patches/server/0004-Purpur-client-support.patch b/patches/server/0004-Purpur-client-support.patch index 463d4e249..1a3559f2a 100644 --- a/patches/server/0004-Purpur-client-support.patch +++ b/patches/server/0004-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fd8675f74ea787906b83d863940959efbf8bfac9..773ed225c8611718a74648382eb2fbd6e72c32e2 100644 +index 22452aa7eefa350c3b0d0d19a23c76c8ec811de3..ddf4345c48b9033f96ba237fc5c338578e39764b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -252,6 +252,7 @@ public class ServerPlayer extends Player { +@@ -253,6 +253,7 @@ public class ServerPlayer extends Player { public Integer clientViewDistance; // CraftBukkit end public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper @@ -17,10 +17,10 @@ index fd8675f74ea787906b83d863940959efbf8bfac9..773ed225c8611718a74648382eb2fbd6 public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0ccd1a4f90a39006de65c88416bd8c46ba7bb971..abf42afaa8ba3585d746e33220ca525b8858e4a6 100644 +index 93eb94fc3b1dd35efecc4615bd4f1b0b8361be2d..a133fd75ee9dc007d1c380771a0f7d5a1f714dcf 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3183,6 +3183,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3178,6 +3178,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index 0ccd1a4f90a39006de65c88416bd8c46ba7bb971..abf42afaa8ba3585d746e33220ca525b @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3207,6 +3208,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3202,6 +3203,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index 0ccd1a4f90a39006de65c88416bd8c46ba7bb971..abf42afaa8ba3585d746e33220ca525b try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6feeadad9aecb7d63e24d5daae115a93e39aeb3d..e83d1abd9602a8b460a21d10d5edcb75f1de0883 100644 +index 1a1fa6595c5adf074ac6caed831bf885a5345937..c0eb31d6d8d78d97655c23925b2e1c573c9ca216 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2703,4 +2703,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2789,4 +2789,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 33dd38c5b..8125fcd8b 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 773ed225c8611718a74648382eb2fbd6e72c32e2..ea7bbe0463858ebdf438f2aae40657f6682b7b06 100644 +index ddf4345c48b9033f96ba237fc5c338578e39764b..5c445772eb244bd31316be3f78305614c46b9363 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player { +@@ -1698,6 +1698,26 @@ public class ServerPlayer extends Player { } // CraftBukkit end @@ -36,7 +36,7 @@ index 773ed225c8611718a74648382eb2fbd6e72c32e2..ea7bbe0463858ebdf438f2aae40657f6 public void displayClientMessage(Component message, boolean actionBar) { this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 02dc93c394d37c9a84aa4a58d80615c403c54fb9..409598b0bf90b7faf84b3fcac52e15b0c32b789c 100644 +index 188c68d4ae46bc05c6d9c901b5c6ab883fa05ea4..1d96cb7914c93bb822968ad485d69c32121543c8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1384,6 +1384,62 @@ public abstract class PlayerList { diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 6bcb89e46..abe62493b 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -46,10 +46,10 @@ index c63ee396e990d11e2f613f3b5a478b486076ed56..ce247a8412d8adcac995d71c4a42bd93 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ea7bbe0463858ebdf438f2aae40657f6682b7b06..3abb10c70b09c63462f0090a6b576ba2d6657cb8 100644 +index 5c445772eb244bd31316be3f78305614c46b9363..38995873e2b4cf9e7ac83d074c817a0452948250 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -660,6 +660,15 @@ public class ServerPlayer extends Player { +@@ -661,6 +661,15 @@ public class ServerPlayer extends Player { this.trackStartFallingPosition(); this.trackEnteredOrExitedLavaOnVehicle(); this.advancements.flushDirty(this); @@ -66,7 +66,7 @@ index ea7bbe0463858ebdf438f2aae40657f6682b7b06..3abb10c70b09c63462f0090a6b576ba2 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index abf42afaa8ba3585d746e33220ca525b8858e4a6..009f4258731cb8053ddf1f8080db7401ac211589 100644 +index a133fd75ee9dc007d1c380771a0f7d5a1f714dcf..142437f0224e186dd74500ac88d5c1d147db3e71 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2475,6 +2475,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -4552,7 +4552,7 @@ index 056e4c2f7f632dadc0015710c032a0b718d46ff9..a6aaffc41a39be4ae1da44d54a27d324 this.level.getProfiler().pop(); this.updateActivity(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 1954e1b179539be725c291cdda16fb17c8bcea47..d88d8572f013f2487e6b523a5d7c4f3d9aef0bd4 100644 +index a6e8f0ddbf17711a10f9853ec4a01291f96f6f06..147883d571532e9d5348dc1aaee9dddc09bb81c2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -104,11 +104,30 @@ public class Zombie extends Monster { diff --git a/patches/server/0007-Configurable-entity-base-attributes.patch b/patches/server/0007-Configurable-entity-base-attributes.patch index 362ca545a..8c75e1416 100644 --- a/patches/server/0007-Configurable-entity-base-attributes.patch +++ b/patches/server/0007-Configurable-entity-base-attributes.patch @@ -1313,7 +1313,7 @@ index a6aaffc41a39be4ae1da44d54a27d324927e47d0..a91ec2e385940b12bc41d9c09819c908 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index d88d8572f013f2487e6b523a5d7c4f3d9aef0bd4..28a73680800e672ff01d9a5949e87b776c94c536 100644 +index 147883d571532e9d5348dc1aaee9dddc09bb81c2..2fbf1d77e4c9f970c003b26572bc4763feb05c40 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -119,6 +119,11 @@ public class Zombie extends Monster { @@ -1328,7 +1328,7 @@ index d88d8572f013f2487e6b523a5d7c4f3d9aef0bd4..28a73680800e672ff01d9a5949e87b77 // Purpur end @Override -@@ -596,7 +601,7 @@ public class Zombie extends Monster { +@@ -601,7 +606,7 @@ public class Zombie extends Monster { } protected void randomizeReinforcementsChance() { diff --git a/patches/server/0011-AFK-API.patch b/patches/server/0011-AFK-API.patch index 8398ab3b0..520722d55 100644 --- a/patches/server/0011-AFK-API.patch +++ b/patches/server/0011-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3abb10c70b09c63462f0090a6b576ba2d6657cb8..89189f12f467b6b97569553d3af47b14068a6a23 100644 +index 38995873e2b4cf9e7ac83d074c817a0452948250..38c2e2b4e6577dd6db84b86147a6f0c5bd0b8879 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player { +@@ -1974,8 +1974,58 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -68,7 +68,7 @@ index 3abb10c70b09c63462f0090a6b576ba2d6657cb8..89189f12f467b6b97569553d3af47b14 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 334e73a646bb02fcfef331229a07e790d9ec6c67..81de9d96c1d3b36a3616ba824878c04b4d4fa745 100644 +index 142437f0224e186dd74500ac88d5c1d147db3e71..4cfa7f9480339d1d3e3e024c6afe258dfcec31ea 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -292,6 +292,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -213,10 +213,10 @@ index 1f4b72a0aca200b2e0860449c718e6e607d2fc47..e1dd8932594780b07db13f68efa117eb if (range < 0.0D || d < range * range) { 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 e83d1abd9602a8b460a21d10d5edcb75f1de0883..a95b245ca2fa333085b0fc47f2cc5c5e96dcd075 100644 +index c0eb31d6d8d78d97655c23925b2e1c573c9ca216..75a38684e790a1d551d0b694a0b2aa8545a10f74 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -435,10 +435,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -445,10 +445,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -233,7 +233,7 @@ index e83d1abd9602a8b460a21d10d5edcb75f1de0883..a95b245ca2fa333085b0fc47f2cc5c5e for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -2709,5 +2714,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2795,5 +2800,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0012-Bring-back-server-name.patch b/patches/server/0012-Bring-back-server-name.patch index 3e39c98e5..696c2fb90 100644 --- a/patches/server/0012-Bring-back-server-name.patch +++ b/patches/server/0012-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index ebfaa8d5de5b905bd2dd7778728b8c9939d01252..8153f1aa510474d2f831799a1c149558 public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bf09a43ac97305530f7fbd4affd7d13399cd74b4..43319cce012ea8340685000f305b09ff2a5d8d60 100644 +index 805b3c13098ccaa5ad490fff5804fbb53dd808ed..be04422bdd987658f6c90b55816c277ddb72b25a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2878,4 +2878,11 @@ public final class CraftServer implements Server { +@@ -2884,4 +2884,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0015-Lagging-threshold.patch b/patches/server/0015-Lagging-threshold.patch index e8b9e2036..82c127bfb 100644 --- a/patches/server/0015-Lagging-threshold.patch +++ b/patches/server/0015-Lagging-threshold.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 54dab750cd60d55fcd9d9abf359119e79a8a5cd8..a42bea1b1b48d58e814ddf61cca97b18ef6fe60b 100644 +index 8e7f73cfdc4dd86babe6a17fe06c80a011f20d90..f4d9170b11ba4eab8763261bf4fd0288e5ebe1d6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -305,6 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop cachedSingleHashSet; // Paper -@@ -329,6 +330,7 @@ public class ServerPlayer extends Player { +@@ -330,6 +331,7 @@ public class ServerPlayer extends Player { this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper @@ -24,7 +24,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c } // Paper start - Chunk priority public BlockPos getPointInFront(double inFront) { -@@ -1005,6 +1007,12 @@ public class ServerPlayer extends Player { +@@ -1010,6 +1012,12 @@ public class ServerPlayer extends Player { } @@ -37,7 +37,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1012,7 +1020,7 @@ public class ServerPlayer extends Player { +@@ -1017,7 +1025,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); @@ -46,7 +46,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c return false; } else { if (source instanceof EntityDamageSource) { -@@ -1185,6 +1193,7 @@ public class ServerPlayer extends Player { +@@ -1190,6 +1198,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -54,7 +54,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c return this; } } -@@ -1959,6 +1968,7 @@ public class ServerPlayer extends Player { +@@ -1964,6 +1973,7 @@ public class ServerPlayer extends Player { } public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { @@ -62,7 +62,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); } -@@ -2468,9 +2478,17 @@ public class ServerPlayer extends Player { +@@ -2473,9 +2483,17 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -82,7 +82,7 @@ index 89189f12f467b6b97569553d3af47b14068a6a23..3697b25a60811e4b73d281b49e47d61c public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 81de9d96c1d3b36a3616ba824878c04b4d4fa745..cd2b66289bd3bfa62460923ce00883209451903d 100644 +index 4cfa7f9480339d1d3e3e024c6afe258dfcec31ea..3518e5748e6f380eb53abc29a9483f58278c44ec 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1983,12 +1983,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -108,7 +108,7 @@ index 81de9d96c1d3b36a3616ba824878c04b4d4fa745..cd2b66289bd3bfa62460923ce0088320 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a2af387c671f344d1b302e5aceab0be42c80756f..6ad2ccf91a384bf431e3716d374f0eb45c6c0fe8 100644 +index e4e0db7d94ab7c86f3bdd8be17f85d6ea403b313..b9438bfd5f0949995d64e7c2ca0acd43f13fec76 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1004,6 +1004,8 @@ public abstract class PlayerList { @@ -121,10 +121,10 @@ index a2af387c671f344d1b302e5aceab0be42c80756f..6ad2ccf91a384bf431e3716d374f0eb4 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a95b245ca2fa333085b0fc47f2cc5c5e96dcd075..d017e5a7f509659cdd11c10d76030f34f0c87319 100644 +index 75a38684e790a1d551d0b694a0b2aa8545a10f74..d5c3f212b78fcd453ec268a2f85bc7e8e2de1a56 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2729,5 +2729,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2815,5 +2815,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0019-Anvil-API.patch b/patches/server/0019-Anvil-API.patch index 9dcaecf34..015dc1b67 100644 --- a/patches/server/0019-Anvil-API.patch +++ b/patches/server/0019-Anvil-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c3f4db84c 100644 +index ec89526f1eabef4681fed57b74fc1bef5be4c0c1..a88efd9b435349ae00c4152f09d87ebf4f724659 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -3,7 +3,11 @@ package net.minecraft.world.inventory; @@ -20,7 +20,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c import net.minecraft.tags.BlockTags; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -@@ -40,6 +44,8 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -41,6 +45,8 @@ public class AnvilMenu extends ItemCombinerMenu { public int maximumRepairCost = 40; private CraftInventoryView bukkitEntity; // CraftBukkit end @@ -29,12 +29,12 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c public AnvilMenu(int syncId, Inventory inventory) { this(syncId, inventory, ContainerLevelAccess.NULL); -@@ -58,12 +64,14 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -59,12 +65,14 @@ public class AnvilMenu extends ItemCombinerMenu { @Override protected boolean mayPickup(Player player, boolean present) { -- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() >= 0; // Paper - fix anvil prepare event not working with 0 xp -+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() >= 0); // Paper - fix anvil prepare event not working with 0 xp // Purpur +- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() > AnvilMenu.DEFAULT_DENIED_COST && present; // CraftBukkit - allow cost 0 like a free item ++ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() > AnvilMenu.DEFAULT_DENIED_COST) && present; // CraftBukkit - allow cost 0 like a free item // Purpur } @Override @@ -45,7 +45,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c player.giveExperienceLevels(-this.cost.get()); } -@@ -114,6 +122,12 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -115,6 +123,12 @@ public class AnvilMenu extends ItemCombinerMenu { @Override public void createResult() { @@ -58,7 +58,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c ItemStack itemstack = this.inputSlots.getItem(0); this.cost.set(1); -@@ -190,7 +204,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -191,7 +205,7 @@ public class AnvilMenu extends ItemCombinerMenu { int i2 = (Integer) map1.get(enchantment); i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1); @@ -67,7 +67,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) { flag3 = true; -@@ -202,7 +216,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -203,7 +217,7 @@ public class AnvilMenu extends ItemCombinerMenu { Enchantment enchantment1 = (Enchantment) iterator1.next(); if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) { @@ -76,7 +76,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c ++i; } } -@@ -273,6 +287,13 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -274,6 +288,13 @@ public class AnvilMenu extends ItemCombinerMenu { this.cost.set(this.maximumRepairCost - 1); // CraftBukkit } @@ -90,7 +90,7 @@ index af199f8bb4e25b25653aa780fd02573b5a974904..90e1c28a5030ecf5fe1d5e6ff2a1685c if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit itemstack1 = ItemStack.EMPTY; } -@@ -295,6 +316,12 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -296,6 +317,12 @@ public class AnvilMenu extends ItemCombinerMenu { org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client this.broadcastChanges(); diff --git a/patches/server/0021-Alternative-Keepalive-Handling.patch b/patches/server/0021-Alternative-Keepalive-Handling.patch index ace0ddc7f..53c238eb3 100644 --- a/patches/server/0021-Alternative-Keepalive-Handling.patch +++ b/patches/server/0021-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f964dae53ee34a6bfc138211d1c279b7eebd9f0b..7690dd20ae88739a84d6525529ff1aefc04c674e 100644 +index 3518e5748e6f380eb53abc29a9483f58278c44ec..1de6fceb8b0e04162a320d4ae6bcb150329fc0b4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -38,7 +38,7 @@ index f964dae53ee34a6bfc138211d1c279b7eebd9f0b..7690dd20ae88739a84d6525529ff1aef if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3175,6 +3191,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3170,6 +3186,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0045-Minecart-settings-and-WASD-controls.patch b/patches/server/0045-Minecart-settings-and-WASD-controls.patch index 20701f1aa..e72f84ba3 100644 --- a/patches/server/0045-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0045-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3697b25a60811e4b73d281b49e47d61c41428d81..7cedd4545f167edb36e6c0945cbf596b574035fe 100644 +index c03f9ed7dfb53041d37de950b2ec734bde614d0e..1a85642f17e84efa2b2484990fcedf91fbbc281d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1018,6 +1018,7 @@ public class ServerPlayer extends Player { +@@ -1023,6 +1023,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0066-Add-5-second-tps-average-in-tps.patch b/patches/server/0066-Add-5-second-tps-average-in-tps.patch index 0d23a0122..961dc3cca 100644 --- a/patches/server/0066-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0066-Add-5-second-tps-average-in-tps.patch @@ -69,10 +69,10 @@ index 4395d8260c4ca727515d9c907cb79da2d36642b2..d011944a64c4e61b7285325a37ab05a5 lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur tickSection = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a5807506dede68d948b4536d01d64391188b9797..b3fb17f2f9bb50612a0f6a354e8412422f37ee95 100644 +index 7e8cecb3eca0b6d7d1dc7e3992cb069694332fd6..135feed0e4fcccd1c694aa89cd18f0969e49d18a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2656,6 +2656,7 @@ public final class CraftServer implements Server { +@@ -2662,6 +2662,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { diff --git a/patches/server/0072-Configurable-jockey-options.patch b/patches/server/0072-Configurable-jockey-options.patch index d428d0106..fd978ddc5 100644 --- a/patches/server/0072-Configurable-jockey-options.patch +++ b/patches/server/0072-Configurable-jockey-options.patch @@ -57,7 +57,7 @@ index ff84c706d42bc6859faaa9302ba688f43ddcb537..640c75c2cf7ec1f1bc514d29ac1f929c public static boolean checkHuskSpawnRules(EntityType type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 28a73680800e672ff01d9a5949e87b776c94c536..36b3a712ba20e1f70e01f723185c67663e93371d 100644 +index 2fbf1d77e4c9f970c003b26572bc4763feb05c40..4865f90672dcfa164d62a1aa8ee040f00b5b46cf 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -124,6 +124,18 @@ public class Zombie extends Monster { @@ -79,7 +79,7 @@ index 28a73680800e672ff01d9a5949e87b776c94c536..36b3a712ba20e1f70e01f723185c6766 // Purpur end @Override -@@ -535,19 +547,20 @@ public class Zombie extends Monster { +@@ -540,19 +552,20 @@ public class Zombie extends Monster { if (object instanceof Zombie.ZombieGroupData) { Zombie.ZombieGroupData entityzombie_groupdatazombie = (Zombie.ZombieGroupData) object; @@ -106,7 +106,7 @@ index 28a73680800e672ff01d9a5949e87b776c94c536..36b3a712ba20e1f70e01f723185c6766 Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level); entitychicken1.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F); -@@ -555,6 +568,7 @@ public class Zombie extends Monster { +@@ -560,6 +573,7 @@ public class Zombie extends Monster { entitychicken1.setChickenJockey(true); this.startRiding(entitychicken1); world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit diff --git a/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index ba33826af..0caf6a0f5 100644 --- a/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0080-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7cedd4545f167edb36e6c0945cbf596b574035fe..9329d24821021cb48789f30f267d53875714b922 100644 +index 1a85642f17e84efa2b2484990fcedf91fbbc281d..10806ceb46832aa80ffaa1df45c7ec0d1c112dd7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2538,4 +2538,26 @@ public class ServerPlayer extends Player { +@@ -2543,4 +2543,26 @@ public class ServerPlayer extends Player { // CraftBukkit end public final int getViewDistance() { throw new UnsupportedOperationException("Use PlayerChunkLoader"); } // Paper - placeholder diff --git a/patches/server/0089-Allow-anvil-colors.patch b/patches/server/0089-Allow-anvil-colors.patch index 674630262..37f565d01 100644 --- a/patches/server/0089-Allow-anvil-colors.patch +++ b/patches/server/0089-Allow-anvil-colors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow anvil colors diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 90e1c28a5030ecf5fe1d5e6ff2a1685c3f4db84c..043c938baab885ce00e96985159bbd4b233e70fa 100644 +index a88efd9b435349ae00c4152f09d87ebf4f724659..75e1f6b593a23c88f34cc25db580930066bfb7bb 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -3,6 +3,9 @@ package net.minecraft.world.inventory; @@ -18,7 +18,7 @@ index 90e1c28a5030ecf5fe1d5e6ff2a1685c3f4db84c..043c938baab885ce00e96985159bbd4b import net.minecraft.nbt.IntTag; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.protocol.game.ClientboundContainerSetDataPacket; -@@ -275,6 +278,17 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -276,6 +279,17 @@ public class AnvilMenu extends ItemCombinerMenu { } else if (!this.itemName.equals(itemstack.getHoverName().getString())) { b1 = 1; i += b1; diff --git a/patches/server/0117-Add-boat-fall-damage-config.patch b/patches/server/0117-Add-boat-fall-damage-config.patch index 000d52151..74c8aabaa 100644 --- a/patches/server/0117-Add-boat-fall-damage-config.patch +++ b/patches/server/0117-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9329d24821021cb48789f30f267d53875714b922..4dd87157e667f9d6312713ea254a5f76597dd0b6 100644 +index 10806ceb46832aa80ffaa1df45c7ec0d1c112dd7..b5beb009479ad743be64ae48b278d0864e163ed4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1018,7 +1018,16 @@ public class ServerPlayer extends Player { +@@ -1023,7 +1023,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index e08f852cc..056d8b837 100644 --- a/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fe5191550b0472a33122f3378142cdef83c89ce5..4701f86c3ef5ccf0bc5e9a748f80d3aa703ccc3e 100644 +index 24934362a424365c0c17ad15cb70288cc0f07fe4..441599f0078f99498aa409d500518366be18bade 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1018,22 +1018,22 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index fe5191550b0472a33122f3378142cdef83c89ce5..4701f86c3ef5ccf0bc5e9a748f80d3aa public void broadcastAll(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d017e5a7f509659cdd11c10d76030f34f0c87319..02a237153090b27ce6b2e734812348a02f90d088 100644 +index d5c3f212b78fcd453ec268a2f85bc7e8e2de1a56..744e2805ce0bc0126af8fcaabaa78e0c9cb1e186 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1643,7 +1643,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1729,7 +1729,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0127-Implement-TPSBar.patch b/patches/server/0127-Implement-TPSBar.patch index 9c55721a0..1e7318aa6 100644 --- a/patches/server/0127-Implement-TPSBar.patch +++ b/patches/server/0127-Implement-TPSBar.patch @@ -41,10 +41,10 @@ index 0df8172bc3a5621c2d23b036ce2e5879650757b5..d185dfc8194aad9ed7d1a55817bb4c52 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4dd87157e667f9d6312713ea254a5f76597dd0b6..80b67eb9c80db9bff4a5b697269fb5f971413f9c 100644 +index b5beb009479ad743be64ae48b278d0864e163ed4..152d4f5be6ec00e3a38aeeaf89fbfddfafdc21c3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -254,6 +254,7 @@ public class ServerPlayer extends Player { +@@ -255,6 +255,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -52,7 +52,7 @@ index 4dd87157e667f9d6312713ea254a5f76597dd0b6..80b67eb9c80db9bff4a5b697269fb5f9 public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper -@@ -475,6 +476,7 @@ public class ServerPlayer extends Player { +@@ -476,6 +477,7 @@ public class ServerPlayer extends Player { } } @@ -60,7 +60,7 @@ index 4dd87157e667f9d6312713ea254a5f76597dd0b6..80b67eb9c80db9bff4a5b697269fb5f9 } @Override -@@ -535,6 +537,7 @@ public class ServerPlayer extends Player { +@@ -536,6 +538,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -68,7 +68,7 @@ index 4dd87157e667f9d6312713ea254a5f76597dd0b6..80b67eb9c80db9bff4a5b697269fb5f9 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2568,5 +2571,13 @@ public class ServerPlayer extends Player { +@@ -2573,5 +2576,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig.disableTeleportationSuffocationCheck); } } @@ -83,7 +83,7 @@ index 4dd87157e667f9d6312713ea254a5f76597dd0b6..80b67eb9c80db9bff4a5b697269fb5f9 // Purpur end } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4701f86c3ef5ccf0bc5e9a748f80d3aa703ccc3e..19abf99c384f50840a141de1b3f4d823ebd33f74 100644 +index 441599f0078f99498aa409d500518366be18bade..631c7d050aad2ffc58ac2066168502d2485c8673 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -493,6 +493,7 @@ public abstract class PlayerList { diff --git a/patches/server/0134-Add-EntityTeleportHinderedEvent.patch b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch index a98e248d2..2d40883d6 100644 --- a/patches/server/0134-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch @@ -93,10 +93,10 @@ index 318456621faf484dbad479b2873ae647e0c0f037..83c8889137e566322ec4337b0e6d8b94 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 43a764402662169b0b099b795e30169e8d7950d4..20b42ea8b055ad37417ca73dbd616e1ace761c45 100644 +index 744e2805ce0bc0126af8fcaabaa78e0c9cb1e186..e7ca83bdc9114e9084b2155e52b5c737ea07d553 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1060,6 +1060,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1146,6 +1146,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle()) { diff --git a/patches/server/0137-Fix-stuck-in-portals.patch b/patches/server/0137-Fix-stuck-in-portals.patch index 79059d297..b9ff5b86a 100644 --- a/patches/server/0137-Fix-stuck-in-portals.patch +++ b/patches/server/0137-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 80b67eb9c80db9bff4a5b697269fb5f971413f9c..af74a78ae1ea72e2a303821231c0537d40dd33b2 100644 +index 152d4f5be6ec00e3a38aeeaf89fbfddfafdc21c3..ceb6d67079819b5ef293b030875666eb8de7095c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1171,6 +1171,7 @@ public class ServerPlayer extends Player { +@@ -1176,6 +1176,7 @@ public class ServerPlayer extends Player { playerlist.sendPlayerPermissionLevel(this); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); diff --git a/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch index fd5a10950..aa9579cc1 100644 --- a/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index af74a78ae1ea72e2a303821231c0537d40dd33b2..0ffedd9d501b4ca0e5965420069af2f92bbc65d0 100644 +index ceb6d67079819b5ef293b030875666eb8de7095c..ac93883c891c641169434e883387388394b39cbd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1321,7 +1321,7 @@ public class ServerPlayer extends Player { +@@ -1326,7 +1326,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest(this); }); diff --git a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch index 276905574..1bdad5c77 100644 --- a/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch @@ -27,10 +27,10 @@ index 514cc0e8805045549eacde6c280859aa2dc4a91d..f43fe5becfdbe9973b1cfa43c71bbad2 ++i; } else if (targets.size() == 1) { diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 043c938baab885ce00e96985159bbd4b233e70fa..3f54c3dcb58cfb3e08149bd09c820f379b9654ba 100644 +index 75e1f6b593a23c88f34cc25db580930066bfb7bb..6cb145ce59d26d8c743962166ff7478887dd4eef 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -@@ -207,7 +207,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -208,7 +208,7 @@ public class AnvilMenu extends ItemCombinerMenu { int i2 = (Integer) map1.get(enchantment); i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1); @@ -39,7 +39,7 @@ index 043c938baab885ce00e96985159bbd4b233e70fa..3f54c3dcb58cfb3e08149bd09c820f37 if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) { flag3 = true; -@@ -219,7 +219,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -220,7 +220,7 @@ public class AnvilMenu extends ItemCombinerMenu { Enchantment enchantment1 = (Enchantment) iterator1.next(); if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) { @@ -48,7 +48,7 @@ index 043c938baab885ce00e96985159bbd4b233e70fa..3f54c3dcb58cfb3e08149bd09c820f37 ++i; } } -@@ -331,7 +331,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -332,7 +332,7 @@ public class AnvilMenu extends ItemCombinerMenu { sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client this.broadcastChanges(); // Purpur start diff --git a/patches/server/0174-Configurable-broadcast-settings.patch b/patches/server/0174-Configurable-broadcast-settings.patch index 70fddfae5..f49d0cbc6 100644 --- a/patches/server/0174-Configurable-broadcast-settings.patch +++ b/patches/server/0174-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index 048413655ef636b3dae687452fc5a95780058a22..f7f10a523cd08fddf1f14968cb1abd4a // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0ffedd9d501b4ca0e5965420069af2f92bbc65d0..0e00b778eb012f51188b1c9a1240e5a4f1704e75 100644 +index ac93883c891c641169434e883387388394b39cbd..7eeaecfe6e1619d48af59982c75352c634ebc123 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -910,6 +910,7 @@ public class ServerPlayer extends Player { +@@ -915,6 +915,7 @@ public class ServerPlayer extends Player { }); Team scoreboardteambase = this.getTeam(); diff --git a/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch index 73f37671e..508ac5602 100644 --- a/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0184-Make-anvil-cumulative-cost-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make anvil cumulative cost configurable diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -index 3f54c3dcb58cfb3e08149bd09c820f379b9654ba..1c7f18e2ddc6b3c4a91b0545374f49ebcc6baaa0 100644 +index 6cb145ce59d26d8c743962166ff7478887dd4eef..605489718d38b0888c6d1954ab4ed2d67af51664 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java -@@ -340,7 +340,7 @@ public class AnvilMenu extends ItemCombinerMenu { +@@ -341,7 +341,7 @@ public class AnvilMenu extends ItemCombinerMenu { } public static int calculateIncreasedRepairCost(int cost) { diff --git a/patches/server/0192-Flying-Fall-Damage-API.patch b/patches/server/0192-Flying-Fall-Damage-API.patch index 0c210e12b..40822c4f3 100644 --- a/patches/server/0192-Flying-Fall-Damage-API.patch +++ b/patches/server/0192-Flying-Fall-Damage-API.patch @@ -26,10 +26,10 @@ index b83695996d966310a2fe687baeaed66019754998..eda18bda0b8332c5b1d9c260e748cca8 } 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 2cf93ddb6a061fb4361f72a2df629d90f1bf27d1..ef501f2af9056ccecb861f4c916dedc08c1faafb 100644 +index e7ca83bdc9114e9084b2155e52b5c737ea07d553..da8c68927a190bc9ad4aac01737d78bcdaad38da 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2754,5 +2754,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2840,5 +2840,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0214-Add-compass-command.patch b/patches/server/0214-Add-compass-command.patch index 34f3f54d0..ba3bcdd8e 100644 --- a/patches/server/0214-Add-compass-command.patch +++ b/patches/server/0214-Add-compass-command.patch @@ -17,10 +17,10 @@ index 9e7cc8bf867b6e4f86b55e1f1d3a1cb6233c90f1..7c30d8d61a8e82d8a1f61451090e9bbb if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0e00b778eb012f51188b1c9a1240e5a4f1704e75..a5617b0f34e842302e86be3c46479855a2d6d5e1 100644 +index 7eeaecfe6e1619d48af59982c75352c634ebc123..bfdf0857a130948378c67936f36be2a3d4c1b542 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -255,6 +255,7 @@ public class ServerPlayer extends Player { +@@ -256,6 +256,7 @@ public class ServerPlayer extends Player { public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur private boolean tpsBar = false; // Purpur @@ -28,7 +28,7 @@ index 0e00b778eb012f51188b1c9a1240e5a4f1704e75..a5617b0f34e842302e86be3c46479855 public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper -@@ -477,6 +478,7 @@ public class ServerPlayer extends Player { +@@ -478,6 +479,7 @@ public class ServerPlayer extends Player { } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index 0e00b778eb012f51188b1c9a1240e5a4f1704e75..a5617b0f34e842302e86be3c46479855 } @Override -@@ -538,6 +540,7 @@ public class ServerPlayer extends Player { +@@ -539,6 +541,7 @@ public class ServerPlayer extends Player { this.getBukkitEntity().setExtraData(nbt); // CraftBukkit nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index 0e00b778eb012f51188b1c9a1240e5a4f1704e75..a5617b0f34e842302e86be3c46479855 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2581,5 +2584,13 @@ public class ServerPlayer extends Player { +@@ -2586,5 +2589,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0227-Extended-OfflinePlayer-API.patch b/patches/server/0227-Extended-OfflinePlayer-API.patch index ebb25a6dc..c019478c9 100644 --- a/patches/server/0227-Extended-OfflinePlayer-API.patch +++ b/patches/server/0227-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index 1f2bc88d4570c6ef00e67a772b745e0b0c98e051..f505e871a9836503377f168c31c1f09f + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ef501f2af9056ccecb861f4c916dedc08c1faafb..e8be878dd0893300b6834531e418705f2268c01d 100644 +index da8c68927a190bc9ad4aac01737d78bcdaad38da..db1d1ab8382cd4c2e4c1969b1e7d8faf422b7925 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2017,6 +2017,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2103,6 +2103,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0228-Added-the-ability-to-add-combustible-items.patch b/patches/server/0228-Added-the-ability-to-add-combustible-items.patch index 92fbfed3f..a2fc42474 100644 --- a/patches/server/0228-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0228-Added-the-ability-to-add-combustible-items.patch @@ -51,10 +51,10 @@ index 99c207457ec9d1a1b7d9e7becfcc8aae383e93ae..158945281178c80495f1dc2125ea21a2 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4eb628e3102d16a63a586fadb83af28ccef5cbcb..9eeda0574d05a8ae916de2272f62e8846201361e 100644 +index 135feed0e4fcccd1c694aa89cd18f0969e49d18a..b76c09b3472d2ac213973a3d6b3fcd5a494204a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1420,6 +1420,19 @@ public final class CraftServer implements Server { +@@ -1426,6 +1426,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/server/0235-Halloween-options-and-optimizations.patch b/patches/server/0235-Halloween-options-and-optimizations.patch index f67e9ba20..f60b77c91 100644 --- a/patches/server/0235-Halloween-options-and-optimizations.patch +++ b/patches/server/0235-Halloween-options-and-optimizations.patch @@ -43,10 +43,10 @@ index 193622015c6d3dbff787061e13fa098a287bce0c..1c48ac2f0b6cfee952ce5e76d7d88603 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 695ff6b65114a2aea761e55d61bea6d49d804f2e..53513758072a117e2938ba9735b99247abf874d8 100644 +index bc92a419f15d20f741dc6b7b218018c0c06ae6c2..9ece6bea001aa74b4f2c2971d6f27dc4b1168045 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -@@ -575,11 +575,7 @@ public class Zombie extends Monster { +@@ -580,11 +580,7 @@ public class Zombie extends Monster { } if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) { @@ -60,7 +60,7 @@ index 695ff6b65114a2aea761e55d61bea6d49d804f2e..53513758072a117e2938ba9735b99247 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8f89e57f08570f5c93b7b764c60ae6180a1fd096..06f7a566d0f47a4f3345f9348869e2bd841db2a7 100644 +index 63fdfe796bc828046a54a8dd522a834a12860105..f111aa6439f785cc9ea396efe50ab06a159ee1b2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1525,6 +1525,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0242-Signs-allow-color-codes.patch b/patches/server/0242-Signs-allow-color-codes.patch index bc7a11a88..93226cf2a 100644 --- a/patches/server/0242-Signs-allow-color-codes.patch +++ b/patches/server/0242-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a5617b0f34e842302e86be3c46479855a2d6d5e1..a8e5d4dff9ecd250a1d8991be9e4ee88bf7b28dd 100644 +index bfdf0857a130948378c67936f36be2a3d4c1b542..f280aaa6d1ed35ffb5f746631c36467b63a7bd56 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player { +@@ -1501,6 +1501,7 @@ public class ServerPlayer extends Player { @Override public void openTextEdit(SignBlockEntity sign) { @@ -17,10 +17,10 @@ index a5617b0f34e842302e86be3c46479855a2d6d5e1..a8e5d4dff9ecd250a1d8991be9e4ee88 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 99b78000f2fbdf1b84f0d4d806cf80108ef9cac0..868149c95340d72bbbb266e6cac5e59a76c13f21 100644 +index 16428e0163924057b5256c4e755ee64194facfd2..460282a6ca0c997879a9bea97568d7146c047719 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3199,11 +3199,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3194,11 +3194,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end diff --git a/patches/server/0264-Lobotomize-stuck-villagers.patch b/patches/server/0264-Lobotomize-stuck-villagers.patch index 71b131c93..0a134027f 100644 --- a/patches/server/0264-Lobotomize-stuck-villagers.patch +++ b/patches/server/0264-Lobotomize-stuck-villagers.patch @@ -95,10 +95,10 @@ index 59bfaf90d448223c5aee9b18d2915539f54f0d4b..b5db8212aa6b20fbaa8ea7dbcd14c9cc if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index dbc1ea96223675fbe03585598a9c7f51acc61d2e..dde09a8495270d9038f55974e252576095259ca9 100644 +index 6de6553e79c9729ef49e2a544730b1ac1020dff2..1c9f3b42cbd0aa423e2f7b96ea9c68e2a3260ec6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -187,4 +187,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -193,4 +193,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { getHandle().getGossips().getReputations().clear(); } // Paper end @@ -111,7 +111,7 @@ index dbc1ea96223675fbe03585598a9c7f51acc61d2e..dde09a8495270d9038f55974e2525760 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e4e75914042b6e1024662ef59b2190865a879759..973cec1676fe533a8e4aa268aa15dda135d43367 100644 +index a5ec57fc61835e9dd69bc2222084e13018c459bb..2dc8f909431735aa31dd9ac93cba93dbab98b405 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -2666,6 +2666,8 @@ public class PurpurWorldConfig {