RedstoneTester #202
@ -23,6 +23,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
|
||||
public class SWUtils {
|
||||
@ -36,6 +37,7 @@ public class SWUtils {
|
||||
}
|
||||
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Die Die `SWUtils` in einen eigenen PR
|
||||
public static List<String> manageList(List<String> strings, String[] args, int index) {
|
||||
strings = new ArrayList<>(strings);
|
||||
for (int i = strings.size() - 1; i >= 0; i--) {
|
||||
if (!strings.get(i).startsWith(args[index])) {
|
||||
strings.remove(i);
|
||||
@ -48,5 +50,4 @@ public class SWUtils {
|
||||
return manageList(strings, args, args.length - 1);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -26,26 +26,19 @@ import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class CommandDetonatorTabCompleter implements TabCompleter {
|
||||
|
||||
private List<String> arguments = new ArrayList<>(Arrays.asList("wand", "reset", "detonate", "remove"));
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return new ArrayList<>();
|
||||
return detonaterTabComplete((Player) sender, args);
|
||||
}
|
||||
|
||||
private List<String> detonaterTabComplete(Player player, String[] args) {
|
||||
List<String> tabComplete = new ArrayList<>();
|
||||
tabComplete.add("wand");
|
||||
tabComplete.add("reset");
|
||||
tabComplete.add("detonate");
|
||||
tabComplete.add("remove");
|
||||
|
||||
if (args.length >= 2) {
|
||||
if (args.length != 1) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return SWUtils.manageList(tabComplete, args, 0);
|
||||
return SWUtils.manageList(arguments, args);
|
||||
}
|
||||
}
|
||||
|
@ -27,26 +27,20 @@ import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class CommandSimulatorTabCompleter implements TabCompleter {
|
||||
|
||||
private List<String> arguments = new ArrayList<>(Arrays.asList("wand", "start", "delete"));
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return new ArrayList<>();
|
||||
return simulatorTabComplete((Player) sender, args);
|
||||
}
|
||||
|
||||
private List<String> simulatorTabComplete(Player player, String[] args) {
|
||||
List<String> tabComplete = new ArrayList<>();
|
||||
tabComplete.add("wand");
|
||||
tabComplete.add("start");
|
||||
tabComplete.add("delete");
|
||||
|
||||
if (args.length >= 2) {
|
||||
if (args.length != 1) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return SWUtils.manageList(tabComplete, args, 0);
|
||||
return SWUtils.manageList(arguments, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,31 +29,24 @@ import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class CommandTNTTabComplete implements TabCompleter {
|
||||
|
||||
private List<String> arguments = new ArrayList<>(Arrays.asList("an", "on", "aus", "off"));
|
||||
|
||||
public CommandTNTTabComplete() {
|
||||
if (Region.buildAreaEnabled()) arguments.addAll(Arrays.asList("testblock", "tb"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return new ArrayList<>();
|
||||
return tntTabComplete(args);
|
||||
}
|
||||
|
||||
private List<String> tntTabComplete(String[] args) {
|
||||
List<String> tabComplete = new ArrayList<>();
|
||||
tabComplete.add("an");
|
||||
tabComplete.add("on");
|
||||
tabComplete.add("aus");
|
||||
tabComplete.add("off");
|
||||
if (Region.buildAreaEnabled()) {
|
||||
tabComplete.add("testblock");
|
||||
tabComplete.add("tb");
|
||||
}
|
||||
|
||||
if (args.length >= 2) {
|
||||
if (args.length != 1) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Dat sind aber net alle TabCompleter (Kann man eig. in einem eig. PR machen) Dat sind aber net alle TabCompleter (Kann man eig. in einem eig. PR machen)
YoyoNow
hat
Und ich mache die Änderung da, wo ich dann sehe, dass ich Code dopplung habe, welche ich geändert haben möchte. Dafür kriegt ihr keinen zweiten PR. Sorry das wäre mir zu blöd. Und ich mache die Änderung da, wo ich dann sehe, dass ich Code dopplung habe, welche ich geändert haben möchte. Dafür kriegt ihr keinen zweiten PR. Sorry das wäre mir zu blöd.
|
||||
return SWUtils.manageList(tabComplete, args, 0);
|
||||
return SWUtils.manageList(arguments, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,10 +19,12 @@
|
||||
|
||||
package de.steamwar.bausystem.commands;
|
||||
|
||||
import de.steamwar.bausystem.SWUtils;
|
||||
import de.steamwar.bausystem.world.TPSUtils;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -38,16 +40,11 @@ public class CommandTPSLimiterTabComplete implements TabCompleter {
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return new ArrayList<>();
|
||||
if (args.length != 1) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<String> validArguments = new ArrayList<>(arguments.size());
|
||||
for (String s : arguments) {
|
||||
if (s.startsWith(args[0])) {
|
||||
validArguments.add(s);
|
||||
}
|
||||
}
|
||||
return validArguments;
|
||||
return SWUtils.manageList(arguments, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -50,8 +50,8 @@ public class CommandTraceTabCompleter implements TabCompleter {
|
||||
return tracerTabComplete((Player) sender, args);
|
||||
}
|
||||
|
||||
private List<String> tracerTabComplete(Player player, String[] args) {
|
||||
List<String> tabComplete = new ArrayList<>();
|
||||
private List<String> tracerTabComplete(Player player, java.lang.String[] args) {
|
||||
List<java.lang.String> tabComplete = new ArrayList<>();
|
||||
for (TabComplete tab : tabCompletes) {
|
||||
if (tab.test(player, args)) tabComplete.addAll(Arrays.asList(tab.getTabCompletes()));
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Kann man das nicht in einen eigenen PR machen?
Ich würde dies nicht machen, weil das nur unnütz neue PR's macht und ich ja genau hier die Verbesserung dadurch mache.
Mach es für die Prüfbarkeit in einen eigenen PR, man sollte nicht zwei große änderungen bzw. eine Änderung und ein Refactor in einem PR machen