package net.minecraft.item;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.client.renderer.texture.IIconRegister;
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.IIcon;
import net.minecraft.util.StatCollector;
public class ItemFireworkCharge extends Item
{
@SideOnly(Side.CLIENT)
private IIcon field_150904_a;
private static final String __OBFID = "CL_00000030";
/**
* Gets an icon index based on an item's damage value and the given render pass
*/
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_)
{
return p_77618_2_ > 0 ? this.field_150904_a : super.getIconFromDamageForRenderPass(p_77618_1_, p_77618_2_);
}
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack p_82790_1_, int p_82790_2_)
{
if (p_82790_2_ != 1)
{
return super.getColorFromItemStack(p_82790_1_, p_82790_2_);
}
else
{
NBTBase nbtbase = func_150903_a(p_82790_1_, "Colors");
if (nbtbase != null && nbtbase instanceof NBTTagIntArray)
{
NBTTagIntArray nbttagintarray = (NBTTagIntArray)nbtbase;
int[] aint = nbttagintarray.getIntArray();
if (aint.length == 1)
{
return aint[0];
}
else
{
int j = 0;
int k = 0;
int l = 0;
int[] aint1 = aint;
int i1 = aint.length;
for (int j1 = 0; j1 < i1; ++j1)
{
int k1 = aint1[j1];
j += (k1 & 16711680) >> 16;
k += (k1 & 65280) >> 8;
l += (k1 & 255) >> 0;
}
j /= aint.length;
k /= aint.length;
l /= aint.length;
return j << 16 | k << 8 | l;
}
}
else
{
return 9079434;
}
}
}
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses()
{
return true;
}
@SideOnly(Side.CLIENT)
public static NBTBase func_150903_a(ItemStack p_150903_0_, String p_150903_1_)
{
if (p_150903_0_.hasTagCompound())
{
NBTTagCompound nbttagcompound = p_150903_0_.getTagCompound().getCompoundTag("Explosion");
if (nbttagcompound != null)
{
return nbttagcompound.getTag(p_150903_1_);
}
}
return null;
}
/**
* allows items to add custom lines of information to the mouseover description
*/
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List p_77624_3_, boolean p_77624_4_)
{
if (p_77624_1_.hasTagCompound())
{
NBTTagCompound nbttagcompound = p_77624_1_.getTagCompound().getCompoundTag("Explosion");
if (nbttagcompound != null)
{
func_150902_a(nbttagcompound, p_77624_3_);
}
}
}
@SideOnly(Side.CLIENT)
public static void func_150902_a(NBTTagCompound p_150902_0_, List p_150902_1_)
{
byte b0 = p_150902_0_.getByte("Type");
if (b0 >= 0 && b0 <= 4)
{
p_150902_1_.add(StatCollector.translateToLocal("item.fireworksCharge.type." + b0).trim());
}
else
{
p_150902_1_.add(StatCollector.translateToLocal("item.fireworksCharge.type").trim());
}
int[] aint = p_150902_0_.getIntArray("Colors");
int j;
int k;
if (aint.length > 0)
{
boolean flag = true;
String s = "";
int[] aint1 = aint;
int i = aint.length;
for (j = 0; j < i; ++j)
{
k = aint1[j];
if (!flag)
{
s = s + ", ";
}
flag = false;
boolean flag1 = false;
for (int l = 0; l < 16; ++l)
{
if (k == ItemDye.dyeColors[l])
{
flag1 = true;
s = s + StatCollector.translateToLocal("item.fireworksCharge." + ItemDye.dyeColorNames[l]);
break;
}
}
if (!flag1)
{
s = s + StatCollector.translateToLocal("item.fireworksCharge.customColor");
}
}
p_150902_1_.add(s);
}
int[] aint2 = p_150902_0_.getIntArray("FadeColors");
boolean flag2;
if (aint2.length > 0)
{
flag2 = true;
String s1 = StatCollector.translateToLocal("item.fireworksCharge.fadeTo") + " ";
int[] aint3 = aint2;
j = aint2.length;
for (k = 0; k < j; ++k)
{
int j1 = aint3[k];
if (!flag2)
{
s1 = s1 + ", ";
}
flag2 = false;
boolean flag4 = false;
for (int i1 = 0; i1 < 16; ++i1)
{
if (j1 == ItemDye.dyeColors[i1])
{
flag4 = true;
s1 = s1 + StatCollector.translateToLocal("item.fireworksCharge." + ItemDye.dyeColorNames[i1]);
break;
}
}
if (!flag4)
{
s1 = s1 + StatCollector.translateToLocal("item.fireworksCharge.customColor");
}
}
p_150902_1_.add(s1);
}
flag2 = p_150902_0_.getBoolean("Trail");
if (flag2)
{
p_150902_1_.add(StatCollector.translateToLocal("item.fireworksCharge.trail"));
}
boolean flag3 = p_150902_0_.getBoolean("Flicker");
if (flag3)
{
p_150902_1_.add(StatCollector.translateToLocal("item.fireworksCharge.flicker"));
}
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister register)
{
super.registerIcons(register);
this.field_150904_a = register.registerIcon(this.getIconString() + "_overlay");
}
}