diff --git a/src/dark/core/prefab/tilenetwork/fluid/FluidCraftingHandler.java b/src/dark/core/prefab/tilenetwork/fluid/FluidCraftingHandler.java index 1e8888464..d441e14d0 100644 --- a/src/dark/core/prefab/tilenetwork/fluid/FluidCraftingHandler.java +++ b/src/dark/core/prefab/tilenetwork/fluid/FluidCraftingHandler.java @@ -154,10 +154,12 @@ public class FluidCraftingHandler } else if (stackTwo != null && stackOne != null && !stackOne.isFluidEqual(stackTwo)) { + System.out.println("preforming fluid merge event"); Object result = fluidMergeResults.get(new Pair(stackOne.getFluid(), stackTwo.getFluid())); /* Try to merge fluids by mod defined rules first */ if (result != null) { + System.out.println("result = " + result.toString()); if (result instanceof Fluid) { resultStack = new FluidStack(((Fluid) result).getID(), stackOne.amount + stackTwo.amount); @@ -186,6 +188,7 @@ public class FluidCraftingHandler } if (resultStack == null) { + System.out.println("Merging fluids into a waste fluid stack"); Fluid waste = FluidRegistry.getFluid("waste"); if (waste == null) { diff --git a/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidContainers.java b/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidContainers.java index 2cc416dad..3d051e030 100644 --- a/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidContainers.java +++ b/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidContainers.java @@ -39,6 +39,7 @@ public class NetworkFluidContainers extends NetworkFluidTiles if (this.combinedStorage() == null || this.combinedStorage().getFluid() == null) { + super.writeDataToTiles(); return; } FluidStack fillStack = this.combinedStorage().getFluid().copy(); @@ -85,6 +86,7 @@ public class NetworkFluidContainers extends NetworkFluidTiles /* Fill all tanks on this level */ for (INetworkFluidPart part : parts) { + ((INetworkFluidPart) part).drainTankContent(0, Integer.MAX_VALUE, true); fillStack.amount -= part.fillTankContent(0, FluidHelper.getStack(fillStack, fillvolume), true); } } diff --git a/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidTiles.java b/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidTiles.java index ff8636e88..dc900cb9c 100644 --- a/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidTiles.java +++ b/src/dark/core/prefab/tilenetwork/fluid/NetworkFluidTiles.java @@ -111,6 +111,7 @@ public class NetworkFluidTiles extends NetworkTileEntities @Override public void writeDataToTiles() { + this.cleanUpMembers(); if (this.combinedStorage().getFluid() != null && this.networkMember.size() > 0) { FluidStack stack = this.combinedStorage().getFluid() == null ? null : this.combinedStorage().getFluid().copy(); @@ -125,7 +126,6 @@ public class NetworkFluidTiles extends NetworkTileEntities { //EMPTY TANK ((INetworkFluidPart) par).drainTankContent(0, Integer.MAX_VALUE, true); - //FILL TANK if (stack != null) { @@ -135,7 +135,7 @@ public class NetworkFluidTiles extends NetworkTileEntities } } } - this.cleanUpMembers(); + } @Override @@ -232,10 +232,9 @@ public class NetworkFluidTiles extends NetworkTileEntities newNetwork.getNetworkMemebers().addAll(this.getNetworkMemebers()); newNetwork.getNetworkMemebers().addAll(network.getNetworkMemebers()); - newNetwork.refresh(); + newNetwork.cleanUpMembers(); newNetwork.combinedStorage().setFluid(FluidCraftingHandler.mergeFluidStacks(one, two)); newNetwork.writeDataToTiles(); - } @Override diff --git a/src/dark/fluid/common/machines/TileEntityTank.java b/src/dark/fluid/common/machines/TileEntityTank.java index 555ddd09a..305f7575f 100644 --- a/src/dark/fluid/common/machines/TileEntityTank.java +++ b/src/dark/fluid/common/machines/TileEntityTank.java @@ -16,6 +16,7 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidTank; @@ -96,7 +97,7 @@ public class TileEntityTank extends TileEntityFluidStorage implements IFluidHand if (id == 0) { this.getTank().setFluid(FluidStack.loadFluidStackFromNBT(PacketHandler.instance().readNBTTagCompound(dataStream))); - System.out.println("Received Fluid Packet Fluid = " + this.getTank().getFluid().getFluid().getName() + "@" + this.getTank().getFluid().amount); + //System.out.println("Received Fluid Packet Fluid = " + this.getTank().getFluid().getFluid().getName() + "@" + this.getTank().getFluid().amount); } else { @@ -355,7 +356,7 @@ public class TileEntityTank extends TileEntityFluidStorage implements IFluidHand } @Override - public IFluidTank getTank(int index) + public FluidTank getTank(int index) { return this.getTank(); }