From 8b8225987129e50118dd7fe668174e8927f66ae7 Mon Sep 17 00:00:00 2001 From: drcrazy Date: Fri, 15 Feb 2019 14:19:48 +0300 Subject: [PATCH] Iron and gold armor recycling in blast furnace. --- src/main/java/techreborn/init/ModRecipes.java | 62 +---------- .../init/recipes/BlastFurnaceRecipes.java | 105 ++++++++++++++++++ 2 files changed, 107 insertions(+), 60 deletions(-) create mode 100644 src/main/java/techreborn/init/recipes/BlastFurnaceRecipes.java diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index 719f28fea..75448d75d 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -39,17 +39,14 @@ import reborncore.common.util.ItemUtils; import reborncore.common.util.OreUtil; import reborncore.common.util.RebornCraftingHelper; import techreborn.Core; -import techreborn.api.recipe.machines.BlastFurnaceRecipe; import techreborn.api.recipe.machines.CompressorRecipe; import techreborn.api.recipe.machines.GrinderRecipe; import techreborn.api.recipe.machines.VacuumFreezerRecipe; -import techreborn.blocks.BlockOre; import techreborn.compat.CompatManager; import techreborn.config.ConfigTechReborn; import techreborn.init.recipes.*; import techreborn.items.*; import techreborn.items.ingredients.ItemDusts; -import techreborn.items.ingredients.ItemDustsSmall; import techreborn.items.ingredients.ItemIngots; import techreborn.items.ingredients.ItemPlates; import techreborn.lib.ModInfo; @@ -88,8 +85,9 @@ public class ModRecipes { DistillationTowerRecipes.init(); AlloySmelterRecipes.init(); FluidReplicatorRecipes.init(); + BlastFurnaceRecipes.init(); + - addBlastFurnaceRecipes(); addVacuumFreezerRecipes(); addIc2Recipes(); addGrinderRecipes(); @@ -350,62 +348,6 @@ public class ModRecipes { } - static void addBlastFurnaceRecipes() { - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("titanium"), null, ItemIngots.getIngotByName("titanium"), - null, 3600, 120, 1500)); - RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("titanium", 4), null, - ItemIngots.getIngotByName("titanium"), null, 3600, 120, 1500)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("aluminum"), null, ItemIngots.getIngotByName("aluminum"), - null, 2200, 120, 1700)); - RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("aluminum", 4), null, - ItemIngots.getIngotByName("aluminum"), null, 2200, 120, 1700)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("tungsten"), null, ItemIngots.getIngotByName("tungsten"), - null, 1800, 120, 2500)); - RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("tungsten", 4), null, - ItemIngots.getIngotByName("tungsten"), null, 1800, 120, 2500)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("chrome"), null, ItemIngots.getIngotByName("chrome"), - null, 4420, 120, 1700)); - RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("chrome", 4), null, - ItemIngots.getIngotByName("chrome"), null, 4420, 120, 1700)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("steel"), null, ItemIngots.getIngotByName("steel"), null, - 2800, 120, 1000)); - RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("steel", 4), null, - ItemIngots.getIngotByName("steel"), null, 2800, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemDusts.getDustByName("galena", 2), null, ItemIngots.getIngotByName("silver"), - ItemIngots.getIngotByName("lead"), 80, 120, 1500)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Items.IRON_INGOT), ItemDusts.getDustByName("coal", 2), - ItemIngots.getIngotByName("steel"), ItemDusts.getDustByName("dark_ashes", 2), 500, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(ItemIngots.getIngotByName("tungsten"), ItemIngots.getIngotByName("steel"), - ItemIngots.getIngotByName("hot_tungstensteel"), ItemDusts.getDustByName("dark_ashes", 4), 500, - 128, 3000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Blocks.IRON_ORE), ItemDusts.getDustByName("calcite"), - new ItemStack(Items.IRON_INGOT, 3), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(BlockOre.getOreByName("Pyrite"), ItemDusts.getDustByName("calcite"), - new ItemStack(Items.IRON_INGOT, 2), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Items.DIAMOND_HELMET), new ItemStack(Blocks.SAND), - new ItemStack(Items.DIAMOND, 5), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Items.DIAMOND_CHESTPLATE), new ItemStack(Blocks.SAND), - new ItemStack(Items.DIAMOND, 8), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Items.DIAMOND_LEGGINGS), new ItemStack(Blocks.SAND), - new ItemStack(Items.DIAMOND, 7), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - RecipeHandler.addRecipe( - new BlastFurnaceRecipe(new ItemStack(Items.DIAMOND_BOOTS), new ItemStack(Blocks.SAND), - new ItemStack(Items.DIAMOND, 4), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000)); - } - static void addIc2Recipes() { RebornCraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.MANUAL), "ingotRefinedIron", Items.BOOK); diff --git a/src/main/java/techreborn/init/recipes/BlastFurnaceRecipes.java b/src/main/java/techreborn/init/recipes/BlastFurnaceRecipes.java new file mode 100644 index 000000000..9527af133 --- /dev/null +++ b/src/main/java/techreborn/init/recipes/BlastFurnaceRecipes.java @@ -0,0 +1,105 @@ +/* + * This file is part of TechReborn, licensed under the MIT License (MIT). + * + * Copyright (c) 2018 TechReborn + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package techreborn.init.recipes; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import reborncore.api.recipe.RecipeHandler; +import techreborn.api.recipe.machines.BlastFurnaceRecipe; +import techreborn.blocks.BlockOre; +import techreborn.items.ingredients.ItemDusts; +import techreborn.items.ingredients.ItemDustsSmall; +import techreborn.items.ingredients.ItemIngots; + +/** + * @author drcrazy + * + */ +public class BlastFurnaceRecipes extends RecipeMethods { + + public static void init() { + register(ItemDusts.getDustByName("titanium"), null, ItemIngots.getIngotByName("titanium"), null, 3600, 1500); + register(ItemDustsSmall.getSmallDustByName("titanium", 4), null, ItemIngots.getIngotByName("titanium"), null, + 3600, 1500); + register(ItemDusts.getDustByName("aluminum"), null, ItemIngots.getIngotByName("aluminum"), null, 2200, 1700); + register(ItemDustsSmall.getSmallDustByName("aluminum", 4), null, ItemIngots.getIngotByName("aluminum"), null, + 2200, 1700); + register(ItemDusts.getDustByName("tungsten"), null, ItemIngots.getIngotByName("tungsten"), null, 1800, 2500); + register(ItemDustsSmall.getSmallDustByName("tungsten", 4), null, ItemIngots.getIngotByName("tungsten"), null, + 1800, 2500); + register(ItemDusts.getDustByName("chrome"), null, ItemIngots.getIngotByName("chrome"), null, 4420, 1700); + register(ItemDustsSmall.getSmallDustByName("chrome", 4), null, ItemIngots.getIngotByName("chrome"), null, 4420, + 1700); + register(ItemDusts.getDustByName("steel"), null, ItemIngots.getIngotByName("steel"), null, 2800, 1000); + register(ItemDustsSmall.getSmallDustByName("steel", 4), null, ItemIngots.getIngotByName("steel"), null, 2800, + 1000); + register(ItemDusts.getDustByName("galena", 2), null, ItemIngots.getIngotByName("silver"), + ItemIngots.getIngotByName("lead"), 80, 1500); + register(new ItemStack(Items.IRON_INGOT), ItemDusts.getDustByName("coal", 2), + ItemIngots.getIngotByName("steel"), ItemDusts.getDustByName("dark_ashes", 2), 500, 1000); + register(ItemIngots.getIngotByName("tungsten"), ItemIngots.getIngotByName("steel"), + ItemIngots.getIngotByName("hot_tungstensteel"), ItemDusts.getDustByName("dark_ashes", 4), 500, 128, + 3000); + register(new ItemStack(Blocks.IRON_ORE), ItemDusts.getDustByName("calcite"), new ItemStack(Items.IRON_INGOT, 3), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(BlockOre.getOreByName("Pyrite"), ItemDusts.getDustByName("calcite"), + new ItemStack(Items.IRON_INGOT, 2), ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.DIAMOND_HELMET), new ItemStack(Blocks.SAND), new ItemStack(Items.DIAMOND, 5), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.DIAMOND_CHESTPLATE), new ItemStack(Blocks.SAND), new ItemStack(Items.DIAMOND, 8), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.DIAMOND_LEGGINGS), new ItemStack(Blocks.SAND), new ItemStack(Items.DIAMOND, 7), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.DIAMOND_BOOTS), new ItemStack(Blocks.SAND), new ItemStack(Items.DIAMOND, 4), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.GOLDEN_HELMET), new ItemStack(Blocks.SAND), new ItemStack(Items.GOLD_INGOT, 5), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.GOLDEN_CHESTPLATE), new ItemStack(Blocks.SAND), new ItemStack(Items.GOLD_INGOT, 8), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.GOLDEN_LEGGINGS), new ItemStack(Blocks.SAND), new ItemStack(Items.GOLD_INGOT, 7), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.GOLDEN_BOOTS), new ItemStack(Blocks.SAND), new ItemStack(Items.GOLD_INGOT, 4), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.IRON_HELMET), new ItemStack(Blocks.SAND), new ItemStack(Items.IRON_INGOT, 5), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.IRON_CHESTPLATE), new ItemStack(Blocks.SAND), new ItemStack(Items.IRON_INGOT, 8), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.IRON_LEGGINGS), new ItemStack(Blocks.SAND), new ItemStack(Items.IRON_INGOT, 7), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + register(new ItemStack(Items.IRON_BOOTS), new ItemStack(Blocks.SAND), new ItemStack(Items.IRON_INGOT, 4), + ItemDusts.getDustByName("dark_ashes"), 140, 1000); + } + + private static void register(ItemStack in1, ItemStack in2, ItemStack out1, ItemStack out2, int tickTime, + int euPerTick, int neededHeat) { + RecipeHandler.addRecipe(new BlastFurnaceRecipe(in1, in2, out1, out2, tickTime, euPerTick, neededHeat)); + } + + private static void register(ItemStack in1, ItemStack in2, ItemStack out1, ItemStack out2, int tickTime, + int neededHeat) { + register(in1, in2, out1, out2, tickTime, 120, neededHeat); + } + +} \ No newline at end of file