|
10 | 10 | import java.util.Map; |
11 | 11 |
|
12 | 12 | public class ConfigValidator { |
13 | | - public enum Message { |
14 | | - // General |
15 | | - PREFIX, TOGGLE_ON, TOGGLE_OFF, NO_PERMISSION, |
16 | | - NO_COMMAND, CONFIG_RELOADED, HELP_MAIN, HELP_TOGGLE, |
17 | | - HELP_RELOAD, NOT_A_PLAYER, |
18 | 13 |
|
19 | | - // Villager Info |
20 | | - VILLAGER_PROFESSION, VILLAGER_JOBSITE, VILLAGER_LAST_WORKED, |
21 | | - VILLAGER_RESTOCKS, VILLAGER_HOME, VILLAGER_SLEPT, |
22 | | - VILLAGER_INVENTORY, INVENTORY_CONTENTS, PLAYER_REPUTATION, |
23 | | - |
24 | | - // Fillers |
25 | | - NONE, NEVER, EMPTY, |
26 | | - |
27 | | - // Time |
28 | | - HOUR, MINUTE, SECOND, AGO, |
29 | | - |
30 | | - // Location |
31 | | - LOCATION_X, LOCATION_Y, LOCATION_Z |
32 | | - } |
33 | | - |
34 | | - public enum ToggleSetting { |
35 | | - // Information Toggles |
36 | | - PROFESSION, JOB_SITE, LAST_WORKED, BED_LOCATION, LAST_SLEPT, |
37 | | - INVENTORY, RESTOCKS, REPUTATION, HIGHLIGHT_WORKSTATION, SOUND_TOGGLE, |
38 | | - } |
39 | | - |
40 | | - private static final HashMap<Message, String> localeMap = new HashMap<>(); |
41 | | - private static final HashMap<ToggleSetting, Boolean> toggleSettings = new HashMap<>(); |
42 | 14 | public static Sound configSound = null; |
43 | 15 | public static int configTime = 0; |
44 | 16 |
|
45 | 17 |
|
46 | 18 | public static void configValidator() { |
47 | 19 | configSound = null; |
48 | 20 | configTime = 0; |
49 | | - FileConfiguration config = VillagerInfo.plugin.getConfig(); |
| 21 | + FileConfiguration config = VillagerInfo.getInstance().getConfig(); |
50 | 22 | try { |
51 | 23 | configSound = Sound.valueOf(config.getString("sound", "BLOCK_AMETHYST_BLOCK_BREAK").toUpperCase(Locale.ROOT)); |
52 | 24 | } catch (IllegalArgumentException | NullPointerException e) { |
53 | | - VillagerInfo.plugin.getLogger().warning("Configuration Error: " + configSound + " is not a valid sound! Please supply a valid sound"); |
| 25 | + VillagerInfo.getInstance().getLogger().warning("Configuration Error: " + configSound + " is not a valid sound! Please supply a valid sound"); |
54 | 26 | configSound = Sound.BLOCK_AMETHYST_BLOCK_BREAK; |
55 | 27 | } |
56 | 28 | if (config.getInt("highlight-time", 10) <= 0) { |
57 | | - VillagerInfo.plugin.getLogger().warning("Configuration Error: Invalid highlight time. If you would like to disable this feature, please set 'highlight-workstation' to 'false'. Otherwise please use an integer greater than zero. Setting value to 10s"); |
| 29 | + VillagerInfo.getInstance().getLogger().warning("Configuration Error: Invalid highlight time. If you would like to disable this feature, please set 'highlight-workstation' to 'false'. Otherwise please use an integer greater than zero. Setting value to 10s"); |
58 | 30 | configTime = 10; |
59 | 31 | } else { |
60 | 32 | configTime = config.getInt("highlight-time"); |
61 | 33 | } |
62 | | - loadToggleMap(); |
63 | | - loadLocaleMap(); |
64 | | - } |
65 | | - |
66 | | - private static void loadToggleMap() { |
67 | | - toggleSettings.clear(); |
68 | | - FileConfiguration config = VillagerInfo.plugin.getConfig(); |
69 | | - toggleSettings.put(ToggleSetting.PROFESSION, |
70 | | - config.getBoolean("profession", true)); |
71 | | - toggleSettings.put(ToggleSetting.JOB_SITE, |
72 | | - config.getBoolean("job-site", true)); |
73 | | - toggleSettings.put(ToggleSetting.LAST_WORKED, |
74 | | - config.getBoolean("last-worked", true)); |
75 | | - toggleSettings.put(ToggleSetting.BED_LOCATION, |
76 | | - config.getBoolean("bed-location", true)); |
77 | | - toggleSettings.put(ToggleSetting.LAST_SLEPT, |
78 | | - config.getBoolean("last-slept", true)); |
79 | | - toggleSettings.put(ToggleSetting.INVENTORY, |
80 | | - config.getBoolean("inventory", true)); |
81 | | - toggleSettings.put(ToggleSetting.RESTOCKS, |
82 | | - config.getBoolean("restocks", true)); |
83 | | - toggleSettings.put(ToggleSetting.REPUTATION, |
84 | | - config.getBoolean("reputation", true)); |
85 | | - toggleSettings.put(ToggleSetting.HIGHLIGHT_WORKSTATION, |
86 | | - config.getBoolean("highlight-workstation", true)); |
87 | | - toggleSettings.put(ToggleSetting.SOUND_TOGGLE, |
88 | | - config.getBoolean("sound-toggle", true)); |
| 34 | + ToggleSetting.reloadToggles(); |
| 35 | + Message.reloadLocale(); |
89 | 36 | } |
90 | | - |
91 | | - private static void loadLocaleMap() { |
92 | | - localeMap.clear(); |
93 | | - FileConfiguration locale = VillagerInfo.localeConfig.getlocaleConfig(); |
94 | | - // General |
95 | | - localeMap.put(Message.PREFIX, |
96 | | - locale.getString("prefix", "<#3256a8><bold>[</bold><#4dd5ff>Villager Info<#3256a8><bold>]<reset>")); |
97 | | - localeMap.put(Message.TOGGLE_ON, |
98 | | - locale.getString("toggle-on", "<green> Villager Info Toggled <u>ON")); |
99 | | - localeMap.put(Message.TOGGLE_OFF, |
100 | | - locale.getString("toggle-off", "<red> Villager Info Toggled <u>OFF")); |
101 | | - localeMap.put(Message.NO_PERMISSION, |
102 | | - locale.getString("no-permission", "<red>You don't have permission to use this command!")); |
103 | | - |
104 | | - // Commands |
105 | | - localeMap.put(Message.NO_COMMAND, |
106 | | - locale.getString("no-command", "<red>No subcommand by that name!")); |
107 | | - localeMap.put(Message.CONFIG_RELOADED, |
108 | | - locale.getString("config-reloaded", "<gold>VillagerInfo Config Reloaded!")); |
109 | | - localeMap.put(Message.HELP_MAIN, |
110 | | - locale.getString("help-main", "<#4dd5ff> • How to use Villager Info\n<grey>Shift-right-click a villager while toggle is on to have a villager's information displayed")); |
111 | | - localeMap.put(Message.HELP_TOGGLE, |
112 | | - locale.getString("help-toggle", "<#4dd5ff> • /vill toggle\n<grey>Toggles the ability to receive villager information on or off.")); |
113 | | - localeMap.put(Message.HELP_RELOAD, |
114 | | - locale.getString("help-reload", "<#4dd5ff> • /vill reload\n<grey>Reloads the plugin, applies config values")); |
115 | | - localeMap.put(Message.NOT_A_PLAYER, |
116 | | - locale.getString("not-a-player", "<red>Sorry, you must be a player to use this command")); |
117 | | - |
118 | | - // Villager Info |
119 | | - localeMap.put(Message.VILLAGER_PROFESSION, |
120 | | - locale.getString("villager-profession", "<green>PROFESSION:\n<aqua> • <profession>")); |
121 | | - localeMap.put(Message.VILLAGER_JOBSITE, |
122 | | - locale.getString("villager-jobsite-msg", "<green>JOB SITE:\n<aqua> • <jobsitelocation>")); |
123 | | - localeMap.put(Message.VILLAGER_LAST_WORKED, |
124 | | - locale.getString("villager-last-worked-msg", "<green>LAST WORKED AT WORKSTATION:\n<aqua> • <worktime>")); |
125 | | - localeMap.put(Message.VILLAGER_RESTOCKS, |
126 | | - locale.getString("villager-num-restocks-msg", "<green>RESTOCKS TODAY:\n<aqua> • <restockcount>")); |
127 | | - localeMap.put(Message.VILLAGER_HOME, |
128 | | - locale.getString("villager-home-msg", "<green>HOME:\n<aqua> • <homelocation>")); |
129 | | - localeMap.put(Message.VILLAGER_SLEPT, |
130 | | - locale.getString("villager-slept-msg", "<green>LAST SLEPT:\n<aqua> • <sleeptime>")); |
131 | | - localeMap.put(Message.VILLAGER_INVENTORY, |
132 | | - locale.getString("villager-inventory-msg", "<green>VILLAGER INVENTORY:<aqua> <contents>")); |
133 | | - localeMap.put(Message.INVENTORY_CONTENTS, |
134 | | - locale.getString("inventory-contents-msg", "\n • <item> (<amount>)")); |
135 | | - localeMap.put(Message.PLAYER_REPUTATION, |
136 | | - locale.getString("player-reputation-msg", "<green>PLAYER REPUTATION:\n<reputation>")); |
137 | | - |
138 | | - // Fillers |
139 | | - localeMap.put(Message.NONE, |
140 | | - locale.getString("none-msg", "<grey>NONE")); |
141 | | - localeMap.put(Message.NEVER, |
142 | | - locale.getString("never-msg", "<grey>NEVER")); |
143 | | - localeMap.put(Message.EMPTY, |
144 | | - locale.getString("empty-msg", "\n • <grey>EMPTY")); |
145 | | - |
146 | | - // Time |
147 | | - localeMap.put(Message.HOUR, |
148 | | - locale.getString("hour", "h, ")); |
149 | | - localeMap.put(Message.MINUTE, |
150 | | - locale.getString("minute", "m, ")); |
151 | | - localeMap.put(Message.SECOND, |
152 | | - locale.getString("second", "s")); |
153 | | - localeMap.put(Message.AGO, |
154 | | - locale.getString("ago", " Ago")); |
155 | | - |
156 | | - // Location |
157 | | - localeMap.put(Message.LOCATION_X, |
158 | | - locale.getString("location-x", "<int>x, ")); |
159 | | - localeMap.put(Message.LOCATION_Y, |
160 | | - locale.getString("location-y", "<int>y, ")); |
161 | | - localeMap.put(Message.LOCATION_Z, |
162 | | - locale.getString("location-z", "<int>z")); |
163 | | - } |
164 | | - |
165 | | - public static Map<Message, String> getLocaleMap() { |
166 | | - return Collections.unmodifiableMap(localeMap); |
167 | | - } |
168 | | - |
169 | | - public static Map<ToggleSetting, Boolean> getToggleSettings() { |
170 | | - return Collections.unmodifiableMap(toggleSettings); |
171 | | - } |
172 | | - |
173 | 37 | } |
0 commit comments