From 05c78126859231a68e199dc34613689bd0978e2f Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Mon, 11 Apr 2016 19:44:54 +0300 Subject: Initial commit --- .../metallurgy/MuffleFurnanceTileEntity.java | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 ihl/processing/metallurgy/MuffleFurnanceTileEntity.java (limited to 'ihl/processing/metallurgy/MuffleFurnanceTileEntity.java') diff --git a/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java b/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java new file mode 100644 index 0000000..73d12de --- /dev/null +++ b/ihl/processing/metallurgy/MuffleFurnanceTileEntity.java @@ -0,0 +1,135 @@ +package ihl.processing.metallurgy; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import ic2.core.ContainerBase; +import ihl.IHLMod; +import ihl.recipes.RecipeOutputItemStack; +import ihl.recipes.UniversalRecipeInput; +import ihl.recipes.UniversalRecipeManager; +import ihl.recipes.UniversalRecipeOutput; +import ihl.utils.IHLUtils; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class MuffleFurnanceTileEntity extends MachineBaseTileEntity{ + + protected static UniversalRecipeManager recipeManager = new UniversalRecipeManager("mufflefurnace"); + + public MuffleFurnanceTileEntity() + { + super(2); + } + + @Override + public String getStartSoundFile() { + return null; + } + + @Override + public String getLoopSoundFile() { + return null; + } + + @Override + public String getStopSoundFile() { + return null; + } + + @Override + public String getInventoryName() { + return "MuffleFurnance"; + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen getGui(EntityPlayer player, boolean arg1) { + return new MuffleFurnaceGui(new MuffleFurnanceContainer(player, this)); + } + + @Override + public ContainerBase getGuiContainer(EntityPlayer player) { + return new MuffleFurnanceContainer(player, this); + } + + @Override + public boolean canOperate() + { + ItemStack crucible = input.getItemStack(IHLMod.crucible); + if(crucible!=null) + { + return true; + } + ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold")); + if(mold!=null) + { + return true; + } + return getOutput()!=null; + } + + @Override + public void operate() + { + ItemStack crucible = input.getItemStack(IHLMod.crucible); + if(crucible!=null) + { + ((Crucible)crucible.getItem()).processContent(crucible, this); + return; + } + ItemStack mold = input.getItemStack(IHLUtils.getThisModItem("injectionMold")); + if(mold!=null) + { + mold.stackTagCompound.setBoolean("isContainStearin", false); + return; + } + if(this.getOutput()!=null) + { + List output = MuffleFurnanceTileEntity.recipeManager.getOutputFor(null,this.input.getItemStackList(), true, true).getItemOutputs(); + for(int i=0; i getRecipes() { + return recipeManager.getRecipes(); + } + + @Override + public UniversalRecipeOutput getOutput() + { + return MuffleFurnanceTileEntity.recipeManager.getOutputFor(null,this.input.getItemStackList(), false, false); + } + + public static void addRecipe(UniversalRecipeInput universalRecipeInput, UniversalRecipeOutput universalRecipeOutput) + { + recipeManager.addRecipe(universalRecipeInput, universalRecipeOutput); + } + + public static void addRecipe(ItemStack input1, ItemStack output, float f) { + recipeManager.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack [] {input1})),new UniversalRecipeOutput(null, Arrays.asList(new RecipeOutputItemStack [] {new RecipeOutputItemStack(output,f)}),20)); + } +} -- cgit v1.2.3