diff --git a/src/main/java/kamkeel/npcs/network/packets/request/GuiRequestPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/GuiRequestPacket.java index 7a8f7af06..823e86376 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/GuiRequestPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/GuiRequestPacket.java @@ -40,11 +40,6 @@ public final class GuiRequestPacket extends AbstractPacket { return PacketHandler.REQUEST_PACKET; } - @Override - public boolean needsNPC() { - return false; - } - @SideOnly(Side.CLIENT) @Override public void sendData(ByteBuf out) throws IOException { diff --git a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteDeletePacket.java b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteDeletePacket.java index b07295013..98fdaebb4 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteDeletePacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteDeletePacket.java @@ -47,11 +47,6 @@ public final class RemoteDeletePacket extends AbstractPacket { return CustomNpcsPermissions.NPC_DELETE; } - @Override - public boolean needsNPC() { - return true; - } - @SideOnly(Side.CLIENT) @Override public void sendData(ByteBuf out) throws IOException { diff --git a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteMainMenuPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteMainMenuPacket.java index 973f1dfb9..31674ac80 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteMainMenuPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteMainMenuPacket.java @@ -48,10 +48,7 @@ public final class RemoteMainMenuPacket extends AbstractPacket { return CustomNpcsPermissions.NPC_GUI; } - @Override - public boolean needsNPC() { - return true; - } + @SideOnly(Side.CLIENT) @Override diff --git a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteResetPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteResetPacket.java index b42dd51d2..120eb25b0 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteResetPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteResetPacket.java @@ -44,9 +44,7 @@ public final class RemoteResetPacket extends AbstractPacket { } @Override - public boolean needsNPC() { - return true; - } + @SideOnly(Side.CLIENT) @Override diff --git a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteTpToNpcPacket.java b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteTpToNpcPacket.java index 45e0d1a30..661f7d6e0 100644 --- a/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteTpToNpcPacket.java +++ b/src/main/java/kamkeel/npcs/network/packets/request/npc/RemoteTpToNpcPacket.java @@ -42,11 +42,6 @@ public final class RemoteTpToNpcPacket extends AbstractPacket { return CustomNpcsPermissions.NPC_TELEPORT; } - @Override - public boolean needsNPC() { - return true; - } - @SideOnly(Side.CLIENT) @Override public void sendData(ByteBuf out) throws IOException { diff --git a/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java b/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java index 19133cbca..a35484e1b 100644 --- a/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java +++ b/src/main/java/noppes/npcs/client/gui/GuiNpcRemoteEditor.java @@ -13,13 +13,17 @@ import noppes.npcs.client.gui.util.*; import noppes.npcs.entity.EntityNPCInterface; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Vector; public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, GuiYesNoCallback{ private GuiCustomScroll scroll; private HashMap data = new HashMap(); + private String search = ""; + public GuiNpcRemoteEditor() { super(); xSize = 256; @@ -32,7 +36,7 @@ public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, super.initGui(); if(scroll == null){ scroll = new GuiCustomScroll(this,0, 0); - scroll.setSize(165, 208); + scroll.setSize(165, 188); } scroll.guiLeft = guiLeft + 4; scroll.guiTop = guiTop + 4; @@ -41,6 +45,8 @@ public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, String title = StatCollector.translateToLocal("remote.title"); int x = (xSize - this.fontRendererObj.getStringWidth(title)) / 2; + addTextField(new GuiNpcTextField(66, this, fontRendererObj, guiLeft + 4, guiTop + 5 + scroll.ySize, scroll.xSize, 20, search)); + this.addLabel(new GuiNpcLabel(0, title, guiLeft + x, guiTop - 8)); this.addButton(new GuiNpcButton(0, guiLeft + 170, guiTop + 6,82,20, "selectServer.edit")); @@ -110,20 +116,47 @@ public class GuiNpcRemoteEditor extends GuiNPCInterface implements IScrollData, @Override public void keyTyped(char c, int i) { - if (i == 1 || isInventoryKey(i)) + super.keyTyped(c, i); + if(getTextField(66) != null){ + if(getTextField(66).isFocused()){ + if (i == 1) + { + close(); + return; + } + if(search.equals(getTextField(66).getText())) + return; + search = getTextField(66).getText().toLowerCase(); + scroll.resetScroll(); + scroll.setList(getNPCSearch()); + } + } + if (i == 1) { close(); } } - @Override - public void save() { - // TODO Auto-generated method stub - } + private List getNPCSearch(){ + if(search.isEmpty()){ + return new ArrayList(this.data.keySet()); + } + List list = new ArrayList(); + for(String name : this.data.keySet()){ + if(name.toLowerCase().contains(search)) + list.add(name); + } + return list; + } + + @Override + public void save() {} + @Override public void setData(Vector list, HashMap data) { - scroll.setList(list); - this.data = data; + this.data = data; + scroll.resetScroll(); + scroll.setList(getNPCSearch()); } @Override public void setSelected(String selected) {