Pārlūkot izejas kodu

Revert "fix: optimize imports and reformat code"

This reverts commit 7a19e94a16fbef34698efebf3aa9e7063e8d3741.
Daniel Nägele 1 gadu atpakaļ
vecāks
revīzija
57aa21fd82
59 mainītis faili ar 383 papildinājumiem un 412 dzēšanām
  1. 4 6
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 10 13
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/MissileWars.java
  3. 2 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/MWCommandCompletions.java
  4. 16 20
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/MWCommands.java
  5. 101 106
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/SetupCommands.java
  6. 6 13
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/StatsCommands.java
  7. 9 8
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/UserCommands.java
  8. 8 6
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Config.java
  9. 8 7
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Lobby.java
  10. 8 7
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Messages.java
  11. 3 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/Arena.java
  12. 3 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/EquipmentIntervalConfiguration.java
  13. 4 7
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/MissileConfiguration.java
  14. 4 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Arenas.java
  15. 33 42
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java
  16. 10 9
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/GameManager.java
  17. 4 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/GameWorld.java
  18. 5 4
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Team.java
  19. 2 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/EquipmentManager.java
  20. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/MissileGameEquipment.java
  21. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/PlayerEquipmentRandomizer.java
  22. 3 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/SpecialGameEquipment.java
  23. 4 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/RespawnGoldBlock.java
  24. 5 6
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/ScoreboardManager.java
  25. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/Shield.java
  26. 4 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/Missile.java
  27. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/MissileFacing.java
  28. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/Paster.java
  29. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_13FawePasteProvider.java
  30. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_13WEPasteProvider.java
  31. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_16FawePasteProvider.java
  32. 1 0
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/CheckRunnable.java
  33. 5 4
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/MWSign.java
  34. 4 10
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/SignRepository.java
  35. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/FightStats.java
  36. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/PlayerStats.java
  37. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/PlayerStatsComparator.java
  38. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/StatsFetcher.java
  39. 1 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/EndTimer.java
  40. 2 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/GameTimer.java
  41. 3 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java
  42. 3 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/TaskManager.java
  43. 4 3
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/OrcInventory.java
  44. 5 4
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/OrcItem.java
  45. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/VoteInventory.java
  46. 1 7
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/PlayerListener.java
  47. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/SignListener.java
  48. 5 9
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/game/GameListener.java
  49. 3 2
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/player/MWPlayer.java
  50. 7 6
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/player/PlayerData.java
  51. 2 6
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/ConnectionHolder.java
  52. 2 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/MoneyUtil.java
  53. 29 29
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/geometry/GameArea.java
  54. 7 11
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/geometry/Geometry.java
  55. 1 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/GameProfileBuilder.java
  56. 6 10
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/PlayerGuiFactory.java
  57. 2 6
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/PreFetcher.java
  58. 5 4
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/version/BlockSetterProvider.java
  59. 1 1
      missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/version/VersionUtil.java

+ 4 - 6
.github/ISSUE_TEMPLATE/bug_report.md

@@ -12,7 +12,6 @@ A clear and concise description of what the bug is.
 
 **To Reproduce**
 Steps to reproduce the behavior:
-
 1. Go to '...'
 2. Click on '....'
 3. Scroll down to '....'
@@ -25,11 +24,10 @@ A clear and concise description of what you expected to happen.
 If applicable, add screenshots to help explain your problem.
 
 **Server (please complete the following information):**
-
-- OS: [e.g. Debian, Windows]
-- Minecraft version [e.g. 1.12, 1.16, 1.17]
-- Java version [e.g. 11, 17]
-- Version [e.g. 22]
+ - OS: [e.g. Debian, Windows]
+ - Minecraft version [e.g. 1.12, 1.16, 1.17]
+ - Java version [e.g. 11, 17]
+ - Version [e.g. 22]
 
 **Additional context**
 Add any other context about the problem here.

+ 10 - 13
missilewars-plugin/src/main/java/de/butzlabben/missilewars/MissileWars.java

@@ -19,11 +19,7 @@
 package de.butzlabben.missilewars;
 
 import co.aikar.commands.PaperCommandManager;
-import de.butzlabben.missilewars.commands.MWCommandCompletions;
-import de.butzlabben.missilewars.commands.MWCommands;
-import de.butzlabben.missilewars.commands.SetupCommands;
-import de.butzlabben.missilewars.commands.StatsCommands;
-import de.butzlabben.missilewars.commands.UserCommands;
+import de.butzlabben.missilewars.commands.*;
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Arenas;
@@ -40,8 +36,6 @@ import de.butzlabben.missilewars.util.MoneyUtil;
 import de.butzlabben.missilewars.util.SetupUtil;
 import de.butzlabben.missilewars.util.stats.PreFetcher;
 import de.butzlabben.missilewars.util.version.VersionUtil;
-import java.io.File;
-import java.util.Date;
 import lombok.Getter;
 import org.apache.commons.io.FileUtils;
 import org.bstats.bukkit.Metrics;
@@ -50,6 +44,9 @@ import org.bukkit.configuration.serialization.ConfigurationSerialization;
 import org.bukkit.entity.Player;
 import org.bukkit.plugin.java.JavaPlugin;
 
+import java.io.File;
+import java.util.Date;
+
 /**
  * @author Butzlabben
  * @since 01.01.2018
@@ -127,11 +124,11 @@ public class MissileWars extends JavaPlugin {
         if (Config.isPrefetchPlayers()) {
             PreFetcher.preFetchPlayers(new StatsFetcher(new Date(0L), ""));
         }
-
+        
         checkPlaceholderAPI();
 
         ConfigurationSerialization.registerClass(PlayerData.class);
-
+        
         endTime = System.currentTimeMillis();
         Logger.SUCCESS.log("MissileWars was enabled in " + (endTime - startTime) + "ms");
     }
@@ -143,9 +140,9 @@ public class MissileWars extends JavaPlugin {
 
         ConnectionHolder.close();
     }
-
+    
     /**
-     * This method checks if the PlaceholderAPI is installed. When it is
+     * This method checks if the PlaceholderAPI is installed. When it is 
      * installed, a message is sent to the log.
      */
     private void checkPlaceholderAPI() {
@@ -154,7 +151,7 @@ public class MissileWars extends JavaPlugin {
             Logger.NORMAL.log("The PlaceholderAPI is installed. New placeholders are provided by MissileWars.");
         }
     }
-
+    
     /**
      * This method registers all events of the missilewars event listener.
      */
@@ -178,7 +175,7 @@ public class MissileWars extends JavaPlugin {
         commandManager = new PaperCommandManager(this);
 
         new MWCommandCompletions(commandManager);
-
+        
         commandManager.registerCommand(new MWCommands());
         commandManager.registerCommand(new StatsCommands());
         commandManager.registerCommand(new UserCommands());

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

@@ -40,7 +40,7 @@ public class MWCommandCompletions {
     private void registerGamesResult() {
         commandCompletions.registerCompletion("games", c -> GameManager.getInstance().getGames().keySet());
     }
-
+    
     private void registerMissilesResult() {
         commandCompletions.registerCompletion("missiles", c -> {
             CommandSender sender = c.getSender();
@@ -54,5 +54,5 @@ public class MWCommandCompletions {
             return game.getArena().getMissileConfiguration().getMissileNames();
         });
     }
-
+    
 }

+ 16 - 20
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/MWCommands.java

@@ -19,12 +19,7 @@
 package de.butzlabben.missilewars.commands;
 
 import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.CommandAlias;
-import co.aikar.commands.annotation.CommandCompletion;
-import co.aikar.commands.annotation.CommandPermission;
-import co.aikar.commands.annotation.Default;
-import co.aikar.commands.annotation.Description;
-import co.aikar.commands.annotation.Subcommand;
+import co.aikar.commands.annotation.*;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.configuration.Config;
@@ -38,11 +33,12 @@ import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.game.enums.MapChooseProcedure;
 import de.butzlabben.missilewars.game.missile.Missile;
 import de.butzlabben.missilewars.game.missile.MissileFacing;
-import java.util.Map;
-import java.util.Optional;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
+import java.util.Map;
+import java.util.Optional;
+
 @CommandAlias("mw|missilewars")
 public class MWCommands extends BaseCommand {
 
@@ -72,7 +68,7 @@ public class MWCommands extends BaseCommand {
 
         sendHelpMessage(sender, "mw.setup", "/mw setup <main|lobby|arena> ...", "Setup the MW locations or the lobby/arena locations.");
     }
-
+    
     @Subcommand("listgames|list|games")
     @CommandCompletion("@nothing")
     @CommandPermission("mw.listgames")
@@ -251,13 +247,6 @@ public class MWCommands extends BaseCommand {
         sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.SERVER_RESTART_AFTER_GAME));
     }
 
-    static boolean senderIsPlayer(CommandSender sender) {
-        if (sender instanceof Player) return true;
-
-        sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_ONLY_PLAYERS));
-        return false;
-    }
-
     @Subcommand("reload")
     @CommandCompletion("@nothing")
     @CommandPermission("mw.reload")
@@ -274,7 +263,7 @@ public class MWCommands extends BaseCommand {
         Config.load();
         Messages.load();
         Arenas.load();
-
+        
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.DEBUG_RELOAD_CONFIG));
     }
 
@@ -297,7 +286,7 @@ public class MWCommands extends BaseCommand {
             Logger.NORMAL.log("Printing state for arena " + game.getArena().getName() + ". Number: " + i);
             Logger.NORMAL.log(game.toString());
         }
-
+        
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.DEBUG_PRINTED_DEBUG_MSG));
     }
 
@@ -313,15 +302,22 @@ public class MWCommands extends BaseCommand {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_TO_MANY_ARGUMENTS));
             return;
         }
-
+        
         if (GameManager.getInstance().getGames().size() > 10) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.DEBUG_RESTART_ALL_GAMES_WARN));
         }
-
+        
         GameManager.getInstance().restartAll();
         player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.DEBUG_RESTART_ALL_GAMES));
     }
 
+    static boolean senderIsPlayer(CommandSender sender) {
+        if (sender instanceof Player) return true;
+        
+        sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_ONLY_PLAYERS));
+        return false;
+    }
+
     static void sendHelpMessage(CommandSender sender, String permission, String command, String description) {
         if (sender instanceof Player) {
             if (!sender.hasPermission(permission)) return;

+ 101 - 106
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/SetupCommands.java

@@ -19,11 +19,7 @@
 package de.butzlabben.missilewars.commands;
 
 import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.CommandAlias;
-import co.aikar.commands.annotation.CommandCompletion;
-import co.aikar.commands.annotation.CommandPermission;
-import co.aikar.commands.annotation.Default;
-import co.aikar.commands.annotation.Subcommand;
+import co.aikar.commands.annotation.*;
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
@@ -71,54 +67,11 @@ public class SetupCommands extends BaseCommand {
         }
     }
 
-    /**
-     * This method checks if the command sender is a valid ingame player.
-     *
-     * @param sender = the command sender
-     *
-     * @return true, if it's an ingame player
-     */
-    private boolean senderIsPlayer(CommandSender sender) {
-        if (sender instanceof Player) {
-            player = (Player) sender;
-            return true;
-        }
-
-        sender.sendMessage(Messages.getPrefix() + "§cYou are not a player");
-        return false;
-    }
-
-    @Subcommand("arena")
-    public class ArenaSetupCommands extends BaseCommand {
-
-        @Subcommand("spectatorspawn")
-        public class SpectatorspawnSetup extends BaseCommand {
-
-            @Subcommand("set")
-            @CommandCompletion("@games")
-            public void set(CommandSender sender, String[] args) {
-                if (!senderIsPlayer(sender)) return;
-                if (!isValidGame(args)) return;
-
-                game.getArena().setSpectatorSpawn(player.getLocation());
-                game.getArena().updateConfig();
-                player.sendMessage(Messages.getPrefix() + "§fSet new 'spectatorSpawn' to " + player.getLocation() + ".");
-            }
-
-            @Subcommand("teleport|tp")
-            @CommandCompletion("@games")
-            public void teleport(CommandSender sender, String[] args) {
-                if (!senderIsPlayer(sender)) return;
-                if (!isValidGame(args)) return;
-
-                player.teleport(game.getArena().getSpectatorSpawn());
-                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'spectatorSpawn'.");
-            }
-
-        }
+    @Subcommand("lobby")
+    public class LobbySetupCommands extends BaseCommand {
 
-        @Subcommand("team1spawn")
-        public class Team1spawnSetup extends BaseCommand {
+        @Subcommand("spawnpoint")
+        public class SpawnpointSetup extends BaseCommand {
 
             @Subcommand("set")
             @CommandCompletion("@games")
@@ -126,9 +79,9 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                game.getArena().setTeam1Spawn(player.getLocation());
-                game.getArena().updateConfig();
-                player.sendMessage(Messages.getPrefix() + "§fSet new 'team1Spawn' to " + player.getLocation() + ".");
+                game.getLobby().setSpawnPoint(player.getLocation());
+                game.getLobby().updateConfig();
+                player.sendMessage(Messages.getPrefix() + "§fSet new 'spawnPoint' to " + player.getLocation() + ".");
             }
 
             @Subcommand("teleport|tp")
@@ -137,14 +90,14 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                player.teleport(game.getArena().getTeam1Spawn());
-                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'team1Spawn'.");
+                player.teleport(game.getLobby().getSpawnPoint());
+                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'spawnPoint'.");
             }
 
         }
 
-        @Subcommand("team2spawn")
-        public class Team2spawnSetup extends BaseCommand {
+        @Subcommand("aftergamespawn")
+        public class AftergamespawnSetup extends BaseCommand {
 
             @Subcommand("set")
             @CommandCompletion("@games")
@@ -152,9 +105,9 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                game.getArena().setTeam2Spawn(player.getLocation());
-                game.getArena().updateConfig();
-                player.sendMessage(Messages.getPrefix() + "§fSet new 'team2Spawn' to " + player.getLocation() + ".");
+                game.getLobby().setAfterGameSpawn(player.getLocation());
+                game.getLobby().updateConfig();
+                player.sendMessage(Messages.getPrefix() + "§fSet new 'afterGameSpawn' to " + player.getLocation() + ".");
             }
 
             @Subcommand("teleport|tp")
@@ -163,8 +116,8 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                player.teleport(game.getArena().getTeam2Spawn());
-                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'team2Spawn'.");
+                player.teleport(game.getLobby().getAfterGameSpawn());
+                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'afterGameSpawn'.");
             }
 
         }
@@ -181,10 +134,10 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    game.getArena().getArea().setPosition1(player.getLocation());
-                    game.getArena().setAreaConfig(game.getArena().getArea().getAreaConfiguration());
-                    game.getArena().updateConfig();
-                    player.sendMessage(Messages.getPrefix() + "§fSet new 'arena area' (position 1) to " + player.getLocation() + ".");
+                    game.getLobby().getArea().setPosition1(player.getLocation());
+                    game.getLobby().setAreaConfig(game.getLobby().getArea().getAreaConfiguration());
+                    game.getLobby().updateConfig();
+                    player.sendMessage(Messages.getPrefix() + "§fSet new 'lobby area' (position 1) to " + player.getLocation() + ".");
                 }
 
                 @Subcommand("teleport|tp")
@@ -193,10 +146,10 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    player.teleport(game.getArena().getArea().getPosition1());
-                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'arena area' (position 1): " + game.getArena().getArea().getPosition1().toString());
+                    player.teleport(game.getLobby().getArea().getPosition1());
+                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'lobby area' (position 1): " + game.getLobby().getArea().getPosition1().toString());
                 }
-
+                
             }
 
             @Subcommand("pos2")
@@ -208,10 +161,10 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    game.getArena().getArea().setPosition2(player.getLocation());
-                    game.getArena().setAreaConfig(game.getArena().getArea().getAreaConfiguration());
-                    game.getArena().updateConfig();
-                    player.sendMessage(Messages.getPrefix() + "§fSet new 'arena area' (position 2) to " + player.getLocation() + ".");
+                    game.getLobby().getArea().setPosition2(player.getLocation());
+                    game.getLobby().setAreaConfig(game.getLobby().getArea().getAreaConfiguration());
+                    game.getLobby().updateConfig();
+                    player.sendMessage(Messages.getPrefix() + "§fSet new 'lobby area' (position 2) to " + player.getLocation() + ".");
                 }
 
                 @Subcommand("teleport|tp")
@@ -220,20 +173,20 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    player.teleport(game.getArena().getArea().getPosition2());
-                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'arena area' (position 2): " + game.getArena().getArea().getPosition2().toString());
+                    player.teleport(game.getLobby().getArea().getPosition2());
+                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'lobby area' (position 2): " + game.getLobby().getArea().getPosition2().toString());
                 }
 
             }
-
+            
         }
     }
 
-    @Subcommand("lobby")
-    public class LobbySetupCommands extends BaseCommand {
+    @Subcommand("arena")
+    public class ArenaSetupCommands extends BaseCommand {
 
-        @Subcommand("spawnpoint")
-        public class SpawnpointSetup extends BaseCommand {
+        @Subcommand("spectatorspawn")
+        public class SpectatorspawnSetup extends BaseCommand {
 
             @Subcommand("set")
             @CommandCompletion("@games")
@@ -241,9 +194,9 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                game.getLobby().setSpawnPoint(player.getLocation());
-                game.getLobby().updateConfig();
-                player.sendMessage(Messages.getPrefix() + "§fSet new 'spawnPoint' to " + player.getLocation() + ".");
+                game.getArena().setSpectatorSpawn(player.getLocation());
+                game.getArena().updateConfig();
+                player.sendMessage(Messages.getPrefix() + "§fSet new 'spectatorSpawn' to " + player.getLocation() + ".");
             }
 
             @Subcommand("teleport|tp")
@@ -252,14 +205,14 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                player.teleport(game.getLobby().getSpawnPoint());
-                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'spawnPoint'.");
+                player.teleport(game.getArena().getSpectatorSpawn());
+                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'spectatorSpawn'.");
             }
 
         }
 
-        @Subcommand("aftergamespawn")
-        public class AftergamespawnSetup extends BaseCommand {
+        @Subcommand("team1spawn")
+        public class Team1spawnSetup extends BaseCommand {
 
             @Subcommand("set")
             @CommandCompletion("@games")
@@ -267,9 +220,9 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                game.getLobby().setAfterGameSpawn(player.getLocation());
-                game.getLobby().updateConfig();
-                player.sendMessage(Messages.getPrefix() + "§fSet new 'afterGameSpawn' to " + player.getLocation() + ".");
+                game.getArena().setTeam1Spawn(player.getLocation());
+                game.getArena().updateConfig();
+                player.sendMessage(Messages.getPrefix() + "§fSet new 'team1Spawn' to " + player.getLocation() + ".");
             }
 
             @Subcommand("teleport|tp")
@@ -278,8 +231,34 @@ public class SetupCommands extends BaseCommand {
                 if (!senderIsPlayer(sender)) return;
                 if (!isValidGame(args)) return;
 
-                player.teleport(game.getLobby().getAfterGameSpawn());
-                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'afterGameSpawn'.");
+                player.teleport(game.getArena().getTeam1Spawn());
+                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'team1Spawn'.");
+            }
+
+        }
+
+        @Subcommand("team2spawn")
+        public class Team2spawnSetup extends BaseCommand {
+
+            @Subcommand("set")
+            @CommandCompletion("@games")
+            public void set(CommandSender sender, String[] args) {
+                if (!senderIsPlayer(sender)) return;
+                if (!isValidGame(args)) return;
+
+                game.getArena().setTeam2Spawn(player.getLocation());
+                game.getArena().updateConfig();
+                player.sendMessage(Messages.getPrefix() + "§fSet new 'team2Spawn' to " + player.getLocation() + ".");
+            }
+
+            @Subcommand("teleport|tp")
+            @CommandCompletion("@games")
+            public void teleport(CommandSender sender, String[] args) {
+                if (!senderIsPlayer(sender)) return;
+                if (!isValidGame(args)) return;
+
+                player.teleport(game.getArena().getTeam2Spawn());
+                player.sendMessage(Messages.getPrefix() + "§fTeleported to 'team2Spawn'.");
             }
 
         }
@@ -296,10 +275,10 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    game.getLobby().getArea().setPosition1(player.getLocation());
-                    game.getLobby().setAreaConfig(game.getLobby().getArea().getAreaConfiguration());
-                    game.getLobby().updateConfig();
-                    player.sendMessage(Messages.getPrefix() + "§fSet new 'lobby area' (position 1) to " + player.getLocation() + ".");
+                    game.getArena().getArea().setPosition1(player.getLocation());
+                    game.getArena().setAreaConfig(game.getArena().getArea().getAreaConfiguration());
+                    game.getArena().updateConfig();
+                    player.sendMessage(Messages.getPrefix() + "§fSet new 'arena area' (position 1) to " + player.getLocation() + ".");
                 }
 
                 @Subcommand("teleport|tp")
@@ -308,8 +287,8 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    player.teleport(game.getLobby().getArea().getPosition1());
-                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'lobby area' (position 1): " + game.getLobby().getArea().getPosition1().toString());
+                    player.teleport(game.getArena().getArea().getPosition1());
+                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'arena area' (position 1): " + game.getArena().getArea().getPosition1().toString());
                 }
 
             }
@@ -323,10 +302,10 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    game.getLobby().getArea().setPosition2(player.getLocation());
-                    game.getLobby().setAreaConfig(game.getLobby().getArea().getAreaConfiguration());
-                    game.getLobby().updateConfig();
-                    player.sendMessage(Messages.getPrefix() + "§fSet new 'lobby area' (position 2) to " + player.getLocation() + ".");
+                    game.getArena().getArea().setPosition2(player.getLocation());
+                    game.getArena().setAreaConfig(game.getArena().getArea().getAreaConfiguration());
+                    game.getArena().updateConfig();
+                    player.sendMessage(Messages.getPrefix() + "§fSet new 'arena area' (position 2) to " + player.getLocation() + ".");
                 }
 
                 @Subcommand("teleport|tp")
@@ -335,8 +314,8 @@ public class SetupCommands extends BaseCommand {
                     if (!senderIsPlayer(sender)) return;
                     if (!isValidGame(args)) return;
 
-                    player.teleport(game.getLobby().getArea().getPosition2());
-                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'lobby area' (position 2): " + game.getLobby().getArea().getPosition2().toString());
+                    player.teleport(game.getArena().getArea().getPosition2());
+                    player.sendMessage(Messages.getPrefix() + "§fTeleported to 'arena area' (position 2): " + game.getArena().getArea().getPosition2().toString());
                 }
 
             }
@@ -344,6 +323,22 @@ public class SetupCommands extends BaseCommand {
         }
     }
 
+    /**
+     * This method checks if the command sender is a valid ingame player.
+     * 
+     * @param sender = the command sender
+     * @return true, if it's an ingame player
+     */
+    private boolean senderIsPlayer(CommandSender sender) {
+        if (sender instanceof Player) {
+            player = (Player) sender;
+            return true;
+        }
+
+        sender.sendMessage(Messages.getPrefix() + "§cYou are not a player");
+        return false;
+    }
+
     /**
      * This method checks if the player execute the command on a valid
      * game world (lobby or area).

+ 6 - 13
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/StatsCommands.java

@@ -19,11 +19,7 @@
 package de.butzlabben.missilewars.commands;
 
 import co.aikar.commands.BaseCommand;
-import co.aikar.commands.annotation.CommandAlias;
-import co.aikar.commands.annotation.CommandCompletion;
-import co.aikar.commands.annotation.CommandPermission;
-import co.aikar.commands.annotation.Default;
-import co.aikar.commands.annotation.Subcommand;
+import co.aikar.commands.annotation.*;
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.stats.PlayerStats;
@@ -35,18 +31,15 @@ import de.butzlabben.missilewars.inventory.pages.PageGUICreator;
 import de.butzlabben.missilewars.util.stats.PlayerGuiFactory;
 import de.butzlabben.missilewars.util.stats.PreFetcher;
 import de.butzlabben.missilewars.util.stats.StatsUtil;
+import org.bukkit.Material;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.Duration;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 import java.util.stream.Collectors;
-import org.bukkit.Material;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
 
 @CommandAlias("mw|missilewars")
 @Subcommand("stats")

+ 9 - 8
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/UserCommands.java

@@ -33,10 +33,11 @@ import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.game.enums.MapChooseProcedure;
 import de.butzlabben.missilewars.player.MWPlayer;
-import java.util.Optional;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
 
+import java.util.Optional;
+
 @CommandAlias("mw|missilewars")
 public class UserCommands extends BaseCommand {
 
@@ -92,7 +93,7 @@ public class UserCommands extends BaseCommand {
 
         if (!MWCommands.senderIsPlayer(sender)) return;
         Player player = (Player) sender;
-
+        
         if (args.length < 1) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_TEAM_NUMBER_NEEDED));
             return;
@@ -108,33 +109,33 @@ public class UserCommands extends BaseCommand {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.GAME_NOT_IN_GAME_AREA));
             return;
         }
-
+        
         if (game.getState() != GameState.LOBBY) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_CHANGE_TEAM_NOT_NOW));
             return;
         }
-
+        
         if (!(args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("2"))) {
             sender.sendMessage(Messages.getMessage(true, Messages.MessageEnum.COMMAND_INVALID_TEAM_NUMBER));
             return;
         }
-
+        
         MWPlayer mwPlayer = game.getPlayer(player);
         int teamNumber = Integer.parseInt(args[0]);
         Team to = teamNumber == 1 ? game.getTeam1() : game.getTeam2();
-
+        
         // Is the same team?
         if (to == mwPlayer.getTeam()) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_ALREADY_IN_TEAM));
             return;
         }
-
+        
         // Would the number of team members be too far apart?
         if (to != game.getNextTeam()) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_UNFAIR_TEAM_SIZE));
             return;
         }
-
+        
         // Remove the player from the old team and add him to the new team
         to.addMember(mwPlayer);
 

+ 8 - 6
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Config.java

@@ -22,18 +22,20 @@ import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.game.GameManager;
 import de.butzlabben.missilewars.util.SetupUtil;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.Material;
-import static org.bukkit.Material.JUKEBOX;
-import static org.bukkit.Material.valueOf;
 import org.bukkit.World;
 import org.bukkit.configuration.ConfigurationSection;
 import org.bukkit.configuration.file.YamlConfiguration;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.bukkit.Material.JUKEBOX;
+import static org.bukkit.Material.valueOf;
+
 /**
  * @author Butzlabben
  * @since 01.01.2018
@@ -167,7 +169,7 @@ public class Config {
 
         return location;
     }
-
+    
     public static void setFallbackSpawn(Location spawnLocation) {
         cfg.set("fallback_spawn.world", spawnLocation.getWorld().getName());
         cfg.set("fallback_spawn.x", spawnLocation.getX());

+ 8 - 7
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Lobby.java

@@ -26,12 +26,6 @@ import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.game.enums.MapChooseProcedure;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.serialization.Serializer;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
@@ -40,6 +34,13 @@ import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.World;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
 @Getter
 @ToString
 @RequiredArgsConstructor
@@ -78,7 +79,7 @@ public class Lobby {
         }
         return world;
     }
-
+    
     private World getBukkitDefaultWorld() {
         return Bukkit.getWorlds().get(0);
     }

+ 8 - 7
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Messages.java

@@ -20,11 +20,12 @@ package de.butzlabben.missilewars.configuration;
 
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.util.SetupUtil;
-import java.io.File;
 import lombok.Getter;
 import org.bukkit.ChatColor;
 import org.bukkit.configuration.file.YamlConfiguration;
 
+import java.io.File;
+
 
 /**
  * @author Butzlabben
@@ -57,7 +58,7 @@ public class Messages {
     }
 
     private static void addDefaults() {
-
+        
         for (MessageEnum msg : MessageEnum.values()) {
             cfg.addDefault(msg.getPath(), msg.getDefaultMsg());
         }
@@ -72,11 +73,6 @@ public class Messages {
         return getConfigMessage(MessageEnum.PREFIX);
     }
 
-    private static String getConfigMessage(MessageEnum msg) {
-        return ChatColor.translateAlternateColorCodes('&', cfg.getString(msg.getPath(),
-                "&cError while reading from messages.yml: '" + msg.getPath() + "'"));
-    }
-
     @Getter
     public enum MessageEnum {
         PREFIX("prefix", "&6•&e● MissileWars &8▎ &7"),
@@ -188,7 +184,12 @@ public class Messages {
             this.path = path;
             this.defaultMsg = defaultMsg;
         }
+        
+    }
 
+    private static String getConfigMessage(MessageEnum msg) {
+        return ChatColor.translateAlternateColorCodes('&', cfg.getString(msg.getPath(), 
+                "&cError while reading from messages.yml: '" + msg.getPath() + "'"));
     }
 
 }

+ 3 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/Arena.java

@@ -21,13 +21,14 @@ package de.butzlabben.missilewars.configuration.arena;
 import com.google.gson.annotations.SerializedName;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.serialization.Serializer;
-import java.io.File;
-import java.io.IOException;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
 import org.bukkit.Location;
 
+import java.io.File;
+import java.io.IOException;
+
 @Getter
 @ToString
 public class Arena implements Cloneable {

+ 3 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/EquipmentIntervalConfiguration.java

@@ -19,12 +19,13 @@
 package de.butzlabben.missilewars.configuration.arena;
 
 import com.google.gson.annotations.SerializedName;
-import java.util.HashMap;
-import java.util.Map;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 
+import java.util.HashMap;
+import java.util.Map;
+
 @Getter
 @ToString
 @RequiredArgsConstructor

+ 4 - 7
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/arena/MissileConfiguration.java

@@ -21,17 +21,14 @@ package de.butzlabben.missilewars.configuration.arena;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.game.missile.Missile;
 import de.butzlabben.missilewars.game.missile.MissileFacing;
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.ToString;
 import org.bukkit.entity.EntityType;
 
+import java.io.File;
+import java.util.*;
+
 
 @Getter
 @ToString
@@ -92,7 +89,7 @@ public class MissileConfiguration {
         }
         missiles.removeAll(toRemove);
     }
-
+    
     public List<String> getMissileNames() {
         List<String> missileNames = new ArrayList<>();
         for (Missile missile : missiles) {

+ 4 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Arenas.java

@@ -24,13 +24,14 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.arena.Arena;
 import de.butzlabben.missilewars.util.SetupUtil;
 import de.butzlabben.missilewars.util.serialization.Serializer;
+import lombok.Getter;
+import org.bukkit.Bukkit;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import lombok.Getter;
-import org.bukkit.Bukkit;
 
 public class Arenas {
 
@@ -58,7 +59,7 @@ public class Arenas {
                 Bukkit.getPluginManager().disablePlugin(MissileWars.getInstance());
                 return;
             }
-            files = new File[] {defaultArena};
+            files = new File[]{defaultArena};
         }
 
         for (File config : files) {

+ 33 - 42
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -51,19 +51,9 @@ import de.butzlabben.missilewars.util.PlayerDataProvider;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.geometry.Geometry;
 import de.butzlabben.missilewars.util.serialization.Serializer;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.function.Consumer;
 import lombok.Getter;
 import lombok.ToString;
-import org.bukkit.Bukkit;
-import org.bukkit.GameMode;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.Sound;
-import org.bukkit.World;
+import org.bukkit.*;
 import org.bukkit.entity.Fireball;
 import org.bukkit.entity.Player;
 import org.bukkit.event.HandlerList;
@@ -72,6 +62,12 @@ import org.bukkit.inventory.ItemStack;
 import org.bukkit.scheduler.BukkitTask;
 import org.bukkit.util.Vector;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.function.Consumer;
+
 /**
  * @author Butzlabben
  * @since 01.01.2018
@@ -129,7 +125,7 @@ public class Game {
             Logger.ERROR.log("None of the specified arenas match a real arena for the lobby " + lobby.getName());
             return;
         }
-
+        
         team1 = new Team(lobby.getTeam1Name(), lobby.getTeam1Color(), this);
         team2 = new Team(lobby.getTeam2Name(), lobby.getTeam2Color(), this);
 
@@ -246,10 +242,10 @@ public class Game {
             teleportToArenaSpectatorSpawn(player);
 
         }
-
+        
         // Save the remaining game duration.
         remainingGameDuration = taskManager.getTimer().getSeconds();
-
+        
         taskManager.stopTimer();
         updateGameListener(new EndListener(this));
         taskManager.setTimer(new EndTimer(this));
@@ -294,7 +290,7 @@ public class Game {
     /**
      * This method adds the player to the game.
      *
-     * @param player          the target Player
+     * @param player the target Player
      * @param isSpectatorJoin should the player join as spectator or as normal player
      */
     public void playerJoinInGame(Player player, boolean isSpectatorJoin) {
@@ -324,21 +320,21 @@ public class Game {
             Team team = getNextTeam();
             team.addMember(mwPlayer);
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.TEAM_TEAM_ASSIGNED).replace("%team%", team.getFullname()));
-
+            
             String message = null;
             if (state == GameState.LOBBY) {
                 message = Messages.getMessage(true, Messages.MessageEnum.LOBBY_PLAYER_JOINED);
             } else if (state == GameState.INGAME) {
                 message = Messages.getMessage(true, Messages.MessageEnum.GAME_PLAYER_JOINED);
             }
-
+            
             if (message != null) {
                 broadcast(message.replace("%max_players%", Integer.toString(lobby.getMaxSize()))
                         .replace("%players%", Integer.toString(players.values().size()))
                         .replace("%player%", player.getName())
                         .replace("%team%", team.getFullname()));
             }
-
+            
         }
 
         player.setScoreboard(scoreboardManager.getBoard());
@@ -375,7 +371,7 @@ public class Game {
             BukkitTask task = playerTasks.get(mwPlayer.getUuid());
             if (task != null) task.cancel();
         }
-
+        
         PlayerDataProvider.getInstance().loadInventory(player);
 
         if (team != null) {
@@ -385,7 +381,7 @@ public class Game {
         }
 
         removePlayer(mwPlayer);
-
+        
         if (playerWasTeamMember) {
 
             String message = null;
@@ -394,7 +390,7 @@ public class Game {
             } else if (state == GameState.INGAME) {
                 message = Messages.getMessage(true, Messages.MessageEnum.GAME_PLAYER_LEFT);
             }
-
+            
             if (message != null) {
                 broadcast(message.replace("%max_players%", Integer.toString(lobby.getMaxSize()))
                         .replace("%players%", Integer.toString(players.values().size()))
@@ -411,7 +407,7 @@ public class Game {
         } else if (state == GameState.INGAME) {
             player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.GAME_LEFT).replace("%arena_name%", arena.getDisplayName()));
         }
-
+        
     }
 
     /**
@@ -441,7 +437,7 @@ public class Game {
     public void resetGame() {
         // Teleporting players; the event listener will handle the teleport event
         applyForAllPlayers(this::teleportToAfterGameSpawn);
-
+        
         // Deactivation of all event handlers
         HandlerList.unregisterAll(listener);
         taskManager.stopTimer();
@@ -458,9 +454,8 @@ public class Game {
 
     /**
      * This method checks if the location is inside in the Lobby-Area.
-     *
+     * 
      * @param location (Location) the location to be checked
-     *
      * @return true, if it's in the Lobby-Area
      */
     public boolean isInLobbyArea(Location location) {
@@ -471,7 +466,6 @@ public class Game {
      * This method checks if the location is inside in the Game-Area.
      *
      * @param location (Location) the location to be checked
-     *
      * @return true, if it's in the Game-Area
      */
     public boolean isInGameArea(Location location) {
@@ -480,11 +474,10 @@ public class Game {
 
     /**
      * This method checks if the location is inside in the Inner Game-Area.
-     * It's the arena from the Team 1 spawn position to the Team 2 spawn
+     * It's the arena from the Team 1 spawn position to the Team 2 spawn 
      * position ("length") with the same "width" of the (major) Game-Area.
      *
      * @param location (Location) the location to be checked
-     *
      * @return true, if it's in the Inner Game-Area
      */
     public boolean isInInnerGameArea(Location location) {
@@ -495,7 +488,6 @@ public class Game {
      * This method checks if the location is in the game world.
      *
      * @param location (Location) the location to be checked
-     *
      * @return true, if it's in the game world
      */
     public boolean isInGameWorld(Location location) {
@@ -507,7 +499,6 @@ public class Game {
      * Lobby-Area or inside in the game world.
      *
      * @param location (Location) the location to be checked
-     *
      * @return true, if the statement is correct
      */
     public boolean isIn(Location location) {
@@ -612,7 +603,7 @@ public class Game {
     public void spawnFireball(Player player, ItemStack itemStack) {
         int amount = itemStack.getAmount();
         itemStack.setAmount(amount - 1);
-
+        
         Fireball fb = player.launchProjectile(Fireball.class);
         fb.setVelocity(player.getLocation().getDirection().multiply(2.5D));
         player.playSound(fb.getLocation(), Sound.BLOCK_ANVIL_LAND, 100.0F, 2.0F);
@@ -647,7 +638,7 @@ public class Game {
             exception.printStackTrace();
             return;
         }
-
+        
         createInnerGameArea();
 
         if (lobby.getMapChooseProcedure() == MapChooseProcedure.MAPVOTING) {
@@ -659,7 +650,7 @@ public class Game {
     }
 
     private void createInnerGameArea() {
-
+        
         // Depending on the rotation of the (major) Game-Area, the spawn points 
         // of both teams are primarily on the X or Z axis opposite each other.
         // The Inner Game-Area is a copy of the (major) Game-Area, with the X or Z 
@@ -669,25 +660,25 @@ public class Game {
 
         int x1, x2, z1, z2;
         Location position1, position2;
-
+        
         if (gameArea.getDirection() == GameArea.Direction.NORTH_SOUTH) {
-
+            
             x1 = gameArea.getMinX();
             x2 = gameArea.getMaxX();
-
+            
             z1 = team1.getSpawn().getBlockZ();
             z2 = team2.getSpawn().getBlockZ();
-
+            
         } else {
-
+            
             z1 = gameArea.getMinZ();
             z2 = gameArea.getMaxZ();
-
+            
             x1 = team1.getSpawn().getBlockX();
             x2 = team2.getSpawn().getBlockX();
-
+            
         }
-
+        
         position1 = new Location(gameArea.getWorld(), x1, gameArea.getMinY(), z1);
         position2 = new Location(gameArea.getWorld(), x2, gameArea.getMaxY(), z2);
 
@@ -756,7 +747,7 @@ public class Game {
             subTitle = Messages.getMessage(false, Messages.MessageEnum.GAME_RESULT_SUBTITLE_DRAW);
 
         }
-
+        
         player.sendTitle(title, subTitle);
     }
 

+ 10 - 9
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/GameManager.java

@@ -24,13 +24,14 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Lobby;
 import de.butzlabben.missilewars.util.geometry.GameArea;
 import de.butzlabben.missilewars.util.serialization.Serializer;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
 import lombok.Getter;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+
 @Getter
 public class GameManager {
 
@@ -64,7 +65,7 @@ public class GameManager {
             File lobbiesFolder = new File(Config.getLobbiesFolder());
             File file = new File(lobbiesFolder, Config.getDefaultLobby());
             if (file.exists()) {
-                lobbyFiles = new File[] {file};
+                lobbyFiles = new File[]{file};
             }
         }
         if (lobbyFiles == null) lobbyFiles = new File[0];
@@ -83,7 +84,7 @@ public class GameManager {
                 Bukkit.getPluginManager().disablePlugin(MissileWars.getInstance());
                 return;
             }
-            lobbyFiles = new File[] {file};
+            lobbyFiles = new File[]{file};
         }
 
         for (File lobbyFile : lobbyFiles) {
@@ -97,7 +98,7 @@ public class GameManager {
     /**
      * This method attempts to read the game lobby configuration and build a game
      * from it. Config mistakes are recognized and the config is saved again.
-     *
+     * 
      * @param lobbyFile (File) the arena configuration file
      */
     private void debugStart(File lobbyFile) {
@@ -127,10 +128,10 @@ public class GameManager {
 
     /**
      * This method (re)starts a MissileWars game.
-     *
+     * 
      * @param targetLobby (Lobby) the existing lobby of the game
-     * @param forceStart  true, if it should also (re)start, if it's not an automatically
-     *                    starting game according to the lobby configuration
+     * @param forceStart true, if it should also (re)start, if it's not an automatically
+     *                   starting game according to the lobby configuration
      */
     public void restartGame(Lobby targetLobby, boolean forceStart) {
         if (!targetLobby.isAutoLoad() && !forceStart) return;

+ 4 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/GameWorld.java

@@ -21,8 +21,6 @@ package de.butzlabben.missilewars.game;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Messages;
-import java.io.File;
-import java.io.IOException;
 import lombok.Getter;
 import lombok.ToString;
 import org.apache.commons.io.FileUtils;
@@ -33,6 +31,9 @@ import org.bukkit.WorldCreator;
 import org.bukkit.entity.Entity;
 import org.bukkit.entity.Player;
 
+import java.io.File;
+import java.io.IOException;
+
 @Getter
 @ToString(exclude = {"game", "lock"})
 public class GameWorld {
@@ -125,7 +126,7 @@ public class GameWorld {
             Logger.DEBUG.log("Loading new gameworld");
             World world = Bukkit.createWorld(new WorldCreator(worldName));
             Bukkit.getWorlds().add(world);
-
+            
             world.setGameRule(GameRule.DO_TILE_DROPS, game.getArena().isDoTileDrops());
             world.setGameRule(GameRule.KEEP_INVENTORY, game.getArena().isKeepInventory());
         }

+ 5 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Team.java

@@ -24,7 +24,6 @@ import de.butzlabben.missilewars.game.enums.GameResult;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.util.MoneyUtil;
 import de.butzlabben.missilewars.util.version.ColorConverter;
-import java.util.ArrayList;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
@@ -38,6 +37,8 @@ import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.ItemMeta;
 import org.bukkit.inventory.meta.LeatherArmorMeta;
 
+import java.util.ArrayList;
+
 /**
  * @author Butzlabben
  * @since 01.01.2018
@@ -139,7 +140,7 @@ public class Team {
         helmetMeta.setUnbreakable(true);
         helmetMeta.setColor(color);
         helmet.setItemMeta(helmetMeta);
-
+        
         teamArmor = new ItemStack[] {boots, leggings, chestplate, helmet};
     }
 
@@ -202,7 +203,7 @@ public class Team {
                 subTitle = null;
                 break;
         }
-
+        
         mwPlayer.getPlayer().sendTitle(title, subTitle);
     }
 
@@ -211,7 +212,7 @@ public class Team {
      * game result.
      */
     public void sendGameResultSound(MWPlayer mwPlayer) {
-
+        
         Player player = mwPlayer.getPlayer();
 
         switch (gameResult) {

+ 2 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/EquipmentManager.java

@@ -41,7 +41,7 @@ public class EquipmentManager {
     private ItemStack customBow;
     private ItemStack customPickaxe;
 
-
+    
     public EquipmentManager(Game game) {
         this.game = game;
 
@@ -84,7 +84,7 @@ public class EquipmentManager {
      * This method gives the player the starter item set, based on the config.yml
      * configuration for spawn and respawn.
      *
-     * @param player    the target player
+     * @param player the target player
      * @param isRespawn true, if the player should receive it after a respawn
      */
     public void sendGameItems(Player player, boolean isRespawn) {

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/MissileGameEquipment.java

@@ -20,9 +20,10 @@ package de.butzlabben.missilewars.game.equipment;
 
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.missile.Missile;
+import lombok.Getter;
+
 import java.util.ArrayList;
 import java.util.List;
-import lombok.Getter;
 
 /**
  * @author Butzlabben

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/equipment/PlayerEquipmentRandomizer.java

@@ -23,9 +23,10 @@ import de.butzlabben.missilewars.configuration.arena.Arena;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.missile.Missile;
 import de.butzlabben.missilewars.player.MWPlayer;
-import java.util.Random;
 import org.bukkit.inventory.ItemStack;
 
+import java.util.Random;
+
 /**
  * @author Butzlabben
  * @since 19.01.2018

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

@@ -19,13 +19,14 @@
 package de.butzlabben.missilewars.game.equipment;
 
 import de.butzlabben.missilewars.game.Game;
-import java.util.ArrayList;
-import java.util.List;
 import lombok.Getter;
 import org.bukkit.Material;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.ItemMeta;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author Butzlabben
  * @since 19.01.2018

+ 4 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/RespawnGoldBlock.java

@@ -23,9 +23,6 @@ import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.util.version.BlockSetterProvider;
-import java.util.AbstractMap;
-import java.util.HashMap;
-import java.util.Map;
 import org.bukkit.Bukkit;
 import org.bukkit.GameMode;
 import org.bukkit.Location;
@@ -37,6 +34,10 @@ import org.bukkit.event.HandlerList;
 import org.bukkit.event.Listener;
 import org.bukkit.event.player.PlayerToggleSneakEvent;
 
+import java.util.AbstractMap;
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * @author Butzlabben
  * @since 14.01.2018

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

@@ -24,8 +24,6 @@ import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.player.MWPlayer;
-import java.util.HashMap;
-import java.util.List;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.bukkit.Bukkit;
@@ -34,6 +32,9 @@ import org.bukkit.scoreboard.DisplaySlot;
 import org.bukkit.scoreboard.Objective;
 import org.bukkit.scoreboard.Scoreboard;
 
+import java.util.HashMap;
+import java.util.List;
+
 // Scoreboard Management: https://www.spigotmc.org/wiki/making-scoreboard-with-teams-no-flicker
 
 @RequiredArgsConstructor
@@ -58,7 +59,7 @@ public class ScoreboardManager {
     private Objective obj;
     private HashMap<Integer, org.bukkit.scoreboard.Team> teams = new HashMap<>();
     private static final String[] COLOR_CODES = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
-
+    
     /**
      * This method registers the scoreboard.
      */
@@ -67,7 +68,7 @@ public class ScoreboardManager {
         team1 = game.getTeam1();
         team2 = game.getTeam2();
         arena = game.getArena();
-
+        
         // register Scoreboard
         if (board == null) {
             board = Bukkit.getScoreboardManager().getNewScoreboard();
@@ -223,9 +224,7 @@ public class ScoreboardManager {
 
     /**
      * This method replaces the placeholders with the current value.
-     *
      * @param text (String) the original config String
-     *
      * @return the replaced text as String
      */
     private String replaceScoreboardPlaceholders(String text) {

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

@@ -21,7 +21,6 @@ package de.butzlabben.missilewars.game.misc;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.configuration.arena.ShieldConfiguration;
 import de.butzlabben.missilewars.game.missile.paste.PasteProvider;
-import java.io.File;
 import lombok.RequiredArgsConstructor;
 import org.bukkit.Bukkit;
 import org.bukkit.Location;
@@ -34,6 +33,8 @@ import org.bukkit.event.entity.ProjectileHitEvent;
 import org.bukkit.event.entity.ProjectileLaunchEvent;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 11.09.2018

+ 4 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/Missile.java

@@ -23,7 +23,6 @@ import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.missile.paste.PasteProvider;
-import java.io.File;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.bukkit.Location;
@@ -34,6 +33,8 @@ import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.ItemMeta;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 06.01.2018
@@ -99,7 +100,7 @@ public class Missile {
                 .replace("%schematic_name_compact%", getSchematicName(true));
         return name;
     }
-
+    
     /**
      * This method provides the missile spawn item based on the
      * mob spawn item specification in the arena configuration.
@@ -125,7 +126,7 @@ public class Missile {
 
     public static boolean isSpawnEgg(Material material) {
         if (material == null) return false;
-
+        
         String name = material.name();
         return name.contains("SPAWN_EGG") || name.equals("MONSTER_EGG");
     }

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/MissileFacing.java

@@ -21,10 +21,11 @@ package de.butzlabben.missilewars.game.missile;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.configuration.arena.MissileConfiguration;
 import de.butzlabben.missilewars.util.missile.Interval;
+import org.bukkit.entity.Player;
+
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
-import org.bukkit.entity.Player;
 
 /**
  * @author Butzlabben

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/Paster.java

@@ -19,9 +19,10 @@
 package de.butzlabben.missilewars.game.missile.paste;
 
 import de.butzlabben.missilewars.game.Team;
-import java.io.File;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 23.09.2018

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_13FawePasteProvider.java

@@ -23,10 +23,11 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.missile.paste.r1_13.fawe.R1_13Paster;
 import de.butzlabben.missilewars.util.version.ColorConverter;
-import java.io.File;
 import org.bukkit.World;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 23.09.2018

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_13WEPasteProvider.java

@@ -23,10 +23,11 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.missile.paste.r1_13.we.R1_13Paster;
 import de.butzlabben.missilewars.util.version.ColorConverter;
-import java.io.File;
 import org.bukkit.World;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 23.09.2018

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/paste/R1_16FawePasteProvider.java

@@ -23,10 +23,11 @@ import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.missile.paste.r1_16.fawe.R1_16Paster;
 import de.butzlabben.missilewars.util.version.ColorConverter;
-import java.io.File;
 import org.bukkit.World;
 import org.bukkit.util.Vector;
 
+import java.io.File;
+
 /**
  * @author Butzlabben
  * @since 23.09.2018

+ 1 - 0
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/CheckRunnable.java

@@ -19,6 +19,7 @@
 package de.butzlabben.missilewars.game.signs;
 
 import de.butzlabben.missilewars.MissileWars;
+
 import java.util.List;
 
 public class CheckRunnable implements Runnable {

+ 5 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/MWSign.java

@@ -23,8 +23,6 @@ import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.GameManager;
-import java.util.ArrayList;
-import java.util.List;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -34,6 +32,9 @@ import org.bukkit.block.Block;
 import org.bukkit.block.Sign;
 import org.bukkit.block.data.type.WallSign;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Data
 @AllArgsConstructor
 @EqualsAndHashCode(of = "location")
@@ -46,7 +47,7 @@ public class MWSign {
         boolean worldExists = location.getWorld() != null;
         boolean lobbyValid = GameManager.getInstance().getGames().containsKey(lobby);
         boolean blockIsSign = (location.getBlock().getBlockData() instanceof WallSign);
-
+        
         return worldExists && lobbyValid && blockIsSign;
     }
 
@@ -65,7 +66,7 @@ public class MWSign {
         lines.add(replace(Messages.getMessage(false, Messages.MessageEnum.SIGN_1), game));
         lines.add(replace(Messages.getMessage(false, Messages.MessageEnum.SIGN_2), game));
         lines.add(replace(Messages.getMessage(false, Messages.MessageEnum.SIGN_3), game));
-
+        
         if (game == null) {
             Logger.WARN.log("Could not find specifed arena \"" + getLobby() + "\" for sign at: " + getLocation().toString());
         }

+ 4 - 10
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/signs/SignRepository.java

@@ -26,21 +26,15 @@ import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.util.serialization.LocationTypeAdapter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
+import lombok.Getter;
+import org.bukkit.Location;
+
+import java.io.*;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
-import lombok.Getter;
-import org.bukkit.Location;
 
 @Getter
 public class SignRepository {

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/FightStats.java

@@ -23,11 +23,12 @@ import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.enums.GameResult;
 import de.butzlabben.missilewars.player.MWPlayer;
 import de.butzlabben.missilewars.util.ConnectionHolder;
+import lombok.RequiredArgsConstructor;
+
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Collection;
-import lombok.RequiredArgsConstructor;
 
 @RequiredArgsConstructor
 public class FightStats {

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/PlayerStats.java

@@ -18,12 +18,13 @@
 
 package de.butzlabben.missilewars.game.stats;
 
-import java.util.UUID;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
 
+import java.util.UUID;
+
 @RequiredArgsConstructor
 @Getter
 @ToString(of = {"name", "uuid"})

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/PlayerStatsComparator.java

@@ -18,9 +18,10 @@
 
 package de.butzlabben.missilewars.game.stats;
 
-import java.util.Comparator;
 import lombok.AllArgsConstructor;
 
+import java.util.Comparator;
+
 @AllArgsConstructor
 public class PlayerStatsComparator implements Comparator<PlayerStats> {
 

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/stats/StatsFetcher.java

@@ -20,6 +20,8 @@ package de.butzlabben.missilewars.game.stats;
 
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.util.ConnectionHolder;
+import lombok.Getter;
+
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -27,7 +29,6 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.UUID;
-import lombok.Getter;
 
 @Getter
 public class StatsFetcher {

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

@@ -35,7 +35,7 @@ public class EndTimer extends Timer {
     @Override
     public void tick() {
 
-        switch (seconds) {
+        switch(seconds) {
             case 15:
                 broadcast(Messages.getMessage(true, Messages.MessageEnum.ENDGAME_TIMER_GAME_STARTS_NEW_IN).replace("%seconds%", Integer.toString(seconds)));
                 break;

+ 2 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/GameTimer.java

@@ -36,7 +36,7 @@ public class GameTimer extends Timer {
     public void tick() {
         Game game = getGame();
 
-        switch (seconds) {
+        switch(seconds) {
             case 7200:
             case 5400:
             case 3600:
@@ -45,7 +45,7 @@ public class GameTimer extends Timer {
             case 600:
             case 300:
             case 180:
-                broadcast(Messages.getMessage(true, Messages.MessageEnum.GAME_TIMER_GAME_ENDS_IN_MINUTES).replace("%minutes%", Integer.toString(seconds / 60)));
+                broadcast(Messages.getMessage(true, Messages.MessageEnum.GAME_TIMER_GAME_ENDS_IN_MINUTES).replace("%minutes%", Integer.toString(seconds/60)));
                 break;
             case 60:
             case 30:

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

@@ -24,9 +24,10 @@ import de.butzlabben.missilewars.game.Arenas;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.enums.MapChooseProcedure;
 import de.butzlabben.missilewars.player.MWPlayer;
+import org.bukkit.Sound;
+
 import java.util.Map;
 import java.util.Optional;
-import org.bukkit.Sound;
 
 /**
  * @author Butzlabben
@@ -71,7 +72,7 @@ public class LobbyTimer extends Timer implements Runnable {
             }
         }
 
-        switch (seconds) {
+        switch(seconds) {
             case 120:
             case 60:
             case 30:

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

@@ -41,14 +41,14 @@ public class TaskManager {
     public TaskManager(Game game) {
         this.game = game;
     }
-
+    
     public void runTimer(long delay, long period) {
-        bukkitTask = Bukkit.getScheduler().runTaskTimer(MissileWars.getInstance(), timer, delay, period);
+        bukkitTask = Bukkit.getScheduler().runTaskTimer(MissileWars.getInstance(), timer , delay, period);
     }
 
     public void stopTimer() {
         if (bukkitTask != null)
             bukkitTask.cancel();
     }
-
+    
 }

+ 4 - 3
missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/OrcInventory.java

@@ -19,15 +19,16 @@
 package de.butzlabben.missilewars.inventory;
 
 import de.butzlabben.missilewars.Logger;
-import java.util.HashMap;
-import java.util.Map.Entry;
-import java.util.Objects;
 import lombok.Getter;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
 import org.bukkit.event.inventory.InventoryType;
 import org.bukkit.inventory.Inventory;
 
+import java.util.HashMap;
+import java.util.Map.Entry;
+import java.util.Objects;
+
 @Getter
 public abstract class OrcInventory {
 

+ 5 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/OrcItem.java

@@ -19,16 +19,17 @@
 package de.butzlabben.missilewars.inventory;
 
 import de.butzlabben.missilewars.util.version.ColorConverter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
 import org.bukkit.Material;
 import org.bukkit.entity.Player;
 import org.bukkit.inventory.ItemFlag;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.ItemMeta;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+
 public class OrcItem {
 
     public static OrcItem enabled, disabled, coming_soon, back, fill, error = new OrcItem(Material.BARRIER, null,

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/VoteInventory.java

@@ -21,10 +21,11 @@ package de.butzlabben.missilewars.inventory;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.configuration.arena.Arena;
+import org.bukkit.Material;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.bukkit.Material;
 
 public class VoteInventory extends OrcInventory {
 

+ 1 - 7
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/PlayerListener.java

@@ -34,12 +34,7 @@ import org.bukkit.event.EventHandler;
 import org.bukkit.event.Listener;
 import org.bukkit.event.block.BlockPlaceEvent;
 import org.bukkit.event.entity.FoodLevelChangeEvent;
-import org.bukkit.event.player.PlayerDropItemEvent;
-import org.bukkit.event.player.PlayerJoinEvent;
-import org.bukkit.event.player.PlayerMoveEvent;
-import org.bukkit.event.player.PlayerPickupItemEvent;
-import org.bukkit.event.player.PlayerQuitEvent;
-import org.bukkit.event.player.PlayerTeleportEvent;
+import org.bukkit.event.player.*;
 import org.bukkit.event.server.ServerListPingEvent;
 import org.bukkit.scheduler.BukkitRunnable;
 
@@ -188,7 +183,6 @@ public class PlayerListener implements Listener {
      * (representing as a world).
      *
      * @param location (Location) of the player
-     *
      * @return the Game Object if existing for the location
      */
     private Game getGame(Location location) {

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/SignListener.java

@@ -24,7 +24,6 @@ import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.GameManager;
 import de.butzlabben.missilewars.game.signs.MWSign;
 import de.butzlabben.missilewars.game.signs.SignRepository;
-import java.util.Optional;
 import org.bukkit.block.Block;
 import org.bukkit.block.data.type.WallSign;
 import org.bukkit.entity.Player;
@@ -35,6 +34,8 @@ import org.bukkit.event.block.BlockBreakEvent;
 import org.bukkit.event.block.SignChangeEvent;
 import org.bukkit.event.player.PlayerInteractEvent;
 
+import java.util.Optional;
+
 public class SignListener implements Listener {
 
     private static final String KEY_SIGN_HEADLINE = "[missilewars]";

+ 5 - 9
missilewars-plugin/src/main/java/de/butzlabben/missilewars/listener/game/GameListener.java

@@ -41,11 +41,7 @@ import org.bukkit.event.EventHandler;
 import org.bukkit.event.EventPriority;
 import org.bukkit.event.block.Action;
 import org.bukkit.event.block.BlockPhysicsEvent;
-import org.bukkit.event.entity.EntityDamageByEntityEvent;
-import org.bukkit.event.entity.EntityDamageEvent;
-import org.bukkit.event.entity.EntityExplodeEvent;
-import org.bukkit.event.entity.PlayerDeathEvent;
-import org.bukkit.event.entity.ProjectileLaunchEvent;
+import org.bukkit.event.entity.*;
 import org.bukkit.event.inventory.InventoryClickEvent;
 import org.bukkit.event.inventory.InventoryType;
 import org.bukkit.event.player.PlayerInteractEvent;
@@ -81,10 +77,10 @@ public class GameListener extends GameBoundListener {
         if (event.getChangedType() != Material.NETHER_PORTAL) return;
 
         Location location = event.getBlock().getLocation();
-
+        
         Team team1 = getGame().getTeam1();
         Team team2 = getGame().getTeam2();
-
+        
         if (Geometry.isCloser(location, team1.getSpawn(), team2.getSpawn())) {
             team1.setGameResult(GameResult.LOSE);
             team2.setGameResult(GameResult.WIN);
@@ -92,7 +88,7 @@ public class GameListener extends GameBoundListener {
             team1.setGameResult(GameResult.WIN);
             team2.setGameResult(GameResult.LOSE);
         }
-
+        
         getGame().sendGameResult();
         getGame().stopGame();
     }
@@ -110,7 +106,7 @@ public class GameListener extends GameBoundListener {
         // missile spawn with using of a missile spawn egg
         if (Missile.isSpawnEgg(itemStack.getType())) {
             event.setCancelled(true);
-
+            
             // Can missiles only be spawned if the item interaction was performed on a block (no air)?
             boolean isOnlyBlockPlaceable = getGame().getArena().getMissileConfiguration().isOnlyBlockPlaceable();
             if (isOnlyBlockPlaceable) {

+ 3 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/player/MWPlayer.java

@@ -21,14 +21,15 @@ package de.butzlabben.missilewars.player;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Team;
 import de.butzlabben.missilewars.game.equipment.PlayerEquipmentRandomizer;
-import java.util.UUID;
-import java.util.concurrent.atomic.AtomicLong;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.Setter;
 import org.bukkit.Bukkit;
 import org.bukkit.entity.Player;
 
+import java.util.UUID;
+import java.util.concurrent.atomic.AtomicLong;
+
 /**
  * @author Butzlabben
  * @since 01.01.2018

+ 7 - 6
missilewars-plugin/src/main/java/de/butzlabben/missilewars/player/PlayerData.java

@@ -19,12 +19,6 @@
 package de.butzlabben.missilewars.player;
 
 import com.google.common.base.Preconditions;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
 import lombok.AllArgsConstructor;
 import lombok.ToString;
 import org.bukkit.GameMode;
@@ -34,6 +28,13 @@ import org.bukkit.entity.Player;
 import org.bukkit.inventory.ItemStack;
 import org.jetbrains.annotations.NotNull;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
 @ToString
 @AllArgsConstructor
 public class PlayerData implements ConfigurationSerializable {

+ 2 - 6
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/ConnectionHolder.java

@@ -21,14 +21,10 @@ package de.butzlabben.missilewars.util;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.MissileWars;
 import de.butzlabben.missilewars.configuration.Config;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
 import org.bukkit.Bukkit;
 
+import java.sql.*;
+
 /**
  * @author Butzlabben
  * @since 13.08.2018

+ 2 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/MoneyUtil.java

@@ -20,13 +20,14 @@ package de.butzlabben.missilewars.util;
 
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.configuration.Messages;
-import java.util.UUID;
 import net.milkbowl.vault.economy.Economy;
 import net.milkbowl.vault.economy.EconomyResponse;
 import org.bukkit.Bukkit;
 import org.bukkit.OfflinePlayer;
 import org.bukkit.plugin.RegisteredServiceProvider;
 
+import java.util.UUID;
+
 /**
  * @author Butzlabben
  * @since 13.08.2018

+ 29 - 29
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/geometry/GameArea.java

@@ -34,7 +34,7 @@ public class GameArea {
     private int maxX, maxY, maxZ;
 
     private Direction direction;
-
+    
     /**
      * This method creates a new GameArena object.
      * <p>
@@ -45,22 +45,22 @@ public class GameArea {
      * @param pos2 (Location) the opposite corner of the desired area border
      */
     public GameArea(Location pos1, Location pos2) {
-
+        
         if (!Geometry.bothLocInSameWorld(pos1, pos2)) throw new IllegalArgumentException("Defined positions are not in the same world!");
         if (pos1.equals(pos2)) throw new IllegalArgumentException("The selected positions do not differ.");
-
+        
         this.world = pos1.getWorld();
-
+        
         this.position1 = pos1;
         this.position2 = pos2;
-
+        
         initialize();
     }
 
     /**
      * This method creates a new GameArena object.
      * <p>
-     * The GameArena is a rectangular area. Its border (1 block wide) is
+     * The GameArena is a rectangular area. Its border (1 block wide) is 
      * still part of the arena (= inside).
      *
      * @param center (Location) the horizontal center of the desired area; it's also the vertical minimum of the area (the floor)
@@ -68,12 +68,12 @@ public class GameArea {
      * @param height (int) the height of the desired area
      */
     public GameArea(Location center, int offset, int height) {
-
+        
         if (offset < 1) throw new IllegalArgumentException("The offset must be higher than 0.");
         if (height < 2) throw new IllegalArgumentException("The height must be higher than 1.");
-
+        
         this.world = center.getWorld();
-
+        
         long x1 = center.getBlockX() + offset;
         long x2 = center.getBlockX() - offset;
         long z1 = center.getBlockZ() + offset;
@@ -91,29 +91,29 @@ public class GameArea {
     /**
      * This method creates a new GameArena object.
      * <p>
-     * The GameArena is a rectangular area. Its border (1 block wide) is
+     * The GameArena is a rectangular area. Its border (1 block wide) is 
      * still part of the arena (= inside).
      *
-     * @param world      (World) the target world for the desired area
+     * @param world (World) the target world for the desired area
      * @param areaConfig (AreaConfiguration) the loaded Area-Configuration from which the data is taken
      */
     public GameArea(World world, AreaConfiguration areaConfig) {
-
+        
         this.world = world;
-
+        
         this.position1 = new Location(world, areaConfig.getMinX(), areaConfig.getMinY(), areaConfig.getMinZ());
         this.position2 = new Location(world, areaConfig.getMaxX(), areaConfig.getMaxY(), areaConfig.getMaxZ());
 
         if (position1.equals(position2)) throw new IllegalArgumentException("The selected positions do not differ.");
-
+        
         initialize();
     }
 
     /**
-     * This method calculates and saves the MIN and MAX positions
-     * according to the current values. The assigned MIN and MAX
-     * information can be used to later compare the GameArea more
-     * easily with current live positions/areas. In addition, the
+     * This method calculates and saves the MIN and MAX positions 
+     * according to the current values. The assigned MIN and MAX 
+     * information can be used to later compare the GameArea more 
+     * easily with current live positions/areas. In addition, the 
      * area direction is calculated afterwards.
      */
     private void initialize() {
@@ -159,16 +159,7 @@ public class GameArea {
     }
 
     /**
-     * This method returns the arena length along the X coordinate.
-     *
-     * @return (Integer) the X size
-     */
-    public int getXSize() {
-        return maxX - minX;
-    }
-
-    /**
-     * This method defines the horizontal direction / rotation of the
+     * This method defines the horizontal direction / rotation of the 
      * area based on the alignment of the team spawn points.
      * <p>
      * NORTH-SOUTH = primarily along the Z axis
@@ -179,6 +170,15 @@ public class GameArea {
         EAST_WEST
     }
 
+    /**
+     * This method returns the arena length along the X coordinate.
+     * 
+     * @return (Integer) the X size
+     */
+    public int getXSize() {
+        return maxX - minX;
+    }
+
     /**
      * This method returns the arena length along the Y coordinate.
      *
@@ -196,5 +196,5 @@ public class GameArea {
     public int getZSize() {
         return maxZ - minZ;
     }
-
+    
 }

+ 7 - 11
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/geometry/Geometry.java

@@ -27,10 +27,9 @@ public class Geometry {
      * This method checks if a location is closer to a target location
      * than another location.
      *
-     * @param targetLocation      (Location) the start location for the distance measure
-     * @param closerLocation      (Location) the closer location
+     * @param targetLocation (Location) the start location for the distance measure
+     * @param closerLocation (Location) the closer location
      * @param furtherAwayLocation (Location) the location that is further away
-     *
      * @return true, if the statement is correct
      */
     public static boolean isCloser(Location targetLocation, Location closerLocation, Location furtherAwayLocation) {
@@ -42,8 +41,7 @@ public class Geometry {
      * arena (1 block wide) is still part of the arena (= inside).
      *
      * @param targetLocation (Location) the location to be checked
-     * @param area           (Location) the arena, which should be around the location
-     *
+     * @param area (Location) the arena, which should be around the location
      * @return true, if the statement is correct
      */
     public static boolean isInsideIn(Location targetLocation, GameArea area) {
@@ -64,10 +62,9 @@ public class Geometry {
 
     /**
      * This method checks, if both locations are in the same world.
-     *
+     * 
      * @param pos1 (Location) location 1
      * @param pos2 (Location) location 2
-     *
      * @return true, if they are in the same world
      */
     public static boolean bothLocInSameWorld(Location pos1, Location pos2) {
@@ -77,14 +74,13 @@ public class Geometry {
 
     /**
      * This method checks if a location is in a specified world.
-     *
+     * 
      * @param targetLocation (Location) the location to be checked
-     * @param world          (World) the target world
-     *
+     * @param world (World) the target world
      * @return true, if the statement is correct
      */
     public static boolean isInWorld(Location targetLocation, World world) {
         return targetLocation.getWorld().getName().equals(world.getName());
     }
-
+    
 }

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/GameProfileBuilder.java

@@ -30,7 +30,6 @@ import com.google.gson.JsonSerializer;
 import com.mojang.authlib.GameProfile;
 import com.mojang.authlib.properties.Property;
 import com.mojang.authlib.properties.PropertyMap;
-import com.mojang.util.UUIDTypeAdapter;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -44,6 +43,7 @@ import java.util.Map;
 import java.util.UUID;
 import lombok.Getter;
 import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
+import com.mojang.util.UUIDTypeAdapter;
 
 /**
  * @author Butzlabben

+ 6 - 10
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/PlayerGuiFactory.java

@@ -27,16 +27,6 @@ import de.butzlabben.missilewars.game.stats.PlayerStats;
 import de.butzlabben.missilewars.game.stats.PlayerStatsComparator;
 import de.butzlabben.missilewars.inventory.OrcItem;
 import de.butzlabben.missilewars.inventory.pages.PageGUICreator;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ForkJoinPool;
-import java.util.stream.Collectors;
 import lombok.Getter;
 import org.bukkit.Bukkit;
 import org.bukkit.Material;
@@ -45,6 +35,12 @@ import org.bukkit.entity.Player;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.SkullMeta;
 
+import java.io.IOException;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ForkJoinPool;
+import java.util.stream.Collectors;
+
 @Getter
 public class PlayerGuiFactory {
 

+ 2 - 6
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/PreFetcher.java

@@ -25,18 +25,14 @@ import de.butzlabben.missilewars.game.stats.StatsFetcher;
 import de.butzlabben.missilewars.inventory.OrcItem;
 import de.butzlabben.missilewars.inventory.pages.InventoryPage;
 import de.butzlabben.missilewars.inventory.pages.PageGUICreator;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.bukkit.Material;
 import org.bukkit.inventory.ItemStack;
 import org.bukkit.inventory.meta.SkullMeta;
 
+import java.util.*;
+
 public class PreFetcher {
 
     @Getter

+ 5 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/version/BlockSetterProvider.java

@@ -18,9 +18,10 @@
 
 package de.butzlabben.missilewars.util.version;
 
+import org.bukkit.block.Block;
+
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import org.bukkit.block.Block;
 
 /**
  * @author Butzlabben
@@ -46,7 +47,7 @@ public class BlockSetterProvider {
             Method m = block.getClass().getMethod("getBlockData");
             return m.invoke(block);
         } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException
-                 | InvocationTargetException e) {
+                | InvocationTargetException e) {
             e.printStackTrace();
         }
         return null;
@@ -57,11 +58,11 @@ public class BlockSetterProvider {
             Method m = object.getClass().getMethod(method);
             m.invoke(object, args);
         } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException
-                 | InvocationTargetException e) {
+                | InvocationTargetException e) {
             e.printStackTrace();
         }
     }
-
+    
     private static class NewBlockSetter implements BlockDataSetter {
 
         @Override

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/version/VersionUtil.java

@@ -64,5 +64,5 @@ public class VersionUtil {
         }
         return version;
     }
-
+    
 }