/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.common.fluids; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import java.util.Locale; /** * @author CovertJaguar <http://www.railcraft.info> */ public enum Fluids { WATER, LAVA, FUEL, BIOFUEL, CREOSOTE, STEAM, BIOETHANOL, COAL, PYROTHEUM, FRESHWATER; private final String tag; private Fluids() { tag = name().toLowerCase(Locale.ENGLISH); } public static boolean areEqual(Fluid fluid, FluidStack fluidStack) { if (fluidStack != null && fluid == fluidStack.getFluid()) return true; return fluid == null && fluidStack == null; } public String getTag() { return tag; } public Fluid get() { return FluidRegistry.getFluid(tag); } /** * Gets a FluidStack filled with qty milliBuckets worth of Fluid. * * @param qty * @return */ public FluidStack get(int qty) { return FluidRegistry.getFluidStack(tag, qty); } /** * Gets a FluidStack filled with n buckets worth of Fluid. * * @param n * @return */ public FluidStack getB(int n) { return FluidRegistry.getFluidStack(tag, n * FluidContainerRegistry.BUCKET_VOLUME); } public boolean is(Fluid fluid) { return get() == fluid; } public boolean is(FluidStack fluidStack) { return fluidStack != null && get() == fluidStack.getFluid(); } public boolean isContained(ItemStack containerStack) { return containerStack != null && FluidItemHelper.containsFluid(containerStack, get()); } }