From f6703dc8bf3822ee915073c8b764cd23d4921008 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 18 Dec 2023 15:48:11 +0100 Subject: [PATCH] [Change] Adopted new Recipe handling --- .../betterx/bclib/recipes/AlloyingRecipe.java | 14 ++-------- .../betterx/bclib/recipes/AnvilRecipe.java | 28 +++++-------------- 2 files changed, 10 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/betterx/bclib/recipes/AlloyingRecipe.java b/src/main/java/org/betterx/bclib/recipes/AlloyingRecipe.java index c71a3c77..94ae318f 100644 --- a/src/main/java/org/betterx/bclib/recipes/AlloyingRecipe.java +++ b/src/main/java/org/betterx/bclib/recipes/AlloyingRecipe.java @@ -26,8 +26,6 @@ import net.minecraft.world.level.Level; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import com.google.gson.JsonObject; - import java.util.List; public class AlloyingRecipe implements Recipe, UnknownReceipBookCategory { @@ -207,15 +205,9 @@ public class AlloyingRecipe implements Recipe, UnknownReceipBookCateg } @Override - protected void serializeRecipeData(JsonObject root) { - super.serializeRecipeData(root); - - if (experience != 0) { - root.addProperty("experience", experience); - } - if (experience != 350) { - root.addProperty("smelttime", smeltTime); - } + protected AlloyingRecipe createRecipe(ResourceLocation id) { + checkRecipe(); + return new AlloyingRecipe(group, primaryInput, secondaryInput, output, experience, smeltTime); } } diff --git a/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java b/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java index e555ef94..39c7c789 100644 --- a/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java +++ b/src/main/java/org/betterx/bclib/recipes/AnvilRecipe.java @@ -34,8 +34,6 @@ import net.minecraft.world.level.Level; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import com.google.gson.JsonObject; - import java.util.Objects; import org.jetbrains.annotations.NotNull; @@ -338,21 +336,9 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory } @Override - protected void serializeRecipeData(JsonObject root) { - super.serializeRecipeData(root); - - if (inputCount > 1) { - root.addProperty("inputCount", inputCount); - } - if (toolLevel != 1) { - root.addProperty("toolLevel", toolLevel); - } - if (anvilLevel != 1) { - root.addProperty("anvilLevel", anvilLevel); - } - if (damage != 1) { - root.addProperty("damage", damage); - } + protected AnvilRecipe createRecipe(ResourceLocation id) { + checkRecipe(); + return new AnvilRecipe(primaryInput, output, inputCount, toolLevel, anvilLevel, damage); } } @@ -360,10 +346,10 @@ public class AnvilRecipe implements Recipe, UnknownReceipBookCategory public static Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( Ingredient.CODEC_NONEMPTY.fieldOf("input").forGetter(recipe -> recipe.input), ItemUtil.CODEC_ITEM_STACK_WITH_NBT.fieldOf("result").forGetter(recipe -> recipe.output), - Codec.INT.fieldOf("inputCount").forGetter(recipe -> recipe.inputCount), - Codec.INT.fieldOf("toolLevel").forGetter(recipe -> recipe.toolLevel), - Codec.INT.fieldOf("anvilLevel").forGetter(recipe -> recipe.anvilLevel), - Codec.INT.fieldOf("damage").forGetter(recipe -> recipe.damage) + Codec.INT.optionalFieldOf("inputCount", 1).forGetter(recipe -> recipe.inputCount), + Codec.INT.optionalFieldOf("toolLevel", 1).forGetter(recipe -> recipe.toolLevel), + Codec.INT.optionalFieldOf("anvilLevel", 1).forGetter(recipe -> recipe.anvilLevel), + Codec.INT.optionalFieldOf("damage", 1).forGetter(recipe -> recipe.damage) ).apply(instance, AnvilRecipe::new)); @Override