Bläddra i källkod

Merge branch 'daniel-naegele:master' into fix/inventory-interaction

RedstoneFuture 1 år sedan
förälder
incheckning
3ffb48ebb1

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

@@ -92,6 +92,12 @@ public class UserCommands extends BaseCommand {
             return;
             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"))) {
         if (!(args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("2"))) {
             sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_INVALID_TEAM_NUMBER));
             sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_INVALID_TEAM_NUMBER));
             return;
             return;
@@ -117,6 +123,7 @@ public class UserCommands extends BaseCommand {
         to.addMember(mwPlayer);
         to.addMember(mwPlayer);
 
 
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_TEAM_CHANGED).replace("%team%", to.getFullname()));
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_TEAM_CHANGED).replace("%team%", to.getFullname()));
+        game.getScoreboardManager().updateScoreboard();
     }
     }
 
 
     @Subcommand("quit|leave")
     @Subcommand("quit|leave")

+ 3 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -153,6 +153,8 @@ public class Game {
             return;
             return;
         }
         }
 
 
+        scoreboardManager = new ScoreboardManager(this);
+
         // choose the game arena
         // choose the game arena
         if (lobby.getMapChooseProcedure() == MapChooseProcedure.FIRST) {
         if (lobby.getMapChooseProcedure() == MapChooseProcedure.FIRST) {
             setArena(lobby.getArenas().get(0));
             setArena(lobby.getArenas().get(0));
@@ -173,11 +175,10 @@ public class Game {
                 prepareGame();
                 prepareGame();
             } else {
             } else {
                 mapVoting.startVote();
                 mapVoting.startVote();
+                scoreboardManager.resetScoreboard();
             }
             }
         }
         }
 
 
-        scoreboardManager = new ScoreboardManager(this);
-        scoreboardManager.createScoreboard();
     }
     }
 
 
     /**
     /**

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/ScoreboardManager.java

@@ -68,7 +68,7 @@ public class ScoreboardManager {
     /**
     /**
      * This method registers the scoreboard.
      * This method registers the scoreboard.
      */
      */
-    public void createScoreboard() {
+    private void createScoreboard() {
 
 
         team1 = game.getTeam1();
         team1 = game.getTeam1();
         team2 = game.getTeam2();
         team2 = game.getTeam2();

+ 3 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -20,6 +20,7 @@ package de.butzlabben.missilewars.game.timer;
 
 
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Game;
+import de.butzlabben.missilewars.game.enums.MapChooseProcedure;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.player.MWPlayer;
 import org.bukkit.Sound;
 import org.bukkit.Sound;
 
 
@@ -79,7 +80,8 @@ public class LobbyTimer extends Timer implements Runnable {
                 playPling();
                 playPling();
                 break;
                 break;
             case 10:
             case 10:
-                getGame().getMapVoting().setVotedArena();
+                if (getGame().getLobby().getMapChooseProcedure() == MapChooseProcedure.MAPVOTING)
+                    getGame().getMapVoting().setVotedArena();
                 broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_TIMER_GAME_STARTS_IN).replace("%seconds%", Integer.toString(seconds)));
                 broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_TIMER_GAME_STARTS_IN).replace("%seconds%", Integer.toString(seconds)));
                 playPling();
                 playPling();
                 break;
                 break;

+ 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;
             if (!player.hasPermission("mw.change")) return;
 
 
             String displayName = event.getItem().getItemMeta().getDisplayName();
             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())) {
             if (displayName.equals(getGame().getTeam1().getFullname())) {
                 player.performCommand("mw change 1");
                 player.performCommand("mw change 1");
             } else {
             } else {
                 player.performCommand("mw change 2");
                 player.performCommand("mw change 2");
             }
             }
-            getGame().getScoreboardManager().updateScoreboard();
 
 
         } else if (event.getItem().getType() == Material.NETHER_STAR) {
         } else if (event.getItem().getType() == Material.NETHER_STAR) {
             // vote inventory:
             // vote inventory: