diff --git a/src/main/java/noppes/npcs/PacketHandlerServer.java b/src/main/java/noppes/npcs/PacketHandlerServer.java index d3ebd3a15..d5b05fa37 100644 --- a/src/main/java/noppes/npcs/PacketHandlerServer.java +++ b/src/main/java/noppes/npcs/PacketHandlerServer.java @@ -28,6 +28,7 @@ import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldServer; import net.minecraftforge.common.DimensionManager; import noppes.npcs.api.entity.IPlayer; +import noppes.npcs.api.handler.data.ITag; import noppes.npcs.config.ConfigDebug; import noppes.npcs.config.ConfigMain; import noppes.npcs.config.ConfigScript; @@ -1081,14 +1082,14 @@ public class PacketHandlerServer{ NBTTagCompound compound = new NBTTagCompound(); compound.setTag("CloneTags", tagMap.writeNBT()); - HashSet validTags = TagController.getInstance().getValidTags(tagMap); + HashSet validTags = TagController.getInstance().getAllTags(); NBTTagList validTagList = new NBTTagList(); for(Tag tag : validTags){ NBTTagCompound tagCompound = new NBTTagCompound(); tag.writeNBT(tagCompound); validTagList.appendTag(tagCompound); } - compound.setTag("ValidTags", validTagList); + compound.setTag("AllTags", validTagList); Server.sendData(player, EnumPacketClient.GUI_DATA, compound); } else diff --git a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java index 46a6eb550..fe98e3a60 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java +++ b/src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java @@ -20,10 +20,10 @@ import noppes.npcs.controllers.data.TagMap; import java.lang.reflect.Modifier; import java.util.*; -public class GuiNpcMobSpawner extends GuiNPCInterface implements IScrollData,IGuiData { - public static HashSet allTags = new HashSet<>(); - public static HashSet tagFilters = new HashSet<>(); +public class GuiNpcMobSpawner extends GuiNPCInterface implements IGuiData { + public static HashMap tagNames = new HashMap<>(); public static HashMap tags = new HashMap<>(); + public static HashSet tagFilters = new HashSet<>(); public byte displayTags = 0; public TagMap tagMap; @@ -66,7 +66,7 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IScrollData,IGu filterScroll.setSize(140, 188); filterScroll.guiLeft = guiLeft + 4; filterScroll.guiTop = guiTop + 19; - filterScroll.setList(new ArrayList<>(allTags)); + filterScroll.setList(new ArrayList<>(tagNames.keySet())); filterScroll.multipleSelection = true; filterScroll.setSelectedList(tagFilters); @@ -314,7 +314,7 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IScrollData,IGu } } if (id == 10) { - HashSet hashSet = new HashSet<>(allTags); + HashSet hashSet = new HashSet<>(tagNames.keySet()); filterScroll.setSelectedList(hashSet); } if (id == 11) { @@ -330,29 +330,20 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IScrollData,IGu } } - @Override - public void setData(Vector list, HashMap data) - { - allTags.addAll(list); - } - - @Override - public void setSelected(String selected) { - } - @Override public void save() { // TODO Auto-generated method stub - } + @Override public void setGuiData(NBTTagCompound compound) { if (compound.hasKey("CloneTags")) { tagMap = new TagMap(activeTab); NBTTagCompound cloneTags = compound.getCompoundTag("CloneTags"); tagMap.readNBT(cloneTags); - - NBTTagList validTags = compound.getTagList("ValidTags", 10); + } + else if (compound.hasKey("AllTags")) { + NBTTagList validTags = compound.getTagList("AllTags", 10); if(validTags != null){ for(int j = 0; j < validTags.tagCount(); j++) { @@ -362,7 +353,8 @@ public class GuiNpcMobSpawner extends GuiNPCInterface implements IScrollData,IGu tags.put(tag.uuid, tag); } } - } else { + } + else { NBTTagList nbtlist = compound.getTagList("List", 8); List list = new ArrayList(); for(int i = 0; i < nbtlist.tagCount(); i++){ diff --git a/src/main/java/noppes/npcs/controllers/ServerTagMapController.java b/src/main/java/noppes/npcs/controllers/ServerTagMapController.java index d7aa16338..209def895 100644 --- a/src/main/java/noppes/npcs/controllers/ServerTagMapController.java +++ b/src/main/java/noppes/npcs/controllers/ServerTagMapController.java @@ -34,13 +34,13 @@ public class ServerTagMapController { public TagMap getTagMap(int tab){ this.tagMap = new TagMap(tab); try { - File file = new File(getCloneTabDir(tab), "_____tag_map.dat"); + File file = new File(getCloneTabDir(tab), "___tagmap.dat"); if(file.exists()){ loadTagMapFile(file); } } catch (Exception e) { try { - File file = new File(getCloneTabDir(tab), "_____tag_map.dat_old"); + File file = new File(getCloneTabDir(tab), "___tagmap.dat_old"); if(file.exists()){ loadTagMapFile(file); } @@ -63,9 +63,9 @@ public class ServerTagMapController { public void saveTagMap(TagMap tagMap){ try { File saveDir = getCloneTabDir(tagMap.cloneTab); - File file = new File(saveDir, "_____tag_map.dat_new"); - File file1 = new File(saveDir, "_____tag_map.dat_old"); - File file2 = new File(saveDir, "_____tag_map.dat"); + File file = new File(saveDir, "___tagmap.dat_new"); + File file1 = new File(saveDir, "___tagmap.dat_old"); + File file2 = new File(saveDir, "___tagmap.dat"); CompressedStreamTools.writeCompressed(tagMap.writeNBT(), new FileOutputStream(file)); if(file1.exists()) { diff --git a/src/main/java/noppes/npcs/controllers/TagController.java b/src/main/java/noppes/npcs/controllers/TagController.java index 213e8f5a7..e3c044775 100644 --- a/src/main/java/noppes/npcs/controllers/TagController.java +++ b/src/main/java/noppes/npcs/controllers/TagController.java @@ -231,6 +231,10 @@ public class TagController implements ITagHandler { return names; } + public HashSet getAllTags(){ + return new HashSet(this.tags.values()); + } + public HashSet getValidTags(TagMap tagMap){ HashSet tags = new HashSet(); for(UUID tagUUID : tagMap.getAllUUIDs()){