Added search command
This commit is contained in:
@@ -325,7 +325,8 @@ public class Administration{
|
|||||||
ObjectSet<PlayerInfo> result = new ObjectSet<>();
|
ObjectSet<PlayerInfo> result = new ObjectSet<>();
|
||||||
|
|
||||||
for(PlayerInfo info : playerInfo.values()){
|
for(PlayerInfo info : playerInfo.values()){
|
||||||
if(info.lastName.toLowerCase().equals(name.toLowerCase()) || (info.names.contains(name, false))
|
if(info.lastName.equalsIgnoreCase(name) || (info.names.contains(name, false))
|
||||||
|
|| Strings.stripColors(Strings.stripColors(info.lastName)).equals(name)
|
||||||
|| info.ips.contains(name, false) || info.id.equals(name)){
|
|| info.ips.contains(name, false) || info.id.equals(name)){
|
||||||
result.add(info);
|
result.add(info);
|
||||||
}
|
}
|
||||||
@@ -334,6 +335,19 @@ public class Administration{
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Finds by name, using contains(). */
|
||||||
|
public ObjectSet<PlayerInfo> searchNames(String name){
|
||||||
|
ObjectSet<PlayerInfo> result = new ObjectSet<>();
|
||||||
|
|
||||||
|
for(PlayerInfo info : playerInfo.values()){
|
||||||
|
if(info.names.contains(n -> n.toLowerCase().contains(name.toLowerCase()) || Strings.stripColors(n).trim().toLowerCase().contains(name))){
|
||||||
|
result.add(info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public Array<PlayerInfo> findByIPs(String ip){
|
public Array<PlayerInfo> findByIPs(String ip){
|
||||||
Array<PlayerInfo> result = new Array<>();
|
Array<PlayerInfo> result = new Array<>();
|
||||||
|
|
||||||
|
|||||||
@@ -805,6 +805,22 @@ public class ServerControl implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
handler.register("search", "<name...>", "Search players who have used part of a name.", arg -> {
|
||||||
|
|
||||||
|
ObjectSet<PlayerInfo> infos = netServer.admins.searchNames(arg[0]);
|
||||||
|
|
||||||
|
if(infos.size > 0){
|
||||||
|
info("&lgPlayers found: {0}", infos.size);
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
for(PlayerInfo info : infos){
|
||||||
|
info("- &lc[{0}] &ly'{1}'&lc / &lm{2}", i++, info.lastName, info.id);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
info("Nobody with that name could be found.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
handler.register("gc", "Trigger a grabage struct. Testing only.", arg -> {
|
handler.register("gc", "Trigger a grabage struct. Testing only.", arg -> {
|
||||||
int pre = (int)(Core.app.getJavaHeap() / 1024 / 1024);
|
int pre = (int)(Core.app.getJavaHeap() / 1024 / 1024);
|
||||||
System.gc();
|
System.gc();
|
||||||
|
|||||||
Reference in New Issue
Block a user