@Override public void updateEntity() { super.updateEntity(); if (!world.isRemote) { if (shouldReadFluidsFromNBT) { if (!doneReadingFluidsFromNBT) { int i = 0; while (i <= internalFluidsAmounts.length - 1) { internalFluids.add( new FluidStack( FluidRegistry.getFluid(internalFluidsIDS[i]), internalFluidsAmounts[i])); i++; } shouldReadFluidsFromNBT = false; doneReadingFluidsFromNBT = true; } } else { if (!doneReadingFluidsFromNBT) { int i = 1; while (i < FluidRegistry.getMaxID()) { internalFluids.add(new FluidStack(FluidRegistry.getFluid(i), 0)); i++; } doneReadingFluidsFromNBT = true; } } if (justReadNBT) { if (fluidBridges.isEmpty() && shouldReadBridgesFromNBT) { int xCoordsLength = fluidBridgesXCoords.length; shouldReadBridgesFromNBT = false; if (fluidBridgesYCoords[0] == 260) { } else { int i = 0; while (i <= xCoordsLength - 1) { fluidBridges.add( (TileEntityFluidNetworkBridge) worldObj.getTileEntity( fluidBridgesXCoords[i], fluidBridgesYCoords[i], fluidBridgesZCoords[i])); i++; } } } justReadNBT = false; } int i = 0; // Removes bridges that don't exist anymore. if (!fluidBridges.isEmpty()) { while (i <= fluidBridges.size() - 1) { if (world.getTileEntity( fluidBridges.get(i).xCoord, fluidBridges.get(i).yCoord, fluidBridges.get(i).zCoord) == null) { fluidBridges.remove(i); i--; } i++; } } } }