Ver código fonte

Reworking game start command

RedstoneFuture 2 anos atrás
pai
commit
85b4fbc3f8

+ 4 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/MWCommands.java

@@ -32,6 +32,7 @@ import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.game.enums.VoteState;
 import de.butzlabben.missilewars.game.missile.Missile;
 import de.butzlabben.missilewars.game.missile.MissileFacing;
+import de.butzlabben.missilewars.game.timer.LobbyTimer;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
@@ -158,11 +159,12 @@ public class MWCommands extends BaseCommand {
                 game.getMapVoting().setVotedArena();
             } else {
                 player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.GAME_CAN_NOT_STARTET));
+                return;
             }
-            return;
         }
 
-        game.startGame();
+        LobbyTimer lobbyTimer = (LobbyTimer) game.getTaskManager().getTimer();
+        lobbyTimer.executeGameStart();
     }
 
     @Subcommand("stop")

+ 8 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -90,9 +90,7 @@ public class LobbyTimer extends Timer implements Runnable {
                     seconds = startTime;
                     return;
                 }
-                broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_GAME_STARTS));
-                playPling();
-                getGame().startGame();
+                executeGameStart();
                 return;
             default:
                 break;
@@ -106,5 +104,11 @@ public class LobbyTimer extends Timer implements Runnable {
             mwPlayer.getPlayer().playSound(mwPlayer.getPlayer().getLocation(), Sound.BLOCK_NOTE_BLOCK_PLING, 100, 3);
         }
     }
-    
+
+    public void executeGameStart() {
+        broadcast(Messages.getMessage(true, Messages.MessageEnum.LOBBY_GAME_STARTS));
+        playPling();
+        getGame().startGame();
+    }
+
 }