diff --git a/minecraft/net/minecraft/src/eui/pipes/TileEntityPipe.java b/minecraft/net/minecraft/src/eui/pipes/TileEntityPipe.java index 747719fae..26c253617 100644 --- a/minecraft/net/minecraft/src/eui/pipes/TileEntityPipe.java +++ b/minecraft/net/minecraft/src/eui/pipes/TileEntityPipe.java @@ -47,9 +47,12 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer } else { - if(tileEntity instanceof ILiquidConsumer || tileEntity instanceof ILiquidProducer) + if(tileEntity instanceof ILiquidProducer) { - this.connectedBlocks[side] = tileEntity; + if(((ILiquidProducer) tileEntity).canConnectFromTypeAndSide(this.getType(), side)) this.connectedBlocks[side] = tileEntity; + }else if(tileEntity instanceof ILiquidConsumer) + { + if(((ILiquidConsumer) tileEntity).canConnectFromTypeAndSide(this.getType(), side)) this.connectedBlocks[side] = tileEntity; } else { @@ -67,13 +70,13 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer * @return watt - The amount of rejected power to be sent back into the conductor */ @Override - public int onReceiveLiquid(int type,int watt, byte side) + public int onReceiveLiquid(int type,int amt, byte side) { if(type == this.type) { - int rejectedElectricity = Math.max((this.getStoredLiquid(type) + watt) - this.capacity, 0); - this.liquidStored = watt - rejectedElectricity; - return rejectedElectricity; + int rejectedLiquid = Math.max((this.getStoredLiquid(type) + amt) - this.capacity, 0); + this.liquidStored += watt - rejectedElectricity; + return rejectedLiquid; } return watt; } @@ -154,7 +157,7 @@ public class TileEntityPipe extends TileEntity implements ILiquidConsumer } /** - * @return Return the stored electricity in this consumer. Called by conductors to spread electricity to this unit. + * @return Return the stored liquid in this consumer. Called by conductors to spread electricity to this unit. */ @Override public int getStoredLiquid(int type) diff --git a/minecraft/net/minecraft/src/eui/pipes/api/ILiquidConsumer.java b/minecraft/net/minecraft/src/eui/pipes/api/ILiquidConsumer.java index 519c7d3e4..f6714cb0b 100644 --- a/minecraft/net/minecraft/src/eui/pipes/api/ILiquidConsumer.java +++ b/minecraft/net/minecraft/src/eui/pipes/api/ILiquidConsumer.java @@ -27,5 +27,6 @@ public interface ILiquidConsumer * @return Return the maximum amount of stored liquid this consumer can get. */ public int getLiquidCapacity(int type); + public int canConnectFromTypeAndSide(int type, byte side); } diff --git a/minecraft/net/minecraft/src/eui/pipes/api/ILiquidProducer.java b/minecraft/net/minecraft/src/eui/pipes/api/ILiquidProducer.java index e715828d1..008cb43e8 100644 --- a/minecraft/net/minecraft/src/eui/pipes/api/ILiquidProducer.java +++ b/minecraft/net/minecraft/src/eui/pipes/api/ILiquidProducer.java @@ -18,4 +18,6 @@ public interface ILiquidProducer public int onProduceLiquid(int type, int maxVol, int side); public boolean canProduceLiquid(int type, byte side); + + public boolean canConnectFromTypeAndSide(int type, byte side); } \ No newline at end of file diff --git a/textures/SteamPipe.png b/textures/SteamPipe.png new file mode 100644 index 000000000..a3dc6a0d5 Binary files /dev/null and b/textures/SteamPipe.png differ diff --git a/textures/WaterPipe.png b/textures/WaterPipe.png new file mode 100644 index 000000000..eab6d0976 Binary files /dev/null and b/textures/WaterPipe.png differ diff --git a/textures/airPipe.png b/textures/airPipe.png new file mode 100644 index 000000000..a98047611 Binary files /dev/null and b/textures/airPipe.png differ diff --git a/textures/fuelPipe.png b/textures/fuelPipe.png new file mode 100644 index 000000000..38b79d5f2 Binary files /dev/null and b/textures/fuelPipe.png differ diff --git a/textures/lavaPipe.png b/textures/lavaPipe.png new file mode 100644 index 000000000..df10a3a96 Binary files /dev/null and b/textures/lavaPipe.png differ diff --git a/textures/oilPipe.png b/textures/oilPipe.png new file mode 100644 index 000000000..31a494085 Binary files /dev/null and b/textures/oilPipe.png differ