package openblocks.client.renderer.tileentity.tank; import net.minecraftforge.fluids.FluidStack; public class VerticalConnection extends GridConnection { private FluidStack fluidTop; private FluidStack fluidBottom; private boolean bottomIsFull; private boolean isConnected; @Override public boolean isConnected() { return isConnected; } public void updateTopFluid(FluidStack stack) { this.fluidTop = TankRenderUtils.safeCopy(stack); updateConnection(); } public void clearTopFluid() { this.fluidTop = null; this.isConnected = false; } public void updateBottomFluid(FluidStack stack, boolean isFull) { this.fluidBottom = TankRenderUtils.safeCopy(stack); this.bottomIsFull = isFull; updateConnection(); } public void clearBottomFluid() { this.fluidBottom = null; this.bottomIsFull = false; this.isConnected = false; } private void updateConnection() { boolean sameLiquid = fluidTop != null && fluidBottom != null && fluidTop.isFluidEqual(fluidBottom); this.isConnected = sameLiquid && bottomIsFull; } public VerticalConnection(DoubledCoords coords) { super(coords); } }