13
0

Update SchematicCommand.schemSearch #104

Zusammengeführt
Chaoscaot hat 6 Commits von SchemSearch nach master 2022-01-15 14:53:53 +01:00 zusammengeführt
Nur Änderungen aus Commit 604e683362 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -47,9 +47,9 @@ import static de.steamwar.schematicsystem.commands.SchematicCommandUtils.*;
public class SchematicCommand extends SWCommand { public class SchematicCommand extends SWCommand {
Map<String, TypeMapper<?>> searchMapper = new HashMap<>(); private static final Map<String, TypeMapper<?>> searchMapper = new HashMap<>();
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

private static final

private static final
{ static {
searchMapper.put("-type", SWCommandUtils.createMapper(SchematicType.values().stream().map(SchematicType::name).toArray(String[]::new))); searchMapper.put("-type", SWCommandUtils.createMapper(SchematicType.values().stream().map(SchematicType::name).toArray(String[]::new)));
searchMapper.put("-owner", SWCommandUtils.createMapper(Function.identity(), (commandSender, s) -> Collections.singletonList(s))); searchMapper.put("-owner", SWCommandUtils.createMapper(Function.identity(), (commandSender, s) -> Collections.singletonList(s)));
Class<?> clazz = Material.class; Class<?> clazz = Material.class;
@ -278,10 +278,19 @@ public class SchematicCommand extends SWCommand {
int finalI = i; int finalI = i;
switch (current) { switch (current) {
YoyoNow markierte diese Unterhaltung als gelöst
Review

Hier wird die -owner Flag nicht genutzt.

Hier wird die -owner Flag nicht genutzt.
case "-type": case "-type":
predicates.add(node -> node.getSchemtype().name().equals(query[finalI + 1])); predicates.add(node -> node.getSchemtype().name().equalsIgnoreCase(query[finalI + 1]));
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

.equalsIgnoreCase()

.equalsIgnoreCase()
break; break;
case "-item": case "-item":
predicates.add(node -> node.getItem().equals(query[finalI + 1])); predicates.add(node -> node.getItem().equalsIgnoreCase(query[finalI + 1]));
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier auch .equalsIgnoreCase()

Hier auch .equalsIgnoreCase()
break;
case "-owner":
try {
SteamwarUser steamwarUser = SteamwarUser.get(query[finalI + 1]);
predicates.add(node -> node.getOwner() == steamwarUser.getId());
} catch (Exception e) {
player.sendMessage(SchematicSystem.PREFIX + "§cDer Spieler §e" + query[finalI + 1] + " §cexistiert nicht");
YoyoNow markierte diese Unterhaltung als gelöst
Review

Diese Exception wird nicht fliegen, da wenn der Spieler nicht existiert, von der SteamwarUser.get() einfach null zurück gegeben wird

Diese Exception wird nicht fliegen, da wenn der Spieler nicht existiert, von der SteamwarUser.get() einfach null zurück gegeben wird
Review

Naja doch schon so irgendwie, aber nicht mehr hier. Änder ich.

Naja doch schon so irgendwie, aber nicht mehr hier. Änder ich.
return;
}
} }
i++; i++;
} }
@ -650,6 +659,9 @@ public class SchematicCommand extends SWCommand {
@Override @Override
public List<String> tabCompletes(CommandSender commandSender, String[] strings, String s) { public List<String> tabCompletes(CommandSender commandSender, String[] strings, String s) {
if (strings.length == 0) {
return Collections.singletonList(s);
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier sollten auch noch die Mapper mit dabei

Hier sollten auch noch die Mapper mit dabei
}
String last = strings[strings.length - 1]; String last = strings[strings.length - 1];
if (searchMapper.containsKey(last)) { if (searchMapper.containsKey(last)) {
TypeMapper<?> mapper = searchMapper.get(last); TypeMapper<?> mapper = searchMapper.get(last);