private void learnItemStack()
{
if (this.canLearnItemStack())
{
PlayerKnowledge playerKnowledge = PlayerKnowledge.readPlayerKnowledgeFromNBT(this.inventory[TOME_SLOT_INVENTORY_INDEX].getTagCompound());
playerKnowledge.learnItemStack(this.inventory[ITEM_SLOT_INVENTORY_INDEX]);
playerKnowledge.writeToNBT(this.inventory[TOME_SLOT_INVENTORY_INDEX].getTagCompound());
this.inventory[ITEM_SLOT_INVENTORY_INDEX].stackSize--;
if (this.inventory[ITEM_SLOT_INVENTORY_INDEX].stackSize <= 0)
{