From 19e0b3ac8aa3fd80afb387d56e65828a8537cc2e Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Sun, 17 Aug 2025 16:01:05 +0300 Subject: Allow tags in more places in fake recipes --- .../lv/enes/mc/eris_alchemy/utils/IngredientProvider.java | 2 +- src/main/java/lv/enes/mc/eris_alchemy/utils/ItemUtils.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/lv/enes/mc/eris_alchemy/utils/IngredientProvider.java b/src/main/java/lv/enes/mc/eris_alchemy/utils/IngredientProvider.java index 6390c88..89f8ca9 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/utils/IngredientProvider.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/utils/IngredientProvider.java @@ -15,7 +15,7 @@ import java.util.function.Supplier; public class IngredientProvider implements JsonDeserializer> { public static Supplier deserialize(JsonElement el) { if (el.isJsonObject()) { - return () -> ItemUtils.itemStackFromJson(el.getAsJsonObject()).map(Ingredient::of).orElse(Ingredient.EMPTY); + return () -> ItemUtils.ingredientFromJson(el.getAsJsonObject()).orElse(Ingredient.EMPTY); } else if (el.isJsonPrimitive() && el.getAsJsonPrimitive().isString()) { return deserialize(el.getAsString().strip()); } else { diff --git a/src/main/java/lv/enes/mc/eris_alchemy/utils/ItemUtils.java b/src/main/java/lv/enes/mc/eris_alchemy/utils/ItemUtils.java index 32b9e65..ccf8b43 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/utils/ItemUtils.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/utils/ItemUtils.java @@ -8,6 +8,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.level.ItemLike; @@ -30,11 +31,20 @@ public final class ItemUtils { return getId(stack.getItem()); } + public static Optional ingredientFromJson(JsonObject json) { + try { + return Optional.of(Ingredient.fromJson(json, false)); + } catch (JsonSyntaxException ex) { + ErisAlchemy.LOGGER.warn("Exception while trying to parse ingredient from JSON: {}", json, ex); + return Optional.empty(); + } + } + public static Optional itemStackFromJson(JsonObject json) { try { return Optional.of(ShapedRecipe.itemStackFromJson(json)); } catch (JsonSyntaxException ex) { - ErisAlchemy.LOGGER.warn("Exception while trying to parse item stack from JSON", ex); + ErisAlchemy.LOGGER.warn("Exception while trying to parse item stack from JSON: {}", json, ex); return Optional.empty(); } } -- cgit v1.2.3