Browse Source

Merge pull request #64 from RedstoneFuture/Refactoring/Misc

Refactoring, Unified config options for folders
Daniel 2 years ago
parent
commit
7921113f28

+ 15 - 8
missilewars-plugin/src/main/java/de/butzlabben/missilewars/MissileWars.java

@@ -125,13 +125,9 @@ public class MissileWars extends JavaPlugin {
         if (Config.isPrefetchPlayers()) {
         if (Config.isPrefetchPlayers()) {
             PreFetcher.preFetchPlayers(new StatsFetcher(new Date(0L), ""));
             PreFetcher.preFetchPlayers(new StatsFetcher(new Date(0L), ""));
         }
         }
-
-        // Small check to make sure that PlaceholderAPI is installed
-        if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
-            new MissileWarsPlaceholder(this).register();
-            Logger.NORMAL.log("The PlaceholderAPI is installed. New placeholders are provided by MissileWars.");
-        }
-
+        
+        checkPlaceholderAPI();
+        
         endTime = System.currentTimeMillis();
         endTime = System.currentTimeMillis();
         Logger.SUCCESS.log("MissileWars was enabled in " + (endTime - startTime) + "ms");
         Logger.SUCCESS.log("MissileWars was enabled in " + (endTime - startTime) + "ms");
     }
     }
@@ -143,7 +139,18 @@ public class MissileWars extends JavaPlugin {
 
 
         ConnectionHolder.close();
         ConnectionHolder.close();
     }
     }
-
+    
+    /**
+     * This method checks if the PlaceholderAPI is installed. When it is 
+     * installed, a message is sent to the log.
+     */
+    private void checkPlaceholderAPI() {
+        if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
+            new MissileWarsPlaceholder(this).register();
+            Logger.NORMAL.log("The PlaceholderAPI is installed. New placeholders are provided by MissileWars.");
+        }
+    }
+    
     /**
     /**
      * This method registers all events of the missilewars event listener.
      * This method registers all events of the missilewars event listener.
      */
      */

+ 10 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Config.java

@@ -78,12 +78,14 @@ public class Config {
 
 
         cfg.addDefault("restart_after_fights", 10);
         cfg.addDefault("restart_after_fights", 10);
 
 
-        cfg.addDefault("arena_folder", "plugins/MissileWars/arenas");
+        cfg.addDefault("arenas.folder", "plugins/MissileWars/arenas");
 
 
         cfg.addDefault("lobbies.multiple_lobbies", false);
         cfg.addDefault("lobbies.multiple_lobbies", false);
         cfg.addDefault("lobbies.folder", "plugins/MissileWars/lobbies");
         cfg.addDefault("lobbies.folder", "plugins/MissileWars/lobbies");
         cfg.addDefault("lobbies.default_lobby", "lobby0.yml");
         cfg.addDefault("lobbies.default_lobby", "lobby0.yml");
 
 
+        cfg.addDefault("missiles.folder", "plugins/MissileWars/missiles");
+
         cfg.addDefault("replace.material", JUKEBOX.name());
         cfg.addDefault("replace.material", JUKEBOX.name());
         cfg.addDefault("replace.after_ticks", 2);
         cfg.addDefault("replace.after_ticks", 2);
         cfg.addDefault("replace.radius", 15);
         cfg.addDefault("replace.radius", 15);
@@ -200,8 +202,8 @@ public class Config {
         return cfg.getInt("restart_after_fights");
         return cfg.getInt("restart_after_fights");
     }
     }
 
 
-    public static String getArenaFolder() {
-        return cfg.getString("arena_folder") + "/";
+    public static String getArenasFolder() {
+        return cfg.getString("arenas.folder");
     }
     }
 
 
     public static boolean isMultipleLobbies() {
     public static boolean isMultipleLobbies() {
@@ -209,13 +211,17 @@ public class Config {
     }
     }
 
 
     public static String getLobbiesFolder() {
     public static String getLobbiesFolder() {
-        return cfg.getString("lobbies.folder") + "/";
+        return cfg.getString("lobbies.folder");
     }
     }
 
 
     public static String getDefaultLobby() {
     public static String getDefaultLobby() {
         return cfg.getString("lobbies.default_lobby");
         return cfg.getString("lobbies.default_lobby");
     }
     }
 
 
+    public static String getMissilesFolder() {
+        return cfg.getString("missiles.folder");
+    }
+
     public static int getReplaceTicks() {
     public static int getReplaceTicks() {
         return cfg.getInt("replace.after_ticks");
         return cfg.getInt("replace.after_ticks");
     }
     }

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

@@ -40,7 +40,7 @@ public class Arenas {
     public static void load() {
     public static void load() {
         arenas.clear();
         arenas.clear();
 
 
-        File folder = new File(Config.getArenaFolder());
+        File folder = new File(Config.getArenasFolder());
 
 
         // Creates the folder "/arena", if not existing
         // Creates the folder "/arena", if not existing
         folder.mkdirs();
         folder.mkdirs();

+ 4 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/GameManager.java

@@ -59,7 +59,8 @@ public class GameManager {
         if (Config.isMultipleLobbies()) {
         if (Config.isMultipleLobbies()) {
             lobbyFiles = new File(Config.getLobbiesFolder()).listFiles();
             lobbyFiles = new File(Config.getLobbiesFolder()).listFiles();
         } else {
         } else {
-            File file = new File(Config.getLobbiesFolder() + "/" + Config.getDefaultLobby());
+            File lobbiesFolder = new File(Config.getLobbiesFolder());
+            File file = new File(lobbiesFolder, Config.getDefaultLobby());
             if (file.exists()) {
             if (file.exists()) {
                 lobbyFiles = new File[]{file};
                 lobbyFiles = new File[]{file};
             }
             }
@@ -68,7 +69,8 @@ public class GameManager {
 
 
         if (lobbyFiles.length == 0) {
         if (lobbyFiles.length == 0) {
             Logger.WARN.log("No lobby configs found. Creating default one");
             Logger.WARN.log("No lobby configs found. Creating default one");
-            File file = new File(Config.getLobbiesFolder() + "/" + Config.getDefaultLobby());
+            File lobbiesFolder = new File(Config.getLobbiesFolder());
+            File file = new File(lobbiesFolder, Config.getDefaultLobby());
             try {
             try {
                 file.createNewFile();
                 file.createNewFile();
                 Serializer.serialize(file, new Lobby());
                 Serializer.serialize(file, new Lobby());

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

@@ -121,7 +121,8 @@ public class GameWorld {
                 i++;
                 i++;
             } while (file.exists() || file.isDirectory());
             } while (file.exists() || file.isDirectory());
 
 
-            File newFile = new File(Config.getArenaFolder() + "/" + templateName);
+            File arenasFolder = new File(Config.getArenasFolder());
+            File newFile = new File(arenasFolder, templateName);
 
 
             try {
             try {
                 FileUtils.copyDirectory(newFile, file);
                 FileUtils.copyDirectory(newFile, file);

+ 8 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/MotdManager.java

@@ -19,6 +19,7 @@
 package de.butzlabben.missilewars.game.misc;
 package de.butzlabben.missilewars.game.misc;
 
 
 import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.configuration.Config;
+import de.butzlabben.missilewars.configuration.Messages;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.enums.GameState;
 import de.butzlabben.missilewars.game.enums.GameState;
 import org.bukkit.ChatColor;
 import org.bukkit.ChatColor;
@@ -53,9 +54,12 @@ public class MotdManager {
                     break;
                     break;
             }
             }
 
 
-            String players = "" + game.getPlayers().values().size();
-            String maxPlayers = "" + game.getLobby().getMaxSize();
-            motd = ChatColor.translateAlternateColorCodes('&', newMotd).replace("%max_players%", maxPlayers).replace("%players%", players);
+            int players = game.getPlayers().values().size();
+            int maxPlayers = game.getLobby().getMaxSize();
+            motd = ChatColor.translateAlternateColorCodes('&', newMotd)
+                    .replace("%max_players%", "" + maxPlayers)
+                    .replace("%players%", "" + players)
+                    .replace("%prefix%", Messages.getPrefix());
         }
         }
     }
     }
-}
+}

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

@@ -20,7 +20,7 @@ package de.butzlabben.missilewars.game.missile;
 
 
 import com.google.gson.annotations.SerializedName;
 import com.google.gson.annotations.SerializedName;
 import de.butzlabben.missilewars.Logger;
 import de.butzlabben.missilewars.Logger;
-import de.butzlabben.missilewars.MissileWars;
+import de.butzlabben.missilewars.configuration.Config;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.Game;
 import de.butzlabben.missilewars.game.missile.paste.PasteProvider;
 import de.butzlabben.missilewars.game.missile.paste.PasteProvider;
 import de.butzlabben.missilewars.util.version.VersionUtil;
 import de.butzlabben.missilewars.util.version.VersionUtil;
@@ -84,8 +84,8 @@ public class Missile {
     }
     }
 
 
     public File getSchematic() {
     public File getSchematic() {
-        File pluginDir = MissileWars.getInstance().getDataFolder();
-        File file = new File(pluginDir, "missiles/" + getSchematicName(false));
+        File missilesFolder = new File(Config.getMissilesFolder());
+        File file = new File(missilesFolder, getSchematicName(false));
         return file;
         return file;
     }
     }
 
 

+ 3 - 2
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/SetupUtil.java

@@ -108,7 +108,8 @@ public class SetupUtil {
     }
     }
 
 
     public static void checkMap(String worldName) {
     public static void checkMap(String worldName) {
-        File file = new File(Config.getArenaFolder() + "/" + worldName);
+        File arenasFolder = new File(Config.getArenasFolder());
+        File file = new File(arenasFolder, worldName);
         if (!file.isDirectory()) {
         if (!file.isDirectory()) {
             String resource = "MissileWars-Arena.zip";
             String resource = "MissileWars-Arena.zip";
 
 
@@ -125,7 +126,7 @@ public class SetupUtil {
     }
     }
 
 
     public static void checkMissiles() {
     public static void checkMissiles() {
-        File file = new File(MissileWars.getInstance().getDataFolder(), "missiles");
+        File file = new File(Config.getMissilesFolder());
         if (!file.isDirectory()) {
         if (!file.isDirectory()) {
             String resource = "missiles.zip";
             String resource = "missiles.zip";