@Override public void update() { if (!world().isRemote) { if (cacheFluid != null) { if (getTransmitterNetwork().fluidStored == null) { getTransmitterNetwork().fluidStored = cacheFluid; } else { getTransmitterNetwork().fluidStored.amount += cacheFluid.amount; } cacheFluid = null; } if (getTransmitterNetwork(false) != null && getTransmitterNetwork(false).getSize() > 0) { int last = lastWrite != null ? lastWrite.amount : 0; if (last != getSaveShare()) { MekanismUtils.saveChunk(tile()); } } IFluidHandler[] connectedAcceptors = PipeUtils.getConnectedAcceptors(tile()); for (ForgeDirection side : getConnections(ConnectionType.PULL)) { if (connectedAcceptors[side.ordinal()] != null) { IFluidHandler container = connectedAcceptors[side.ordinal()]; if (container != null) { FluidStack received = container.drain(side.getOpposite(), 100, false); if (received != null && received.amount != 0) { container.drain( side.getOpposite(), getTransmitterNetwork().emit(received, true), true); } } } } } super.update(); }