From f7831fbe9958ab7be70ff501c64f30c1aeeaf4b5 Mon Sep 17 00:00:00 2001 From: Vincent Lee Date: Mon, 19 Jun 2017 18:49:21 -0500 Subject: [PATCH] Fix shapeless recipes not being able to use NBT on output, and fixed issue with null groups. --- .../net/minecraftforge/common/crafting/CraftingHelper.java | 2 +- src/main/java/net/minecraftforge/oredict/ShapedOreRecipe.java | 3 ++- .../java/net/minecraftforge/oredict/ShapelessOreRecipe.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java index df928ffe87..7178d20721 100644 --- a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java +++ b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java @@ -503,7 +503,7 @@ public class CraftingHelper { if (ings.size() > 9) throw new JsonParseException("Too many ingredients for shapeless recipe"); - ItemStack itemstack = ShapedRecipes.deserializeItem(JsonUtils.getJsonObject(json, "result"), true); + ItemStack itemstack = CraftingHelper.getItemStack(JsonUtils.getJsonObject(json, "result"), context); return new ShapelessRecipes(group, itemstack, ings); }); registerR("forge:ore_shaped", ShapedOreRecipe::factory); diff --git a/src/main/java/net/minecraftforge/oredict/ShapedOreRecipe.java b/src/main/java/net/minecraftforge/oredict/ShapedOreRecipe.java index aa813b6e27..4c11ead132 100644 --- a/src/main/java/net/minecraftforge/oredict/ShapedOreRecipe.java +++ b/src/main/java/net/minecraftforge/oredict/ShapedOreRecipe.java @@ -40,6 +40,7 @@ import java.util.Set; import java.util.Map.Entry; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -171,7 +172,7 @@ public class ShapedOreRecipe extends IForgeRegistryEntry.Impl implement @Nonnull public String getGroup() { - return this.group.toString(); + return this.group == null ? "" : this.group.toString(); } @Override diff --git a/src/main/java/net/minecraftforge/oredict/ShapelessOreRecipe.java b/src/main/java/net/minecraftforge/oredict/ShapelessOreRecipe.java index 0771a461f7..7dc1906ffd 100644 --- a/src/main/java/net/minecraftforge/oredict/ShapelessOreRecipe.java +++ b/src/main/java/net/minecraftforge/oredict/ShapelessOreRecipe.java @@ -162,7 +162,7 @@ public class ShapelessOreRecipe extends IForgeRegistryEntry.Impl implem if (ings.isEmpty()) throw new JsonParseException("No ingredients for shapeless recipe"); - ItemStack itemstack = ShapedRecipes.deserializeItem(JsonUtils.getJsonObject(json, "result"), true); + ItemStack itemstack = CraftingHelper.getItemStack(JsonUtils.getJsonObject(json, "result"), context); return new ShapelessOreRecipe(group.isEmpty() ? null : new ResourceLocation(group), ings, itemstack); } }