package buildcraftAdditions.utils.fluids; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; /** * Copyright (c) 2014-2015, AEnterprise * http://buildcraftadditions.wordpress.com/ * Buildcraft Additions is distributed under the terms of GNU GPL v3.0 * Please check the contents of the license located in * http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/ */ public class RestrictedTank extends Tank { protected final IFluidAcceptor acceptor; public RestrictedTank(String name, int capacity, TileEntity tile, IFluidAcceptor acceptor) { super(capacity, tile, name); this.acceptor = acceptor; } @Override public void setFluid(FluidStack fluid) { if (acceptor.accepts(fluid)) super.setFluid(fluid); } @Override public int fill(FluidStack resource, boolean doFill) { if (acceptor.accepts(resource)) return super.fill(resource, doFill); return 0; } public boolean canFill(Fluid fluid) { return acceptor.accepts(new FluidStack(fluid, 1)); } @Override public String toString() { return super.toString() + ", Restrictions: [" + acceptor.getDescription() + "]"; } }