SteamWar/BungeeCore
Archiviert
13
2

Optimize MsgCommand #410

Zusammengeführt
Lixfel hat 3 Commits von OptimizeMSGAndRCommand nach master 2022-06-20 13:08:52 +02:00 zusammengeführt
2 geänderte Dateien mit 2 neuen und 26 gelöschten Zeilen
Nur Änderungen aus Commit eb81ffc9d8 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -22,7 +22,6 @@ package de.steamwar.bungeecore.commands;
import de.steamwar.bungeecore.listeners.ChatListener;
import de.steamwar.bungeecore.sql.IgnoreSystem;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import de.steamwar.messages.ChatSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
@ -37,21 +36,10 @@ public class MsgCommand extends SWCommand {
}
@Register(description = "MSG_USAGE")
public void genericCommand(ProxiedPlayer sender, ProxiedPlayer target, @Validator String... message) {
public void genericCommand(ProxiedPlayer sender, ProxiedPlayer target, @ErrorMessage(value = "MSG_USAGE", allowEAs = false) String... message) {
Review

Wird nicht bei einem Fehler sowieso MSG_USAGE getriggert aufgrund der description? (Ansonsten wäre das ggf. ein guter Standard?)

Was bedeutet allowEAs?

Wird nicht bei einem Fehler sowieso MSG_USAGE getriggert aufgrund der description? (Ansonsten wäre das ggf. ein guter Standard?) Was bedeutet allowEAs?
Review

allowEAs steht für:

This is the short form for 'allowEmptyArrays'.

Was default auf 'true' ist, was der default sein muss wegen backwards compatibility. Und die MSG_USAGE wird halt nicht getriggert wenn es um Strings geht. Da das ja auf alles matched, deswegen gibt es 'allowEAs' damit man eben abschalten kann das leere arrays erlaubt werden als parameter.

allowEAs steht für: ``` This is the short form for 'allowEmptyArrays'. ``` Was default auf 'true' ist, was der default sein muss wegen backwards compatibility. Und die MSG_USAGE wird halt nicht getriggert wenn es um Strings geht. Da das ja auf alles matched, deswegen gibt es 'allowEAs' damit man eben abschalten kann das leere arrays erlaubt werden als parameter.
msg(sender, target, message);
}
@ClassValidator(value = String[].class, local = true)
public TypeValidator<String[]> getValidator() {
return (sender, value, messageSender) -> {
if (value.length == 0) {
messageSender.send("MSG_USAGE");
return false;
}
return true;
};
}
public static void msg(ProxiedPlayer player, ProxiedPlayer target, String[] args) {
ChatSender sender = ChatSender.of(player);
if(target == null || !target.isConnected()) {

Datei anzeigen

@ -20,7 +20,6 @@
package de.steamwar.bungeecore.commands;
import de.steamwar.command.SWCommand;
import de.steamwar.command.TypeValidator;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import static de.steamwar.bungeecore.Storage.lastChats;
@ -32,18 +31,7 @@ public class RCommand extends SWCommand {
}
@Register(description = "R_USAGE")
public void genericCommand(ProxiedPlayer player, @Validator String... message) {
public void genericCommand(ProxiedPlayer player, @ErrorMessage(value = "MSG_USAGE", allowEAs = false) String... message) {
MsgCommand.msg(player, lastChats.get(player), message);
}
@ClassValidator(value = String[].class, local = true)
public TypeValidator<String[]> getValidator() {
return (sender, value, messageSender) -> {
if (value.length == 0) {
messageSender.send("R_USAGE");
return false;
}
return true;
};
}
}