added support for multiple default local files
This commit is contained in:
parent
d09daa4682
commit
08c6e6b24b
8 changed files with 113 additions and 5 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -5,4 +5,4 @@ bin/
|
||||||
target/
|
target/
|
||||||
.git/
|
.git/
|
||||||
.idea
|
.idea
|
||||||
hideandseek-plugin.iml
|
*.iml
|
||||||
|
|
|
@ -16,7 +16,8 @@ public class Config {
|
||||||
warningPrefix,
|
warningPrefix,
|
||||||
spawnWorld,
|
spawnWorld,
|
||||||
exitWorld,
|
exitWorld,
|
||||||
lobbyWorld;
|
lobbyWorld,
|
||||||
|
local;
|
||||||
|
|
||||||
public static Vector
|
public static Vector
|
||||||
spawnPosition,
|
spawnPosition,
|
||||||
|
@ -128,6 +129,7 @@ public class Config {
|
||||||
pvpEnabled = manager.getBoolean("pvp");
|
pvpEnabled = manager.getBoolean("pvp");
|
||||||
autoJoin = manager.getBoolean("autoJoin");
|
autoJoin = manager.getBoolean("autoJoin");
|
||||||
teleportToExit = manager.getBoolean("teleportToExit");
|
teleportToExit = manager.getBoolean("teleportToExit");
|
||||||
|
local = manager.getString("local");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addToConfig(String path, Object value) {
|
public static void addToConfig(String path, Object value) {
|
||||||
|
|
|
@ -32,6 +32,28 @@ public class ConfigManager {
|
||||||
} catch (IOException e){}
|
} catch (IOException e){}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ConfigManager(String filename, String defaultFilename){
|
||||||
|
this.file = new File(Main.plugin.getDataFolder(), filename);
|
||||||
|
|
||||||
|
if(!file.exists()){
|
||||||
|
saveDefaultConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.config = YamlConfiguration.loadConfiguration(file);
|
||||||
|
|
||||||
|
InputStream input = Main.plugin.getResource(defaultFilename);
|
||||||
|
InputStreamReader reader = new InputStreamReader(input);
|
||||||
|
this.defaultConfig = YamlConfiguration.loadConfiguration(reader);
|
||||||
|
try{
|
||||||
|
input.close();
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e){
|
||||||
|
Main.plugin.getLogger().severe("Couldn't find "+defaultFilename+" internally. Did you set an incorrect local?");
|
||||||
|
Main.plugin.getServer().getPluginManager().disablePlugin(Main.plugin);
|
||||||
|
throw new RuntimeException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void saveDefaultConfiguration(){
|
private void saveDefaultConfiguration(){
|
||||||
try{
|
try{
|
||||||
InputStream input = Main.plugin.getResource(file.getName());
|
InputStream input = Main.plugin.getResource(file.getName());
|
||||||
|
@ -77,6 +99,11 @@ public class ConfigManager {
|
||||||
config.set(path, defaultConfig.get(path));
|
config.set(path, defaultConfig.get(path));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void resetConfig(){
|
||||||
|
config = defaultConfig;
|
||||||
|
saveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean getBoolean(String path){
|
public boolean getBoolean(String path){
|
||||||
boolean value = config.getBoolean(path);
|
boolean value = config.getBoolean(path);
|
||||||
if(value == false){
|
if(value == false){
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package net.tylermurphy.hideAndSeek.configuration;
|
package net.tylermurphy.hideAndSeek.configuration;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -13,7 +14,7 @@ public class Localization {
|
||||||
|
|
||||||
public static void loadLocalization() {
|
public static void loadLocalization() {
|
||||||
|
|
||||||
ConfigManager manager = new ConfigManager("localization.yml");
|
ConfigManager manager = new ConfigManager("localization.yml", "lang"+File.separator+"localization_"+Config.local+".yml");
|
||||||
|
|
||||||
int PLUGIN_VERSION = 2;
|
int PLUGIN_VERSION = 2;
|
||||||
int VERSION = manager.getInt("version");
|
int VERSION = manager.getInt("version");
|
||||||
|
@ -27,6 +28,12 @@ public class Localization {
|
||||||
manager.reset("version");
|
manager.reset("version");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String SELECTED_LOCAL = manager.getString("local");
|
||||||
|
if(!SELECTED_LOCAL.equals(Config.local)){
|
||||||
|
manager.resetConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
manager.saveConfig();
|
manager.saveConfig();
|
||||||
|
|
||||||
for(String key : manager.getConfigurationSection("Localization").getKeys(false)) {
|
for(String key : manager.getConfigurationSection("Localization").getKeys(false)) {
|
||||||
|
|
|
@ -82,6 +82,11 @@ prefix:
|
||||||
gameover: '&aGame Over > &f'
|
gameover: '&aGame Over > &f'
|
||||||
warning: '&cWarning > &f'
|
warning: '&cWarning > &f'
|
||||||
|
|
||||||
|
# Changes the default plugin language. Currently, Supported localizations are:
|
||||||
|
# en-US (United States)
|
||||||
|
# de-DE (German)
|
||||||
|
local: "en-US"
|
||||||
|
|
||||||
# ---------------------------------------------------------- #
|
# ---------------------------------------------------------- #
|
||||||
# ONLY EDIT BEYOND THIS POINT IF YOU KNOW WHAT YOU ARE DOING #
|
# ONLY EDIT BEYOND THIS POINT IF YOU KNOW WHAT YOU ARE DOING #
|
||||||
# ---------------------------------------------------------- #
|
# ---------------------------------------------------------- #
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#============================================================#
|
#============================================================#
|
||||||
# +--------------------------------------------------------+ #
|
# +--------------------------------------------------------+ #
|
||||||
# | Kenshins Hide and Seek 1.3.0 | #
|
# | Kenshins Hide and Seek | #
|
||||||
# | German language file | #
|
# | German language file | #
|
||||||
# | by HerrMelodious | #
|
# | by HerrMelodious | #
|
||||||
# +--------------------------------------------------------+ #
|
# +--------------------------------------------------------+ #
|
||||||
|
@ -56,3 +56,5 @@ Localization:
|
||||||
STOP: "Das Spiel wurde gestoppt."
|
STOP: "Das Spiel wurde gestoppt."
|
||||||
HIDERS_SUBTITLE: "Verstecke dich gut vor den Seekern!"
|
HIDERS_SUBTITLE: "Verstecke dich gut vor den Seekern!"
|
||||||
SEEKERS_SUBTITLE: "Finde alle Hider!"
|
SEEKERS_SUBTITLE: "Finde alle Hider!"
|
||||||
|
|
||||||
|
type: "de-DE"
|
64
src/main/resources/lang/localization_en-US.yml
Normal file
64
src/main/resources/lang/localization_en-US.yml
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
#============================================================#
|
||||||
|
# +--------------------------------------------------------+ #
|
||||||
|
# | Kenshins Hide and Seek | #
|
||||||
|
# | English language file | #
|
||||||
|
# | by KenshinEto | #
|
||||||
|
# +--------------------------------------------------------+ #
|
||||||
|
#============================================================#
|
||||||
|
|
||||||
|
Localization:
|
||||||
|
COMMAND_PLAYER_ONLY: "This command can only be run as a player."
|
||||||
|
COMMAND_NOT_ALLOWED: "You are not allowed to run this command."
|
||||||
|
COMMAND_ERROR: "An internal error has occurred."
|
||||||
|
GAME_PLAYER_DEATH: "&c{PLAYER}&f was killed."
|
||||||
|
GAME_PLAYER_FOUND: "&e{PLAYER}&f was found and became a seeker."
|
||||||
|
GAME_PLAYER_FOUND_BY: "&e{PLAYER}&f was found by &c{PLAYER}&f and became a seeker."
|
||||||
|
GAME_GAMEOVER_HIDERS_FOUND: "All hiders have been found."
|
||||||
|
GAME_GAMEOVER_SEEKERS_QUIT: "All seekers have quit."
|
||||||
|
GAME_GAMEOVER_TIME: "Seekers ran out of time. Hiders win!"
|
||||||
|
GAME_SETUP: "Game is not setup. Run /hs setup to see what you need to do."
|
||||||
|
GAME_INGAME: "You are already in the lobby/game."
|
||||||
|
GAME_NOT_INGAME: "You are not in a lobby/game."
|
||||||
|
GAME_INPROGRESS: "There is currently a game in progress."
|
||||||
|
GAME_NOT_INPROGRESS: "There is no game in progress."
|
||||||
|
GAME_JOIN: "{PLAYER} has joined the HideAndSeek lobby."
|
||||||
|
GAME_JOIN_SPECTATOR: "You have joined mid game and are now a spectator."
|
||||||
|
GAME_LEAVE: "{PLAYER} has left the HideAndSeek lobby."
|
||||||
|
CONFIG_RELOAD: "Reloaded the config."
|
||||||
|
MAPSAVE_INPROGRESS: "Map save is currently in progress. Try again later."
|
||||||
|
MAPSAVE_START: "Starting map save."
|
||||||
|
MAPSAVE_WARNING: "All commands will be disabled when the save is in progress. Do not turn off the server."
|
||||||
|
MAPSAVE_END: "Map save complete."
|
||||||
|
MAPSAVE_ERROR: "Couldn't find current map."
|
||||||
|
WORLDBORDER_DISABLE: "Disabled world border."
|
||||||
|
WORLDBORDER_INVALID_INPUT: "Invalid integer {AMOUNT}."
|
||||||
|
WORLDBORDER_MIN_SIZE: "World border cannot be smaller than 100 blocks."
|
||||||
|
WORLDBORDER_POSITION: "Spawn position must be 100 from world border center."
|
||||||
|
WORLDBORDER_ENABLE: "Set border center to current location, size to {AMOUNT}, and delay to {AMOUNT}."
|
||||||
|
WORLDBORDER_DECREASING: "World border decreasing by 100 blocks over the next 30s."
|
||||||
|
TAUNTED: "$c$oOh no! You have been chosen to be taunted."
|
||||||
|
TAUNT: "A random hider will be taunted in the next 30s."
|
||||||
|
TAUNT_ACTIVATE: "Taunt has been activated."
|
||||||
|
ERROR_GAME_SPAWN: "Please set game spawn location first"
|
||||||
|
SETUP: "&f&lThe following is needed for setup..."
|
||||||
|
SETUP_GAME: "&c&l- &fGame spawn isn't set, /hs setspawn"
|
||||||
|
SETUP_LOBBY: "&c&l- &fLobby spawn isn't set, /hs setlobby"
|
||||||
|
SETUP_EXIT: "&c&l- &fQuit/exit teleport location isn't set, /hs setexit"
|
||||||
|
SETUP_SAVEMAP: "&c&l- &fHide and seek map isn't saved, /hs savemap (after /hs setspawn)"
|
||||||
|
SETUP_BOUNDS: "&c&l- &fPlease set game bounds in 2 opposite corners of the game map, /hs setbounds"
|
||||||
|
SETUP_COMPLETE: "Everything is setup and ready to go!"
|
||||||
|
GAME_SPAWN: "Set game spawn position to current location"
|
||||||
|
LOBBY_SPAWN: "Set lobby position to current location"
|
||||||
|
EXIT_SPAWN: "Set exit position to current location"
|
||||||
|
START_MIN_PLAYERS: "You must have at least {AMOUNT} players to start."
|
||||||
|
START_INVALID_NAME: "Invalid player: {PLAYER}."
|
||||||
|
START_COUNTDOWN: "Hiders have {AMOUNT} seconds to hide!"
|
||||||
|
START: "Attention SEEKERS, its time to fin the hiders!"
|
||||||
|
STOP: "Game has been force stopped."
|
||||||
|
HIDERS_SUBTITLE: "Hide away from the seekers"
|
||||||
|
SEEKERS_SUBTITLE: "Eliminate all hiders"
|
||||||
|
BOUNDS_WRONG_WORLD: "Please run this command in the game world."
|
||||||
|
BOUNDS: "Successfully set bounds at this position ({AMOUNT}/2)."
|
||||||
|
NOT_AT_ZERO: "Please do not set at a location containing a coordinate at 0."
|
||||||
|
|
||||||
|
type: "en-US"
|
|
@ -53,5 +53,6 @@ Localization:
|
||||||
BOUNDS: "Successfully set bounds at this position ({AMOUNT}/2)."
|
BOUNDS: "Successfully set bounds at this position ({AMOUNT}/2)."
|
||||||
NOT_AT_ZERO: "Please do not set at a location containing a coordinate at 0."
|
NOT_AT_ZERO: "Please do not set at a location containing a coordinate at 0."
|
||||||
|
|
||||||
# DO NOT EDIT
|
# DO NOT EDIT IT OR IT MAY BREAK OR RESET FILE
|
||||||
version: 2
|
version: 2
|
||||||
|
type: "en-US"
|
Loading…
Reference in a new issue