aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items/GT_FluidDisplayItem.java
blob: 71f6d107f72c04a42a87db9e1e9f9f3c909831e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package gregtech.common.items;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.items.GT_Generic_Item;
import gregtech.api.util.GT_Utility;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;

public class GT_FluidDisplayItem
  extends GT_Generic_Item
{
  public GT_FluidDisplayItem()
  {
    super("GregTech_FluidDisplay", "Fluid Display", null);
    ItemList.Display_Fluid.set(this);
  }
  
  protected void addAdditionalToolTips(List aList, ItemStack aStack)
  {
    NBTTagCompound aNBT = aStack.getTagCompound();
    if (GT_Values.D1)
    {
      Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage());
      if (tFluid != null) {
        aList.add("Registry: " + tFluid.getName());
      }
    }
    if (aNBT != null)
    {
      long tToolTipAmount = aNBT.getLong("mFluidDisplayAmount");
      if (tToolTipAmount > 0L) {
        aList.add(EnumChatFormatting.BLUE + "Amount: " + tToolTipAmount + EnumChatFormatting.GRAY);
      }
      aList.add(EnumChatFormatting.RED + "Temperature: " + aNBT.getLong("mFluidDisplayHeat") + " K" + EnumChatFormatting.GRAY);
      aList.add(EnumChatFormatting.GREEN + "State: " + (aNBT.getBoolean("mFluidState") ? "Gas" : "Liquid") + EnumChatFormatting.GRAY);
    }
  }
  
  @SideOnly(Side.CLIENT)
  public void registerIcons(IIconRegister aIconRegister) {}
  
  public IIcon getIconFromDamage(int aMeta)
  {
    Fluid tFluid = FluidRegistry.getFluid(aMeta);
    return tFluid == null ? FluidRegistry.WATER.getStillIcon() : tFluid.getStillIcon();
  }
  
  @SideOnly(Side.CLIENT)
  public int getColorFromItemStack(ItemStack aStack, int aRenderPass)
  {
    Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage());
    return tFluid == null ? 16777215 : tFluid.getColor();
  }
  
  public int getSpriteNumber()
  {
    return 0;
  }
  
  public String getUnlocalizedName(ItemStack aStack)
  {
    if (aStack != null) {
      return GT_Utility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), false);
    }
    return "";
  }
  
  public String getItemStackDisplayName(ItemStack aStack)
  {
    if (aStack != null) {
      return GT_Utility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), true);
    }
    return "";
  }
  
  @SideOnly(Side.CLIENT)
  public void getSubItems(Item aItem, CreativeTabs aTab, List aList)
  {
    if (GT_Values.D1)
    {
      int i = 0;
      for (int j = FluidRegistry.getMaxID(); i < j; i++)
      {
        ItemStack tStack = GT_Utility.getFluidDisplayStack(FluidRegistry.getFluid(i));
        if (tStack != null) {
          aList.add(tStack);
        }
      }
    }
  }
}