From 5b627a78190c2ed21b992af501b69bb4fab4a991 Mon Sep 17 00:00:00 2001 From: yoyosource Date: Sat, 23 Sep 2023 13:22:43 +0200 Subject: [PATCH] Fix some tab completions and optimize others --- .../bungeecore/commands/IgnoreCommand.java | 10 ++---- .../commands/PunishmentCommand.java | 7 ++-- .../bungeecore/commands/TeamCommand.java | 36 +++++++++---------- 3 files changed, 22 insertions(+), 31 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/IgnoreCommand.java b/src/de/steamwar/bungeecore/commands/IgnoreCommand.java index 1d6f613..3a4ee62 100644 --- a/src/de/steamwar/bungeecore/commands/IgnoreCommand.java +++ b/src/de/steamwar/bungeecore/commands/IgnoreCommand.java @@ -20,16 +20,11 @@ package de.steamwar.bungeecore.commands; import de.steamwar.bungeecore.Message; +import de.steamwar.command.SWCommand; import de.steamwar.sql.IgnoreSystem; import de.steamwar.sql.SteamwarUser; -import de.steamwar.command.SWCommand; -import de.steamwar.command.SWCommandUtils; -import de.steamwar.command.TypeMapper; -import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.connection.ProxiedPlayer; -import java.util.stream.Collectors; - public class IgnoreCommand extends SWCommand { public IgnoreCommand() { @@ -37,10 +32,9 @@ public class IgnoreCommand extends SWCommand { } @Register(description = "USAGE_IGNORE") - public void genericCommand(ProxiedPlayer p, @ErrorMessage("UNKNOWN_PLAYER") ProxiedPlayer toIgnore) { + public void genericCommand(ProxiedPlayer p, @ErrorMessage("UNKNOWN_PLAYER") SteamwarUser target) { SteamwarUser user = SteamwarUser.get(p.getUniqueId()); - SteamwarUser target = SteamwarUser.get(toIgnore.getUniqueId()); if(target.equals(user)){ Message.send("IGNORE_YOURSELF", p); return; diff --git a/src/de/steamwar/bungeecore/commands/PunishmentCommand.java b/src/de/steamwar/bungeecore/commands/PunishmentCommand.java index ae29ece..47ed67a 100644 --- a/src/de/steamwar/bungeecore/commands/PunishmentCommand.java +++ b/src/de/steamwar/bungeecore/commands/PunishmentCommand.java @@ -158,8 +158,7 @@ public class PunishmentCommand { @Override public Collection tabCompletes(CommandSender sender, PreviousArguments previousArguments, String s) { - List players = BungeeCord.getInstance().getPlayers() - .stream() + List players = BungeeCord.getInstance().getPlayers().stream() .map(CommandSender::getName) .collect(Collectors.toList()); players.add(s); @@ -169,9 +168,7 @@ public class PunishmentCommand { } }; - if (punishmentType.getUnpunishmentMessage() == null) { - return; - } + if (punishmentType.getUnpunishmentMessage() == null) return; String antiCommand = "un" + command; new SWCommand(antiCommand, ConnectionListener.BAN_PERMISSION) { @Register diff --git a/src/de/steamwar/bungeecore/commands/TeamCommand.java b/src/de/steamwar/bungeecore/commands/TeamCommand.java index 1de07a8..38ccd13 100644 --- a/src/de/steamwar/bungeecore/commands/TeamCommand.java +++ b/src/de/steamwar/bungeecore/commands/TeamCommand.java @@ -115,11 +115,9 @@ public class TeamCommand extends SWCommand { } @Register(value = "create", description = "TEAM_CREATE_USAGE") - public void create(ProxiedPlayer player, @Length(min = 2, max = 4) @ErrorMessage("TEAM_KUERZEL_LENGTH") String kuerzel, @Length(min = 4, max = 15) @ErrorMessage("TEAM_NAME_LENGTH") String name){ + public void create(@Validator("isNotInTeam") ProxiedPlayer player, @Length(min = 2, max = 4) @ErrorMessage("TEAM_KUERZEL_LENGTH") String kuerzel, @Length(min = 4, max = 15) @ErrorMessage("TEAM_NAME_LENGTH") String name){ SteamwarUser user = SteamwarUser.get(player.getUniqueId()); Team team = Team.get(user.getTeam()); - if(unwantedInTeam(player, user)) - return; if(checkTeamKuerzel(player, team, kuerzel)) return; @@ -134,10 +132,8 @@ public class TeamCommand extends SWCommand { } @Register("join") - public void join(ProxiedPlayer player, String... args){ + public void join(@Validator("isNotInTeam") ProxiedPlayer player, String... args){ SteamwarUser user = SteamwarUser.get(player.getUniqueId()); - if(unwantedInTeam(player, user)) - return; if(notDuringEvent(player)) return; @@ -618,6 +614,20 @@ public class TeamCommand extends SWCommand { }; } + @Validator(value = "isNotInTeam", local = true) + public TypeValidator isNotInTeamValidator() { + return (sender, value, messageSender) -> { + if (!(sender instanceof ProxiedPlayer)) return false; + ProxiedPlayer player = (ProxiedPlayer) sender; + SteamwarUser steamwarUser = SteamwarUser.get(player.getUniqueId()); + if (steamwarUser.getTeam() != 0) { + messageSender.send("TEAM_IN_TEAM"); + return false; + } + return true; + }; + } + @Validator(value = "isInTeam", local = true) public TypeValidator isInTeamValidator() { return (sender, value, messageSender) -> { @@ -661,8 +671,7 @@ public class TeamCommand extends SWCommand { @Override public Collection tabCompletes(CommandSender sender, PreviousArguments previousArguments, String s) { - List teams = Team.getAll(); - return teams.stream() + return Team.getAll().stream() .flatMap(team -> Stream.of(team.getTeamName(), team.getTeamKuerzel())) .collect(Collectors.toList()); } @@ -680,8 +689,7 @@ public class TeamCommand extends SWCommand { @Override public Collection tabCompletes(CommandSender sender, PreviousArguments previousArguments, String s) { - List teams = Team.getAll(); - return teams.stream() + return Team.getAll().stream() .filter(team -> team.getAddress() != null && !team.getAddress().isEmpty()) .flatMap(team -> Stream.of(team.getTeamName(), team.getTeamKuerzel())) .collect(Collectors.toList()); @@ -707,14 +715,6 @@ public class TeamCommand extends SWCommand { return false; } - private boolean unwantedInTeam(ProxiedPlayer player, SteamwarUser user){ - if(user.getTeam() != 0){ - Message.send("TEAM_IN_TEAM", player); - return true; - } - return false; - } - private boolean notDuringEvent(ProxiedPlayer player){ if(Event.get() != null){ Message.send("TEAM_NOT_IN_EVENT", player);