package mods.ocminecart.common.util; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; public class TankUtil { public static IFluidHandler getFluidHandler(World w, int x, int y, int z){ if(w.isRemote) return null; TileEntity entity = w.getTileEntity(x, y, z); if(entity == null || !(entity instanceof IFluidHandler)) return null; return (IFluidHandler)entity; } public static int getSpaceForFluid(IFluidHandler tank, FluidStack stack, ForgeDirection side){ FluidTankInfo[] inf = tank.getTankInfo(side); int space = 0; for(int i=0;i<inf.length;i+=1){ if(inf[i].fluid == null) space += inf[i].capacity; else if(inf[i].fluid.isFluidEqual(stack)) space += inf[i].capacity - inf[i].fluid.amount; } return space; } public static boolean hasFluid(IFluidHandler tank, FluidStack stack, ForgeDirection side){ FluidTankInfo[] inf = tank.getTankInfo(side); for(int i=0;i<inf.length;i+=1){ if(inf[i].fluid.isFluidEqual(stack)) return true; } return false; } }