package com.agilemods.materiamuto.common.item;
import com.agilemods.materiamuto.common.core.MMTabScroll;
import com.agilemods.materiamuto.common.item.prefab.MMItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import java.util.List;
public class ItemEnchantmentScroll extends MMItem {
public ItemEnchantmentScroll() {
super();
setMaxStackSize(1);
setCreativeTab(MMTabScroll.INSTANCE);
}
@Override
public String getIcon() {
return "enchant_scroll";
}
@Override
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack itemStack, int renderPass) {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer entityPlayer, List tooltip, boolean advanced) {
if (itemStack.hasTagCompound()) {
NBTTagCompound tag = itemStack.getTagCompound();
if (tag.hasKey("id") && tag.hasKey("lvl")) {
int id = tag.getInteger("id");
int level = tag.getInteger("lvl");
if (Enchantment.enchantmentsList[id] != null) {
tooltip.add(Enchantment.enchantmentsList[id].getTranslatedName(level));
}
}
}
}
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs creativeTabs, List subItems) {
for (Enchantment enchantment : Enchantment.enchantmentsBookList) {
for (int i = enchantment.getMinLevel(); i <= enchantment.getMaxLevel(); ++i) {
subItems.add(this.getEnchantedItemStack(new EnchantmentData(enchantment, i)));
}
}
}
public ItemStack getEnchantedItemStack(EnchantmentData enchantment) {
ItemStack itemstack = new ItemStack(this);
if (!itemstack.hasTagCompound()) {
itemstack.setTagCompound(new NBTTagCompound());
}
NBTTagCompound tag = itemstack.getTagCompound();
tag.setInteger("id", enchantment.enchantmentobj.effectId);
tag.setInteger("lvl", enchantment.enchantmentLevel);
return itemstack;
}
}