From 8e0e56dbfd526d81030b416e6a9f476ec7f7c440 Mon Sep 17 00:00:00 2001 From: Kam Date: Mon, 19 Feb 2024 01:42:31 -0500 Subject: [PATCH] Better Inventory Handling --- .../player/inventory/GuiCNPCInventory.java | 5 +--- .../gui/player/inventory/GuiFaction.java | 30 +++++++++---------- .../client/gui/player/inventory/GuiParty.java | 5 ++-- .../gui/player/inventory/GuiQuestLog.java | 5 ++-- .../client/tabs/InventoryTabCustomNpc.java | 8 ++++- 5 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiCNPCInventory.java b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiCNPCInventory.java index 71d505d51..d47d69780 100644 --- a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiCNPCInventory.java +++ b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiCNPCInventory.java @@ -26,9 +26,6 @@ public class GuiCNPCInventory extends GuiNPCInterface { super.initGui(); guiTop +=10; - TabRegistry.addTabsToList(buttonList); - TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); - GuiMenuSideButton questsButton = new GuiMenuSideButton(100, guiLeft + xSize + 37, this.guiTop + 3, 22, 22, ""); questsButton.rightSided = true; questsButton.active = activeTab == 0; @@ -40,7 +37,7 @@ public class GuiCNPCInventory extends GuiNPCInterface { partyButton.active = activeTab == 1; partyButton.renderStack = new ItemStack(CustomItems.bag); addButton(partyButton); - + if(ConfigClient.enableFactionTab){ GuiMenuSideButton factionButton = new GuiMenuSideButton(102, guiLeft + xSize + 37, this.guiTop + 3 + 21*2, 22, 22, ""); factionButton.rightSided = true; diff --git a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiFaction.java b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiFaction.java index 9fe7bf8a3..7c84a4747 100644 --- a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiFaction.java +++ b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiFaction.java @@ -22,7 +22,7 @@ import java.util.ArrayList; public class GuiFaction extends GuiCNPCInventory implements IGuiData{ private final ResourceLocation resource = new ResourceLocation("customnpcs","textures/gui/standardbg.png"); - + private ArrayList playerFactions = new ArrayList(); private Minecraft mc = Minecraft.getMinecraft(); @@ -46,8 +46,8 @@ public class GuiFaction extends GuiCNPCInventory implements IGuiData{ public void initGui() { super.initGui(); - TabRegistry.addTabsToList(buttonList); - TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); + TabRegistry.addTabsToList(buttonList); + TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); this.buttonList.add(buttonNextPage = new GuiButtonNextPage(1, (guiLeft + (xSize + 35) / 2) + 25, guiTop + 170, true)); this.buttonList.add(buttonPreviousPage = new GuiButtonNextPage(2, (guiLeft + (xSize + 35) / 2) - 40, guiTop + 170, false)); @@ -62,16 +62,16 @@ public class GuiFaction extends GuiCNPCInventory implements IGuiData{ mc.renderEngine.bindTexture(resource); drawTexturedModalRect(guiLeft, guiTop, 0, 0, 252, 195); drawTexturedModalRect(guiLeft + 252, guiTop, 188, 0, 67, 195); - + if(playerFactions.isEmpty()){ String noFaction = StatCollector.translateToLocal("faction.nostanding"); fontRendererObj.drawString(noFaction,guiLeft + (xSize - fontRendererObj.getStringWidth(noFaction)) / 2,guiTop + 80, CustomNpcResourceListener.DefaultTextColor); } else renderScreen(); - + super.drawScreen(i, j, f); - + } private void renderScreen(){ @@ -131,21 +131,21 @@ public class GuiFaction extends GuiCNPCInventory implements IGuiData{ fontRendererObj.drawString(s, guiLeft + (xSize + 45 - fontRendererObj.getStringWidth(s)) / 2, guiTop + 175, CustomNpcResourceListener.DefaultTextColor); } } - + @Override protected void actionPerformed(GuiButton guibutton){ if (guibutton.id >= 100) { if (guibutton.id == 100 && activeTab != 0) { activeTab = 0; - mc.displayGuiScreen(new GuiQuestLog(mc.thePlayer)); + mc.displayGuiScreen(new GuiQuestLog(mc.thePlayer)); } if (guibutton.id == 101 && activeTab != 1) { activeTab = 1; - mc.displayGuiScreen(new GuiParty(mc.thePlayer)); + mc.displayGuiScreen(new GuiParty(mc.thePlayer)); } if (guibutton.id == 102 && activeTab != 2) { activeTab = 2; - mc.displayGuiScreen(new GuiFaction()); + mc.displayGuiScreen(new GuiFaction()); } } @@ -166,9 +166,9 @@ public class GuiFaction extends GuiCNPCInventory implements IGuiData{ } protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { - + } - + @Override public void keyTyped(char c, int i) { @@ -199,13 +199,13 @@ public class GuiFaction extends GuiCNPCInventory implements IGuiData{ faction.defaultPoints = points; } } - + pages = (playerFactions.size() - 1) / 10 ; pages++; - + page = 1; updateButtons(); } -} \ No newline at end of file +} diff --git a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiParty.java b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiParty.java index 7c05dfff5..23793250a 100644 --- a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiParty.java +++ b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiParty.java @@ -55,11 +55,12 @@ public class GuiParty extends GuiCNPCInventory implements ITextfieldListener, IT public void initGui(){ super.initGui(); - this.selectedInvite = this.selectedPlayer = null; - Party party = ClientCacheHandler.party; TabRegistry.addTabsToList(buttonList); TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); + this.selectedInvite = this.selectedPlayer = null; + Party party = ClientCacheHandler.party; + if (receivedData) { if (party == null) { // diff --git a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java index 5968cc332..cd2a60f86 100644 --- a/src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java +++ b/src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java @@ -53,8 +53,9 @@ public class GuiQuestLog extends GuiCNPCInventory implements ITopButtonListener, public void initGui(){ super.initGui(); sideButtons.clear(); - TabRegistry.addTabsToList(buttonList); - TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); + + TabRegistry.addTabsToList(buttonList); + TabRegistry.updateTabValues(guiLeft, guiTop, InventoryTabCustomNpc.class); noQuests = false; diff --git a/src/main/java/tconstruct/client/tabs/InventoryTabCustomNpc.java b/src/main/java/tconstruct/client/tabs/InventoryTabCustomNpc.java index 9a7f128b2..bdc1df795 100644 --- a/src/main/java/tconstruct/client/tabs/InventoryTabCustomNpc.java +++ b/src/main/java/tconstruct/client/tabs/InventoryTabCustomNpc.java @@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import noppes.npcs.CustomItems; +import noppes.npcs.client.gui.player.inventory.GuiCNPCInventory; import noppes.npcs.client.gui.player.inventory.GuiQuestLog; public class InventoryTabCustomNpc extends AbstractTab { @@ -16,6 +17,8 @@ public class InventoryTabCustomNpc extends AbstractTab { @Override public void onTabClicked() { + + Thread t = new Thread(){ @Override public void run(){ @@ -25,6 +28,9 @@ public class InventoryTabCustomNpc extends AbstractTab { e.printStackTrace(); } Minecraft mc = Minecraft.getMinecraft(); + if(mc.currentScreen instanceof GuiCNPCInventory) + return; + mc.displayGuiScreen(new GuiQuestLog(mc.thePlayer)); } }; @@ -35,4 +41,4 @@ public class InventoryTabCustomNpc extends AbstractTab { public boolean shouldAddToList() { return true; } -} \ No newline at end of file +}