| 
														
															@@ -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; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |