From bf78c1be0fceaa3b4c4117cd232051e2e506d421 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 1 Jun 2023 12:29:28 -0400 Subject: [PATCH] Display Selected Wand Tags in Cloner --- .../client/gui/SubGuiClonerQuickTags.java | 41 ++++++++++++++----- .../assets/customnpcs/lang/en_US.lang | 2 +- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java b/src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java index fc9331318..b9e99a88e 100644 --- a/src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java +++ b/src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java @@ -1,14 +1,9 @@ package noppes.npcs.client.gui; import net.minecraft.client.gui.GuiButton; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.util.StatCollector; -import noppes.npcs.client.Client; import noppes.npcs.client.gui.util.*; -import noppes.npcs.constants.EnumPacketServer; -import noppes.npcs.controllers.data.Tag; -import noppes.npcs.controllers.data.TagMap; +import org.lwjgl.Sys; import java.util.*; @@ -16,6 +11,7 @@ public class SubGuiClonerQuickTags extends SubGuiInterface implements IScrollDat { public GuiNpcMobSpawnerAdd parent; public GuiCustomScroll quickScroll = new GuiCustomScroll(this,0); + public GuiCustomScroll selectedScroll = new GuiCustomScroll(this,5); private static String quickSearch = ""; public SubGuiClonerQuickTags(GuiNpcMobSpawnerAdd par){ @@ -36,35 +32,60 @@ public class SubGuiClonerQuickTags extends SubGuiInterface implements IScrollDat quickScroll.setSelectedList(GuiNpcMobSpawnerAdd.addTags); this.addScroll(quickScroll); - addLabel(new GuiNpcLabel(1, StatCollector.translateToLocal("cloner.wandtags"), guiLeft + 7, guiTop + 7)); + addLabel(new GuiNpcLabel(1, StatCollector.translateToLocal("cloner.wandTags"), guiLeft + 7, guiTop + 7)); addScroll(quickScroll); addTextField(new GuiNpcTextField(2, this, fontRendererObj, guiLeft + 4, guiTop + 190, 140, 20, quickSearch)); addButton(new GuiNpcButton(10, guiLeft + 150, guiTop + 20, 120, 20, "gui.selectAll")); addButton(new GuiNpcButton(11, guiLeft + 150, guiTop + 43, 120, 20, "gui.deselectAll")); - addButton(new GuiNpcButton(66, guiLeft + 240, guiTop + 175, 60, 20, "gui.done")); + selectedScroll.clear(); + selectedScroll.setSize(145, 103); + selectedScroll.guiLeft = guiLeft + 150; + selectedScroll.guiTop = guiTop + 82; + selectedScroll.setUnselectable(); + this.addScroll(selectedScroll); - getSelected(); + addLabel(new GuiNpcLabel(3, StatCollector.translateToLocal("tags.selectedTags"), guiLeft + 153, guiTop + 68)); + addScroll(selectedScroll); + + addButton(new GuiNpcButton(66, guiLeft + 240, guiTop + 190, 60, 20, "gui.done")); + + setSelected(); + refreshSelected(); } protected void actionPerformed(GuiButton guibutton){ if (guibutton.id == 10) { GuiNpcMobSpawnerAdd.addTags = new HashSet<>(parent.allTags); quickScroll.setSelectedList(GuiNpcMobSpawnerAdd.addTags); + refreshSelected(); } if (guibutton.id == 11) { GuiNpcMobSpawnerAdd.addTags = new HashSet<>(); quickScroll.setSelectedList(GuiNpcMobSpawnerAdd.addTags); + refreshSelected(); } if (guibutton.id == 66) { close(); } } - public void getSelected(){ + @Override + public void mouseClicked(int i, int j, int k) + { + super.mouseClicked(i, j, k); + refreshSelected(); + } + + public void setSelected(){ quickScroll.setList(getQuickTags()); } + public void refreshSelected(){ + List sortedList = new ArrayList<>(new TreeSet<>(GuiNpcMobSpawnerAdd.addTags)); + selectedScroll.setList(sortedList); + } + @Override public void keyTyped(char c, int i) { diff --git a/src/main/resources/assets/customnpcs/lang/en_US.lang b/src/main/resources/assets/customnpcs/lang/en_US.lang index 4e3e8a6ff..bd2a7017d 100644 --- a/src/main/resources/assets/customnpcs/lang/en_US.lang +++ b/src/main/resources/assets/customnpcs/lang/en_US.lang @@ -410,13 +410,13 @@ cloner.tagFilters=Tag Filters cloner.tagVisibility=Tag Visibility cloner.wandTags=Wand Tags cloner.npcTags=NPC Tags +cloner.selectedTags=Selected Tags cloner.order=Sort Order cloner.ascending=Ascending cloner.descending=Descending cloner.type=Sort Type cloner.name=Name cloner.date=Date -cloner.wandtags=Wand Tags cloner.wandtagsapplied=Wand Tags will be applied tags.allTags=All Tags