package minefantasy.mf2.item;
import java.util.List;
import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import minefantasy.mf2.api.knowledge.InformationBase;
import minefantasy.mf2.api.knowledge.InformationList;
import minefantasy.mf2.api.knowledge.ResearchLogic;
import minefantasy.mf2.api.rpg.RPGElements;
import minefantasy.mf2.api.rpg.Skill;
import minefantasy.mf2.item.list.CreativeTabMF;
import minefantasy.mf2.item.list.ToolListMF;
import minefantasy.mf2.knowledge.KnowledgeListMF;
import minefantasy.mf2.util.MFLogUtil;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class ItemSpecialKnowledge extends ItemComponentMF
{
private String type;
public ItemSpecialKnowledge(String type)
{
super("skillbook_"+type, 0);
setMaxStackSize(1);
setTextureName("minefantasy2:Other/skillbook_"+type);
this.setCreativeTab(CreativeTabMF.tabGadget);
setHasSubtypes(true);
setMaxDamage(0);
}
@Override
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer user)
{
boolean used = false;
InformationBase knowledge = this == ToolListMF.skillbook_gnomish ? KnowledgeListMF.gnomishKnowledge : KnowledgeListMF.dwarvernKnowledge;
if(knowledge != null)
{
if(ResearchLogic.hasInfoUnlocked(user, knowledge))
{
user.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("knowledge.known")));
}
else
{
used = ResearchLogic.tryUnlock(user, knowledge);
}
if(used)
{
if(user.worldObj.isRemote)
{
user.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("knowledge.unlocked") + ": " + StatCollector.translateToLocal(knowledge.getName())));
}
user.worldObj.playSoundEffect(user.posX, user.posY, user.posZ, "minefantasy2:updateResearch", 1.0F, 1.0F);
}
}
return item;
}
@Override
public EnumRarity getRarity(ItemStack item)
{
return EnumRarity.epic;
}
}