| package mekanism.api.gas; |
| |
| import net.minecraft.nbt.NBTTagCompound; |
| import net.minecraft.util.Icon; |
| import net.minecraftforge.fluids.Fluid; |
| import net.minecraftforge.fluids.FluidRegistry; |
| |
| public class Gas |
| { |
| private String name; |
| |
| private String localizedName; |
| |
| private Fluid fluid; |
| |
| private Icon icon; |
| |
| public Gas(String s) |
| { |
| name = s; |
| } |
| |
| public String getName() |
| { |
| return name; |
| } |
| |
| public String getLocalizedName() |
| { |
| return localizedName; |
| } |
| |
| public Gas setLocalizedName(String s) |
| { |
| localizedName = s; |
| |
| return this; |
| } |
| |
| public Icon getIcon() |
| { |
| return icon; |
| } |
| |
| public Gas setIcon(Icon i) |
| { |
| icon = i; |
| |
| if(hasFluid()) |
| { |
| fluid.setIcons(getIcon()); |
| } |
| |
| return this; |
| } |
| |
| public int getID() |
| { |
| return GasRegistry.getGasID(this); |
| } |
| |
| public NBTTagCompound write(NBTTagCompound nbtTags) |
| { |
| nbtTags.setInteger("id", getID()); |
| |
| return nbtTags; |
| } |
| |
| public static Gas readFromNBT(NBTTagCompound nbtTags) |
| { |
| if(nbtTags == null || nbtTags.hasNoTags()) |
| { |
| return null; |
| } |
| |
| return GasRegistry.getGas(nbtTags.getInteger("id")); |
| } |
| |
| public boolean hasFluid() |
| { |
| return fluid != null; |
| } |
| |
| public Gas registerFluid() |
| { |
| if(fluid == null) |
| { |
| fluid = new Fluid(getName()).setGaseous(true); |
| FluidRegistry.registerFluid(fluid); |
| } |
| |
| return this; |
| } |
| |
| @Override |
| public String toString() |
| { |
| return name; |
| } |
| } |