diff options
Diffstat (limited to 'src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java')
-rw-r--r-- | src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java b/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java deleted file mode 100644 index 7b8e36f498..0000000000 --- a/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java +++ /dev/null @@ -1,169 +0,0 @@ -package miscutil.enderio.conduit.gas; - -import java.util.List; - -import mekanism.api.gas.GasStack; -import mekanism.api.gas.IGasHandler; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraftforge.common.util.ForgeDirection; -import crazypants.enderio.conduit.AbstractConduitNetwork; -import crazypants.enderio.conduit.ConduitUtil; -import crazypants.enderio.conduit.ConnectionMode; -import crazypants.enderio.conduit.RaytraceResult; -import crazypants.enderio.tool.ToolUtil; -import crazypants.util.BlockCoord; - -public abstract class AbstractGasTankConduit - extends AbstractGasConduit -{ - protected ConduitGasTank tank = new ConduitGasTank(0); - protected boolean stateDirty = false; - protected long lastEmptyTick = 0L; - protected int numEmptyEvents = 0; - - public boolean onBlockActivated(EntityPlayer player, RaytraceResult res, List<RaytraceResult> all) - { - if (player.getCurrentEquippedItem() == null) { - return false; - } - if (ToolUtil.isToolEquipped(player)) - { - if (!getBundle().getEntity().getWorldObj().isRemote) { - if ((res != null) && (res.component != null)) - { - ForgeDirection connDir = res.component.dir; - ForgeDirection faceHit = ForgeDirection.getOrientation(res.movingObjectPosition.sideHit); - if ((connDir == ForgeDirection.UNKNOWN) || (connDir == faceHit)) - { - if (getConnectionMode(faceHit) == ConnectionMode.DISABLED) - { - setConnectionMode(faceHit, getNextConnectionMode(faceHit)); - return true; - } - BlockCoord loc = getLocation().getLocation(faceHit); - IGasConduit n = (IGasConduit)ConduitUtil.getConduit(getBundle().getEntity().getWorldObj(), loc.x, loc.y, loc.z, IGasConduit.class); - if (n == null) { - return false; - } - if (!canJoinNeighbour(n)) { - return false; - } - if (!(n instanceof AbstractGasTankConduit)) { - return false; - } - AbstractGasTankConduit neighbour = (AbstractGasTankConduit)n; - if ((neighbour.getGasType() == null) || (getGasType() == null)) - { - GasStack type = getGasType(); - type = type != null ? type : neighbour.getGasType(); - neighbour.setGasTypeOnNetwork(neighbour, type); - setGasTypeOnNetwork(this, type); - } - return ConduitUtil.joinConduits(this, faceHit); - } - if (containsExternalConnection(connDir)) - { - setConnectionMode(connDir, getNextConnectionMode(connDir)); - } - else if (containsConduitConnection(connDir)) - { - GasStack curGasType = null; - if (getTankNetwork() != null) { - curGasType = getTankNetwork().getGasType(); - } - ConduitUtil.disconectConduits(this, connDir); - setGasType(curGasType); - } - } - } - return true; - } - return false; - } - - private void setGasTypeOnNetwork(AbstractGasTankConduit con, GasStack type) - { - AbstractConduitNetwork<?, ?> n = con.getNetwork(); - if (n != null) - { - AbstractGasTankConduitNetwork<?> network = (AbstractGasTankConduitNetwork)n; - network.setGasType(type); - } - } - - protected abstract boolean canJoinNeighbour(IGasConduit paramIGasConduit); - - public abstract AbstractGasTankConduitNetwork<? extends AbstractGasTankConduit> getTankNetwork(); - - public void setGasType(GasStack gasType) - { - if ((this.tank.getGas() != null) && (this.tank.getGas().isGasEqual(gasType))) { - return; - } - if (gasType != null) { - gasType = gasType.copy(); - } else if (this.tank.getGas() == null) { - return; - } - this.tank.setGas(gasType); - this.stateDirty = true; - } - - public ConduitGasTank getTank() - { - return this.tank; - } - - public GasStack getGasType() - { - GasStack result = null; - if (getTankNetwork() != null) { - result = getTankNetwork().getGasType(); - } - if (result == null) { - result = this.tank.getGas(); - } - return result; - } - - public boolean canOutputToDir(ForgeDirection dir) - { - if (super.canOutputToDir(dir)) - { - IGasHandler ext = getExternalHandler(dir); - return (ext != null) && (ext.canReceiveGas(dir.getOpposite(), this.tank.getGasType())); - } - return false; - } - - protected abstract void updateTank(); - - public void readFromNBT(NBTTagCompound nbtRoot, short nbtVersion) - { - super.readFromNBT(nbtRoot, nbtVersion); - updateTank(); - if (nbtRoot.hasKey("tank")) - { - GasStack gas = GasStack.readFromNBT(nbtRoot.getCompoundTag("tank")); - this.tank.setGas(gas); - } - else - { - this.tank.setGas(null); - } - } - - public void writeToNBT(NBTTagCompound nbtRoot) - { - super.writeToNBT(nbtRoot); - GasStack gt = getGasType(); - if (GasUtil.isGasValid(gt)) - { - updateTank(); - gt = gt.copy(); - gt.amount = this.tank.getStored(); - nbtRoot.setTag("tank", gt.write(new NBTTagCompound())); - } - } -} |