From 96e676c2c7bae2c0fac4110658c8f6ed5fc5621e Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Mon, 2 Feb 2015 18:27:00 +0000 Subject: [PATCH] Change the Lexicon gui code to pull from the stack used to open the book. Closes #518 --- .../java/vazkii/botania/client/core/proxy/ClientProxy.java | 5 +++++ .../java/vazkii/botania/client/gui/lexicon/GuiLexicon.java | 2 +- .../java/vazkii/botania/common/core/proxy/CommonProxy.java | 5 +++++ src/main/java/vazkii/botania/common/item/ItemLexicon.java | 3 +++ src/main/java/vazkii/botania/common/network/GuiHandler.java | 3 --- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/vazkii/botania/client/core/proxy/ClientProxy.java b/src/main/java/vazkii/botania/client/core/proxy/ClientProxy.java index b39e7b9f8..2ef57de42 100644 --- a/src/main/java/vazkii/botania/client/core/proxy/ClientProxy.java +++ b/src/main/java/vazkii/botania/client/core/proxy/ClientProxy.java @@ -221,6 +221,11 @@ public class ClientProxy extends CommonProxy { public void setEntryToOpen(LexiconEntry entry) { GuiLexicon.currentOpenLexicon = new GuiLexiconEntry(entry, new GuiLexiconIndex(entry.category)); } + + @Override + public void setLexiconStack(ItemStack stack) { + GuiLexicon.stackUsed = stack; + } @Override public boolean isTheClientPlayer(EntityLivingBase entity) { diff --git a/src/main/java/vazkii/botania/client/gui/lexicon/GuiLexicon.java b/src/main/java/vazkii/botania/client/gui/lexicon/GuiLexicon.java index 28d0c4916..9e454c908 100644 --- a/src/main/java/vazkii/botania/client/gui/lexicon/GuiLexicon.java +++ b/src/main/java/vazkii/botania/client/gui/lexicon/GuiLexicon.java @@ -69,7 +69,7 @@ public class GuiLexicon extends GuiScreen { lastTime = ClientTickHandler.ticksInGame; - title = Minecraft.getMinecraft().thePlayer.getCurrentEquippedItem().getDisplayName(); + title = stackUsed.getDisplayName(); currentOpenLexicon = this; left = width / 2 - guiWidth / 2; diff --git a/src/main/java/vazkii/botania/common/core/proxy/CommonProxy.java b/src/main/java/vazkii/botania/common/core/proxy/CommonProxy.java index 63d7407df..82372ad14 100644 --- a/src/main/java/vazkii/botania/common/core/proxy/CommonProxy.java +++ b/src/main/java/vazkii/botania/common/core/proxy/CommonProxy.java @@ -13,6 +13,7 @@ package vazkii.botania.common.core.proxy; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -128,6 +129,10 @@ public class CommonProxy { public void setEntryToOpen(LexiconEntry entry) { // NO-OP } + + public void setLexiconStack(ItemStack stack) { + // NO-OP + } public boolean isTheClientPlayer(EntityLivingBase entity) { return false; diff --git a/src/main/java/vazkii/botania/common/item/ItemLexicon.java b/src/main/java/vazkii/botania/common/item/ItemLexicon.java index 4b79cc2ea..03a114170 100644 --- a/src/main/java/vazkii/botania/common/item/ItemLexicon.java +++ b/src/main/java/vazkii/botania/common/item/ItemLexicon.java @@ -65,6 +65,8 @@ public class ItemLexicon extends ItemMod implements ILexicon, IElvenItem { LexiconEntry entry = ((ILexiconable) block).getEntry(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); if(entry != null && isKnowledgeUnlocked(par1ItemStack, entry.getKnowledgeType())) { Botania.proxy.setEntryToOpen(entry); + Botania.proxy.setLexiconStack(par1ItemStack); + par2EntityPlayer.openGui(Botania.instance, LibGuiIDs.LEXICON, par3World, 0, 0, 0); par2EntityPlayer.addStat(ModAchievements.lexiconUse, 1); if(!par3World.isRemote) @@ -136,6 +138,7 @@ public class ItemLexicon extends ItemMod implements ILexicon, IElvenItem { setForcedPage(par1ItemStack, ""); } + Botania.proxy.setLexiconStack(par1ItemStack); par3EntityPlayer.addStat(ModAchievements.lexiconUse, 1); par3EntityPlayer.openGui(Botania.instance, LibGuiIDs.LEXICON, par2World, 0, 0, 0); if(!par2World.isRemote && !skipSound) diff --git a/src/main/java/vazkii/botania/common/network/GuiHandler.java b/src/main/java/vazkii/botania/common/network/GuiHandler.java index cea9dded5..6849b47ae 100644 --- a/src/main/java/vazkii/botania/common/network/GuiHandler.java +++ b/src/main/java/vazkii/botania/common/network/GuiHandler.java @@ -37,9 +37,6 @@ public class GuiHandler implements IGuiHandler { switch(ID) { case LibGuiIDs.LEXICON : { GuiLexicon lex = GuiLexicon.currentOpenLexicon; - GuiLexicon.stackUsed = player.getCurrentEquippedItem(); - if(GuiLexicon.stackUsed == null || !(GuiLexicon.stackUsed.getItem() instanceof ILexicon)) - return null; return lex; } case LibGuiIDs.CRAFTING_HALO : {