diff --git a/gradle.properties b/gradle.properties index 473655d7b..6cc5f0b64 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.6-R0.1-SNAPSHOT mcVersion = 1.20.6 -paperCommit = 0ad09de75bfb1db2a84bb760cdee09b06d609bb3 +paperCommit = 9bf48555241dc03246c67258fe66eaf6c7a4a044 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0010-Bring-back-server-name.patch b/patches/api/0010-Bring-back-server-name.patch index b598cb8fc..939ac10be 100644 --- a/patches/api/0010-Bring-back-server-name.patch +++ b/patches/api/0010-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 71f1c361ebccbe83193c37ec3a90faa4085001c3..20f10b2cfb6f2b1ce7da61a15f7dc4a68b7c5cde 100644 +index 9a219b255b63f10005fc68faacb771dd32f61ac2..203581e1b00241c519f20dac4936d06f95122ea4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2907,4 +2907,15 @@ public final class Bukkit { +@@ -2913,4 +2913,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index 71f1c361ebccbe83193c37ec3a90faa4085001c3..20f10b2cfb6f2b1ce7da61a15f7dc4a6 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 607ba7cb902d7053cb570d8f3676ecbadbe56daf..9ca26866e902aa6b70f9878bb16cdc558f9138f7 100644 +index bb96d4266f83029eda3e847860302cd9d14e852e..ae752aebf35d0f1a861086c56d30e6c86c43b599 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2554,4 +2554,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2558,4 +2558,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean isOwnedByCurrentRegion(@NotNull Entity entity); // Paper end - Folia region threading API diff --git a/patches/api/0012-Lagging-threshold.patch b/patches/api/0012-Lagging-threshold.patch index 38afefd44..ab3349f93 100644 --- a/patches/api/0012-Lagging-threshold.patch +++ b/patches/api/0012-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 20f10b2cfb6f2b1ce7da61a15f7dc4a68b7c5cde..07a79b10ef8b7fa6fd22fbb2652d35ffc9170bfb 100644 +index 203581e1b00241c519f20dac4936d06f95122ea4..49bf78441db33ad0fbc1ca5dfb42859727ea23f8 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2917,5 +2917,14 @@ public final class Bukkit { +@@ -2923,5 +2923,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index 20f10b2cfb6f2b1ce7da61a15f7dc4a68b7c5cde..07a79b10ef8b7fa6fd22fbb2652d35ff // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 9ca26866e902aa6b70f9878bb16cdc558f9138f7..f6d1d39a3988aee95176badf47c127c82d3aa207 100644 +index ae752aebf35d0f1a861086c56d30e6c86c43b599..86fceb2ad3ba00400f65493d669fd4f4423d45ac 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2562,5 +2562,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2566,5 +2566,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0019-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/api/0019-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index 0465887ee..6a4e4528f 100644 --- a/patches/api/0019-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/api/0019-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient diff --git a/src/main/java/org/bukkit/inventory/RecipeChoice.java b/src/main/java/org/bukkit/inventory/RecipeChoice.java -index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d9fa66a26 100644 +index 1cd6601c9d2e86ef850011fcb9e59811207b4af7..5ec7d9dab1935bb743e3264d9f7390795fd9f55c 100644 --- a/src/main/java/org/bukkit/inventory/RecipeChoice.java +++ b/src/main/java/org/bukkit/inventory/RecipeChoice.java @@ -10,6 +10,7 @@ import java.util.function.Predicate; @@ -16,7 +16,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d /** * Represents a potential item match within a recipe. All choices within a -@@ -157,6 +158,7 @@ public interface RecipeChoice extends Predicate, Cloneable { +@@ -180,6 +181,7 @@ public interface RecipeChoice extends Predicate, Cloneable { public static class ExactChoice implements RecipeChoice { private List choices; @@ -24,7 +24,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d public ExactChoice(@NotNull ItemStack stack) { this(Arrays.asList(stack)); -@@ -206,6 +208,7 @@ public interface RecipeChoice extends Predicate, Cloneable { +@@ -229,6 +231,7 @@ public interface RecipeChoice extends Predicate, Cloneable { @Override public boolean test(@NotNull ItemStack t) { @@ -32,7 +32,7 @@ index c143b0d8b97d514566bac8413d0346cf50822aeb..032a21766ce91471cb7d91b663d70e0d for (ItemStack match : choices) { if (t.isSimilar(match)) { return true; -@@ -215,6 +218,17 @@ public interface RecipeChoice extends Predicate, Cloneable { +@@ -238,6 +241,17 @@ public interface RecipeChoice extends Predicate, Cloneable { return false; } diff --git a/patches/api/0031-Added-the-ability-to-add-combustible-items.patch b/patches/api/0031-Added-the-ability-to-add-combustible-items.patch index eb734766b..617e78ecc 100644 --- a/patches/api/0031-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0031-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 07a79b10ef8b7fa6fd22fbb2652d35ffc9170bfb..b99e7e0076448a8b81e3d2d75a451c76f01fc12d 100644 +index 49bf78441db33ad0fbc1ca5dfb42859727ea23f8..0b298161d8b94d655113328ebc0cd19a65619c72 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2926,5 +2926,24 @@ public final class Bukkit { +@@ -2932,5 +2932,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index 07a79b10ef8b7fa6fd22fbb2652d35ffc9170bfb..b99e7e0076448a8b81e3d2d75a451c76 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f6d1d39a3988aee95176badf47c127c82d3aa207..d39f53e9bb31195976993bb6390df6ff54085711 100644 +index 86fceb2ad3ba00400f65493d669fd4f4423d45ac..cecf7b49e3858359ae7eaa4318180d7f11728a7a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2569,5 +2569,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2573,5 +2573,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0038-Debug-Marker-API.patch b/patches/api/0038-Debug-Marker-API.patch index e69f06c97..7621add2d 100644 --- a/patches/api/0038-Debug-Marker-API.patch +++ b/patches/api/0038-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b99e7e0076448a8b81e3d2d75a451c76f01fc12d..75fe3bdbd44440c7cbea45dbd248e260f322dbb2 100644 +index 0b298161d8b94d655113328ebc0cd19a65619c72..83b979fbb8c0dd64f0a19feef654af2b165bd603 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2945,5 +2945,89 @@ public final class Bukkit { +@@ -2951,5 +2951,89 @@ public final class Bukkit { public static void removeFuel(@NotNull Material material) { server.removeFuel(material); } @@ -99,10 +99,10 @@ index b99e7e0076448a8b81e3d2d75a451c76f01fc12d..75fe3bdbd44440c7cbea45dbd248e260 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d39f53e9bb31195976993bb6390df6ff54085711..ec8b9b2cbe65838a194281f7d76d0e17defc5211 100644 +index cecf7b49e3858359ae7eaa4318180d7f11728a7a..916db0d6096338c4f1b8707048eb38b50a2b027d 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2584,5 +2584,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2588,5 +2588,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param material The material that will no longer be a fuel */ public void removeFuel(@NotNull Material material); diff --git a/patches/server/0011-Bring-back-server-name.patch b/patches/server/0011-Bring-back-server-name.patch index 3319bde81..f78802dbb 100644 --- a/patches/server/0011-Bring-back-server-name.patch +++ b/patches/server/0011-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index 9d10cdacb3aed2c00dc60aeb6f2cbeb48905e21f..842f382de43df5d5c321422372ec30cc 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 97e7f9d08dd41630e8ebf610f23d5b37b820db1b..7edceb03bf1db24892dd311c31edb75a223011f0 100644 +index 76c2c7d104cef8527641883e094a5c09a4f56092..5609a6588c0f4271f1b1416604ba88e24deb7e3d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3279,4 +3279,11 @@ public final class CraftServer implements Server { +@@ -3276,4 +3276,11 @@ public final class CraftServer implements Server { return this.potionBrewer; } // Paper end diff --git a/patches/server/0013-Lagging-threshold.patch b/patches/server/0013-Lagging-threshold.patch index e8eff07cf..c1b79a5a3 100644 --- a/patches/server/0013-Lagging-threshold.patch +++ b/patches/server/0013-Lagging-threshold.patch @@ -25,10 +25,10 @@ index 537726b345038e045172a42464ea166353515868..5aabb74e0fd49a7ab97d324f9fa7bfc2 } // Paper end - further improve server tick loop diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7edceb03bf1db24892dd311c31edb75a223011f0..8e8f6e8f867b9dd63b91a91342629ba40e8e7374 100644 +index 5609a6588c0f4271f1b1416604ba88e24deb7e3d..1318db17fc43183b19afccc911657b24ff5f2e9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -3285,5 +3285,10 @@ public final class CraftServer implements Server { +@@ -3282,5 +3282,10 @@ public final class CraftServer implements Server { public String getServerName() { return this.getProperties().serverName; } diff --git a/patches/server/0090-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0090-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch index 4358026f2..bf8146bf9 100644 --- a/patches/server/0090-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch +++ b/patches/server/0090-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch @@ -30,7 +30,7 @@ index e314f36951e9ac15c57137e24fce8c410373130a..21dfb8e91c5427ac12133de2c05d923d int i = aitemstack.length; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -index 6ba29875d78ede4aa7978ff689e588f7fed11528..4afec4387971612f62b825e9e56c2ead7424a7c2 100644 +index c76c78bb7757d407102271463e14716a1b012deb..458b91582a22fb1e6deb1551c38d2a10e33e24f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java @@ -29,6 +29,7 @@ public interface CraftRecipe extends Recipe { @@ -38,6 +38,6 @@ index 6ba29875d78ede4aa7978ff689e588f7fed11528..4afec4387971612f62b825e9e56c2ead stack = new Ingredient(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> new net.minecraft.world.item.crafting.Ingredient.ItemValue(CraftItemStack.asNMSCopy(mat)))); stack.exact = true; + stack.predicate = ((RecipeChoice.ExactChoice) bukkit).getPredicate(); // Purpur - } else { - throw new IllegalArgumentException("Unknown recipe stack instance " + bukkit); - } + // Paper start - support "empty" choices + } else if (bukkit == RecipeChoice.empty()) { + stack = Ingredient.EMPTY;