package net.minecraft.item;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagIntArray;
import net.minecraft.util.StatCollector;
public class ItemFireworkCharge extends Item
{
public ItemFireworkCharge(int par1)
{
super(par1);
}
@SideOnly(Side.CLIENT)
/**
* Gets an icon index based on an item's damage value and the given render pass
*/
public int getIconFromDamageForRenderPass(int par1, int par2)
{
return par2 == 1 ? this.iconIndex + 1 : super.getIconFromDamageForRenderPass(par1, par2);
}
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack par1ItemStack, int par2)
{
if (par2 != 1)
{
return super.getColorFromItemStack(par1ItemStack, par2);
}
else
{
NBTBase var3 = func_92108_a(par1ItemStack, "Colors");
if (var3 == null)
{
return 9079434;
}
else
{
NBTTagIntArray var4 = (NBTTagIntArray)var3;
if (var4.intArray.length == 1)
{
return var4.intArray[0];
}
else
{
int var5 = 0;
int var6 = 0;
int var7 = 0;
int[] var8 = var4.intArray;
int var9 = var8.length;
for (int var10 = 0; var10 < var9; ++var10)
{
int var11 = var8[var10];
var5 += (var11 & 16711680) >> 16;
var6 += (var11 & 65280) >> 8;
var7 += (var11 & 255) >> 0;
}
var5 /= var4.intArray.length;
var6 /= var4.intArray.length;
var7 /= var4.intArray.length;
return var5 << 16 | var6 << 8 | var7;
}
}
}
}
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
@SideOnly(Side.CLIENT)
public static NBTBase func_92108_a(ItemStack par0ItemStack, String par1Str)
{
if (par0ItemStack.hasTagCompound())
{
NBTTagCompound var2 = par0ItemStack.getTagCompound().getCompoundTag("Explosion");
if (var2 != null)
{
return var2.getTag(par1Str);
}
}
return null;
}
@SideOnly(Side.CLIENT)
/**
* allows items to add custom lines of information to the mouseover description
*/
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
if (par1ItemStack.hasTagCompound())
{
NBTTagCompound var5 = par1ItemStack.getTagCompound().getCompoundTag("Explosion");
if (var5 != null)
{
func_92107_a(var5, par3List);
}
}
}
@SideOnly(Side.CLIENT)
public static void func_92107_a(NBTTagCompound par0NBTTagCompound, List par1List)
{
byte var2 = par0NBTTagCompound.getByte("Type");
if (var2 >= 0 && var2 <= 4)
{
par1List.add(StatCollector.translateToLocal("item.fireworksCharge.type." + var2).trim());
}
else
{
par1List.add(StatCollector.translateToLocal("item.fireworksCharge.type").trim());
}
int[] var3 = par0NBTTagCompound.getIntArray("Colors");
int var8;
int var9;
if (var3.length > 0)
{
boolean var4 = true;
String var5 = "";
int[] var6 = var3;
int var7 = var3.length;
for (var8 = 0; var8 < var7; ++var8)
{
var9 = var6[var8];
if (!var4)
{
var5 = var5 + ", ";
}
var4 = false;
boolean var10 = false;
for (int var11 = 0; var11 < 16; ++var11)
{
if (var9 == ItemDye.dyeColors[var11])
{
var10 = true;
var5 = var5 + StatCollector.translateToLocal("item.fireworksCharge." + ItemDye.dyeColorNames[var11]);
break;
}
}
if (!var10)
{
var5 = var5 + StatCollector.translateToLocal("item.fireworksCharge.customColor");
}
}
par1List.add(var5);
}
int[] var13 = par0NBTTagCompound.getIntArray("FadeColors");
boolean var16;
if (var13.length > 0)
{
var16 = true;
String var14 = StatCollector.translateToLocal("item.fireworksCharge.fadeTo") + " ";
int[] var15 = var13;
var8 = var13.length;
for (var9 = 0; var9 < var8; ++var9)
{
int var18 = var15[var9];
if (!var16)
{
var14 = var14 + ", ";
}
var16 = false;
boolean var19 = false;
for (int var12 = 0; var12 < 16; ++var12)
{
if (var18 == ItemDye.dyeColors[var12])
{
var19 = true;
var14 = var14 + StatCollector.translateToLocal("item.fireworksCharge." + ItemDye.dyeColorNames[var12]);
break;
}
}
if (!var19)
{
var14 = var14 + StatCollector.translateToLocal("item.fireworksCharge.customColor");
}
}
par1List.add(var14);
}
var16 = par0NBTTagCompound.getBoolean("Trail");
if (var16)
{
par1List.add(StatCollector.translateToLocal("item.fireworksCharge.trail"));
}
boolean var17 = par0NBTTagCompound.getBoolean("Flicker");
if (var17)
{
par1List.add(StatCollector.translateToLocal("item.fireworksCharge.flicker"));
}
}
}