From c12bb6508c4d336d829250191f3ead792e5952c6 Mon Sep 17 00:00:00 2001 From: "Luis C.M" <42545778+c0508383@users.noreply.github.com> Date: Wed, 15 Mar 2023 22:24:47 -0500 Subject: [PATCH] Added global data menu to the NPC wand when right clicking the air --- src/api | 2 +- .../java/noppes/npcs/client/ClientProxy.java | 15 ++++++++--- .../npcs/client/gui/GuiNpcRemoteEditor.java | 7 ++++- .../gui/global/GuiNPCManageAnimations.java | 1 - .../gui/global/GuiNpcManagePlayerData.java | 2 +- .../gui/mainmenu/GuiNPCGlobalMainMenu.java | 2 +- .../npcs/client/gui/util/GuiNpcMenu.java | 26 ++++++++++--------- 7 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/api b/src/api index f97b9b98f..3570b3af0 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit f97b9b98f0c50885012377d6da28172061dfe44c +Subproject commit 3570b3af0caeacecbf231fa8f626f569b3bd482d diff --git a/src/main/java/noppes/npcs/client/ClientProxy.java b/src/main/java/noppes/npcs/client/ClientProxy.java index 74538011e..b3e662234 100644 --- a/src/main/java/noppes/npcs/client/ClientProxy.java +++ b/src/main/java/noppes/npcs/client/ClientProxy.java @@ -46,6 +46,7 @@ import noppes.npcs.client.gui.player.companion.GuiNpcCompanionInv; import noppes.npcs.client.gui.player.companion.GuiNpcCompanionStats; import noppes.npcs.client.gui.player.companion.GuiNpcCompanionTalents; import noppes.npcs.client.gui.questtypes.GuiNpcQuestTypeItem; +import noppes.npcs.client.gui.GuiNpcRemoteEditor; import noppes.npcs.client.gui.roles.*; import noppes.npcs.client.gui.script.GuiScriptGlobal; import noppes.npcs.client.gui.script.GuiScriptItem; @@ -248,10 +249,16 @@ public class ClientProxy extends CommonProxy { return new GuiNPCManageTags(npc); else if (gui == EnumGuiType.ManageAnimations) { - EntityCustomNpc animNpc = new EntityCustomNpc(npc.worldObj); - animNpc.copyDataFrom(npc,true); - animNpc.display.showName = 1; - animNpc.display.showBossBar = 0; + EntityCustomNpc animNpc; + if (npc != null) { + animNpc = new EntityCustomNpc(npc.worldObj); + animNpc.copyDataFrom(npc, true); + animNpc.display.showName = 1; + animNpc.display.showBossBar = 0; + } else { + animNpc = new EntityCustomNpc(Minecraft.getMinecraft().theWorld); + animNpc.display.texture = "customnpcs:textures/entity/humanmale/AnimationBody.png"; + } return new GuiNPCManageAnimations(animNpc); } diff --git a/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java b/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java index ed2cf7845..2b83cc849 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java +++ b/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java @@ -7,6 +7,7 @@ import net.minecraft.entity.Entity; import net.minecraft.util.StatCollector; import noppes.npcs.client.Client; import noppes.npcs.client.NoppesUtil; +import noppes.npcs.client.gui.mainmenu.GuiNPCGlobalMainMenu; import noppes.npcs.client.gui.util.*; import noppes.npcs.constants.EnumPacketServer; import noppes.npcs.entity.EntityNPCInterface; @@ -43,9 +44,10 @@ public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, this.addButton(new GuiNpcButton(0, guiLeft + 170, guiTop + 6,82,20, "selectServer.edit")); this.addButton(new GuiNpcButton(1, guiLeft + 170, guiTop + 28,82,20, "selectWorld.deleteButton")); this.addButton(new GuiNpcButton(2, guiLeft + 170, guiTop + 50,82,20, "remote.reset")); + this.addButton(new GuiNpcButton(3, guiLeft + 170, guiTop + 132,82,20, "remote.freeze")); this.addButton(new GuiNpcButton(4, guiLeft + 170, guiTop + 72,82,20, "remote.tp")); this.addButton(new GuiNpcButton(5, guiLeft + 170, guiTop + 110,82,20, "remote.resetall")); - this.addButton(new GuiNpcButton(3, guiLeft + 170, guiTop + 132,82,20, "remote.freeze")); + this.addButton(new GuiNpcButton(6, guiLeft + 170, guiTop + 165,82,20, "menu.global")); } @Override @@ -69,6 +71,9 @@ public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, ((EntityNPCInterface)entity).reset(); } } + if(id == 6){ + NoppesUtil.openGUI(player, new GuiNPCGlobalMainMenu(null)); + } if(!data.containsKey(scroll.getSelected())) return; diff --git a/src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java b/src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java index aca2ec8a4..d0aebabeb 100644 --- a/src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java +++ b/src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java @@ -35,7 +35,6 @@ public class GuiNPCManageAnimations extends GuiModelInterface implements IScroll Client.sendData(EnumPacketServer.AnimationListGet); xOffset -= 20; yOffset = -45; - npc.display.texture = "customnpcs:textures/entity/humanmale/AnimationBody.png"; AnimationData data = npc.display.animationData; data.setEnabled(true); diff --git a/src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java b/src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java index e9b821b4b..1be624891 100644 --- a/src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java +++ b/src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java @@ -21,7 +21,7 @@ public class GuiNpcManagePlayerData extends GuiNPCInterface2 implements IScrollD private EnumPlayerData selection = EnumPlayerData.Players; private String search = ""; - public GuiNpcManagePlayerData(EntityNPCInterface npc,GuiNPCInterface2 parent) + public GuiNpcManagePlayerData(EntityNPCInterface npc) { super(npc); Client.sendData(EnumPacketServer.PlayerDataGet,selection); diff --git a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCGlobalMainMenu.java b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCGlobalMainMenu.java index 6ed627a4c..7866e649c 100644 --- a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCGlobalMainMenu.java +++ b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCGlobalMainMenu.java @@ -58,7 +58,7 @@ public class GuiNPCGlobalMainMenu extends GuiNPCInterface2{ NoppesUtil.requestOpenGUI(EnumGuiType.ManageTransport); } if (id == 13) { - NoppesUtil.openGUI(player, new GuiNpcManagePlayerData(npc, this)); + NoppesUtil.openGUI(player, new GuiNpcManagePlayerData(npc)); } if (id == 14) { NoppesUtil.requestOpenGUI(EnumGuiType.ManageRecipes, 4, 0, 0); diff --git a/src/main/java/noppes/npcs/client/gui/util/GuiNpcMenu.java b/src/main/java/noppes/npcs/client/gui/util/GuiNpcMenu.java index 9e1bb274b..dfb2bed7b 100644 --- a/src/main/java/noppes/npcs/client/gui/util/GuiNpcMenu.java +++ b/src/main/java/noppes/npcs/client/gui/util/GuiNpcMenu.java @@ -32,18 +32,20 @@ public class GuiNpcMenu implements GuiYesNoCallback{ { Keyboard.enableRepeatEvents(true); - GuiMenuTopButton display = new GuiMenuTopButton(1,guiLeft + 4, guiTop - 17, "menu.display"); - GuiMenuTopButton stats = new GuiMenuTopButton(2,display.xPosition + display.getWidth() , guiTop - 17, "menu.stats"); - GuiMenuTopButton ai = new GuiMenuTopButton(6,stats.xPosition + stats.getWidth() , guiTop - 17, "menu.ai"); - GuiMenuTopButton inv = new GuiMenuTopButton(3,ai.xPosition + ai.getWidth() , guiTop - 17, "menu.inventory"); - GuiMenuTopButton advanced = new GuiMenuTopButton(4,inv.xPosition + inv.getWidth() , guiTop - 17, "menu.advanced"); - GuiMenuTopButton global = new GuiMenuTopButton(5,advanced.xPosition + advanced.getWidth() , guiTop - 17, "menu.global"); - - GuiMenuTopButton close = new GuiMenuTopButton(0,guiLeft + width - 22, guiTop - 17, "X"); - GuiMenuTopButton delete = new GuiMenuTopButton(66,guiLeft + width - 72, guiTop - 17,"selectWorld.deleteButton"); - delete.xPosition = close.xPosition - delete.getWidth(); - - topButtons = new GuiMenuTopButton[]{display,stats,ai,inv,advanced,global,close,delete}; + GuiMenuTopButton close = new GuiMenuTopButton(0,guiLeft + width - 22, guiTop - 17, "X"); + if (npc != null) { + GuiMenuTopButton display = new GuiMenuTopButton(1, guiLeft + 4, guiTop - 17, "menu.display"); + GuiMenuTopButton stats = new GuiMenuTopButton(2, display.xPosition + display.getWidth(), guiTop - 17, "menu.stats"); + GuiMenuTopButton ai = new GuiMenuTopButton(6, stats.xPosition + stats.getWidth(), guiTop - 17, "menu.ai"); + GuiMenuTopButton inv = new GuiMenuTopButton(3, ai.xPosition + ai.getWidth(), guiTop - 17, "menu.inventory"); + GuiMenuTopButton advanced = new GuiMenuTopButton(4, inv.xPosition + inv.getWidth(), guiTop - 17, "menu.advanced"); + GuiMenuTopButton global = new GuiMenuTopButton(5, advanced.xPosition + advanced.getWidth(), guiTop - 17, "menu.global"); + GuiMenuTopButton delete = new GuiMenuTopButton(66,guiLeft + width - 72, guiTop - 17,"selectWorld.deleteButton"); + delete.xPosition = close.xPosition - delete.getWidth(); + topButtons = new GuiMenuTopButton[]{display,stats,ai,inv,advanced,global,close,delete}; + } else { + topButtons = new GuiMenuTopButton[]{close}; + } for(GuiMenuTopButton button : topButtons) button.active = button.id == activeMenu;