Browse Source

Merge pull request #108 from RedstoneFuture/fix/team-change

Make processes between GUI and command as the same
Daniel 1 year ago
parent
commit
75e15b173f

+ 7 - 0
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/UserCommands.java

@@ -92,6 +92,12 @@ public class UserCommands extends BaseCommand {
             return;
         }
 
+        // too late for team change:
+        if (game.getTaskManager().getTimer().getSeconds() < 10) {
+            player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_CHANGE_TEAM_NO_LONGER_NOW));
+            return;
+        }
+
         if (!(args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("2"))) {
             sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_INVALID_TEAM_NUMBER));
             return;
@@ -117,6 +123,7 @@ public class UserCommands extends BaseCommand {
         to.addMember(mwPlayer);
 
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_TEAM_CHANGED).replace("%team%", to.getFullname()));
+        game.getScoreboardManager().updateScoreboard();
     }
 
     @Subcommand("quit|leave")

+ 0 - 11
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/game/LobbyListener.java

@@ -64,22 +64,11 @@ public class LobbyListener extends GameBoundListener {
             if (!player.hasPermission("mw.change")) return;
 
             String displayName = event.getItem().getItemMeta().getDisplayName();
-
-            // same team:
-            if (displayName.equals(getGame().getPlayer(player).getTeam().getFullname())) return;
-
-            // too late for team change:
-            if (getGame().getTaskManager().getTimer().getSeconds() < 10) {
-                player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_CHANGE_TEAM_NO_LONGER_NOW));
-                return;
-            }
-
             if (displayName.equals(getGame().getTeam1().getFullname())) {
                 player.performCommand("mw change 1");
             } else {
                 player.performCommand("mw change 2");
             }
-            getGame().getScoreboardManager().updateScoreboard();
 
         } else if (event.getItem().getType() == Material.NETHER_STAR) {
             // vote inventory: