diff options
| author | Foghrye4 <foghrye4@gmail.com> | 2016-04-11 19:44:54 +0300 |
|---|---|---|
| committer | Foghrye4 <foghrye4@gmail.com> | 2016-04-11 19:44:54 +0300 |
| commit | 05c78126859231a68e199dc34613689bd0978e2f (patch) | |
| tree | 050bea104a18c72905095d29f31bec2935a27a24 /ihl/processing/metallurgy/MuffleFurnanceTileEntity.java | |
Initial commit
Diffstat (limited to 'ihl/processing/metallurgy/MuffleFurnanceTileEntity.java')
| -rw-r--r-- | ihl/processing/metallurgy/MuffleFurnanceTileEntity.java | 135 |
1 files changed, 135 insertions, 0 deletions
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<RecipeOutputItemStack> output = MuffleFurnanceTileEntity.recipeManager.getOutputFor(null,this.input.getItemStackList(), true, true).getItemOutputs();
+ for(int i=0; i<this.input.size();i++)
+ {
+ if(i<output.size() && output.get(i)!=null)
+ {
+ ItemStack outStack = output.get(i).itemStack.copy();
+ outStack.stackSize=Math.round(output.get(i).quantity);
+ if(this.input.get(i)!=null)
+ {
+ outStack.stackTagCompound=this.input.get(i).stackTagCompound;
+ }
+ this.input.put(i,outStack);
+ }
+ if(this.input.get(i)!=null && this.input.get(i).stackSize<=0)this.input.put(i, null);
+ }
+ }
+ }
+
+ public static void addRecipe(ItemStack input1, ItemStack output)
+ {
+ recipeManager.addRecipe(new UniversalRecipeInput(null, Arrays.asList(new ItemStack [] {input1})),new UniversalRecipeOutput(null, Arrays.asList(new ItemStack [] {output}),20));
+ }
+
+
+ public static Map<UniversalRecipeInput, UniversalRecipeOutput> 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));
+ }
+}
|
