From a72e8e27ec52c8b291ae858d0fe87a60ace2c8b6 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 17 Jun 2021 20:36:10 +0300 Subject: [PATCH] Furnace recipe migration --- .../blocks/complex/MetalMaterial.java | 22 ++-- .../ru/betterend/recipe/FurnaceRecipes.java | 20 ++-- .../recipe/builders/FurnaceRecipe.java | 100 ------------------ 3 files changed, 22 insertions(+), 120 deletions(-) delete mode 100644 src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java index d8c1e23d..ce81c630 100644 --- a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -28,6 +28,7 @@ import ru.bclib.items.tool.BaseHoeItem; import ru.bclib.items.tool.BasePickaxeItem; import ru.bclib.items.tool.BaseShovelItem; import ru.bclib.items.tool.BaseSwordItem; +import ru.bclib.recipes.FurnaceRecipe; import ru.bclib.recipes.GridRecipe; import ru.bclib.util.TagHelper; import ru.betterend.BetterEnd; @@ -41,7 +42,6 @@ import ru.betterend.item.EndArmorItem; import ru.betterend.item.tool.EndHammerItem; import ru.betterend.recipe.builders.AlloyingRecipe; import ru.betterend.recipe.builders.AnvilRecipe; -import ru.betterend.recipe.builders.FurnaceRecipe; import ru.betterend.recipe.builders.SmithingTableRecipe; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; @@ -151,7 +151,7 @@ public class MetalMaterial { anvilItem = EndItems.registerEndItem(name + "_anvil_item", new EndAnvilItem(anvilBlock)); if (hasOre) { - FurnaceRecipe.make(name + "_ingot_furnace", ore, ingot).setGroup("end_ingot").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace", ore, ingot).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_ingot").buildWithBlasting(); AlloyingRecipe.Builder.create(name + "_ingot_alloy").setInput(ore, ore).setOutput(ingot, 3).setExpiriense(2.1F).build(); } @@ -176,15 +176,15 @@ public class MetalMaterial { GridRecipe.make(BetterEnd.MOD_ID, name + "_chandelier", chandelier).checkConfig(Configs.RECIPE_CONFIG).setShape("I#I", " # ").addMaterial('#', ingot).addMaterial('I', EndItems.LUMECORN_ROD).setGroup("end_metal_chandelier").build(); // Tools & armor into nuggets - FurnaceRecipe.make(name + "_axe_nugget", axe, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_hoe_nugget", hoe, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_pickaxe_nugget", pickaxe, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_sword_nugget", sword, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_hammer_nugget", hammer, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_helmet_nugget", helmet, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_chestplate_nugget", chestplate, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_leggings_nugget", leggings, nugget).setGroup("end_nugget").buildWithBlasting(); - FurnaceRecipe.make(name + "_boots_nugget", boots, nugget).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_axe_nugget", axe, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hoe_nugget", hoe, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_pickaxe_nugget", pickaxe, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_sword_nugget", sword, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_hammer_nugget", hammer, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_helmet_nugget", helmet, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_chestplate_nugget", chestplate, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_leggings_nugget", leggings, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); + FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_boots_nugget", boots, nugget).checkConfig(Configs.RECIPE_CONFIG).setGroup("end_nugget").buildWithBlasting(); // Tool parts from ingots AnvilRecipe.Builder.create(name + "_shovel_head").setInput(ingot).setOutput(shovelHead).setAnvilLevel(level).setToolLevel(level).setDamage(level).build(); diff --git a/src/main/java/ru/betterend/recipe/FurnaceRecipes.java b/src/main/java/ru/betterend/recipe/FurnaceRecipes.java index 50ecab0d..635826d6 100644 --- a/src/main/java/ru/betterend/recipe/FurnaceRecipes.java +++ b/src/main/java/ru/betterend/recipe/FurnaceRecipes.java @@ -2,19 +2,21 @@ package ru.betterend.recipe; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import ru.betterend.recipe.builders.FurnaceRecipe; +import ru.bclib.recipes.FurnaceRecipe; +import ru.betterend.BetterEnd; +import ru.betterend.config.Configs; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; public class FurnaceRecipes { public static void register() { - FurnaceRecipe.make("end_lily_leaf_dried", EndItems.END_LILY_LEAF, EndItems.END_LILY_LEAF_DRIED).build(); - FurnaceRecipe.make("end_glass", EndBlocks.ENDSTONE_DUST, Blocks.GLASS).build(); - FurnaceRecipe.make("end_berry", EndItems.SHADOW_BERRY_RAW, EndItems.SHADOW_BERRY_COOKED).buildFoodlike(); - FurnaceRecipe.make("end_fish", EndItems.END_FISH_RAW, EndItems.END_FISH_COOKED).buildFoodlike(); - FurnaceRecipe.make("slime_ball", EndBlocks.JELLYSHROOM_CAP_PURPLE, Items.SLIME_BALL).build(); - FurnaceRecipe.make("menger_sponge", EndBlocks.MENGER_SPONGE_WET, EndBlocks.MENGER_SPONGE).build(); - FurnaceRecipe.make("chorus_mushroom", EndItems.CHORUS_MUSHROOM_RAW, EndItems.CHORUS_MUSHROOM_COOKED).buildFoodlike(); - FurnaceRecipe.make("bolux_mushroom", EndBlocks.BOLUX_MUSHROOM, EndItems.BOLUX_MUSHROOM_COOKED).buildFoodlike(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "end_lily_leaf_dried", EndItems.END_LILY_LEAF, EndItems.END_LILY_LEAF_DRIED).checkConfig(Configs.RECIPE_CONFIG).build(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "end_glass", EndBlocks.ENDSTONE_DUST, Blocks.GLASS).checkConfig(Configs.RECIPE_CONFIG).build(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "end_berry", EndItems.SHADOW_BERRY_RAW, EndItems.SHADOW_BERRY_COOKED).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "end_fish", EndItems.END_FISH_RAW, EndItems.END_FISH_COOKED).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "slime_ball", EndBlocks.JELLYSHROOM_CAP_PURPLE, Items.SLIME_BALL).checkConfig(Configs.RECIPE_CONFIG).build(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "menger_sponge", EndBlocks.MENGER_SPONGE_WET, EndBlocks.MENGER_SPONGE).checkConfig(Configs.RECIPE_CONFIG).build(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "chorus_mushroom", EndItems.CHORUS_MUSHROOM_RAW, EndItems.CHORUS_MUSHROOM_COOKED).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); + FurnaceRecipe.make(BetterEnd.MOD_ID, "bolux_mushroom", EndBlocks.BOLUX_MUSHROOM, EndItems.BOLUX_MUSHROOM_COOKED).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); } } diff --git a/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java b/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java deleted file mode 100644 index ea441729..00000000 --- a/src/main/java/ru/betterend/recipe/builders/FurnaceRecipe.java +++ /dev/null @@ -1,100 +0,0 @@ -package ru.betterend.recipe.builders; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.BlastingRecipe; -import net.minecraft.world.item.crafting.CampfireCookingRecipe; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.item.crafting.SmeltingRecipe; -import net.minecraft.world.item.crafting.SmokingRecipe; -import net.minecraft.world.level.ItemLike; -import ru.betterend.BetterEnd; -import ru.betterend.config.Configs; -import ru.betterend.recipe.EndRecipeManager; -import ru.betterend.util.RecipeHelper; - -public class FurnaceRecipe { - private static final FurnaceRecipe INSTANCE = new FurnaceRecipe(); - - private ItemLike input; - private ItemLike output; - private boolean exist; - private String group; - private String name; - private int count; - private int time; - private float xp; - - private FurnaceRecipe() {} - - public static FurnaceRecipe make(String name, ItemLike input, ItemLike output) { - INSTANCE.name = name; - INSTANCE.group = ""; - INSTANCE.input = input; - INSTANCE.output = output; - INSTANCE.count = 1; - INSTANCE.time = 200; - INSTANCE.xp = 0; - INSTANCE.exist = Configs.RECIPE_CONFIG.getBoolean("furnace", name, true) && RecipeHelper.exists(output) && RecipeHelper.exists(input); - return INSTANCE; - } - - public FurnaceRecipe setGroup(String group) { - this.group = group; - return this; - } - - public FurnaceRecipe setOutputCount(int count) { - this.count = count; - return this; - } - - public FurnaceRecipe setXP(float xp) { - this.xp = xp; - return this; - } - - public FurnaceRecipe setCookTime(int time) { - this.time = time; - return this; - } - - public void build() { - build(false, false, false); - } - - public void buildWithBlasting() { - build(true, false, false); - } - - public void buildFoodlike() { - build(false, true, true); - } - - public void build(boolean blasting, boolean campfire, boolean smoker) { - if (exist) { - ResourceLocation id = BetterEnd.makeID(name); - SmeltingRecipe recipe = new SmeltingRecipe(id, group, Ingredient.of(input), new ItemStack(output, count), xp, time); - EndRecipeManager.addRecipe(RecipeType.SMELTING, recipe); - - if (blasting) { - BlastingRecipe recipe2 = new BlastingRecipe(id, group, Ingredient.of(input), new ItemStack(output, count), xp, time / 2); - EndRecipeManager.addRecipe(RecipeType.BLASTING, recipe2); - } - - if (campfire) { - CampfireCookingRecipe recipe2 = new CampfireCookingRecipe(id, group, Ingredient.of(input), new ItemStack(output, count), xp, time * 3); - EndRecipeManager.addRecipe(RecipeType.CAMPFIRE_COOKING, recipe2); - } - - if (smoker) { - SmokingRecipe recipe2 = new SmokingRecipe(id, group, Ingredient.of(input), new ItemStack(output, count), xp, time / 2); - EndRecipeManager.addRecipe(RecipeType.SMOKING, recipe2); - } - } - else { - BetterEnd.LOGGER.debug("Furnace recipe {} couldn't be added", name); - } - } -}