aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBjarne Koll <[email protected]>2024-07-19 19:29:31 +0200
committerGitHub <[email protected]>2024-07-19 19:29:31 +0200
commit968bdeb46f9b30aa9959b9bd9c0e89f9b657a191 (patch)
tree01fcb5b422f1b90dec4365d93e50f18b1bda3f64
parente71c1df54c8829d77f62751860e8906db7748139 (diff)
downloadPaper-968bdeb46f9b30aa9959b9bd9c0e89f9b657a191.tar.gz
Paper-968bdeb46f9b30aa9959b9bd9c0e89f9b657a191.zip
Make CraftComplexRecipe extend CraftingRecipe (#11114)
-rw-r--r--patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch27
-rw-r--r--patches/api/0482-Add-CrafterCraftEvent.patch (renamed from patches/api/0481-Add-CrafterCraftEvent.patch)0
-rw-r--r--patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch50
-rw-r--r--patches/server/1042-Add-CrafterCraftEvent.patch (renamed from patches/server/1041-Add-CrafterCraftEvent.patch)0
4 files changed, 77 insertions, 0 deletions
diff --git a/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
new file mode 100644
index 0000000000..7bf99722cc
--- /dev/null
+++ b/patches/api/0481-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
@@ -0,0 +1,27 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Bjarne Koll <[email protected]>
+Date: Fri, 19 Jul 2024 19:09:21 +0200
+Subject: [PATCH] Move CraftComplexRecipe to extend CraftingRecipe
+
+A craft complex recipe wraps a CustomRecipe, which itself is a
+CraftingRecipe.
+As such, this complex recipe should also be a crafting recipe.
+
+diff --git a/src/main/java/org/bukkit/inventory/CraftingRecipe.java b/src/main/java/org/bukkit/inventory/CraftingRecipe.java
+index 37024b4736dd3897490ca51d08cf07901b01d59f..afa3de9ab78d01c448d450d8afbc7b1e7e62754c 100644
+--- a/src/main/java/org/bukkit/inventory/CraftingRecipe.java
++++ b/src/main/java/org/bukkit/inventory/CraftingRecipe.java
+@@ -11,8 +11,11 @@ import org.jetbrains.annotations.NotNull;
+ * Represents a shaped or shapeless crafting recipe.
+ */
+ public abstract class CraftingRecipe implements Recipe, Keyed {
+- private final NamespacedKey key;
+- private final ItemStack output;
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - start
++ protected NamespacedKey key;
++ protected ItemStack output;
++ protected CraftingRecipe() {}
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - end
+ private String group = "";
+ private CraftingBookCategory category = CraftingBookCategory.MISC;
+
diff --git a/patches/api/0481-Add-CrafterCraftEvent.patch b/patches/api/0482-Add-CrafterCraftEvent.patch
index c91ab8393d..c91ab8393d 100644
--- a/patches/api/0481-Add-CrafterCraftEvent.patch
+++ b/patches/api/0482-Add-CrafterCraftEvent.patch
diff --git a/patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
new file mode 100644
index 0000000000..3e85c7f987
--- /dev/null
+++ b/patches/server/1041-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
@@ -0,0 +1,50 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Bjarne Koll <[email protected]>
+Date: Fri, 19 Jul 2024 17:27:38 +0200
+Subject: [PATCH] Move CraftComplexRecipe to extend CraftingRecipe
+
+A craft complex recipe wraps a CustomRecipe, which itself is a
+CraftingRecipe.
+As such, this complex recipe should also be a crafting recipe.
+
+diff --git a/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java b/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java
+index b57a2ba09f160409b5df9a2ae7ec159af3e4bf93..69a7e500c725e9da950df30f2cc4ff5f72e527d0 100644
+--- a/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java
++++ b/src/main/java/net/minecraft/world/item/crafting/CustomRecipe.java
+@@ -34,7 +34,12 @@ public abstract class CustomRecipe implements CraftingRecipe {
+ // CraftBukkit start
+ @Override
+ public Recipe toBukkitRecipe(NamespacedKey id) {
+- return new org.bukkit.craftbukkit.inventory.CraftComplexRecipe(id, this);
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - start
++ final org.bukkit.craftbukkit.inventory.CraftComplexRecipe recipe = new org.bukkit.craftbukkit.inventory.CraftComplexRecipe(id, this);
++ recipe.setGroup(this.getGroup());
++ recipe.setCategory(org.bukkit.craftbukkit.inventory.CraftRecipe.getCategory(this.category()));
++ return recipe;
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - end
+ }
+ // CraftBukkit end
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java
+index dcaeaa3367351eb54e2cf8e62be19ecc125a4bb4..05f42ec6177218960b22dc2c224f63cbf37d696f 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftComplexRecipe.java
+@@ -9,12 +9,17 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey;
+ import org.bukkit.inventory.ComplexRecipe;
+ import org.bukkit.inventory.ItemStack;
+
+-public class CraftComplexRecipe implements CraftRecipe, ComplexRecipe {
++public class CraftComplexRecipe extends org.bukkit.inventory.CraftingRecipe implements CraftRecipe, ComplexRecipe { // Paper - make CraftComplexRecipe extend CraftingRecipe
+
+ private final NamespacedKey key;
+ private final CustomRecipe recipe;
+
+ public CraftComplexRecipe(NamespacedKey key, CustomRecipe recipe) {
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - start
++ super();
++ super.key = key;
++ super.output = ItemStack.empty();
++ // Paper - make CraftComplexRecipe extend CraftingRecipe - end
+ this.key = key;
+ this.recipe = recipe;
+ }
diff --git a/patches/server/1041-Add-CrafterCraftEvent.patch b/patches/server/1042-Add-CrafterCraftEvent.patch
index 28eb5f5746..28eb5f5746 100644
--- a/patches/server/1041-Add-CrafterCraftEvent.patch
+++ b/patches/server/1042-Add-CrafterCraftEvent.patch