summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/configuration
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-10-22 20:03:15 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-10-22 20:03:15 -0400
commit0015592730f936350718ec61cd522c6dea3fe9c1 (patch)
treea148bfa82386a390bb9ee1d9960dc45ed9145640 /src/main/java/net/tylermurphy/hideAndSeek/configuration
parent1.3.0 final beta (diff)
downloadkenshinshideandseek-0015592730f936350718ec61cd522c6dea3fe9c1.tar.gz
kenshinshideandseek-0015592730f936350718ec61cd522c6dea3fe9c1.tar.bz2
kenshinshideandseek-0015592730f936350718ec61cd522c6dea3fe9c1.zip
localization
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/configuration')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/Config.java126
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java37
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/configuration/LocalizationString.java48
3 files changed, 211 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Config.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Config.java
new file mode 100644
index 0000000..83b6ceb
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Config.java
@@ -0,0 +1,126 @@
+package net.tylermurphy.hideAndSeek.configuration;
+
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.bukkit.configuration.ConfigurationSection;
+import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.util.Vector;
+
+import net.tylermurphy.hideAndSeek.Main;
+
+public class Config {
+
+ public static String
+ messagePrefix,
+ errorPrefix,
+ tauntPrefix,
+ worldborderPrefix,
+ abortPrefix,
+ gameoverPrefix,
+ warningPrefix,
+ spawnWorld,
+ exitWorld,
+ lobbyWorld;
+
+ public static Vector
+ spawnPosition,
+ lobbyPosition,
+ exitPosition,
+ worldborderPosition;
+
+ public static boolean
+ nametagsVisible,
+ permissionsRequired,
+ announceMessagesToNonPlayers,
+ worldborderEnabled;
+
+ public static int
+ minPlayers,
+ worldborderSize,
+ worldborderDelay,
+ currentWorldborderSize,
+ gameLength;
+
+ public static FileConfiguration getConfig() {
+ return Main.plugin.getConfig();
+ }
+
+ public static void saveConfig() {
+ Main.plugin.saveConfig();
+ }
+
+ public static void loadConfig() {
+
+ Main.plugin.reloadConfig();
+
+ //Spawn
+ spawnPosition = new Vector(
+ getConfig().getDouble("spawns.game.x"),
+ Math.max(0,Math.min(255,getConfig().getDouble("spawns.game.y"))),
+ getConfig().getDouble("spawns.game.z")
+ );
+ spawnWorld = getConfig().getString("spawns.game.world");
+
+ ///Lobby
+ lobbyPosition = new Vector(
+ getConfig().getDouble("spawns.lobby.x"),
+ Math.max(0,Math.min(255,getConfig().getDouble("spawns.lobby.y"))),
+ getConfig().getDouble("spawns.lobby.z")
+ );
+ lobbyWorld = getConfig().getString("spawns.lobby.world");
+
+ announceMessagesToNonPlayers = getConfig().getBoolean("announceMessagesToNonPlayers");
+
+ exitPosition = new Vector(
+ getConfig().getDouble("spawns.exit.x"),
+ Math.max(0,Math.min(255,getConfig().getDouble("spawns.exit.y"))),
+ getConfig().getDouble("spawns.exit.z")
+ );
+ exitWorld = getConfig().getString("spawns.exit.world");
+
+ //World border
+ worldborderPosition = new Vector(
+ getConfig().getInt("worldBorder.x"),
+ 0,
+ getConfig().getInt("worldBorder.z")
+ );
+ worldborderSize = Math.max(100,getConfig().getInt("worldBorder.size"));
+ worldborderDelay = Math.max(1,getConfig().getInt("worldBorder.delay"));
+ worldborderEnabled = getConfig().getBoolean("worldBorder.enabled");
+
+ //Prefix
+ char SYMBOLE = '\u00A7';
+ String SYMBOLE_STRING = new String(new char[] {SYMBOLE});
+
+ messagePrefix = getConfig().getString("prefix.default").replace("&", SYMBOLE_STRING);
+ errorPrefix = getConfig().getString("prefix.error").replace("&", SYMBOLE_STRING);
+ tauntPrefix = getConfig().getString("prefix.taunt").replace("&", SYMBOLE_STRING);
+ worldborderPrefix = getConfig().getString("prefix.border").replace("&", SYMBOLE_STRING);
+ abortPrefix = getConfig().getString("prefix.abort").replace("&", SYMBOLE_STRING);
+ gameoverPrefix = getConfig().getString("prefix.gameover").replace("&", SYMBOLE_STRING);
+ warningPrefix = getConfig().getString("prefix.warning").replace("&", SYMBOLE_STRING);
+
+ //Other
+ nametagsVisible = getConfig().getBoolean("nametagsVisible");
+ permissionsRequired = getConfig().getBoolean("permissionsRequired");
+ minPlayers = Math.max(2,getConfig().getInt("minPlayers"));
+ gameLength = getConfig().getInt("gameLength");
+
+ getConfig().options().copyDefaults(true);
+ saveConfig();
+
+ }
+
+ public static void addToSection(String sectionName, Map<String,Object> values) {
+ ConfigurationSection section = getConfig().getConfigurationSection(sectionName);
+ if(section == null) section = getConfig().createSection(sectionName);
+ Map<String,Object> sectionValues = section.getValues(true);
+ for(Entry<String, Object> entry : values.entrySet()) {
+ sectionValues.put(entry.getKey(), entry.getValue());
+ }
+ getConfig().createSection(sectionName, sectionValues);
+ saveConfig();
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
new file mode 100644
index 0000000..6e25a20
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/Localization.java
@@ -0,0 +1,37 @@
+package net.tylermurphy.hideAndSeek.configuration;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import net.md_5.bungee.api.ChatColor;
+import net.tylermurphy.hideAndSeek.Main;
+
+public class Localization {
+
+ public static final Map<String,LocalizationString> LOCAL = new HashMap<String,LocalizationString>();
+
+ static YamlConfiguration config;
+
+ public static boolean init() {
+ Main.plugin.saveResource("localization.yml", false);
+ String path = Main.data.getAbsolutePath()+File.separator + "localization.yml";
+ config = YamlConfiguration.loadConfiguration(new File(path));
+ for(String key : config.getConfigurationSection("Localization").getKeys(false)) {
+ LOCAL.put(
+ key,
+ new LocalizationString( ChatColor.translateAlternateColorCodes('&', config.getString("Localization."+key) ) )
+ );
+ }
+ return true;
+ }
+
+ public static LocalizationString message(String key) {
+ LocalizationString temp = LOCAL.get(key);
+ if(temp == null)
+ return new LocalizationString(key+" missing from localization.yml");
+ return temp;
+ }
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/configuration/LocalizationString.java b/src/main/java/net/tylermurphy/hideAndSeek/configuration/LocalizationString.java
new file mode 100644
index 0000000..fd0e020
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/configuration/LocalizationString.java
@@ -0,0 +1,48 @@
+package net.tylermurphy.hideAndSeek.configuration;
+
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Entity;
+
+public class LocalizationString {
+
+ String message;
+
+ public LocalizationString(String message) {
+ this.message = message;
+ }
+
+ public LocalizationString addPlayer(Entity player) {
+ this.message = message.replaceFirst("\\{PLAYER\\}", player.getName());
+ return this;
+ }
+
+ public LocalizationString addPlayer(CommandSender player) {
+ this.message = message.replaceFirst("\\{PLAYER\\}", player.getName());
+ return this;
+ }
+
+ public LocalizationString addPlayer(String player) {
+ this.message = message.replaceFirst("\\{PLAYER\\}", player);
+ return this;
+ }
+
+ public LocalizationString addAmount(Integer value) {
+ this.message = message.replaceFirst("\\{AMOUNT\\}", value.toString());
+ return this;
+ }
+
+ public LocalizationString addAmount(String value) {
+ this.message = message.replaceFirst("\\{AMOUNT\\}", value.toString());
+ return this;
+ }
+
+ public LocalizationString addAmount(Float value) {
+ this.message = message.replaceFirst("\\{AMOUNT\\}", value.toString());
+ return this;
+ }
+
+ public String toString() {
+ return message;
+ }
+
+}