From a0bbaee12b59f35e749ba61b2c81aebf00e860d0 Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sun, 19 Jan 2014 19:30:00 +0800 Subject: [PATCH] Fixed minor tank packet bug --- .../fluid/prefab/TileFluidNetwork.java | 29 +++++++++---------- .../mechanical/fluid/tank/BlockTank.java | 1 - .../mechanical/fluid/tank/TankNetwork.java | 17 ++++++----- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/java/resonantinduction/mechanical/fluid/prefab/TileFluidNetwork.java b/src/main/java/resonantinduction/mechanical/fluid/prefab/TileFluidNetwork.java index 02fb48fe..a169380d 100644 --- a/src/main/java/resonantinduction/mechanical/fluid/prefab/TileFluidNetwork.java +++ b/src/main/java/resonantinduction/mechanical/fluid/prefab/TileFluidNetwork.java @@ -61,20 +61,6 @@ public abstract class TileFluidNetwork extends TileAdvanced implements IFluidCon getNetwork().reconstruct(); } - @Override - public void onFluidChanged() - { - if (!worldObj.isRemote) - { - if (!FluidUtility.matchExact(prevStack, this.getInternalTank().getFluid())) - { - this.sendTankUpdate(); - } - - this.prevStack = this.tank.getFluid(); - } - } - @Override public void invalidate() { @@ -264,10 +250,23 @@ public abstract class TileFluidNetwork extends TileAdvanced implements IFluidCon public void sendTankUpdate() { - System.out.println("Send Amount: " + this.getInternalTank().getFluidAmount()); PacketHandler.sendPacketToClients(ResonantInduction.PACKET_TILE.getPacketWithID(PACKET_TANK, this, getInternalTank().getCapacity(), getInternalTank().writeToNBT(new NBTTagCompound())), this.worldObj, new Vector3(this), 60); } + @Override + public void onFluidChanged() + { + if (!worldObj.isRemote) + { + if (!FluidUtility.matchExact(prevStack, this.getInternalTank().getFluid())) + { + sendTankUpdate(); + } + + prevStack = tank.getFluid(); + } + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getRenderBoundingBox() diff --git a/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java b/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java index 95be4843..c5c6c849 100644 --- a/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java +++ b/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java @@ -67,7 +67,6 @@ public class BlockTank extends BlockFluidNetwork if (!world.isRemote) { - return FluidUtility.playerActivatedFluidItem(world, x, y, z, entityplayer, side); } return true; diff --git a/src/main/java/resonantinduction/mechanical/fluid/tank/TankNetwork.java b/src/main/java/resonantinduction/mechanical/fluid/tank/TankNetwork.java index bc1a3bf1..80e0c8a8 100644 --- a/src/main/java/resonantinduction/mechanical/fluid/tank/TankNetwork.java +++ b/src/main/java/resonantinduction/mechanical/fluid/tank/TankNetwork.java @@ -17,7 +17,7 @@ public class TankNetwork extends FluidNetwork { @Override public void distributeConnectors() - { + { FluidStack fillStack = this.getTank().getFluid(); int lowestY = 255, highestY = 0; @@ -28,16 +28,19 @@ public class TankNetwork extends FluidNetwork else if (this.getConnectors().size() > 0) { fillStack = fillStack.copy(); - for (IFluidConnector part : this.getConnectors()) + + for (IFluidConnector connector : this.getConnectors()) { - part.getInternalTank().setFluid(null); - if (part instanceof TileEntity && ((TileEntity) part).yCoord < lowestY) + connector.getInternalTank().setFluid(null); + connector.onFluidChanged(); + + if (connector instanceof TileEntity && ((TileEntity) connector).yCoord < lowestY) { - lowestY = ((TileEntity) part).yCoord; + lowestY = ((TileEntity) connector).yCoord; } - if (part instanceof TileEntity && ((TileEntity) part).yCoord > highestY) + if (connector instanceof TileEntity && ((TileEntity) connector).yCoord > highestY) { - highestY = ((TileEntity) part).yCoord; + highestY = ((TileEntity) connector).yCoord; } }