|
@@ -10,6 +10,7 @@ import org.bukkit.command.Command;
|
|
import org.bukkit.command.ConsoleCommandSender;
|
|
import org.bukkit.command.ConsoleCommandSender;
|
|
import org.bukkit.command.PluginCommand;
|
|
import org.bukkit.command.PluginCommand;
|
|
import org.bukkit.command.SimpleCommandMap;
|
|
import org.bukkit.command.SimpleCommandMap;
|
|
|
|
+import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.Plugin;
|
|
import org.bukkit.plugin.Plugin;
|
|
@@ -69,7 +70,7 @@ public class Main extends JavaPlugin {
|
|
/**
|
|
/**
|
|
* The TimeIsMoney config.
|
|
* The TimeIsMoney config.
|
|
*/
|
|
*/
|
|
- static YamlConfiguration finalconfig;
|
|
|
|
|
|
+ static FileConfiguration finalconfig;
|
|
/**
|
|
/**
|
|
* The list of worlds where the payout feature will be disabled.
|
|
* The list of worlds where the payout feature will be disabled.
|
|
*/
|
|
*/
|
|
@@ -121,7 +122,9 @@ public class Main extends JavaPlugin {
|
|
PL_VERSION = this.getDescription().getVersion();
|
|
PL_VERSION = this.getDescription().getVersion();
|
|
currentDay = (new Date()).getDay();
|
|
currentDay = (new Date()).getDay();
|
|
this.reloadConfig();
|
|
this.reloadConfig();
|
|
|
|
+
|
|
File config = new File("plugins/TimeIsMoney/config.yml");
|
|
File config = new File("plugins/TimeIsMoney/config.yml");
|
|
|
|
+
|
|
if (config.exists()) {
|
|
if (config.exists()) {
|
|
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(config);
|
|
YamlConfiguration cfg = YamlConfiguration.loadConfiguration(config);
|
|
String old_config = "config_old " + cfg.getInt("configuration-version") + ".yml";
|
|
String old_config = "config_old " + cfg.getInt("configuration-version") + ".yml";
|
|
@@ -142,7 +145,8 @@ public class Main extends JavaPlugin {
|
|
this.saveDefaultConfig();
|
|
this.saveDefaultConfig();
|
|
}
|
|
}
|
|
|
|
|
|
- finalconfig = YamlConfiguration.loadConfiguration(config);
|
|
|
|
|
|
+ finalconfig = this.getConfig();
|
|
|
|
+
|
|
disabledWorlds = getConfig().getStringList("disabled_in_worlds");
|
|
disabledWorlds = getConfig().getStringList("disabled_in_worlds");
|
|
|
|
|
|
if (getConfig().getBoolean("enable_atm")) new ATM(this);
|
|
if (getConfig().getBoolean("enable_atm")) new ATM(this);
|
|
@@ -243,14 +247,9 @@ public class Main extends JavaPlugin {
|
|
* Reloads TimeIsMoney.
|
|
* Reloads TimeIsMoney.
|
|
*/
|
|
*/
|
|
void reload() {
|
|
void reload() {
|
|
- // cancelling current tasks
|
|
|
|
- for (BukkitWorker bw: Bukkit.getScheduler().getActiveWorkers()) {
|
|
|
|
- if (bw.getOwner() == this) {
|
|
|
|
- Bukkit.getScheduler().cancelTask(bw.getTaskId());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- Bukkit.getPluginManager().disablePlugin(this);
|
|
|
|
- Bukkit.getPluginManager().enablePlugin(this);
|
|
|
|
|
|
+ this.reloadConfig();
|
|
|
|
+ finalconfig = this.getConfig();
|
|
|
|
+ loadPayouts();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -538,101 +537,4 @@ public class Main extends JavaPlugin {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Unloads the specified plugin.
|
|
|
|
- *
|
|
|
|
- * @param pluginName The name of the plugin to unload.
|
|
|
|
- * @return True if the specified plugin was unloaded, false otherwise.
|
|
|
|
- */
|
|
|
|
- private boolean unloadPlugin(String pluginName)
|
|
|
|
- throws Exception {
|
|
|
|
- PluginManager manager = getServer().getPluginManager();
|
|
|
|
- SimplePluginManager spmanager = (SimplePluginManager) manager;
|
|
|
|
- if (spmanager != null) {
|
|
|
|
- Field pluginsField = spmanager.getClass().getDeclaredField("plugins");
|
|
|
|
- pluginsField.setAccessible(true);
|
|
|
|
- List<Plugin> plugins = (List) pluginsField.get(spmanager);
|
|
|
|
-
|
|
|
|
- Field lookupNamesField = spmanager.getClass().getDeclaredField("lookupNames");
|
|
|
|
- lookupNamesField.setAccessible(true);
|
|
|
|
- Map<String, Plugin> lookupNames = (Map) lookupNamesField.get(spmanager);
|
|
|
|
-
|
|
|
|
- Field commandMapField = spmanager.getClass().getDeclaredField("commandMap");
|
|
|
|
- commandMapField.setAccessible(true);
|
|
|
|
- SimpleCommandMap commandMap = (SimpleCommandMap) commandMapField.get(spmanager);
|
|
|
|
-
|
|
|
|
- Field knownCommandsField;
|
|
|
|
- Map<String, Command> knownCommands = null;
|
|
|
|
- if (commandMap != null) {
|
|
|
|
- knownCommandsField = commandMap.getClass().getDeclaredField("knownCommands");
|
|
|
|
- knownCommandsField.setAccessible(true);
|
|
|
|
- knownCommands = (Map) knownCommandsField.get(commandMap);
|
|
|
|
- }
|
|
|
|
- Plugin plugin;
|
|
|
|
- Iterator<Map.Entry<String, Command>> it;
|
|
|
|
- for (Plugin plugin1 : manager.getPlugins()) {
|
|
|
|
- if (plugin1.getDescription().getName().equalsIgnoreCase(pluginName)) {
|
|
|
|
- manager.disablePlugin(plugin1);
|
|
|
|
- if ((plugins != null) && (plugins.contains(plugin1))) {
|
|
|
|
- plugins.remove(plugin1);
|
|
|
|
- }
|
|
|
|
- if ((lookupNames != null) && (lookupNames.containsKey(pluginName))) {
|
|
|
|
- lookupNames.remove(pluginName);
|
|
|
|
- }
|
|
|
|
- if (commandMap != null) {
|
|
|
|
- for (it = knownCommands.entrySet().iterator(); it.hasNext(); ) {
|
|
|
|
- Map.Entry<String, Command> entry = it.next();
|
|
|
|
- if ((entry.getValue() instanceof PluginCommand)) {
|
|
|
|
- PluginCommand command = (PluginCommand) entry.getValue();
|
|
|
|
- if (command.getPlugin() == plugin1) {
|
|
|
|
- command.unregister(commandMap);
|
|
|
|
- it.remove();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Loads the specified plugin.
|
|
|
|
- *
|
|
|
|
- * @param pluginName The name of the plugin to load.
|
|
|
|
- * @return True if the specified plugin was loaded, false otherwise.
|
|
|
|
- */
|
|
|
|
- private boolean loadPlugin(String pluginName) {
|
|
|
|
- try {
|
|
|
|
- PluginManager manager = getServer().getPluginManager();
|
|
|
|
- Plugin plugin = manager.loadPlugin(new File("plugins", pluginName + ".jar"));
|
|
|
|
- if (plugin == null) {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- plugin.onLoad();
|
|
|
|
- manager.enablePlugin(plugin);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Reloads the specified plugin.
|
|
|
|
- *
|
|
|
|
- * @param pluginName The name of the plugin to reload.
|
|
|
|
- * @return True if the plugin was reloaded, false otherwise.
|
|
|
|
- * @throws Exception If an error occurred while loading or unloading the specified plugin.
|
|
|
|
- */
|
|
|
|
- private boolean reloadPlugin(String pluginName)
|
|
|
|
- throws Exception {
|
|
|
|
- boolean unload = unloadPlugin(pluginName);
|
|
|
|
- boolean load = loadPlugin(pluginName);
|
|
|
|
-
|
|
|
|
- return unload && load;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|