summaryrefslogtreecommitdiff
path: root/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java
diff options
context:
space:
mode:
Diffstat (limited to 'ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java')
-rw-r--r--ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java b/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java
new file mode 100644
index 0000000..75c69e8
--- /dev/null
+++ b/ihl/processing/metallurgy/VacuumInductionMeltingFurnaceContainer.java
@@ -0,0 +1,77 @@
+package ihl.processing.metallurgy;
+
+import java.util.List;
+
+import ic2.core.ContainerBase;
+import ic2.core.IC2;
+import ic2.core.slot.SlotInvSlot;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraftforge.fluids.FluidStack;
+
+public class VacuumInductionMeltingFurnaceContainer extends ContainerBase {
+ public int lastFluidAmount = -1;
+ public int lastNumberOfFluids = -1;
+ public short lastProgress = -1;
+ public short lastEnergy = -1;
+ public VacuumInductionMeltingFurnaceTileEntity tileEntity;
+ private final static int height=166;
+ public List<FluidStack> fluidTankFluidList;
+ private boolean vacuumPumpState=true;
+
+ public VacuumInductionMeltingFurnaceContainer(EntityPlayer entityPlayer, VacuumInductionMeltingFurnaceTileEntity tileEntity1) {
+ super(tileEntity1);
+ this.tileEntity=tileEntity1;
+ fluidTankFluidList = this.tileEntity.fluidTank.getFluidList();
+ this.addSlotToContainer(new SlotInvSlot(tileEntity1.input, 0, 141, 8));
+ }
+ @Override
+ public void detectAndSendChanges()
+ {
+ super.detectAndSendChanges();
+ for (int i = 0; i < this.crafters.size(); ++i)
+ {
+ ICrafting icrafting = (ICrafting)this.crafters.get(i);
+
+ if (this.tileEntity.fluidTank.getFluidAmount() != this.lastFluidAmount || this.tileEntity.fluidTank.getNumberOfFluids() != this.lastNumberOfFluids)
+ {
+ IC2.network.get().sendContainerField(this, "fluidTankFluidList");
+ }
+
+ if (this.tileEntity.progress != this.lastProgress)
+ {
+ icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.progress);
+ }
+
+ if (this.tileEntity.vacuumPumpConnected != this.vacuumPumpState)
+ {
+ icrafting.sendProgressBarUpdate(this, 1, this.tileEntity.vacuumPumpConnected?1:0);
+ }
+ }
+
+ this.lastNumberOfFluids = this.tileEntity.fluidTank.getNumberOfFluids();
+ this.lastFluidAmount = this.tileEntity.fluidTank.getFluidAmount();
+ this.lastProgress = this.tileEntity.progress;
+ this.vacuumPumpState = this.tileEntity.vacuumPumpConnected;
+ }
+
+ @Override
+ public void updateProgressBar(int index, int value)
+ {
+ super.updateProgressBar(index, value);
+ switch (index)
+ {
+ case 0:
+ this.tileEntity.progress=(short) value;
+ break;
+ case 1:
+ this.tileEntity.vacuumPumpConnected=value>0;
+ break;
+ }
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer var1) {
+ return tileEntity.isUseableByPlayer(var1);
+ }
+}