diff --git a/src/main/java/techreborn/api/AlloySmelterRecipe.java b/src/main/java/techreborn/api/AlloySmelterRecipe.java new file mode 100644 index 000000000..92de35626 --- /dev/null +++ b/src/main/java/techreborn/api/AlloySmelterRecipe.java @@ -0,0 +1,45 @@ +package techreborn.api; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class AlloySmelterRecipe { + ItemStack input1, input2; + ItemStack output1; + int tickTime; + int minHeat; + + public AlloySmelterRecipe(ItemStack input1, ItemStack input2, ItemStack output1 ,int tickTime) { + this.input1 = input1; + this.input2 = input2; + this.output1 = output1; + this.tickTime = tickTime; + } + + public AlloySmelterRecipe(Item input1, Item input2, int inputAmount, Item output1, int tickTime) { + if(input1 != null) + this.input1 = new ItemStack(input1, inputAmount); + if(input2 != null) + this.input2 = new ItemStack(input1, inputAmount); + if (output1 != null) + this.output1 = new ItemStack(output1); + this.tickTime = tickTime; + } + + public ItemStack getInput1() { + return input1; + } + + public ItemStack getInput2() { + return input2; + } + + public ItemStack getOutput1() { + return output1; + } + + public int getTickTime() { + return tickTime; + } +} + diff --git a/src/main/java/techreborn/api/TechRebornAPI.java b/src/main/java/techreborn/api/TechRebornAPI.java index 619a726a3..ef528c378 100644 --- a/src/main/java/techreborn/api/TechRebornAPI.java +++ b/src/main/java/techreborn/api/TechRebornAPI.java @@ -9,6 +9,8 @@ public final class TechRebornAPI { public static ArrayList centrifugeRecipies = new ArrayList(); public static ArrayList blastFurnaceRecipes = new ArrayList(); + public static ArrayList alloySmelterRecipes = new ArrayList(); + public static void registerCentrifugeRecipe(CentrifugeRecipie recipie) { @@ -60,6 +62,27 @@ public final class TechRebornAPI { blastFurnaceRecipes.add(new BlastFurnaceRecipe(recipie.getInput2(), recipie.getInput1(), recipie.output1, recipie.output2, recipie.tickTime, recipie.minHeat)); } + } + + public static void registerAlloySmelterRecipe(AlloySmelterRecipe recipie) { + boolean shouldAdd = true; + for (AlloySmelterRecipe alloySmelterRecipe : alloySmelterRecipes) { + if (ItemUtils.isItemEqual(alloySmelterRecipe.getInput1(), recipie.getInput1(), false, true) && ItemUtils.isItemEqual(alloySmelterRecipe.getInput2(), recipie.getInput2(), false, true)) { + { + try { + throw new RegisteredItemRecipe( + "Item " + + recipie.getInput1() + .getUnlocalizedName() + + " and " + recipie.getInput2().getUnlocalizedName() + " is already being used in a recipe for the Alloy Smelter"); + } catch (RegisteredItemRecipe registeredItemRecipe) { + registeredItemRecipe.printStackTrace(); + shouldAdd = false; + } + } + } + } + } public static void addRollingMachinceRecipe(ItemStack output, diff --git a/src/main/java/techreborn/tiles/TileAlloySmelter.java b/src/main/java/techreborn/tiles/TileAlloySmelter.java index 4c12ce9b1..8a228daea 100644 --- a/src/main/java/techreborn/tiles/TileAlloySmelter.java +++ b/src/main/java/techreborn/tiles/TileAlloySmelter.java @@ -4,6 +4,7 @@ import ic2.api.energy.prefab.BasicSink; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; import techreborn.util.Inventory; @@ -13,6 +14,19 @@ public class TileAlloySmelter extends TileMachineBase implements IWrenchable { public BasicSink energy; public Inventory inventory = new Inventory(3, "TileAlloySmelter", 64); + public TileAlloySmelter() + { + //TODO configs + energy = new BasicSink(this, 1000, 2); + } + + @Override + public void updateEntity() + { + super.updateEntity(); + energy.updateEntity(); + } + @Override public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side)