aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch')
-rw-r--r--patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch b/patches/server/1040-Move-CraftComplexRecipe-to-extend-CraftingRecipe.patch
new file mode 100644
index 0000000000..3e85c7f987
--- /dev/null
+++ b/patches/server/1040-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;
+ }