Fix /serverchat requiring a target

This commit is contained in:
2023-01-13 20:08:30 +08:00
parent 9b08c1cc48
commit 659e5e1b51

View File

@ -26,9 +26,10 @@ import java.util.List;
@Command(label = "serverchat", @Command(label = "serverchat",
aliases = { "sc" }, aliases = { "sc" },
usage = { "on/off", "unban|unmute @uid", "ban|mute @uid [time(Minutes)]", "limit <timesPerMinute>", "reload" }, usage = { "on/off", "unban|unmute @<UID>", "ban|mute @<UID> [time(Minutes)]", "limit <timesPerMinute>", "reload" },
permission = "server.chat", permission = "server.chat",
permissionTargeted = "server.chat.others") permissionTargeted = "server.chat.others",
targetRequirement = Command.TargetRequirement.NONE)
public class ChatServerCommands implements CommandHandler { public class ChatServerCommands implements CommandHandler {
@Override @Override
public void execute(Player sender, Player targetPlayer, List<String> args) { public void execute(Player sender, Player targetPlayer, List<String> args) {
@ -51,11 +52,21 @@ public class ChatServerCommands implements CommandHandler {
CommandHandler.sendMessage(sender, "OK"); CommandHandler.sendMessage(sender, "OK");
} }
case "unban", "unmute" -> { case "unban", "unmute" -> {
if (targetPlayer == null) {
sendUsageMessage(sender);
CommandHandler.sendTranslatedMessage(sender, "commands.execution.need_target");
return;
}
plugin.getData().banList.remove(targetPlayer.getUid()); plugin.getData().banList.remove(targetPlayer.getUid());
plugin.saveData(); plugin.saveData();
CommandHandler.sendMessage(sender, "OK"); CommandHandler.sendMessage(sender, "OK");
} }
case "ban", "mute" -> { case "ban", "mute" -> {
if (targetPlayer == null) {
sendUsageMessage(sender);
CommandHandler.sendTranslatedMessage(sender, "commands.execution.need_target");
return;
}
var time = 2051190000L; var time = 2051190000L;
if (args.size() == 2) { if (args.size() == 2) {
try { try {
@ -65,14 +76,10 @@ public class ChatServerCommands implements CommandHandler {
return; return;
} }
} }
if (targetPlayer == null) {
sendUsageMessage(sender);
} else {
plugin.getData().banList.put(targetPlayer.getUid(), time); plugin.getData().banList.put(targetPlayer.getUid(), time);
plugin.saveData(); plugin.saveData();
CommandHandler.sendMessage(sender, "OK"); CommandHandler.sendMessage(sender, "OK");
} }
}
case "limit" -> { case "limit" -> {
var times = 20; var times = 20;
if (args.size() == 2) { if (args.size() == 2) {