Update SchematicCommand.schemSearch #104
@ -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
|
|||||||
|
|
||||||
{
|
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
Chaoscaot
hat
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
Chaoscaot
hat
.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
Chaoscaot
hat
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
Chaoscaot
hat
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
YoyoNow
hat
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
Chaoscaot
hat
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);
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
private static final