package fox.spiteful.forbidden.items;
import java.util.List;
import fox.spiteful.forbidden.Forbidden;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector;
import thaumcraft.api.aspects.Aspect;
import fox.spiteful.forbidden.Config;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemMobCrystal extends Item {
IIcon[] icons;
public ItemMobCrystal() {
this.setMaxStackSize(1);
// this.setHasSubtypes(true);
this.setMaxDamage(0);
this.setCreativeTab(Forbidden.crysTab);
}
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean z) {
if (stack.hasTagCompound()) {
NBTTagCompound nbttagcompound = stack.getTagCompound();
if(nbttagcompound.hasKey("mob")) {
String string = nbttagcompound.getString("mob");
if (string != null) {
Aspect mobAspect = Config.spawnerMobs.get(string);
if (mobAspect != null)
list.add(mobAspect.getName());
}
}
}
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister ir) {
icons = new IIcon[2];
icons[0] = ir.registerIcon("forbidden:emptycrystal");
icons[1] = ir.registerIcon("forbidden:mobcrystal");
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
if (stack.hasTagCompound()) {
NBTTagCompound nbttagcompound = stack.getTagCompound();
String string = nbttagcompound.getString("mob");
if (string != null)
return icons[1];
}
return icons[0];
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIconIndex(ItemStack stack) {
if (stack.hasTagCompound()) {
NBTTagCompound nbttagcompound = stack.getTagCompound();
if (nbttagcompound.hasKey("mob"))
return icons[1];
}
return icons[0];
}
@SideOnly(Side.CLIENT)
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
list.add(new ItemStack(item, 1, 0));
for (String mob : Config.spawnerMobs.keySet()) {
ItemStack crystal = new ItemStack(item, 1, 0);
crystal.setTagCompound(new NBTTagCompound());
crystal.stackTagCompound.setString("mob", mob);
list.add(crystal);
}
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
if (stack.hasTagCompound()) {
NBTTagCompound nbttagcompound = stack.getTagCompound();
if(nbttagcompound.hasKey("mob")) {
String string = nbttagcompound.getString("mob");
if (string != null)
return ("" + StatCollector.translateToLocal("item.MobCrystal.name").replace("%s", StatCollector.translateToLocal("entity." + string + ".name"))).trim();
}
}
return ("" + StatCollector.translateToLocal("item.MobCrystalEmpty.name")).trim();
}
}