aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/enderio
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/enderio')
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/AbstractGtConduit.java73
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduit.java161
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduitNetwork.java64
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/ConduitGtTank.java153
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/GtConduit.java265
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/GtConduitNetwork.java310
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/GtConduitRenderer.java180
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/GtOutput.java49
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/GtUtil.java69
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/IGtConduit.java12
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/ItemGtConduit.java76
-rw-r--r--src/Java/miscutil/enderio/conduit/GregTech/PacketGtLevel.java43
-rw-r--r--src/Java/miscutil/enderio/conduit/MetaConduitBase.java2
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/AbstractGasConduit.java203
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduit.java169
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduitNetwork.java73
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/ConduitGasTank.java160
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/GasConduit.java258
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/GasConduitNetwork.java317
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/GasConduitRenderer.java176
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/GasOutput.java57
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/GasUtil.java79
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/IGasConduit.java14
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/ItemGasConduit.java72
-rw-r--r--src/Java/miscutil/enderio/conduit/gas/PacketGasLevel.java44
25 files changed, 1 insertions, 3078 deletions
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtConduit.java b/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtConduit.java
deleted file mode 100644
index de0fc13371..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtConduit.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import mekanism.api.gas.Gas;
-import mekanism.api.gas.GasStack;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.conduit.AbstractConduitNetwork;
-import crazypants.enderio.conduit.gas.AbstractGasConduit;
-import crazypants.enderio.conduit.geom.CollidableComponent;
-
-public class AbstractGtConduit extends AbstractGasConduit{
-
- @Override
- public ItemStack createItem() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public AbstractConduitNetwork<?, ?> getNetwork() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean setNetwork(AbstractConduitNetwork<?, ?> network) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public IIcon getTextureForState(CollidableComponent component) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public IIcon getTransmitionTextureForState(CollidableComponent component) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public int receiveGas(ForgeDirection side, GasStack stack) {
- // TODO Auto-generated method stub
- return 0;
- }
-
- @Override
- public GasStack drawGas(ForgeDirection side, int amount) {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public boolean canReceiveGas(ForgeDirection side, Gas type) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public boolean canDrawGas(ForgeDirection side, Gas type) {
- // TODO Auto-generated method stub
- return false;
- }
-
- protected boolean canJoinNeighbour(IGtConduit n) {
- // TODO Auto-generated method stub
- return false;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduit.java b/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduit.java
deleted file mode 100644
index 1b440aa0bb..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduit.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-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 AbstractGtTankConduit extends AbstractGtConduit {
-
- protected ConduitGtTank tank = new ConduitGtTank(0);
- protected boolean stateDirty = false;
- protected long lastEmptyTick = 0;
- protected int numEmptyEvents = 0;
-
- @Override
- 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);
- IGtConduit n = ConduitUtil.getConduit(getBundle().getEntity().getWorldObj(), loc.x, loc.y, loc.z, IGtConduit.class);
- if(n == null) {
- return false;
- }
- if(!canJoinNeighbour(n)) {
- return false;
- }
- if(!(n instanceof AbstractGtTankConduit)) {
- return false;
- }
- AbstractGtTankConduit neighbour = (AbstractGtTankConduit) 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);
- } else if(containsExternalConnection(connDir)) {
- // Toggle extraction mode
- 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(AbstractGtTankConduit con, GasStack type) {
- AbstractConduitNetwork<?, ?> n = con.getNetwork();
- if(n != null) {
- AbstractGtTankConduitNetwork<?> network = (AbstractGtTankConduitNetwork<?>) n;
- network.setGasType(type);
- }
-
- }
-
- protected abstract boolean canJoinNeighbour(IGtConduit n);
-
- public abstract AbstractGtTankConduitNetwork<? extends AbstractGtTankConduit> getTankNetwork();
-
- public void setGasType(GasStack gasType) {
- if(tank.getGas() != null && tank.getGas().isGasEqual(gasType)) {
- return;
- }
- if(gasType != null) {
- gasType = gasType.copy();
- } else if(tank.getGas() == null) {
- return;
- }
- tank.setGas(gasType);
- stateDirty = true;
- }
-
- public ConduitGtTank getTank() {
- return tank;
- }
-
- public GasStack getGasType() {
- GasStack result = null;
- if(getTankNetwork() != null) {
- result = getTankNetwork().getGasType();
- }
- if(result == null) {
- result = tank.getGas();
- }
- return result;
- }
-
- @Override
- public boolean canOutputToDir(ForgeDirection dir) {
- if (super.canOutputToDir(dir)) {
- IGasHandler ext = getExternalHandler(dir);
- return ext != null && ext.canReceiveGas(dir.getOpposite(), tank.getGasType());
- }
- return false;
- }
-
- protected abstract void updateTank();
-
- @Override
- public void readFromNBT(NBTTagCompound nbtRoot, short nbtVersion) {
- super.readFromNBT(nbtRoot, nbtVersion);
- updateTank();
- if(nbtRoot.hasKey("tank")) {
- GasStack gas = GasStack.readFromNBT(nbtRoot.getCompoundTag("tank"));
- tank.setGas(gas);
- } else {
- tank.setGas(null);
- }
- }
-
- @Override
- public void writeToNBT(NBTTagCompound nbtRoot) {
- super.writeToNBT(nbtRoot);
- GasStack gt = getGasType();
- if(GtUtil.isGasValid(gt)) {
- updateTank();
- gt = gt.copy();
- gt.amount = tank.getStored();
- nbtRoot.setTag("tank", gt.write(new NBTTagCompound()));
- }
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduitNetwork.java b/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduitNetwork.java
deleted file mode 100644
index e48a9b97e5..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/AbstractGtTankConduitNetwork.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import mekanism.api.gas.GasStack;
-import crazypants.enderio.conduit.AbstractConduitNetwork;
-
-public class AbstractGtTankConduitNetwork<T extends AbstractGtTankConduit> extends AbstractConduitNetwork<IGtConduit, T> {
-
- protected GasStack gasType;
- private int test;
- protected AbstractGtTankConduitNetwork(Class<T> cl) {
- super(cl);
- }
-
- public GasStack getGasType() {
- return gasType;
- }
-
- @Override
- public Class<IGtConduit> getBaseConduitType() {
- return IGtConduit.class;
- }
-
- @Override
- public void addConduit(T con) {
- super.addConduit(con);
- con.setGasType(gasType);
- }
-
- public boolean setGasType(GasStack newType) {
- if(gasType != null && gasType.isGasEqual(newType)) {
- return false;
- }
- if(newType != null) {
- gasType = newType.copy();
- gasType.amount = 0;
- } else {
- gasType = null;
- }
- for (AbstractGtTankConduit conduit : conduits) {
- conduit.setGasType(gasType);
- }
- return true;
- }
-
- public boolean canAcceptGas(GasStack acceptable) {
- return areGassCompatable(gasType, acceptable);
- }
-
- public static boolean areGassCompatable(GasStack a, GasStack b) {
- if(a == null || b == null) {
- return true;
- }
- return a.isGasEqual(b);
- }
-
- public int getTotalVolume() {
- int totalVolume = 0;
- for (T con : conduits) {
- totalVolume += con.getTank().getStored();
- }
- return totalVolume;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/ConduitGtTank.java b/src/Java/miscutil/enderio/conduit/GregTech/ConduitGtTank.java
deleted file mode 100644
index d1a81f32d2..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/ConduitGtTank.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.GasTank;
-import net.minecraft.nbt.NBTTagCompound;
-
-public class ConduitGtTank extends GasTank {
-
- private int capacity;
-
- ConduitGtTank(int capacity) {
- super(capacity);
- this.capacity = capacity;
- }
-
- public float getFilledRatio() {
- if(getStored() <= 0) {
- return 0;
- }
- if(getMaxGas() <= 0) {
- return -1;
- }
- float res = (float) getStored() / getMaxGas();
- return res;
- }
-
- public boolean isFull() {
- return getStored() >= getMaxGas();
- }
-
- public void setAmount(int amount) {
- if(stored != null) {
- stored.amount = amount;
- }
- }
-
- public int getAvailableSpace() {
- return getMaxGas() - getStored();
- }
-
- public void addAmount(int amount) {
- setAmount(getStored() + amount);
- }
-
- @Override
- public int getMaxGas() {
- return this.capacity;
- }
-
- public void setCapacity(int capacity) {
- this.capacity = capacity;
- if(getStored() > capacity) {
- setAmount(capacity);
- }
- }
-
- @Override
- public int receive(GasStack resource, boolean doReceive) {
- if(resource == null || resource.getGas().getID() < 0) {
- return 0;
- }
-
- if(stored == null || stored.getGas().getID() < 0) {
- if(resource.amount <= capacity) {
- if(doReceive) {
- setGas(resource.copy());
- }
- return resource.amount;
- } else {
- if(doReceive) {
- stored = resource.copy();
- stored.amount = capacity;
- }
- return capacity;
- }
- }
-
- if(!stored.isGasEqual(resource)) {
- return 0;
- }
-
- int space = capacity - stored.amount;
- if(resource.amount <= space) {
- if(doReceive) {
- addAmount(resource.amount);
- }
- return resource.amount;
- } else {
- if(doReceive) {
- stored.amount = capacity;
- }
- return space;
- }
-
- }
-
- @Override
- public GasStack draw(int maxDrain, boolean doDraw) {
- if(stored == null || stored.getGas().getID() < 0) {
- return null;
- }
- if(stored.amount <= 0) {
- return null;
- }
-
- int used = maxDrain;
- if(stored.amount < used) {
- used = stored.amount;
- }
-
- if(doDraw) {
- addAmount(-used);
- }
-
- GasStack drained = new GasStack(stored.getGas().getID(), used);
-
- if(stored.amount < 0) {
- stored.amount = 0;
- }
- return drained;
- }
-
- public String getGasName() {
- return stored != null ? stored.getGas().getLocalizedName() : null;
- }
-
- public boolean containsValidGas() {
- return GtUtil.isGasValid(stored);
- }
-
- public NBTTagCompound write(NBTTagCompound nbt) {
- if(containsValidGas()) {
- stored.write(nbt);
- } else {
- nbt.setBoolean("emptyGasTank", true);
- }
- return nbt;
- }
-
- public void read(NBTTagCompound nbt) {
- if(!nbt.hasKey("emptyGasTank")) {
- GasStack gas = GasStack.readFromNBT(nbt);
- if(gas != null) {
- setGas(gas);
- }
- }
- }
-
- public boolean isEmpty() {
- return stored == null || stored.amount == 0;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/GtConduit.java b/src/Java/miscutil/enderio/conduit/GregTech/GtConduit.java
deleted file mode 100644
index 3af9f089e4..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/GtConduit.java
+++ /dev/null
@@ -1,265 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-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 GtConduit extends AbstractGtTankConduit {
-
- 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<String, IIcon>();
-
- @SideOnly(Side.CLIENT)
- public static void initIcons() {
- IconUtil.addIconProvider(new IconUtil.IIconProvider() {
-
- @Override
- public void registerIcons(IIconRegister register) {
- ICONS.put(ICON_KEY, register.registerIcon(ICON_KEY));
- ICONS.put(ICON_CORE_KEY, register.registerIcon(ICON_CORE_KEY));
- ICONS.put(ICON_EXTRACT_KEY, register.registerIcon(ICON_EXTRACT_KEY));
- ICONS.put(ICON_INSERT_KEY, register.registerIcon(ICON_INSERT_KEY));
- ICONS.put(ICON_EMPTY_EDGE, register.registerIcon(ICON_EMPTY_EDGE));
- }
-
- @Override
- public int getTextureType() {
- return 0;
- }
-
- });
- }
-
- private GtConduitNetwork network;
-
- private long ticksSinceFailedExtract = 0;
-
- public static final int MAX_EXTRACT_PER_TICK = Config.gasConduitExtractRate;
-
- public static final int MAX_IO_PER_TICK = Config.gasConduitMaxIoRate;
-
- public GtConduit() {
- updateTank();
- }
-
- @Override
- public void updateEntity(World world) {
- super.updateEntity(world);
- if(world.isRemote) {
- return;
- }
- doExtract();
- if(stateDirty) {
- getBundle().dirty();
- stateDirty = false;
- }
- }
-
- private void doExtract() {
- BlockCoord loc = getLocation();
- if(!hasConnectionMode(ConnectionMode.INPUT)) {
- return;
- }
- if(network == null) {
- return;
- }
-
- // assume failure, reset to 0 if we do extract
- ticksSinceFailedExtract++;
- if(ticksSinceFailedExtract > 25 && ticksSinceFailedExtract % 10 != 0) {
- // after 25 ticks of failing, only check every 10 ticks
- return;
- }
-
- Gas f = tank.getGas() == null ? null : tank.getGas().getGas();
- for (ForgeDirection dir : externalConnections) {
- if(autoExtractForDir(dir)) {
- if(network.extractFrom(this, dir, MAX_EXTRACT_PER_TICK)) {
- ticksSinceFailedExtract = 0;
- }
- }
- }
-
- }
-
- @Override
- protected void updateTank() {
- tank.setCapacity(CONDUIT_VOLUME);
- if(network != null) {
- network.updateConduitVolumes();
- }
- }
-
- @Override
- public ItemStack createItem() {
- return new ItemStack(EnderIO.itemGasConduit);
- }
-
- @Override
- public AbstractConduitNetwork<?, ?> getNetwork() {
- return network;
- }
-
- @Override
- public boolean setNetwork(AbstractConduitNetwork<?, ?> network) {
- if(network == null) {
- this.network = null;
- return true;
- }
- if(!(network instanceof GtConduitNetwork)) {
- return false;
- }
-
- GtConduitNetwork n = (GtConduitNetwork) network;
- if(tank.getGas() == null) {
- tank.setGas(n.getGasType() == null ? null : n.getGasType().copy());
- } else if(n.getGasType() == null) {
- n.setGasType(tank.getGas());
- } else if(!tank.getGas().isGasEqual(n.getGasType())) {
- return false;
- }
- this.network = n;
- return true;
-
- }
-
- @Override
- public boolean canConnectToConduit(ForgeDirection direction, IConduit con) {
- if(!super.canConnectToConduit(direction, con)) {
- return false;
- }
- if(!(con instanceof GtConduit)) {
- return false;
- }
- if(getGasType() != null && ((GtConduit) con).getGasType() == null) {
- return false;
- }
- return GtConduitNetwork.areGassCompatable(getGasType(), ((GtConduit) con).getGasType());
- }
-
- @Override
- public void setConnectionMode(ForgeDirection dir, ConnectionMode mode) {
- super.setConnectionMode(dir, mode);
- refreshInputs(dir);
- }
-
- private void refreshInputs(ForgeDirection dir) {
- if(network == null) {
- return;
- }
- GtOutput lo = new GtOutput(getLocation().getLocation(dir), dir.getOpposite());
- network.removeInput(lo);
- if(getConnectionMode(dir).acceptsOutput() && containsExternalConnection(dir)) {
- network.addInput(lo);
- }
- }
-
- @Override
- public void externalConnectionAdded(ForgeDirection fromDirection) {
- super.externalConnectionAdded(fromDirection);
- refreshInputs(fromDirection);
- }
-
- @Override
- public void externalConnectionRemoved(ForgeDirection fromDirection) {
- super.externalConnectionRemoved(fromDirection);
- refreshInputs(fromDirection);
- }
-
- @Override
- public IIcon getTextureForState(CollidableComponent component) {
- if(component.dir == ForgeDirection.UNKNOWN) {
- return ICONS.get(ICON_CORE_KEY);
- }
- return ICONS.get(ICON_KEY);
- }
-
- public IIcon getTextureForInputMode() {
- return ICONS.get(ICON_EXTRACT_KEY);
- }
-
- public IIcon getTextureForOutputMode() {
- return ICONS.get(ICON_INSERT_KEY);
- }
-
- public IIcon getNotSetEdgeTexture() {
- return ICONS.get(ICON_EMPTY_EDGE);
- }
-
- @Override
- public IIcon getTransmitionTextureForState(CollidableComponent component) {
- if(isActive() && tank.containsValidGas()) {
- return tank.getGas().getGas().getIcon();
- }
- return null;
- }
-
- // ------------------------------------------- Gas API
-
- @Override
- public int receiveGas(ForgeDirection from, GasStack resource) {
- if(network == null || !getConnectionMode(from).acceptsInput()) {
- return 0;
- }
- return network.fill(from, resource, true);
- }
-
- @Override
- public GasStack drawGas(ForgeDirection from, int maxDrain) {
- if(network == null || !getConnectionMode(from).acceptsOutput()) {
- return null;
- }
- return network.drain(from, maxDrain, true);
- }
-
- @Override
- public boolean canReceiveGas(ForgeDirection from, Gas gas) {
- if(network == null) {
- return false;
- }
- return getConnectionMode(from).acceptsInput() && GtConduitNetwork.areGassCompatable(getGasType(), new GasStack(gas, 0));
- }
-
- @Override
- public boolean canDrawGas(ForgeDirection from, Gas gas) {
- if(network == null) {
- return false;
- }
- return getConnectionMode(from).acceptsOutput() && GtConduitNetwork.areGassCompatable(getGasType(), new GasStack(gas, 0));
- }
-
- @Override
- protected boolean canJoinNeighbour(IGtConduit n) {
- return n instanceof GtConduit;
- }
-
- @Override
- public AbstractGtTankConduitNetwork<? extends AbstractGtTankConduit> getTankNetwork() {
- return network;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/GtConduitNetwork.java b/src/Java/miscutil/enderio/conduit/GregTech/GtConduitNetwork.java
deleted file mode 100644
index 7855547a7e..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/GtConduitNetwork.java
+++ /dev/null
@@ -1,310 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.IGasHandler;
-import miscutil.enderio.conduit.ConduitGTHandler;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.util.ForgeDirection;
-import cpw.mods.fml.common.gameevent.TickEvent.ServerTickEvent;
-import crazypants.enderio.conduit.ConduitNetworkTickHandler;
-import crazypants.enderio.conduit.ConduitNetworkTickHandler.TickListener;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.util.BlockCoord;
-
-public class GtConduitNetwork extends AbstractGtTankConduitNetwork<GtConduit> {
-
- private final ConduitGtTank tank = new ConduitGtTank(0);
-
- private final Set<GtOutput> outputs = new HashSet<GtOutput>();
-
- private Iterator<GtOutput> outputIterator;
-
- private int ticksActiveUnsynced;
-
- private boolean lastSyncedActive = false;
-
- private int lastSyncedVolume = -1;
-
- private long timeAtLastApply;
-
- private final InnerTickHandler tickHandler = new InnerTickHandler();
-
- public GtConduitNetwork() {
- super(GtConduit.class);
- }
-
- @Override
- public Class<IGtConduit> getBaseConduitType() {
- return IGtConduit.class;
- }
-
- @Override
- public void addConduit(GtConduit con) {
- tank.setCapacity(tank.getMaxGas() + GtConduit.CONDUIT_VOLUME);
- if(con.getTank().containsValidGas()) {
- tank.addAmount(con.getTank().getStored());
- }
- for (ForgeDirection dir : con.getExternalConnections()) {
- if(con.getConnectionMode(dir).acceptsOutput()) {
- outputs.add(new GtOutput(con.getLocation().getLocation(dir), dir.getOpposite()));
- }
- }
- outputIterator = null;
- super.addConduit(con);
- }
-
- @Override
- public boolean setGasType(GasStack newType) {
- if(super.setGasType(newType)) {
-
- GasStack ft = getGasType();
- tank.setGas(ft == null ? null : ft.copy());
- return true;
- }
- return false;
- }
-
- @Override
- public void destroyNetwork() {
- setConduitVolumes();
- outputs.clear();
- super.destroyNetwork();
- }
-
- private void setConduitVolumes() {
- if(tank.containsValidGas() && !conduits.isEmpty()) {
- GasStack gasPerConduit = tank.getGas().copy();
- int numCons = conduits.size();
- int leftOvers = gasPerConduit.amount % numCons;
- gasPerConduit.amount = gasPerConduit.amount / numCons;
-
- for (GtConduit con : conduits) {
- GasStack f = gasPerConduit.copy();
- if(leftOvers > 0) {
- f.amount += 1;
- leftOvers--;
- }
- con.getTank().setGas(f);
- BlockCoord bc = con.getLocation();
- con.getBundle().getEntity().getWorldObj().markTileEntityChunkModified(bc.x, bc.y, bc.z, con.getBundle().getEntity());
- }
-
- }
- }
-
- @Override
- public void onUpdateEntity(IConduit conduit) {
- World world = conduit.getBundle().getEntity().getWorldObj();
- if(world == null) {
- return;
- }
- if(world.isRemote) {
- return;
- }
-
- long curTime = world.getTotalWorldTime();
- if(curTime > 0 && curTime != timeAtLastApply) {
- timeAtLastApply = curTime;
- ConduitNetworkTickHandler.instance.addListener(tickHandler);
- }
-
- }
-
- private void doTick() {
- if(gasType == null || outputs.isEmpty() || !tank.containsValidGas() || tank.isEmpty()) {
- updateActiveState();
- return;
- }
-
- if(outputIterator == null || !outputIterator.hasNext()) {
- outputIterator = outputs.iterator();
- }
-
- updateActiveState();
-
- int numVisited = 0;
- while (!tank.isEmpty() && numVisited < outputs.size()) {
- if(!outputIterator.hasNext()) {
- outputIterator = outputs.iterator();
- }
- GtOutput output = outputIterator.next();
- if(output != null) {
- ConduitGTHandler cont = (ConduitGTHandler) getTankContainer(output.location);
- if(cont != null) {
- GasStack offer = tank.getGas().copy();
- int filled = cont.receiveGas(output.dir, offer);
- if(filled > 0) {
- tank.addAmount(-filled);
-
- }
- }
- }
- numVisited++;
- }
-
- }
-
- private void updateActiveState() {
- boolean isActive = tank.containsValidGas() && !tank.isEmpty();
- if(lastSyncedActive != isActive) {
- ticksActiveUnsynced++;
- } else {
- ticksActiveUnsynced = 0;
- }
- if(ticksActiveUnsynced >= 10 || ticksActiveUnsynced > 0 && isActive) {
- if(!isActive) {
- setGasType(null);
- }
- for (IConduit con : conduits) {
- con.setActive(isActive);
- }
- lastSyncedActive = isActive;
- ticksActiveUnsynced = 0;
- }
- }
-
- public int fill(ForgeDirection from, GasStack resource, boolean doFill) {
- if(resource == null) {
- return 0;
- }
- resource.amount = Math.min(resource.amount, GtConduit.MAX_IO_PER_TICK);
- boolean gasWasValid = tank.containsValidGas();
- int res = tank.receive(resource, doFill);
- if(doFill && res > 0 && gasWasValid) {
- int vol = tank.getStored();
- setGasType(resource);
- tank.setAmount(vol);
- }
- return res;
- }
-
- public GasStack drain(ForgeDirection from, GasStack resource, boolean doDrain) {
- if(resource == null || tank.isEmpty() || !tank.containsValidGas() || !GtConduitNetwork.areGassCompatable(getGasType(), resource)) {
- return null;
- }
- int amount = Math.min(resource.amount, tank.getStored());
- amount = Math.min(amount, GtConduit.MAX_IO_PER_TICK);
- GasStack result = resource.copy();
- result.amount = amount;
- if(doDrain) {
- tank.addAmount(-amount);
- }
- return result;
- }
-
- public GasStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
- if(tank.isEmpty() || !tank.containsValidGas()) {
- return null;
- }
- int amount = Math.min(maxDrain, tank.getStored());
- GasStack result = tank.getGas().copy();
- result.amount = amount;
- if(doDrain) {
- tank.addAmount(-amount);
- }
- return result;
- }
-
- public boolean extractFrom(GtConduit advancedGtConduit, ForgeDirection dir, int maxExtractPerTick) {
-
- if(tank.isFull()) {
- return false;
- }
-
- IGasHandler extTank = getTankContainer(advancedGtConduit, dir);
- if(extTank != null) {
- int maxExtract = Math.min(maxExtractPerTick, tank.getAvailableSpace());
-
- if(gasType == null || !tank.containsValidGas()) {
- GasStack drained = extTank.drawGas(dir.getOpposite(), maxExtract);
- if(drained == null || drained.amount <= 0) {
- return false;
- }
- setGasType(drained);
- tank.setGas(drained.copy());
- return true;
- }
-
- GasStack couldDrain = gasType.copy();
- couldDrain.amount = maxExtract;
-
- // GasStack drained = extTank.drain(dir.getOpposite(), couldDrain, true);
- // if(drained == null || drained.amount <= 0) {
- // return false;
- // }
- // tank.addAmount(drained.amount);
-
- //Have to use this 'double handle' approach to work around an issue with TiC
- GasStack drained = extTank.drawGas(dir.getOpposite(), maxExtract);
- if(drained == null || drained.amount == 0) {
- return false;
- } else {
- if(drained.isGasEqual(getGasType())) {
- tank.addAmount(drained.amount);
- }
- }
- return true;
- }
- return false;
- }
-
- public IGasHandler getTankContainer(BlockCoord bc) {
- World w = getWorld();
- if(w == null) {
- return null;
- }
- TileEntity te = w.getTileEntity(bc.x, bc.y, bc.z);
- if(te instanceof IGasHandler) {
- return (IGasHandler) te;
- }
- return null;
- }
-
- public IGasHandler getTankContainer(GtConduit con, ForgeDirection dir) {
- BlockCoord bc = con.getLocation().getLocation(dir);
- return getTankContainer(bc);
- }
-
- World getWorld() {
- if(conduits.isEmpty()) {
- return null;
- }
- return conduits.get(0).getBundle().getWorld();
- }
-
- public void removeInput(GtOutput lo) {
- outputs.remove(lo);
- outputIterator = null;
- }
-
- public void addInput(GtOutput lo) {
- outputs.add(lo);
- outputIterator = null;
- }
-
- public void updateConduitVolumes() {
- if(tank.getStored() == lastSyncedVolume) {
- return;
- }
- setConduitVolumes();
- lastSyncedVolume = tank.getStored();
- }
-
- private class InnerTickHandler implements TickListener {
-
- @Override
- public void tickStart(ServerTickEvent evt) {
- }
-
- @Override
- public void tickEnd(ServerTickEvent evt) {
- doTick();
- }
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/GtConduitRenderer.java b/src/Java/miscutil/enderio/conduit/GregTech/GtConduitRenderer.java
deleted file mode 100644
index 00070b0db5..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/GtConduitRenderer.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import static crazypants.render.CubeRenderer.addVecWithUV;
-
-import java.util.List;
-
-import mekanism.api.gas.GasStack;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.IIcon;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.EnderIO;
-import crazypants.enderio.conduit.ConnectionMode;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.conduit.geom.CollidableComponent;
-import crazypants.enderio.conduit.geom.ConnectionModeGeometry;
-import crazypants.enderio.conduit.geom.Offset;
-import crazypants.enderio.conduit.render.ConduitBundleRenderer;
-import crazypants.enderio.conduit.render.DefaultConduitRenderer;
-import crazypants.render.BoundingBox;
-import crazypants.render.RenderUtil;
-import crazypants.vecmath.Vector3d;
-import crazypants.vecmath.Vertex;
-
-public class GtConduitRenderer extends DefaultConduitRenderer {
-
- @Override
- public boolean isRendererForConduit(IConduit conduit) {
- return conduit instanceof GtConduit;
- }
-
- @Override
- public void renderEntity(ConduitBundleRenderer conduitBundleRenderer, IConduitBundle te, IConduit conduit, double x, double y, double z, float partialTick,
- float worldLight, RenderBlocks rb) {
- super.renderEntity(conduitBundleRenderer, te, conduit, x, y, z, partialTick, worldLight, rb);
-
- if(!conduit.hasConnectionMode(ConnectionMode.INPUT) && !conduit.hasConnectionMode(ConnectionMode.OUTPUT)) {
- return;
- }
- GtConduit pc = (GtConduit) conduit;
- for (ForgeDirection dir : conduit.getExternalConnections()) {
- IIcon tex = null;
- if(conduit.getConnectionMode(dir) == ConnectionMode.INPUT) {
- tex = pc.getTextureForInputMode();
- } else if(conduit.getConnectionMode(dir) == ConnectionMode.OUTPUT) {
- tex = pc.getTextureForOutputMode();
- }
- if(tex != null) {
- Offset offset = te.getOffset(IGtConduit.class, dir);
- ConnectionModeGeometry.renderModeConnector(dir, offset, tex, true);
- }
- }
- }
-
- @Override
- protected void renderConduit(IIcon tex, IConduit conduit, CollidableComponent component, float brightness) {
- super.renderConduit(tex, conduit, component, brightness);
-
- if(isNSEWUD(component.dir)) {
- GtConduit lc = (GtConduit) conduit;
-
- GasStack gas = lc.getGasType();
- IIcon texture = null;
- if(gas != null) {
- texture = gas.getGas().getIcon();
- }
-
- if(texture == null) {
- texture = lc.getNotSetEdgeTexture();
- }
-
- float scaleFactor = 0.75f;
- float xLen = Math.abs(component.dir.offsetX) == 1 ? 1 : scaleFactor;
- float yLen = Math.abs(component.dir.offsetY) == 1 ? 1 : scaleFactor;
- float zLen = Math.abs(component.dir.offsetZ) == 1 ? 1 : scaleFactor;
-
- BoundingBox cube = component.bound;
- BoundingBox bb = cube.scale(xLen, yLen, zLen);
-
- for (ForgeDirection d : ForgeDirection.VALID_DIRECTIONS) {
- if(d != component.dir && d != component.dir.getOpposite()) {
-
- ForgeDirection vDir = RenderUtil.getVDirForFace(d);
- if(component.dir == ForgeDirection.UP || component.dir == ForgeDirection.DOWN) {
- vDir = RenderUtil.getUDirForFace(d);
- } else if((component.dir == ForgeDirection.NORTH || component.dir == ForgeDirection.SOUTH) && d.offsetY != 0) {
- vDir = RenderUtil.getUDirForFace(d);
- }
-
- float minU = texture.getMinU();
- float maxU = texture.getMaxU();
- float minV = texture.getMinV();
- float maxV = texture.getMaxV();
-
- float sideScale = Math.max(bb.sizeX(), bb.sizeY()) * 2 / 16f;
- sideScale = Math.max(sideScale, bb.sizeZ() * 2 / 16f);
- float width = Math.min(bb.sizeX(), bb.sizeY()) * 15f / 16f;
-
- List<Vertex> corners = bb.getCornersWithUvForFace(d, minU, maxU, minV, maxV);
- moveEdgeCorners(corners, vDir, width);
- moveEdgeCorners(corners, component.dir.getOpposite(), sideScale);
- for (Vertex c : corners) {
- addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
-
- corners = bb.getCornersWithUvForFace(d, minU, maxU, minV, maxV);
- moveEdgeCorners(corners, vDir.getOpposite(), width);
- moveEdgeCorners(corners, component.dir.getOpposite(), sideScale);
- for (Vertex c : corners) {
- addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
-
- }
- }
-
- if(conduit.getConnectionMode(component.dir) == ConnectionMode.DISABLED) {
- tex = EnderIO.blockConduitBundle.getConnectorIcon(component.data);
- List<Vertex> corners = component.bound.getCornersWithUvForFace(component.dir, tex.getMinU(), tex.getMaxU(), tex.getMinV(), tex.getMaxV());
- Tessellator tessellator = Tessellator.instance;
- for (Vertex c : corners) {
- addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- //back face
- for (int i = corners.size() - 1; i >= 0; i--) {
- Vertex c = corners.get(i);
- addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- }
-
- }
-
- }
-
- @Override
- protected void renderTransmission(IConduit conduit, IIcon tex, CollidableComponent component, float selfIllum) {
- super.renderTransmission(conduit, tex, component, selfIllum);
- }
-
- private void moveEdgeCorners(List<Vertex> vertices, ForgeDirection edge, float scaleFactor) {
- int[] indices = getClosest(edge, vertices);
- vertices.get(indices[0]).xyz.x -= scaleFactor * edge.offsetX;
- vertices.get(indices[1]).xyz.x -= scaleFactor * edge.offsetX;
- vertices.get(indices[0]).xyz.y -= scaleFactor * edge.offsetY;
- vertices.get(indices[1]).xyz.y -= scaleFactor * edge.offsetY;
- vertices.get(indices[0]).xyz.z -= scaleFactor * edge.offsetZ;
- vertices.get(indices[1]).xyz.z -= scaleFactor * edge.offsetZ;
- }
-
- private int[] getClosest(ForgeDirection edge, List<Vertex> vertices) {
- int[] res = new int[] { -1, -1 };
- boolean highest = edge.offsetX > 0 || edge.offsetY > 0 || edge.offsetZ > 0;
- double minMax = highest ? -Double.MAX_VALUE : Double.MAX_VALUE;
- int index = 0;
- for (Vertex v : vertices) {
- double val = get(v.xyz, edge);
- if(highest ? val >= minMax : val <= minMax) {
- if(val != minMax) {
- res[0] = index;
- } else {
- res[1] = index;
- }
- minMax = val;
- }
- index++;
- }
- return res;
- }
-
- private double get(Vector3d xyz, ForgeDirection edge) {
- if(edge == ForgeDirection.EAST || edge == ForgeDirection.WEST) {
- return xyz.x;
- }
- if(edge == ForgeDirection.UP || edge == ForgeDirection.DOWN) {
- return xyz.y;
- }
- return xyz.z;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/GtOutput.java b/src/Java/miscutil/enderio/conduit/GregTech/GtOutput.java
deleted file mode 100644
index afaa97eb00..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/GtOutput.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.util.BlockCoord;
-
-public class GtOutput {
-
- final ForgeDirection dir;
- final BlockCoord location;
-
- public GtOutput(BlockCoord bc, ForgeDirection dir) {
- this.dir = dir;
- this.location = bc;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((location == null) ? 0 : location.hashCode());
- result = prime * result + ((dir == null) ? 0 : dir.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if(this == obj)
- return true;
- if(obj == null)
- return false;
- if(getClass() != obj.getClass())
- return false;
- GtOutput other = (GtOutput) obj;
- if(location == null) {
- if(other.location != null)
- return false;
- } else if(!location.equals(other.location))
- return false;
- if(dir != other.dir)
- return false;
- return true;
- }
-
- @Override
- public String toString() {
- return "GasOutput [dir=" + dir + ", location=" + location + "]";
- }
-
-} \ No newline at end of file
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/GtUtil.java b/src/Java/miscutil/enderio/conduit/GregTech/GtUtil.java
deleted file mode 100644
index 16408ca88c..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/GtUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.IGasHandler;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.common.Loader;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.config.Config;
-import crazypants.util.BlockCoord;
-
-public final class GtUtil {
-
- private static boolean useCheckPerformed = false;
- private static boolean isGasConduitEnabled = false;
-
- public static boolean isGasConduitEnabled() {
- if (!useCheckPerformed) {
- String configOption = Config.isGasConduitEnabled;
- if (configOption.equalsIgnoreCase("auto")) {
- isGasConduitEnabled = Loader.isModLoaded("Mekanism");
- if (isGasConduitEnabled) {
- isGasConduitEnabled = Loader.instance().getIndexedModList().get("Mekanism").getVersion().startsWith("7");
- }
- } else if (configOption.equalsIgnoreCase("true")) {
- isGasConduitEnabled = true;
- } else {
- isGasConduitEnabled = false;
- }
- useCheckPerformed = true;
- }
- return isGasConduitEnabled;
- }
-
- public static IGasHandler getExternalGasHandler(IBlockAccess world, BlockCoord bc) {
- IGasHandler con = getGasHandler(world, bc);
- return (con != null && !(con instanceof IConduitBundle)) ? con : null;
- }
-
- public static IGasHandler getGasHandler(IBlockAccess world, BlockCoord bc) {
- return getGasHandler(world, bc.x, bc.y, bc.z);
- }
-
- public static IGasHandler getGasHandler(IBlockAccess world, int x, int y, int z) {
- TileEntity te = world.getTileEntity(x, y, z);
- return getGasHandler(te);
- }
-
- public static IGasHandler getGasHandler(TileEntity te) {
- if(te instanceof IGasHandler) {
- return (IGasHandler) te;
- }
- return null;
- }
-
- public static boolean isGasValid(GasStack gas) {
- if(gas != null) {
- String name = gas.getGas().getLocalizedName();
- if(name != null && !name.trim().isEmpty()) {
- return true;
- }
- }
- return false;
- }
-
- private GtUtil() {
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/IGtConduit.java b/src/Java/miscutil/enderio/conduit/GregTech/IGtConduit.java
deleted file mode 100644
index 869966e33d..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/IGtConduit.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.conduit.IConduit;
-
-public interface IGtConduit extends IConduit {
-
- boolean canOutputToDir(ForgeDirection dir);
-
- boolean isExtractingFromDir(ForgeDirection dir);
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/ItemGtConduit.java b/src/Java/miscutil/enderio/conduit/GregTech/ItemGtConduit.java
deleted file mode 100644
index 9ded118f20..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/ItemGtConduit.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import crazypants.enderio.ModObject;
-import crazypants.enderio.conduit.AbstractItemConduit;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.ItemConduitSubtype;
-import crazypants.enderio.config.Config;
-import crazypants.enderio.gui.IAdvancedTooltipProvider;
-import crazypants.enderio.gui.TooltipAddera;
-import crazypants.util.Lang;
-
-public class ItemGtConduit extends AbstractItemConduit implements IAdvancedTooltipProvider {
-
- private static ItemConduitSubtype[] subtypes = new ItemConduitSubtype[] {
- new ItemConduitSubtype(ModObject.itemGasConduit.name(), "enderio:itemGasConduit"),
- };
-
- public static ItemGtConduit create() {
- ItemGtConduit result = new ItemGtConduit();
- if (GtUtil.isGasConduitEnabled()) {
- result.init();
- }
- return result;
- }
-
- protected ItemGtConduit() {
- super(ModObject.itemGasConduit, subtypes);
- if(!GtUtil.isGasConduitEnabled()) {
- setCreativeTab(null);
- }
- }
-
- @Override
- public Class<? extends IConduit> getBaseConduitType() {
- return IGtConduit.class;
- }
-
- @Override
- public IConduit createConduit(ItemStack stack, EntityPlayer player) {
- return new GtConduit();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addCommonEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addBasicEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {
-
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void addDetailedEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {
- String gpt = " " + Lang.localize("gas.gasTick");
- int extractRate = Config.gasConduitExtractRate;
- int maxIo = Config.gasConduitMaxIoRate;
- list.add(Lang.localize("itemGasConduit.tooltip.maxExtract") + " " + extractRate + gpt);
- list.add(Lang.localize("itemGasConduit.tooltip.maxIo") + " " + maxIo + gpt);
- TooltipAddera.addDetailedTooltipFromResources(list, "enderio.itemGasConduit");
- }
-
- @Override
- public boolean shouldHideFacades(ItemStack stack, EntityPlayer player) {
- return true;
- }
-
-}
diff --git a/src/Java/miscutil/enderio/conduit/GregTech/PacketGtLevel.java b/src/Java/miscutil/enderio/conduit/GregTech/PacketGtLevel.java
deleted file mode 100644
index 9998d59d20..0000000000
--- a/src/Java/miscutil/enderio/conduit/GregTech/PacketGtLevel.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package miscutil.enderio.conduit.GregTech;
-
-import io.netty.buffer.ByteBuf;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import cpw.mods.fml.common.network.ByteBufUtils;
-import cpw.mods.fml.common.network.simpleimpl.IMessage;
-import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
-import cpw.mods.fml.common.network.simpleimpl.MessageContext;
-import crazypants.enderio.conduit.gas.IGasConduit;
-import crazypants.enderio.network.MessageTileEntity;
-
-public class PacketGtLevel extends MessageTileEntity<TileEntity> implements IMessageHandler<PacketGtLevel, IMessage> {
-
- public NBTTagCompound tc;
-
- public PacketGtLevel() {
- }
-
- public PacketGtLevel(IGasConduit conduit) {
- super(conduit.getBundle().getEntity());
- tc = new NBTTagCompound();
- conduit.writeToNBT(tc);
- }
-
- @Override
- public void toBytes(ByteBuf buf) {
- super.toBytes(buf);
- ByteBufUtils.writeTag(buf, tc);
- }
-
- @Override
- public void fromBytes(ByteBuf buf) {
- super.fromBytes(buf);
- tc = ByteBufUtils.readTag(buf);
- }
-
- @Override
- public IMessage onMessage(PacketGtLevel message, MessageContext ctx) {
- // TODO ClientUtil.doGasLevelUpdate(message.x, message.y, message.z, message);
- return null;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/MetaConduitBase.java b/src/Java/miscutil/enderio/conduit/MetaConduitBase.java
index ea7c431ecb..32560a470d 100644
--- a/src/Java/miscutil/enderio/conduit/MetaConduitBase.java
+++ b/src/Java/miscutil/enderio/conduit/MetaConduitBase.java
@@ -12,7 +12,7 @@ import gregtech.api.util.GT_Utility;
import ic2.api.item.IElectricItem;
import miscutil.core.handler.GuiHandler;
import miscutil.core.util.Utils;
-import miscutil.gregtech.metatileentity.implementations.GregtechMetaTileEntity;
+import miscutil.gregtech.metatileentity.implementations.base.GregtechMetaTileEntity;
import miscutil.gregtech.util.IMessage;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/miscutil/enderio/conduit/gas/AbstractGasConduit.java b/src/Java/miscutil/enderio/conduit/gas/AbstractGasConduit.java
deleted file mode 100644
index 0cdee252b0..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/AbstractGasConduit.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import java.util.EnumMap;
-import java.util.HashMap;
-import java.util.Map;
-
-import mekanism.api.gas.IGasHandler;
-import net.minecraft.block.Block;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.conduit.AbstractConduit;
-import crazypants.enderio.conduit.ConduitUtil;
-import crazypants.enderio.conduit.ConnectionMode;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.machine.RedstoneControlMode;
-import crazypants.enderio.machine.reservoir.TileReservoir;
-import crazypants.util.BlockCoord;
-import crazypants.util.DyeColor;
-
-public abstract class AbstractGasConduit
- extends AbstractConduit
- implements IGasConduit
-{
- protected final EnumMap<ForgeDirection, RedstoneControlMode> extractionModes = new EnumMap(ForgeDirection.class);
- protected final EnumMap<ForgeDirection, DyeColor> extractionColors = new EnumMap(ForgeDirection.class);
- protected final Map<ForgeDirection, Integer> externalRedstoneSignals = new HashMap();
- protected boolean redstoneStateDirty = true;
-
- public IGasHandler getExternalHandler(ForgeDirection direction)
- {
- IGasHandler con = GasUtil.getExternalGasHandler(getBundle().getWorld(), getLocation().getLocation(direction));
- return (con != null) && (!(con instanceof IConduitBundle)) ? con : null;
- }
-
- public IGasHandler getTankContainer(BlockCoord bc)
- {
- return GasUtil.getGasHandler(getBundle().getWorld(), bc);
- }
-
- public boolean canConnectToExternal(ForgeDirection direction, boolean ignoreDisabled)
- {
- IGasHandler h = getExternalHandler(direction);
- if (h == null) {
- return false;
- }
- return true;
- }
-
- public Class<? extends IConduit> getBaseConduitType()
- {
- return IGasConduit.class;
- }
-
- public boolean onNeighborBlockChange(Block blockId)
- {
- this.redstoneStateDirty = true;
- return super.onNeighborBlockChange(blockId);
- }
-
- public void setExtractionRedstoneMode(RedstoneControlMode mode, ForgeDirection dir)
- {
- this.extractionModes.put(dir, mode);
- this.redstoneStateDirty = true;
- }
-
- public RedstoneControlMode getExtractionRedstoneMode(ForgeDirection dir)
- {
- RedstoneControlMode res = (RedstoneControlMode)this.extractionModes.get(dir);
- if (res == null) {
- res = RedstoneControlMode.ON;
- }
- return res;
- }
-
- public void setExtractionSignalColor(ForgeDirection dir, DyeColor col)
- {
- this.extractionColors.put(dir, col);
- }
-
- public DyeColor getExtractionSignalColor(ForgeDirection dir)
- {
- DyeColor result = (DyeColor)this.extractionColors.get(dir);
- if (result == null) {
- return DyeColor.RED;
- }
- return result;
- }
-
- public boolean canOutputToDir(ForgeDirection dir)
- {
- if ((isExtractingFromDir(dir)) || (getConnectionMode(dir) == ConnectionMode.DISABLED)) {
- return false;
- }
- if (this.conduitConnections.contains(dir)) {
- return true;
- }
- if (!this.externalConnections.contains(dir)) {
- return false;
- }
- IGasHandler ext = getExternalHandler(dir);
- if ((ext instanceof TileReservoir))
- {
- TileReservoir tr = (TileReservoir)ext;
- return (!tr.isMultiblock()) || (!tr.isAutoEject());
- }
- return true;
- }
-
- protected boolean autoExtractForDir(ForgeDirection dir)
- {
- if (!isExtractingFromDir(dir)) {
- return false;
- }
- RedstoneControlMode mode = getExtractionRedstoneMode(dir);
- if (mode == RedstoneControlMode.IGNORE) {
- return true;
- }
- if (mode == RedstoneControlMode.NEVER) {
- return false;
- }
- if (this.redstoneStateDirty)
- {
- this.externalRedstoneSignals.clear();
- this.redstoneStateDirty = false;
- }
- DyeColor col = getExtractionSignalColor(dir);
- int signal = ConduitUtil.getInternalSignalForColor(getBundle(), col);
- if ((RedstoneControlMode.isConditionMet(mode, signal)) && (mode != RedstoneControlMode.OFF)) {
- return true;
- }
- return isConditionMetByExternalSignal(dir, mode, col);
- }
-
- private boolean isConditionMetByExternalSignal(ForgeDirection dir, RedstoneControlMode mode, DyeColor col)
- {
- int externalSignal = 0;
- if (col == DyeColor.RED)
- {
- Integer val = (Integer)this.externalRedstoneSignals.get(dir);
- if (val == null)
- {
- TileEntity te = getBundle().getEntity();
- externalSignal = te.getWorldObj().getStrongestIndirectPower(te.xCoord, te.yCoord, te.zCoord);
- this.externalRedstoneSignals.put(dir, Integer.valueOf(externalSignal));
- }
- else
- {
- externalSignal = val.intValue();
- }
- }
- return RedstoneControlMode.isConditionMet(mode, externalSignal);
- }
-
- public boolean isExtractingFromDir(ForgeDirection dir)
- {
- return getConnectionMode(dir) == ConnectionMode.INPUT;
- }
-
- public void writeToNBT(NBTTagCompound nbtRoot)
- {
- super.writeToNBT(nbtRoot);
- for (Map.Entry<ForgeDirection, RedstoneControlMode> entry : this.extractionModes.entrySet()) {
- if (entry.getValue() != null)
- {
- short ord = (short)((RedstoneControlMode)entry.getValue()).ordinal();
- nbtRoot.setShort("extRM." + ((ForgeDirection)entry.getKey()).name(), ord);
- }
- }
- for (Map.Entry<ForgeDirection, DyeColor> entry : this.extractionColors.entrySet()) {
- if (entry.getValue() != null)
- {
- short ord = (short)((DyeColor)entry.getValue()).ordinal();
- nbtRoot.setShort("extSC." + ((ForgeDirection)entry.getKey()).name(), ord);
- }
- }
- }
-
- public void readFromNBT(NBTTagCompound nbtRoot, short nbtVersion)
- {
- super.readFromNBT(nbtRoot, nbtVersion);
- for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
- {
- String key = "extRM." + dir.name();
- if (nbtRoot.hasKey(key))
- {
- short ord = nbtRoot.getShort(key);
- if ((ord >= 0) && (ord < RedstoneControlMode.values().length)) {
- this.extractionModes.put(dir, RedstoneControlMode.values()[ord]);
- }
- }
- key = "extSC." + dir.name();
- if (nbtRoot.hasKey(key))
- {
- short ord = nbtRoot.getShort(key);
- if ((ord >= 0) && (ord < DyeColor.values().length)) {
- this.extractionColors.put(dir, DyeColor.values()[ord]);
- }
- }
- }
- }
-}
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()));
- }
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduitNetwork.java b/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduitNetwork.java
deleted file mode 100644
index ec75d1319e..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/AbstractGasTankConduitNetwork.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import mekanism.api.gas.GasStack;
-import crazypants.enderio.conduit.AbstractConduitNetwork;
-
-public class AbstractGasTankConduitNetwork<T extends AbstractGasTankConduit>
- extends AbstractConduitNetwork<IGasConduit, T>
-{
- protected GasStack gasType;
-
- protected AbstractGasTankConduitNetwork(Class<T> cl)
- {
- super(cl);
- }
-
- public GasStack getGasType()
- {
- return this.gasType;
- }
-
- public Class<IGasConduit> getBaseConduitType()
- {
- return IGasConduit.class;
- }
-
- public void addConduit(T con)
- {
- super.addConduit(con);
- con.setGasType(this.gasType);
- }
-
- public boolean setGasType(GasStack newType)
- {
- if ((this.gasType != null) && (this.gasType.isGasEqual(newType))) {
- return false;
- }
- if (newType != null)
- {
- this.gasType = newType.copy();
- this.gasType.amount = 0;
- }
- else
- {
- this.gasType = null;
- }
- for (AbstractGasTankConduit conduit : this.conduits) {
- conduit.setGasType(this.gasType);
- }
- return true;
- }
-
- public boolean canAcceptGas(GasStack acceptable)
- {
- return areGassCompatable(this.gasType, acceptable);
- }
-
- public static boolean areGassCompatable(GasStack a, GasStack b)
- {
- if ((a == null) || (b == null)) {
- return true;
- }
- return a.isGasEqual(b);
- }
-
- public int getTotalVolume()
- {
- int totalVolume = 0;
- for (T con : this.conduits) {
- totalVolume += con.getTank().getStored();
- }
- return totalVolume;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/ConduitGasTank.java b/src/Java/miscutil/enderio/conduit/gas/ConduitGasTank.java
deleted file mode 100644
index 3e944a2f2c..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/ConduitGasTank.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.GasTank;
-import net.minecraft.nbt.NBTTagCompound;
-
-public class ConduitGasTank
- extends GasTank
-{
- private int capacity;
-
- ConduitGasTank(int capacity)
- {
- super(capacity);
- this.capacity = capacity;
- }
-
- public float getFilledRatio()
- {
- if (getStored() <= 0) {
- return 0.0F;
- }
- if (getMaxGas() <= 0) {
- return -1.0F;
- }
- float res = getStored() / getMaxGas();
- return res;
- }
-
- public boolean isFull()
- {
- return getStored() >= getMaxGas();
- }
-
- public void setAmount(int amount)
- {
- if (this.stored != null) {
- this.stored.amount = amount;
- }
- }
-
- public int getAvailableSpace()
- {
- return getMaxGas() - getStored();
- }
-
- public void addAmount(int amount)
- {
- setAmount(getStored() + amount);
- }
-
- public int getMaxGas()
- {
- return this.capacity;
- }
-
- public void setCapacity(int capacity)
- {
- this.capacity = capacity;
- if (getStored() > capacity) {
- setAmount(capacity);
- }
- }
-
- public int receive(GasStack resource, boolean doReceive)
- {
- if ((resource == null) || (resource.getGas().getID() < 0)) {
- return 0;
- }
- if ((this.stored == null) || (this.stored.getGas().getID() < 0))
- {
- if (resource.amount <= this.capacity)
- {
- if (doReceive) {
- setGas(resource.copy());
- }
- return resource.amount;
- }
- if (doReceive)
- {
- this.stored = resource.copy();
- this.stored.amount = this.capacity;
- }
- return this.capacity;
- }
- if (!this.stored.isGasEqual(resource)) {
- return 0;
- }
- int space = this.capacity - this.stored.amount;
- if (resource.amount <= space)
- {
- if (doReceive) {
- addAmount(resource.amount);
- }
- return resource.amount;
- }
- if (doReceive) {
- this.stored.amount = this.capacity;
- }
- return space;
- }
-
- public GasStack draw(int maxDrain, boolean doDraw)
- {
- if ((this.stored == null) || (this.stored.getGas().getID() < 0)) {
- return null;
- }
- if (this.stored.amount <= 0) {
- return null;
- }
- int used = maxDrain;
- if (this.stored.amount < used) {
- used = this.stored.amount;
- }
- if (doDraw) {
- addAmount(-used);
- }
- GasStack drained = new GasStack(this.stored.getGas().getID(), used);
- if (this.stored.amount < 0) {
- this.stored.amount = 0;
- }
- return drained;
- }
-
- public String getGasName()
- {
- return this.stored != null ? this.stored.getGas().getLocalizedName() : null;
- }
-
- public boolean containsValidGas()
- {
- return GasUtil.isGasValid(this.stored);
- }
-
- public NBTTagCompound write(NBTTagCompound nbt)
- {
- if (containsValidGas()) {
- this.stored.write(nbt);
- } else {
- nbt.setBoolean("emptyGasTank", true);
- }
- return nbt;
- }
-
- public void read(NBTTagCompound nbt)
- {
- if (!nbt.hasKey("emptyGasTank"))
- {
- GasStack gas = GasStack.readFromNBT(nbt);
- if (gas != null) {
- setGas(gas);
- }
- }
- }
-
- public boolean isEmpty()
- {
- return (this.stored == null) || (this.stored.amount == 0);
- }
-}
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;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/GasConduitNetwork.java b/src/Java/miscutil/enderio/conduit/gas/GasConduitNetwork.java
deleted file mode 100644
index a93a418627..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/GasConduitNetwork.java
+++ /dev/null
@@ -1,317 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.IGasHandler;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.common.util.ForgeDirection;
-import cpw.mods.fml.common.gameevent.TickEvent;
-import crazypants.enderio.conduit.ConduitNetworkTickHandler;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.util.BlockCoord;
-
-public class GasConduitNetwork
- extends AbstractGasTankConduitNetwork<GasConduit>
-{
- private final ConduitGasTank tank = new ConduitGasTank(0);
- private final Set<GasOutput> outputs = new HashSet();
- private Iterator<GasOutput> outputIterator;
- private int ticksActiveUnsynced;
- private boolean lastSyncedActive = false;
- private int lastSyncedVolume = -1;
- private long timeAtLastApply;
- private final InnerTickHandler tickHandler = new InnerTickHandler();
-
- public GasConduitNetwork()
- {
- super(GasConduit.class);
- }
-
- public Class<IGasConduit> getBaseConduitType()
- {
- return IGasConduit.class;
- }
-
- public void addConduit(GasConduit con)
- {
- this.tank.setCapacity(this.tank.getMaxGas() + 1000);
- if (con.getTank().containsValidGas()) {
- this.tank.addAmount(con.getTank().getStored());
- }
- for (ForgeDirection dir : con.getExternalConnections()) {
- if (con.getConnectionMode(dir).acceptsOutput()) {
- this.outputs.add(new GasOutput(con.getLocation().getLocation(dir), dir.getOpposite()));
- }
- }
- this.outputIterator = null;
- super.addConduit(con);
- }
-
- public boolean setGasType(GasStack newType)
- {
- if (super.setGasType(newType))
- {
- GasStack ft = getGasType();
- this.tank.setGas(ft == null ? null : ft.copy());
- return true;
- }
- return false;
- }
-
- public void destroyNetwork()
- {
- setConduitVolumes();
- this.outputs.clear();
- super.destroyNetwork();
- }
-
- private void setConduitVolumes()
- {
- GasStack gasPerConduit;
- int leftOvers;
- if ((this.tank.containsValidGas()) && (!this.conduits.isEmpty()))
- {
- gasPerConduit = this.tank.getGas().copy();
- int numCons = this.conduits.size();
- leftOvers = gasPerConduit.amount % numCons;
- gasPerConduit.amount /= numCons;
- for (GasConduit con : this.conduits)
- {
- GasStack f = gasPerConduit.copy();
- if (leftOvers > 0)
- {
- f.amount += 1;
- leftOvers--;
- }
- con.getTank().setGas(f);
- BlockCoord bc = con.getLocation();
- con.getBundle().getEntity().getWorldObj().markTileEntityChunkModified(bc.x, bc.y, bc.z, con.getBundle().getEntity());
- }
- }
- }
-
- public void onUpdateEntity(IConduit conduit)
- {
- World world = conduit.getBundle().getEntity().getWorldObj();
- if (world == null) {
- return;
- }
- if (world.isRemote) {
- return;
- }
- long curTime = world.getTotalWorldTime();
- if ((curTime > 0L) && (curTime != this.timeAtLastApply))
- {
- this.timeAtLastApply = curTime;
- ConduitNetworkTickHandler.instance.addListener(this.tickHandler);
- }
- }
-
- private void doTick()
- {
- if ((this.gasType == null) || (this.outputs.isEmpty()) || (!this.tank.containsValidGas()) || (this.tank.isEmpty()))
- {
- updateActiveState();
- return;
- }
- if ((this.outputIterator == null) || (!this.outputIterator.hasNext())) {
- this.outputIterator = this.outputs.iterator();
- }
- updateActiveState();
-
- int numVisited = 0;
- while ((!this.tank.isEmpty()) && (numVisited < this.outputs.size()))
- {
- if (!this.outputIterator.hasNext()) {
- this.outputIterator = this.outputs.iterator();
- }
- GasOutput output = (GasOutput)this.outputIterator.next();
- if (output != null)
- {
- IGasHandler cont = getTankContainer(output.location);
- if (cont != null)
- {
- GasStack offer = this.tank.getGas().copy();
- int filled = cont.receiveGas(output.dir, offer);
- if (filled > 0) {
- this.tank.addAmount(-filled);
- }
- }
- }
- numVisited++;
- }
- }
-
- private void updateActiveState()
- {
- boolean isActive = (this.tank.containsValidGas()) && (!this.tank.isEmpty());
- if (this.lastSyncedActive != isActive) {
- this.ticksActiveUnsynced += 1;
- } else {
- this.ticksActiveUnsynced = 0;
- }
- if ((this.ticksActiveUnsynced >= 10) || ((this.ticksActiveUnsynced > 0) && (isActive)))
- {
- if (!isActive) {
- setGasType(null);
- }
- for (IConduit con : this.conduits) {
- con.setActive(isActive);
- }
- this.lastSyncedActive = isActive;
- this.ticksActiveUnsynced = 0;
- }
- }
-
- public int fill(ForgeDirection from, GasStack resource, boolean doFill)
- {
- if (resource == null) {
- return 0;
- }
- resource.amount = Math.min(resource.amount, GasConduit.MAX_IO_PER_TICK);
- boolean gasWasValid = this.tank.containsValidGas();
- int res = this.tank.receive(resource, doFill);
- if ((doFill) && (res > 0) && (gasWasValid))
- {
- int vol = this.tank.getStored();
- setGasType(resource);
- this.tank.setAmount(vol);
- }
- return res;
- }
-
- public GasStack drain(ForgeDirection from, GasStack resource, boolean doDrain)
- {
- if ((resource == null) || (this.tank.isEmpty()) || (!this.tank.containsValidGas()) || (!areGassCompatable(getGasType(), resource))) {
- return null;
- }
- int amount = Math.min(resource.amount, this.tank.getStored());
- amount = Math.min(amount, GasConduit.MAX_IO_PER_TICK);
- GasStack result = resource.copy();
- result.amount = amount;
- if (doDrain) {
- this.tank.addAmount(-amount);
- }
- return result;
- }
-
- public GasStack drain(ForgeDirection from, int maxDrain, boolean doDrain)
- {
- if ((this.tank.isEmpty()) || (!this.tank.containsValidGas())) {
- return null;
- }
- int amount = Math.min(maxDrain, this.tank.getStored());
- GasStack result = this.tank.getGas().copy();
- result.amount = amount;
- if (doDrain) {
- this.tank.addAmount(-amount);
- }
- return result;
- }
-
- public boolean extractFrom(GasConduit advancedGasConduit, ForgeDirection dir, int maxExtractPerTick)
- {
- if (this.tank.isFull()) {
- return false;
- }
- IGasHandler extTank = getTankContainer(advancedGasConduit, dir);
- if (extTank != null)
- {
- int maxExtract = Math.min(maxExtractPerTick, this.tank.getAvailableSpace());
- if ((this.gasType == null) || (!this.tank.containsValidGas()))
- {
- GasStack drained = extTank.drawGas(dir.getOpposite(), maxExtract);
- if ((drained == null) || (drained.amount <= 0)) {
- return false;
- }
- setGasType(drained);
- this.tank.setGas(drained.copy());
- return true;
- }
- GasStack couldDrain = this.gasType.copy();
- couldDrain.amount = maxExtract;
-
-
-
-
-
-
-
-
- GasStack drained = extTank.drawGas(dir.getOpposite(), maxExtract);
- if ((drained == null) || (drained.amount == 0)) {
- return false;
- }
- if (drained.isGasEqual(getGasType())) {
- this.tank.addAmount(drained.amount);
- }
- return true;
- }
- return false;
- }
-
- public IGasHandler getTankContainer(BlockCoord bc)
- {
- World w = getWorld();
- if (w == null) {
- return null;
- }
- TileEntity te = w.getTileEntity(bc.x, bc.y, bc.z);
- if ((te instanceof IGasHandler)) {
- return (IGasHandler)te;
- }
- return null;
- }
-
- public IGasHandler getTankContainer(GasConduit con, ForgeDirection dir)
- {
- BlockCoord bc = con.getLocation().getLocation(dir);
- return getTankContainer(bc);
- }
-
- World getWorld()
- {
- if (this.conduits.isEmpty()) {
- return null;
- }
- return ((GasConduit)this.conduits.get(0)).getBundle().getWorld();
- }
-
- public void removeInput(GasOutput lo)
- {
- this.outputs.remove(lo);
- this.outputIterator = null;
- }
-
- public void addInput(GasOutput lo)
- {
- this.outputs.add(lo);
- this.outputIterator = null;
- }
-
- public void updateConduitVolumes()
- {
- if (this.tank.getStored() == this.lastSyncedVolume) {
- return;
- }
- setConduitVolumes();
- this.lastSyncedVolume = this.tank.getStored();
- }
-
- private class InnerTickHandler
- implements ConduitNetworkTickHandler.TickListener
- {
- private InnerTickHandler() {}
-
- public void tickStart(TickEvent.ServerTickEvent evt) {}
-
- public void tickEnd(TickEvent.ServerTickEvent evt)
- {
- GasConduitNetwork.this.doTick();
- }
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/GasConduitRenderer.java b/src/Java/miscutil/enderio/conduit/gas/GasConduitRenderer.java
deleted file mode 100644
index b8b6450a47..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/GasConduitRenderer.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import java.util.List;
-
-import mekanism.api.gas.GasStack;
-import net.minecraft.client.renderer.RenderBlocks;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.IIcon;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.EnderIO;
-import crazypants.enderio.conduit.ConnectionMode;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.conduit.geom.CollidableComponent;
-import crazypants.enderio.conduit.geom.ConnectionModeGeometry;
-import crazypants.enderio.conduit.geom.Offset;
-import crazypants.enderio.conduit.render.ConduitBundleRenderer;
-import crazypants.enderio.conduit.render.DefaultConduitRenderer;
-import crazypants.render.BoundingBox;
-import crazypants.render.CubeRenderer;
-import crazypants.render.RenderUtil;
-import crazypants.vecmath.Vector3d;
-import crazypants.vecmath.Vertex;
-
-public class GasConduitRenderer
- extends DefaultConduitRenderer
-{
- public boolean isRendererForConduit(IConduit conduit)
- {
- return conduit instanceof GasConduit;
- }
-
- public void renderEntity(ConduitBundleRenderer conduitBundleRenderer, IConduitBundle te, IConduit conduit, double x, double y, double z, float partialTick, float worldLight, RenderBlocks rb)
- {
- super.renderEntity(conduitBundleRenderer, te, conduit, x, y, z, partialTick, worldLight, rb);
- if ((!conduit.hasConnectionMode(ConnectionMode.INPUT)) && (!conduit.hasConnectionMode(ConnectionMode.OUTPUT))) {
- return;
- }
- GasConduit pc = (GasConduit)conduit;
- for (ForgeDirection dir : conduit.getExternalConnections())
- {
- IIcon tex = null;
- if (conduit.getConnectionMode(dir) == ConnectionMode.INPUT) {
- tex = pc.getTextureForInputMode();
- } else if (conduit.getConnectionMode(dir) == ConnectionMode.OUTPUT) {
- tex = pc.getTextureForOutputMode();
- }
- if (tex != null)
- {
- Offset offset = te.getOffset(IGasConduit.class, dir);
- ConnectionModeGeometry.renderModeConnector(dir, offset, tex, true);
- }
- }
- }
-
- protected void renderConduit(IIcon tex, IConduit conduit, CollidableComponent component, float brightness)
- {
- super.renderConduit(tex, conduit, component, brightness);
- if (isNSEWUD(component.dir))
- {
- GasConduit lc = (GasConduit)conduit;
-
- GasStack gas = lc.getGasType();
- IIcon texture = null;
- if (gas != null) {
- texture = gas.getGas().getIcon();
- }
- if (texture == null) {
- texture = lc.getNotSetEdgeTexture();
- }
- float scaleFactor = 0.75F;
- float xLen = Math.abs(component.dir.offsetX) == 1 ? 1.0F : scaleFactor;
- float yLen = Math.abs(component.dir.offsetY) == 1 ? 1.0F : scaleFactor;
- float zLen = Math.abs(component.dir.offsetZ) == 1 ? 1.0F : scaleFactor;
-
- BoundingBox cube = component.bound;
- BoundingBox bb = cube.scale(xLen, yLen, zLen);
- for (ForgeDirection d : ForgeDirection.VALID_DIRECTIONS) {
- if ((d != component.dir) && (d != component.dir.getOpposite()))
- {
- ForgeDirection vDir = RenderUtil.getVDirForFace(d);
- if ((component.dir == ForgeDirection.UP) || (component.dir == ForgeDirection.DOWN)) {
- vDir = RenderUtil.getUDirForFace(d);
- } else if (((component.dir == ForgeDirection.NORTH) || (component.dir == ForgeDirection.SOUTH)) && (d.offsetY != 0)) {
- vDir = RenderUtil.getUDirForFace(d);
- }
- float minU = texture.getMinU();
- float maxU = texture.getMaxU();
- float minV = texture.getMinV();
- float maxV = texture.getMaxV();
-
- float sideScale = Math.max(bb.sizeX(), bb.sizeY()) * 2.0F / 16.0F;
- sideScale = Math.max(sideScale, bb.sizeZ() * 2.0F / 16.0F);
- float width = Math.min(bb.sizeX(), bb.sizeY()) * 15.0F / 16.0F;
-
- List<Vertex> corners = bb.getCornersWithUvForFace(d, minU, maxU, minV, maxV);
- moveEdgeCorners(corners, vDir, width);
- moveEdgeCorners(corners, component.dir.getOpposite(), sideScale);
- for (Vertex c : corners) {
- CubeRenderer.addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- corners = bb.getCornersWithUvForFace(d, minU, maxU, minV, maxV);
- moveEdgeCorners(corners, vDir.getOpposite(), width);
- moveEdgeCorners(corners, component.dir.getOpposite(), sideScale);
- for (Vertex c : corners) {
- CubeRenderer.addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- }
- }
- if (conduit.getConnectionMode(component.dir) == ConnectionMode.DISABLED)
- {
- tex = EnderIO.blockConduitBundle.getConnectorIcon(component.data);
- List<Vertex> corners = component.bound.getCornersWithUvForFace(component.dir, tex.getMinU(), tex.getMaxU(), tex.getMinV(), tex.getMaxV());
- Tessellator tessellator = Tessellator.instance;
- for (Vertex c : corners) {
- CubeRenderer.addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- for (int i = corners.size() - 1; i >= 0; i--)
- {
- Vertex c = (Vertex)corners.get(i);
- CubeRenderer.addVecWithUV(c.xyz, c.uv.x, c.uv.y);
- }
- }
- }
- }
-
- protected void renderTransmission(IConduit conduit, IIcon tex, CollidableComponent component, float selfIllum)
- {
- super.renderTransmission(conduit, tex, component, selfIllum);
- }
-
- private void moveEdgeCorners(List<Vertex> vertices, ForgeDirection edge, float scaleFactor)
- {
- int[] indices = getClosest(edge, vertices);
- ((Vertex)vertices.get(indices[0])).xyz.x -= scaleFactor * edge.offsetX;
- ((Vertex)vertices.get(indices[1])).xyz.x -= scaleFactor * edge.offsetX;
- ((Vertex)vertices.get(indices[0])).xyz.y -= scaleFactor * edge.offsetY;
- ((Vertex)vertices.get(indices[1])).xyz.y -= scaleFactor * edge.offsetY;
- ((Vertex)vertices.get(indices[0])).xyz.z -= scaleFactor * edge.offsetZ;
- ((Vertex)vertices.get(indices[1])).xyz.z -= scaleFactor * edge.offsetZ;
- }
-
- private int[] getClosest(ForgeDirection edge, List<Vertex> vertices)
- {
- int[] res = { -1, -1 };
- boolean highest = (edge.offsetX > 0) || (edge.offsetY > 0) || (edge.offsetZ > 0);
- double minMax = /*highest ? -1.797693134862316E+308D :*/ 1.7976931348623157E+308D;
- int index = 0;
- for (Vertex v : vertices)
- {
- double val = get(v.xyz, edge);
- if (highest ? val >= minMax : val <= minMax)
- {
- if (val != minMax) {
- res[0] = index;
- } else {
- res[1] = index;
- }
- minMax = val;
- }
- index++;
- }
- return res;
- }
-
- private double get(Vector3d xyz, ForgeDirection edge)
- {
- if ((edge == ForgeDirection.EAST) || (edge == ForgeDirection.WEST)) {
- return xyz.x;
- }
- if ((edge == ForgeDirection.UP) || (edge == ForgeDirection.DOWN)) {
- return xyz.y;
- }
- return xyz.z;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/GasOutput.java b/src/Java/miscutil/enderio/conduit/gas/GasOutput.java
deleted file mode 100644
index ff0c699700..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/GasOutput.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.util.BlockCoord;
-
-public class GasOutput
-{
- final ForgeDirection dir;
- final BlockCoord location;
-
- public GasOutput(BlockCoord bc, ForgeDirection dir)
- {
- this.dir = dir;
- this.location = bc;
- }
-
- public int hashCode()
- {
- int prime = 31;
- int result = 1;
- result = 31 * result + (this.location == null ? 0 : this.location.hashCode());
- result = 31 * result + (this.dir == null ? 0 : this.dir.hashCode());
- return result;
- }
-
- public boolean equals(Object obj)
- {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- GasOutput other = (GasOutput)obj;
- if (this.location == null)
- {
- if (other.location != null) {
- return false;
- }
- }
- else if (!this.location.equals(other.location)) {
- return false;
- }
- if (this.dir != other.dir) {
- return false;
- }
- return true;
- }
-
- public String toString()
- {
- return "GasOutput [dir=" + this.dir + ", location=" + this.location + "]";
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/GasUtil.java b/src/Java/miscutil/enderio/conduit/gas/GasUtil.java
deleted file mode 100644
index 7b85ee017b..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/GasUtil.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import mekanism.api.gas.GasStack;
-import mekanism.api.gas.IGasHandler;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.IBlockAccess;
-import cpw.mods.fml.common.Loader;
-import cpw.mods.fml.common.ModContainer;
-import crazypants.enderio.conduit.IConduitBundle;
-import crazypants.enderio.config.Config;
-import crazypants.util.BlockCoord;
-
-public final class GasUtil
-{
- private static boolean useCheckPerformed = false;
- private static boolean isGasConduitEnabled = false;
-
- public static boolean isGasConduitEnabled()
- {
- if (!useCheckPerformed)
- {
- String configOption = Config.isGasConduitEnabled;
- if (configOption.equalsIgnoreCase("auto"))
- {
- isGasConduitEnabled = Loader.isModLoaded("Mekanism");
- if (isGasConduitEnabled) {
- isGasConduitEnabled = ((ModContainer)Loader.instance().getIndexedModList().get("Mekanism")).getVersion().startsWith("7");
- }
- }
- else if (configOption.equalsIgnoreCase("true"))
- {
- isGasConduitEnabled = true;
- }
- else
- {
- isGasConduitEnabled = false;
- }
- useCheckPerformed = true;
- }
- return isGasConduitEnabled;
- }
-
- public static IGasHandler getExternalGasHandler(IBlockAccess world, BlockCoord bc)
- {
- IGasHandler con = getGasHandler(world, bc);
- return (con != null) && (!(con instanceof IConduitBundle)) ? con : null;
- }
-
- public static IGasHandler getGasHandler(IBlockAccess world, BlockCoord bc)
- {
- return getGasHandler(world, bc.x, bc.y, bc.z);
- }
-
- public static IGasHandler getGasHandler(IBlockAccess world, int x, int y, int z)
- {
- TileEntity te = world.getTileEntity(x, y, z);
- return getGasHandler(te);
- }
-
- public static IGasHandler getGasHandler(TileEntity te)
- {
- if ((te instanceof IGasHandler)) {
- return (IGasHandler)te;
- }
- return null;
- }
-
- public static boolean isGasValid(GasStack gas)
- {
- if (gas != null)
- {
- String name = gas.getGas().getLocalizedName();
- if ((name != null) && (!name.trim().isEmpty())) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/IGasConduit.java b/src/Java/miscutil/enderio/conduit/gas/IGasConduit.java
deleted file mode 100644
index 1f79988a82..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/IGasConduit.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import mekanism.api.gas.IGasHandler;
-import net.minecraftforge.common.util.ForgeDirection;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.IExtractor;
-
-public abstract interface IGasConduit
- extends IConduit, IGasHandler, IExtractor
-{
- public abstract boolean canOutputToDir(ForgeDirection paramForgeDirection);
-
- public abstract boolean isExtractingFromDir(ForgeDirection paramForgeDirection);
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/ItemGasConduit.java b/src/Java/miscutil/enderio/conduit/gas/ItemGasConduit.java
deleted file mode 100644
index 887b0edd28..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/ItemGasConduit.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import crazypants.enderio.ModObject;
-import crazypants.enderio.conduit.AbstractItemConduit;
-import crazypants.enderio.conduit.IConduit;
-import crazypants.enderio.conduit.ItemConduitSubtype;
-import crazypants.enderio.config.Config;
-import crazypants.enderio.gui.IAdvancedTooltipProvider;
-import crazypants.enderio.gui.TooltipAddera;
-import crazypants.util.Lang;
-
-public class ItemGasConduit
- extends AbstractItemConduit
- implements IAdvancedTooltipProvider
-{
- private static ItemConduitSubtype[] subtypes = { new ItemConduitSubtype(ModObject.itemGasConduit.name(), "enderio:itemGasConduit") };
-
- public static ItemGasConduit create()
- {
- ItemGasConduit result = new ItemGasConduit();
- if (GasUtil.isGasConduitEnabled()) {
- result.init();
- }
- return result;
- }
-
- protected ItemGasConduit()
- {
- super(ModObject.itemGasConduit, subtypes);
- if (!GasUtil.isGasConduitEnabled()) {
- setCreativeTab(null);
- }
- }
-
- public Class<? extends IConduit> getBaseConduitType()
- {
- return IGasConduit.class;
- }
-
- public IConduit createConduit(ItemStack stack, EntityPlayer player)
- {
- return new GasConduit();
- }
-
- @SideOnly(Side.CLIENT)
- public void addCommonEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {}
-
- @SideOnly(Side.CLIENT)
- public void addBasicEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {}
-
- @SideOnly(Side.CLIENT)
- public void addDetailedEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag)
- {
- String gpt = " " + Lang.localize("gas.gasTick");
- int extractRate = Config.gasConduitExtractRate;
- int maxIo = Config.gasConduitMaxIoRate;
- list.add(Lang.localize("itemGasConduit.tooltip.maxExtract") + " " + extractRate + gpt);
- list.add(Lang.localize("itemGasConduit.tooltip.maxIo") + " " + maxIo + gpt);
- TooltipAddera.addDetailedTooltipFromResources(list, "enderio.itemGasConduit");
- }
-
- public boolean shouldHideFacades(ItemStack stack, EntityPlayer player)
- {
- return true;
- }
-}
diff --git a/src/Java/miscutil/enderio/conduit/gas/PacketGasLevel.java b/src/Java/miscutil/enderio/conduit/gas/PacketGasLevel.java
deleted file mode 100644
index a7f90f67a4..0000000000
--- a/src/Java/miscutil/enderio/conduit/gas/PacketGasLevel.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package miscutil.enderio.conduit.gas;
-
-import io.netty.buffer.ByteBuf;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import cpw.mods.fml.common.network.ByteBufUtils;
-import cpw.mods.fml.common.network.simpleimpl.IMessage;
-import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
-import cpw.mods.fml.common.network.simpleimpl.MessageContext;
-import crazypants.enderio.network.MessageTileEntity;
-
-public class PacketGasLevel
- extends MessageTileEntity<TileEntity>
- implements IMessageHandler<PacketGasLevel, IMessage>
-{
- public NBTTagCompound tc;
-
- public PacketGasLevel() {}
-
- public PacketGasLevel(IGasConduit conduit)
- {
- super(conduit.getBundle().getEntity());
- this.tc = new NBTTagCompound();
- conduit.writeToNBT(this.tc);
- }
-
- public void toBytes(ByteBuf buf)
- {
- super.toBytes(buf);
- ByteBufUtils.writeTag(buf, this.tc);
- }
-
- public void fromBytes(ByteBuf buf)
- {
- super.fromBytes(buf);
- this.tc = ByteBufUtils.readTag(buf);
- }
-
- public IMessage onMessage(PacketGasLevel message, MessageContext ctx)
- {
- //ClientUtil.doGasLevelUpdate(message.x, message.y, message.z, message);
- return null;
- }
-}