summaryrefslogtreecommitdiff
path: root/ihl/processing/metallurgy/GasWeldingStationTileEntity.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-06-17 08:12:18 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-06-17 08:12:18 +0300
commitdc3df3edd5843bde0c1335d6a8e460b2c832aa48 (patch)
treeaf13bfeee567f2351e35e1ef176d168fe37c8aac /ihl/processing/metallurgy/GasWeldingStationTileEntity.java
parent1da8dcd58647e34c9af94ceeecaeaf3b0d08c48c (diff)
full project files
Diffstat (limited to 'ihl/processing/metallurgy/GasWeldingStationTileEntity.java')
-rw-r--r--ihl/processing/metallurgy/GasWeldingStationTileEntity.java286
1 files changed, 0 insertions, 286 deletions
diff --git a/ihl/processing/metallurgy/GasWeldingStationTileEntity.java b/ihl/processing/metallurgy/GasWeldingStationTileEntity.java
deleted file mode 100644
index b7172c2..0000000
--- a/ihl/processing/metallurgy/GasWeldingStationTileEntity.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package ihl.processing.metallurgy;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import ic2.api.network.INetworkClientTileEntityEventListener;
-import ic2.core.ContainerBase;
-import ic2.core.IC2;
-import ic2.core.IHasGui;
-import ic2.core.block.TileEntityInventory;
-import ic2.core.block.invslot.InvSlot;
-import ic2.core.block.invslot.InvSlot.Access;
-import ic2.core.block.invslot.InvSlotConsumableLiquid;
-import ic2.core.block.invslot.InvSlotOutput;
-import ihl.interfaces.IWorkspaceElement;
-import ihl.processing.chemistry.ApparatusProcessableInvSlot;
-import ihl.processing.invslots.InvSlotConsumableLiquidIHL;
-import ihl.recipes.UniversalRecipeInput;
-import ihl.recipes.UniversalRecipeManager;
-import ihl.recipes.UniversalRecipeOutput;
-import ihl.utils.IHLFluidTank;
-import ihl.utils.IHLUtils;
-import net.minecraft.client.gui.GuiScreen;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.FluidTankInfo;
-import net.minecraftforge.fluids.IFluidHandler;
-
-public class GasWeldingStationTileEntity extends TileEntityInventory implements IHasGui, INetworkClientTileEntityEventListener, IFluidHandler, IWorkspaceElement
-{
- protected static final UniversalRecipeManager acetyleneRecipeManager = new UniversalRecipeManager("gasweldingstation");
- public final ApparatusProcessableInvSlot input;
- public final InvSlotConsumableLiquidIHL fillInputSlotFlammableGas;
- public final InvSlotConsumableLiquidIHL fillInputSlotOxygen;
- public final InvSlotConsumableLiquidIHL drainInputSlotFlammableGas;
- public final InvSlotConsumableLiquidIHL drainInputSlotOxygen;
- public final InvSlotOutput emptyFluidItemsSlot;
- public final IHLFluidTank flammableGasTank = new IHLFluidTank(8000);
- public final IHLFluidTank oxygenTank = new IHLFluidTank(8000);
- public short progress2;
- protected short operationLength=200;
-
- public GasWeldingStationTileEntity() {
- super();
- this.input = new ApparatusProcessableInvSlot(this, "input", 0, Access.IO, 1, 16);
- this.fillInputSlotFlammableGas = new InvSlotConsumableLiquidIHL(this, "fillInputFlammableGas", -1, InvSlot.Access.I, 1, InvSlot.InvSide.BOTTOM, InvSlotConsumableLiquid.OpType.Fill);
- this.fillInputSlotOxygen = new InvSlotConsumableLiquidIHL(this, "fillInputOxygen", -1, InvSlot.Access.I, 1, InvSlot.InvSide.BOTTOM, InvSlotConsumableLiquid.OpType.Fill);
- this.drainInputSlotFlammableGas = new InvSlotConsumableLiquidIHL(this, "drainInputFlammableGas", -1, InvSlot.Access.I, 1, InvSlot.InvSide.BOTTOM, InvSlotConsumableLiquid.OpType.Drain);
- this.drainInputSlotOxygen = new InvSlotConsumableLiquidIHL(this, "drainInputOxygen", -1, InvSlot.Access.I, 1, InvSlot.InvSide.BOTTOM, InvSlotConsumableLiquid.OpType.Drain);
- this.emptyFluidItemsSlot = new InvSlotOutput(this, "fluidCellsOutput", 2, 2);
- }
-
- public boolean enableUpdateEntity()
- {
- return IC2.platform.isSimulating();
- }
-
- @Override
- public List<String> getNetworkedFields()
- {
- List<String> fields = super.getNetworkedFields();
- return fields;
- }
-
- @Override
- public void updateEntityServer()
- {
- if (this.canProduceGas())
- {
- ++this.progress2;
- if (this.progress2 >= this.operationLength)
- {
- this.produceGas();
- this.progress2 = 0;
- }
- }
- else
- {
- if (!this.canProduceGas())
- {
- this.progress2 = 0;
- }
- }
- IHLUtils.handleFluidSlotsBehaviour(fillInputSlotFlammableGas, drainInputSlotFlammableGas, emptyFluidItemsSlot, flammableGasTank);
- IHLUtils.handleFluidSlotsBehaviour(fillInputSlotOxygen, drainInputSlotOxygen, emptyFluidItemsSlot, oxygenTank);
- }
-
- @Override
- public void readFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readFromNBT(nbttagcompound);
- this.flammableGasTank.readFromNBT(nbttagcompound.getCompoundTag("flammableGasTank"));
- this.oxygenTank.readFromNBT(nbttagcompound.getCompoundTag("oxygenTank"));
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeToNBT(nbttagcompound);
- NBTTagCompound flammableGasTankNBT = new NBTTagCompound();
- this.flammableGasTank.writeToNBT(flammableGasTankNBT);
- nbttagcompound.setTag("flammableGasTank", flammableGasTankNBT);
- NBTTagCompound oxygenTankNBT = new NBTTagCompound();
- this.oxygenTank.writeToNBT(oxygenTankNBT);
- nbttagcompound.setTag("oxygenTank", oxygenTankNBT);
- }
-
- @Override
- public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) {
- return false;
- }
-
- @Override
- public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
- return IHLUtils.getThisModItemStack("gasWeldingStation");
- }
-
- @Override
- public String getInventoryName() {
- return "detonationSprayingMachine";
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public GuiScreen getGui(EntityPlayer player, boolean arg1) {
- return new GasWeldingStationGui(new GasWeldingStationContainer(player, this));
- }
-
- @Override
- public ContainerBase<?> getGuiContainer(EntityPlayer player) {
- return new GasWeldingStationContainer(player, this);
- }
-
- @Override
- public void onGuiClosed(EntityPlayer player) {}
-
- @Override
- public void onNetworkEvent(EntityPlayer player, int event)
- {
- }
-
- public boolean canProduceGas()
- {
- UniversalRecipeOutput rOutput = GasWeldingStationTileEntity.acetyleneRecipeManager.getOutputFor(Arrays.asList(new FluidStack[]{this.flammableGasTank.getFluid()}), Arrays.asList(new ItemStack[]{this.input.get()}));
- return rOutput!=null;
- }
-
- public void produceGas()
- {
- if(canProduceGas())
- {
- UniversalRecipeInput rInput = GasWeldingStationTileEntity.acetyleneRecipeManager.getRecipeInput(Arrays.asList(new FluidStack[]{this.flammableGasTank.getFluid()}), Arrays.asList(new ItemStack[]{this.input.get()}));
- UniversalRecipeOutput rOutput = GasWeldingStationTileEntity.acetyleneRecipeManager.getOutputFor(Arrays.asList(new FluidStack[]{this.flammableGasTank.getFluid()}), Arrays.asList(new ItemStack[]{this.input.get()}));
- FluidStack output1 = rOutput.getFluidOutputs().get(0).copy();
- FluidStack output2 = rOutput.getFluidOutputs().get(1).copy();
- this.flammableGasTank.drain(rInput.getFluidInputs().get(0), true);
- this.input.get().stackSize-=rInput.getItemInputs().get(0).getAmount();
- if(this.input.get().stackSize<=0)
- {
- this.input.clear();
- }
- this.flammableGasTank.fill(output1, true);
- this.flammableGasTank.fill(output2, true);
- }
- }
-
-
- public UniversalRecipeInput getInput()
- {
- return new UniversalRecipeInput(new FluidStack[] {this.flammableGasTank.getLigthestFluid(), this.oxygenTank.getFluid()}, new ItemStack[]{this.input.get(0),this.input.get(1),this.input.get(2)});
- }
-
- public static void addGasRecipe(ItemStack input, FluidStack inputFluid, FluidStack output, FluidStack output2)
- {
- acetyleneRecipeManager.addRecipe(new UniversalRecipeInput(new FluidStack[] {inputFluid},new ItemStack[] {input}), new UniversalRecipeOutput(new FluidStack [] {output, output2},new ItemStack [] {}, 20));
- }
-
- public static Map<UniversalRecipeInput, UniversalRecipeOutput> getGasRecipes() {
- return acetyleneRecipeManager.getRecipes();
- }
-
- @Override
- public FluidStack drain(ForgeDirection from, int amount, boolean doDrain)
- {
- FluidStack fstack = this.flammableGasTank.drain(amount, doDrain);
- return fstack;
- }
-
- @Override
- public FluidStack drain(ForgeDirection arg0, FluidStack fluidStack, boolean doDrain) {
- if(this.flammableGasTank.getFluid().containsFluid(fluidStack))
- {
- return this.flammableGasTank.drain(fluidStack.amount, doDrain);
- }
- return null;
- }
-
- @Override
- public int fill(ForgeDirection arg0, FluidStack arg1, boolean arg2) {
- return this.oxygenTank.fill(arg1, arg2);
- }
-
- @Override
- public FluidTankInfo[] getTankInfo(ForgeDirection arg0) {
- return new FluidTankInfo[] {this.flammableGasTank.getInfo(),this.oxygenTank.getInfo()};
- }
-
-
- //1.7.10 API
- @Override
- public boolean canDrain(ForgeDirection arg0, Fluid arg1) {
- return true;
- }
-
- @Override
- public boolean canFill(ForgeDirection direction, Fluid arg1) {
- return true;
- }
-
- public int gaugeProgressScaled(int i)
- {
- return this.progress2 * i / this.operationLength;
- }
-
- public int gaugeFlammableGasScaled(int i)
- {
- if(this.flammableGasTank.getFluid()!=null)
- {
- return this.flammableGasTank.getFluidAmount() * i /this.flammableGasTank.getCapacity();
- }
- else
- {
- return 0;
- }
- }
-
- public int gaugeOxygenScaled(int i)
- {
- if(this.oxygenTank.getFluid()!=null)
- {
- return this.oxygenTank.getFluidAmount() * i /this.oxygenTank.getCapacity();
- }
- else
- {
- return 0;
- }
- }
-
- @Override
- public boolean canBeUsed()
- {
- return
- this.flammableGasTank.getFluid()!=null &&
- this.flammableGasTank.getLigthestFluid().getFluid().getName().equals("acetylene") &&
- this.flammableGasTank.getLigthestFluid().amount>=20 &&
- this.oxygenTank.getFluid()!=null &&
- this.oxygenTank.getLigthestFluid().getFluid().getName().equals("oxygen") &&
- this.oxygenTank.getLigthestFluid().amount>=20;
- }
-
- @Override
- public void use()
- {
- this.flammableGasTank.drain(IHLUtils.getFluidStackWithSize("acetylene", 20), true);
- this.oxygenTank.drain(IHLUtils.getFluidStackWithSize("oxygen", 20), true);
- }
-
- @Override
- public boolean getIsInvalid()
- {
- return this.isInvalid();
- }
-
- @Override
- public boolean shouldRenderInPass(int pass)
- {
- return pass==0;
- }
-} \ No newline at end of file