2021-10-23 00:03:15 +00:00
|
|
|
package net.tylermurphy.hideAndSeek.configuration;
|
2021-08-13 20:49:36 +00:00
|
|
|
|
2021-10-29 03:09:28 +00:00
|
|
|
import java.io.File;
|
2021-08-13 20:49:36 +00:00
|
|
|
import java.util.Map;
|
2021-08-25 03:43:01 +00:00
|
|
|
import java.util.Map.Entry;
|
2021-08-13 20:49:36 +00:00
|
|
|
|
2021-08-25 03:43:01 +00:00
|
|
|
import org.bukkit.configuration.ConfigurationSection;
|
2021-08-13 20:49:36 +00:00
|
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
2021-10-29 03:09:28 +00:00
|
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
2021-08-13 20:49:36 +00:00
|
|
|
import org.bukkit.util.Vector;
|
|
|
|
|
2021-10-23 00:03:15 +00:00
|
|
|
import net.tylermurphy.hideAndSeek.Main;
|
|
|
|
|
2021-10-21 00:14:01 +00:00
|
|
|
public class Config {
|
2021-10-29 03:09:28 +00:00
|
|
|
|
|
|
|
static ConfigManager manager;
|
2021-08-18 23:21:59 +00:00
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
public static String
|
|
|
|
messagePrefix,
|
|
|
|
errorPrefix,
|
|
|
|
tauntPrefix,
|
|
|
|
worldborderPrefix,
|
|
|
|
abortPrefix,
|
|
|
|
gameoverPrefix,
|
2021-08-27 21:20:07 +00:00
|
|
|
warningPrefix,
|
2021-08-26 13:38:12 +00:00
|
|
|
spawnWorld,
|
2021-10-18 02:52:57 +00:00
|
|
|
exitWorld,
|
2021-10-21 00:14:01 +00:00
|
|
|
lobbyWorld;
|
2021-08-18 23:21:59 +00:00
|
|
|
|
2021-10-18 02:52:57 +00:00
|
|
|
public static Vector
|
2021-08-26 13:38:12 +00:00
|
|
|
spawnPosition,
|
2021-10-11 21:06:21 +00:00
|
|
|
lobbyPosition,
|
2021-10-18 02:52:57 +00:00
|
|
|
exitPosition,
|
2021-08-26 13:38:12 +00:00
|
|
|
worldborderPosition;
|
2021-08-18 23:21:59 +00:00
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
public static boolean
|
|
|
|
nametagsVisible,
|
|
|
|
permissionsRequired,
|
2021-10-18 02:52:57 +00:00
|
|
|
announceMessagesToNonPlayers,
|
2021-10-21 00:14:01 +00:00
|
|
|
worldborderEnabled;
|
2021-08-25 03:43:01 +00:00
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
public static int
|
|
|
|
minPlayers,
|
|
|
|
worldborderSize,
|
|
|
|
worldborderDelay,
|
2021-10-18 02:52:57 +00:00
|
|
|
currentWorldborderSize,
|
2021-10-27 23:57:44 +00:00
|
|
|
gameLength,
|
|
|
|
saveMinX,
|
|
|
|
saveMinZ,
|
|
|
|
saveMaxX,
|
|
|
|
saveMaxZ;
|
2021-08-13 20:49:36 +00:00
|
|
|
|
2021-08-25 03:43:01 +00:00
|
|
|
public static void loadConfig() {
|
2021-10-29 03:09:28 +00:00
|
|
|
|
|
|
|
manager = new ConfigManager("config.yml");
|
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
//Spawn
|
2021-08-25 03:43:01 +00:00
|
|
|
spawnPosition = new Vector(
|
2021-10-29 03:09:28 +00:00
|
|
|
manager.getDouble("spawns.game.x"),
|
|
|
|
Math.max(0, Math.min(255, manager.getDouble("spawns.game.y"))),
|
|
|
|
manager.getDouble("spawns.game.z")
|
|
|
|
);
|
|
|
|
spawnWorld = manager.getString("spawns.game.world");
|
|
|
|
|
2021-10-11 21:06:21 +00:00
|
|
|
///Lobby
|
|
|
|
lobbyPosition = new Vector(
|
2021-10-29 03:09:28 +00:00
|
|
|
manager.getDouble("spawns.lobby.x"),
|
|
|
|
Math.max(0, Math.min(255, manager.getDouble("spawns.lobby.y"))),
|
|
|
|
manager.getDouble("spawns.lobby.z")
|
|
|
|
);
|
|
|
|
lobbyWorld = manager.getString("spawns.lobby.world");
|
|
|
|
|
|
|
|
announceMessagesToNonPlayers = manager.getBoolean("announceMessagesToNonPlayers");
|
|
|
|
|
2021-10-18 02:52:57 +00:00
|
|
|
exitPosition = new Vector(
|
2021-10-29 03:09:28 +00:00
|
|
|
manager.getDouble("spawns.exit.x"),
|
|
|
|
Math.max(0, Math.min(255, manager.getDouble("spawns.exit.y"))),
|
|
|
|
manager.getDouble("spawns.exit.z")
|
|
|
|
);
|
|
|
|
exitWorld = manager.getString("spawns.exit.world");
|
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
//World border
|
2021-08-25 03:43:01 +00:00
|
|
|
worldborderPosition = new Vector(
|
2021-10-29 03:09:28 +00:00
|
|
|
manager.getInt("worldBorder.x"),
|
|
|
|
0,
|
|
|
|
manager.getInt("worldBorder.z")
|
|
|
|
);
|
|
|
|
worldborderSize = Math.max(100, manager.getInt("worldBorder.size"));
|
|
|
|
worldborderDelay = Math.max(1, manager.getInt("worldBorder.delay"));
|
|
|
|
worldborderEnabled = manager.getBoolean("worldBorder.enabled");
|
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
//Prefix
|
2021-08-25 04:02:24 +00:00
|
|
|
char SYMBOLE = '\u00A7';
|
2021-10-29 03:09:28 +00:00
|
|
|
String SYMBOLE_STRING = new String(new char[]{SYMBOLE});
|
|
|
|
|
|
|
|
messagePrefix = manager.getString("prefix.default").replace("&", SYMBOLE_STRING);
|
|
|
|
errorPrefix = manager.getString("prefix.error").replace("&", SYMBOLE_STRING);
|
|
|
|
tauntPrefix = manager.getString("prefix.taunt").replace("&", SYMBOLE_STRING);
|
|
|
|
worldborderPrefix = manager.getString("prefix.border").replace("&", SYMBOLE_STRING);
|
|
|
|
abortPrefix = manager.getString("prefix.abort").replace("&", SYMBOLE_STRING);
|
|
|
|
gameoverPrefix = manager.getString("prefix.gameover").replace("&", SYMBOLE_STRING);
|
|
|
|
warningPrefix = manager.getString("prefix.warning").replace("&", SYMBOLE_STRING);
|
|
|
|
|
2021-10-27 23:57:44 +00:00
|
|
|
//Map Bounds
|
2021-10-29 03:09:28 +00:00
|
|
|
saveMinX = manager.getInt("bounds.min.x");
|
|
|
|
saveMinZ = manager.getInt("bounds.min.z");
|
|
|
|
saveMaxX = manager.getInt("bounds.max.x");
|
|
|
|
saveMaxZ = manager.getInt("bounds.max.z");
|
|
|
|
|
2021-08-26 13:38:12 +00:00
|
|
|
//Other
|
2021-10-29 03:09:28 +00:00
|
|
|
nametagsVisible = manager.getBoolean("nametagsVisible");
|
|
|
|
permissionsRequired = manager.getBoolean("permissionsRequired");
|
|
|
|
minPlayers = Math.max(2, manager.getInt("minPlayers"));
|
|
|
|
gameLength = manager.getInt("gameLength");
|
|
|
|
|
|
|
|
manager.saveConfig();
|
2021-08-25 03:43:01 +00:00
|
|
|
}
|
|
|
|
|
2021-10-27 23:57:44 +00:00
|
|
|
public static void addToConfig(String path, Object value) {
|
2021-10-29 03:09:28 +00:00
|
|
|
manager.set(path, value);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void saveConfig() {
|
|
|
|
manager.saveConfig();
|
2021-10-27 23:57:44 +00:00
|
|
|
}
|
|
|
|
|
2021-08-18 23:21:59 +00:00
|
|
|
}
|