aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorrepo_alt <wvk17@yandex.ru>2020-02-23 23:05:39 +0300
committerrepo_alt <wvk17@yandex.ru>2020-02-23 23:13:05 +0300
commitd0308eac6f049f074504500209c9647a7ee0e896 (patch)
tree2bc78709351004a414a03ea2d8f2bee88d44f5c1 /src/main
parent1b4c89b696e6320d5f8e8d7e35429fb2031a732d (diff)
downloadGT5-Unofficial-d0308eac6f049f074504500209c9647a7ee0e896.tar.gz
GT5-Unofficial-d0308eac6f049f074504500209c9647a7ee0e896.tar.bz2
GT5-Unofficial-d0308eac6f049f074504500209c9647a7ee0e896.zip
tab completion improved
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/common/misc/GT_Command.java47
1 files changed, 15 insertions, 32 deletions
diff --git a/src/main/java/gregtech/common/misc/GT_Command.java b/src/main/java/gregtech/common/misc/GT_Command.java
index 1f00e315dc..9d53027026 100644
--- a/src/main/java/gregtech/common/misc/GT_Command.java
+++ b/src/main/java/gregtech/common/misc/GT_Command.java
@@ -8,7 +8,9 @@ import net.minecraft.command.WrongUsageException;
import net.minecraft.util.ChatComponentText;
import java.lang.reflect.Field;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.stream.Stream;
public final class GT_Command extends CommandBase {
@@ -38,38 +40,19 @@ public final class GT_Command extends CommandBase {
@Override
public List addTabCompletionOptions(ICommandSender sender, String[] ss) {
List<String> l = new ArrayList<>();
- if (ss.length == 0 || ss.length == 1 && (ss[0].trim().isEmpty() || "toggle".startsWith(ss[0]) || "chunks".startsWith(ss[0]))) {
- if ("toggle".startsWith(ss[0]))
- l.add("toggle");
- else if ("chunks".startsWith(ss[0]))
- l.add("chunks");
- else {
- l.add("toggle");
- l.add("chunks");
- }
- } else if (ss[0].equals("toggle")) {
- if (ss.length == 1 || ss[1].trim().isEmpty()) {
- l.add("D1");
- l.add("D2");
- l.add("debugCleanroom");
- l.add("debugDriller");
- l.add("debugWorldGen");
- l.add("debugOrevein");
- l.add("debugSmallOres");
- l.add("debugStones");
- l.add("debugChunkloaders");
- } else if (ss[1].startsWith("D")) {
- l.add("D1");
- l.add("D2");
- } else if (ss[1].startsWith("d")) {
- l.add("debugCleanroom");
- l.add("debugDriller");
- l.add("debugWorldGen");
- l.add("debugOrevein");
- l.add("debugSmallOres");
- l.add("debugStones");
- l.add("debugChunkloaders");
- }
+ Stream<String> keywords = Arrays.stream(new String[]{"toggle", "chunks"});
+ String test = ss.length == 0 ? "" : ss[0].trim();
+ if (ss.length == 0 || ss.length == 1 && (test.isEmpty() || keywords.anyMatch(s -> s.startsWith(test)))) {
+ keywords.forEach(s -> {
+ if (test.isEmpty() || s.startsWith(test))
+ l.add(s);
+ });
+ } else if (test.equals("toggle")) {
+ String test1 = ss.length == 1 ? "" : ss[1].trim();
+ Arrays.stream(new String[]{"D1", "D2", "debugCleanroom", "debugDriller", "debugWorldGen", "debugOrevein", "debugSmallOres", "debugStones", "debugChunkloaders"}).forEach(s -> {
+ if (test1.isEmpty() || s.startsWith(test1))
+ l.add(s);
+ });
}
return l;
}