Fix CommandPart Validator for varargs part
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed

Dieser Commit ist enthalten in:
yoyosource 2022-06-16 23:06:53 +02:00
Ursprung fc976acdd4
Commit 43728d8143
3 geänderte Dateien mit 11 neuen und 6 gelöschten Zeilen

Datei anzeigen

@ -72,7 +72,10 @@ public abstract class AbstractSWCommand<T> {
List<Runnable> errors = new ArrayList<>();
try {
if (!commandList.stream().anyMatch(s -> s.invoke(errors::add, sender, alias, args))) {
errors.forEach(Runnable::run);
if (!errors.isEmpty()) {
errors.forEach(Runnable::run);
return;
}
commandHelpList.stream().anyMatch(s -> s.invoke((ignore) -> {}, sender, alias, args));
}
} catch (CommandNoHelpException e) {

Datei anzeigen

@ -20,7 +20,6 @@
package de.steamwar.command;
import java.util.Collection;
import java.util.function.BiConsumer;
public interface AbstractTypeMapper<K, T> extends AbstractValidator<K, T> {
/**
@ -29,7 +28,7 @@ public interface AbstractTypeMapper<K, T> extends AbstractValidator<K, T> {
T map(K sender, String[] previousArguments, String s);
@Override
default boolean validate(K sender, T value, BiConsumer<String, Object[]> messageSender) {
default boolean validate(K sender, T value, MessageSender messageSender) {
return true;
}

Datei anzeigen

@ -19,8 +19,6 @@
package de.steamwar.command;
import java.util.function.BiConsumer;
@FunctionalInterface
public interface AbstractValidator<K, T> {
@ -32,5 +30,10 @@ public interface AbstractValidator<K, T> {
* @param messageSender The message sender to send messages to the player. Never send messages directly to the player.
* @return The result of the validation.
*/
boolean validate(K sender, T value, BiConsumer<String, Object[]> messageSender);
boolean validate(K sender, T value, MessageSender messageSender);
@FunctionalInterface
interface MessageSender {
void send(String s, Object... args);
}
}