diff options
Diffstat (limited to 'src/Java/miscutil/enderio/conduit/gas/GasConduit.java')
-rw-r--r-- | src/Java/miscutil/enderio/conduit/gas/GasConduit.java | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/src/Java/miscutil/enderio/conduit/gas/GasConduit.java b/src/Java/miscutil/enderio/conduit/gas/GasConduit.java deleted file mode 100644 index bac24cabfd..0000000000 --- a/src/Java/miscutil/enderio/conduit/gas/GasConduit.java +++ /dev/null @@ -1,258 +0,0 @@ -package miscutil.enderio.conduit.gas; - -import java.util.HashMap; -import java.util.Map; - -import mekanism.api.gas.Gas; -import mekanism.api.gas.GasStack; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import crazypants.enderio.EnderIO; -import crazypants.enderio.conduit.AbstractConduitNetwork; -import crazypants.enderio.conduit.ConnectionMode; -import crazypants.enderio.conduit.IConduit; -import crazypants.enderio.conduit.geom.CollidableComponent; -import crazypants.enderio.config.Config; -import crazypants.render.IconUtil; -import crazypants.util.BlockCoord; - -public class GasConduit - extends AbstractGasTankConduit -{ - public static final int CONDUIT_VOLUME = 1000; - public static final String ICON_KEY = "enderio:gasConduit"; - public static final String ICON_CORE_KEY = "enderio:gasConduitCore"; - public static final String ICON_EXTRACT_KEY = "enderio:gasConduitInput"; - public static final String ICON_INSERT_KEY = "enderio:gasConduitOutput"; - public static final String ICON_EMPTY_EDGE = "enderio:gasConduitEdge"; - static final Map<String, IIcon> ICONS = new HashMap(); - private GasConduitNetwork network; - - @SideOnly(Side.CLIENT) - public static void initIcons() - { - IconUtil.addIconProvider(new IconUtil.IIconProvider() - { - public void registerIcons(IIconRegister register) - { - GasConduit.ICONS.put("enderio:gasConduit", register.registerIcon("enderio:gasConduit")); - GasConduit.ICONS.put("enderio:gasConduitCore", register.registerIcon("enderio:gasConduitCore")); - GasConduit.ICONS.put("enderio:gasConduitInput", register.registerIcon("enderio:gasConduitInput")); - GasConduit.ICONS.put("enderio:gasConduitOutput", register.registerIcon("enderio:gasConduitOutput")); - GasConduit.ICONS.put("enderio:gasConduitEdge", register.registerIcon("enderio:gasConduitEdge")); - } - - public int getTextureType() - { - return 0; - } - }); - } - - private long ticksSinceFailedExtract = 0L; - public static final int MAX_EXTRACT_PER_TICK = Config.gasConduitExtractRate; - public static final int MAX_IO_PER_TICK = Config.gasConduitMaxIoRate; - - public GasConduit() - { - updateTank(); - } - - public void updateEntity(World world) - { - super.updateEntity(world); - if (world.isRemote) { - return; - } - doExtract(); - if (this.stateDirty) - { - getBundle().dirty(); - this.stateDirty = false; - } - } - - private void doExtract() - { - BlockCoord loc = getLocation(); - if (!hasConnectionMode(ConnectionMode.INPUT)) { - return; - } - if (this.network == null) { - return; - } - this.ticksSinceFailedExtract += 1L; - if ((this.ticksSinceFailedExtract > 25L) && (this.ticksSinceFailedExtract % 10L != 0L)) { - return; - } - Gas f = this.tank.getGas() == null ? null : this.tank.getGas().getGas(); - for (ForgeDirection dir : this.externalConnections) { - if ((autoExtractForDir(dir)) && - (this.network.extractFrom(this, dir, MAX_EXTRACT_PER_TICK))) { - this.ticksSinceFailedExtract = 0L; - } - } - } - - protected void updateTank() - { - this.tank.setCapacity(1000); - if (this.network != null) { - this.network.updateConduitVolumes(); - } - } - - public ItemStack createItem() - { - return new ItemStack(EnderIO.itemGasConduit); - } - - public AbstractConduitNetwork<?, ?> getNetwork() - { - return this.network; - } - - public boolean setNetwork(AbstractConduitNetwork<?, ?> network) - { - if (network == null) - { - this.network = null; - return true; - } - if (!(network instanceof GasConduitNetwork)) { - return false; - } - GasConduitNetwork n = (GasConduitNetwork)network; - if (this.tank.getGas() == null) { - this.tank.setGas(n.getGasType() == null ? null : n.getGasType().copy()); - } else if (n.getGasType() == null) { - n.setGasType(this.tank.getGas()); - } else if (!this.tank.getGas().isGasEqual(n.getGasType())) { - return false; - } - this.network = n; - return true; - } - - public boolean canConnectToConduit(ForgeDirection direction, IConduit con) - { - if (!super.canConnectToConduit(direction, con)) { - return false; - } - if (!(con instanceof GasConduit)) { - return false; - } - if ((getGasType() != null) && (((GasConduit)con).getGasType() == null)) { - return false; - } - return GasConduitNetwork.areGassCompatable(getGasType(), ((GasConduit)con).getGasType()); - } - - public void setConnectionMode(ForgeDirection dir, ConnectionMode mode) - { - super.setConnectionMode(dir, mode); - refreshInputs(dir); - } - - private void refreshInputs(ForgeDirection dir) - { - if (this.network == null) { - return; - } - GasOutput lo = new GasOutput(getLocation().getLocation(dir), dir.getOpposite()); - this.network.removeInput(lo); - if ((getConnectionMode(dir).acceptsOutput()) && (containsExternalConnection(dir))) { - this.network.addInput(lo); - } - } - - public void externalConnectionAdded(ForgeDirection fromDirection) - { - super.externalConnectionAdded(fromDirection); - refreshInputs(fromDirection); - } - - public void externalConnectionRemoved(ForgeDirection fromDirection) - { - super.externalConnectionRemoved(fromDirection); - refreshInputs(fromDirection); - } - - public IIcon getTextureForState(CollidableComponent component) - { - if (component.dir == ForgeDirection.UNKNOWN) { - return (IIcon)ICONS.get("enderio:gasConduitCore"); - } - return (IIcon)ICONS.get("enderio:gasConduit"); - } - - public IIcon getTextureForInputMode() - { - return (IIcon)ICONS.get("enderio:gasConduitInput"); - } - - public IIcon getTextureForOutputMode() - { - return (IIcon)ICONS.get("enderio:gasConduitOutput"); - } - - public IIcon getNotSetEdgeTexture() - { - return (IIcon)ICONS.get("enderio:gasConduitEdge"); - } - - public IIcon getTransmitionTextureForState(CollidableComponent component) - { - if ((isActive()) && (this.tank.containsValidGas())) { - return this.tank.getGas().getGas().getIcon(); - } - return null; - } - - public int receiveGas(ForgeDirection from, GasStack resource) - { - if ((this.network == null) || (!getConnectionMode(from).acceptsInput())) { - return 0; - } - return this.network.fill(from, resource, true); - } - - public GasStack drawGas(ForgeDirection from, int maxDrain) - { - if ((this.network == null) || (!getConnectionMode(from).acceptsOutput())) { - return null; - } - return this.network.drain(from, maxDrain, true); - } - - public boolean canReceiveGas(ForgeDirection from, Gas gas) - { - if (this.network == null) { - return false; - } - return (getConnectionMode(from).acceptsInput()) && (GasConduitNetwork.areGassCompatable(getGasType(), new GasStack(gas, 0))); - } - - public boolean canDrawGas(ForgeDirection from, Gas gas) - { - if (this.network == null) { - return false; - } - return (getConnectionMode(from).acceptsOutput()) && (GasConduitNetwork.areGassCompatable(getGasType(), new GasStack(gas, 0))); - } - - protected boolean canJoinNeighbour(IGasConduit n) - { - return n instanceof GasConduit; - } - - public AbstractGasTankConduitNetwork<? extends AbstractGasTankConduit> getTankNetwork() - { - return this.network; - } -} |