Add Search to Remote Editor

This commit is contained in:
Kam committed 2025-02-03 12:36:28 -05:00
1 parent c0dc526d41
commit 29c456ab4e
6 files changed
+43 -30

No files matched your search

@@ -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 {
@@ -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 {
@@ -48,10 +48,7 @@ public final class RemoteMainMenuPacket extends AbstractPacket {
return CustomNpcsPermissions.NPC_GUI;
}
@Override
public boolean needsNPC() {
return true;
}
@SideOnly(Side.CLIENT)
@Override
@@ -44,9 +44,7 @@ public final class RemoteResetPacket extends AbstractPacket {
}
@Override
public boolean needsNPC() {
return true;
}
@SideOnly(Side.CLIENT)
@Override
@@ -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 {
@@ -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<String, Integer> data = new HashMap<String, Integer>();
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<String> getNPCSearch(){
if(search.isEmpty()){
return new ArrayList<String>(this.data.keySet());
}
List<String> list = new ArrayList<String>();
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<String> list, HashMap<String, Integer> data) {
scroll.setList(list);
this.data = data;
this.data = data;
scroll.resetScroll();
scroll.setList(getNPCSearch());
}
@Override
public void setSelected(String selected) {