@Override public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { if (hasValidMaster() && canDrain(from, null)) { SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity( getMasterPosition().x, getMasterPosition().y, getMasterPosition().z); return smeltery.drain(maxDrain, doDrain); } return null; }
@Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { if (hasValidMaster() && resource != null && canFill(from, resource.getFluid())) { SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity( getMasterPosition().x, getMasterPosition().y, getMasterPosition().z); return smeltery.fill(resource, doFill); } else { return 0; } }
@Override public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { if (hasValidMaster() && canDrain(from, resource.getFluid())) { SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity( getMasterPosition().x, getMasterPosition().y, getMasterPosition().z); if (resource.getFluid() == smeltery.getFluid().getFluid()) { return smeltery.drain(resource.amount, doDrain); } } return null; }
@Override public FluidTankInfo[] getTankInfo(ForgeDirection from) { if (hasValidMaster() && (from == getForgeDirection() || from == getForgeDirection().getOpposite() || from == ForgeDirection.UNKNOWN)) { SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity( getMasterPosition().x, getMasterPosition().y, getMasterPosition().z); return smeltery.getMultiTankInfo(); // return new FluidTankInfo[] { smeltery.getInfo() }; } return null; }