From 3159be4782b5cab5a99bc3ca8362f000412e2a56 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 22 Dec 2019 12:13:24 +0000 Subject: [PATCH] Use enum for default values and generation --- .../islandearth/rpgregions/RPGRegions.java | 29 +----------- .../rpgregions/translation/Translations.java | 45 ++++++++++++++++++- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/src/main/java/net/islandearth/rpgregions/RPGRegions.java b/src/main/java/net/islandearth/rpgregions/RPGRegions.java index d2222a2..f43166f 100644 --- a/src/main/java/net/islandearth/rpgregions/RPGRegions.java +++ b/src/main/java/net/islandearth/rpgregions/RPGRegions.java @@ -8,6 +8,7 @@ import net.islandearth.rpgregions.api.RPGRegionsAPI; import net.islandearth.rpgregions.listener.ConnectionListener; import net.islandearth.rpgregions.listener.MoveListener; import net.islandearth.rpgregions.managers.RPGRegionsManagers; +import net.islandearth.rpgregions.translation.Translations; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.configuration.file.FileConfiguration; @@ -49,33 +50,7 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu } private void generateLang() { - File lang = new File(this.getDataFolder() + "/lang/"); - if (!lang.exists()) lang.mkdirs(); - - for (Language language : Language.values()) { - File file = new File(getDataFolder() + "/lang/" + language.getCode() + ".yml"); - if (!file.exists()) { - try { - file.createNewFile(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - - FileConfiguration config = YamlConfiguration.loadConfiguration(file); - config.options().copyDefaults(true); - config.addDefault("toggled", "&aYour map has been toggled."); - config.addDefault("invalid_cursor", "&cInvalid cursor type."); - config.addDefault("location_saved", "&aMap location saved."); - config.addDefault("cursor_removed", "&aThe cursor has been removed."); - config.addDefault("location_not_saved", "&cYour current location is not saved as a cursor."); - - try { - config.save(file); - } catch (IOException e) { - e.printStackTrace(); - } - } + Translations.generateLang(this); } private void createConfig() { diff --git a/src/main/java/net/islandearth/rpgregions/translation/Translations.java b/src/main/java/net/islandearth/rpgregions/translation/Translations.java index 97290f1..240d0f5 100644 --- a/src/main/java/net/islandearth/rpgregions/translation/Translations.java +++ b/src/main/java/net/islandearth/rpgregions/translation/Translations.java @@ -1,14 +1,29 @@ package net.islandearth.rpgregions.translation; +import net.islandearth.languagy.language.Language; import net.islandearth.rpgregions.RPGRegions; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin; +import java.io.File; +import java.io.IOException; import java.util.List; public enum Translations { - DISCOVERED; + DISCOVERED("Region discovered!"); + private final String defaultValue; + + Translations(String defaultValue) { + this.defaultValue = defaultValue; + } + + public String getDefaultValue() { + return defaultValue; + } + private String getPath() { return this.toString().toLowerCase(); } @@ -58,4 +73,32 @@ public enum Translations { RPGRegions plugin = JavaPlugin.getPlugin(RPGRegions.class); return plugin.getTranslator().getTranslationListFor(player, this.getPath()); } + + public static void generateLang(RPGRegions plugin) { + File lang = new File(plugin.getDataFolder() + "/lang/"); + if (!lang.exists()) lang.mkdirs(); + + for (Language language : Language.values()) { + File file = new File(plugin.getDataFolder() + "/lang/" + language.getCode() + ".yml"); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + FileConfiguration config = YamlConfiguration.loadConfiguration(file); + config.options().copyDefaults(true); + for (Translations key : values()) { + config.addDefault(key.toString().toLowerCase(), key.getDefaultValue()); + } + + try { + config.save(file); + } catch (IOException e) { + e.printStackTrace(); + } + } + } }