diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index f806ae573..f72e00e99 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -482,7 +482,7 @@ public class Iris extends VolmitPlugin implements Listener { sender.sendMessage(string); } catch (Throwable e) { try { - System.out.println(string); + System.out.println(instance.getTag() + string.replaceAll("(<([^>]+)>)", "")); } catch (Throwable ignored1) { } diff --git a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java index a3ed3dbf9..aa409c74d 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java @@ -71,7 +71,7 @@ public class ResourceLoader { this.root = root; this.folderName = folderName; loadCache = new KMap<>(); - Iris.debug("Loader<" + C.GREEN + resourceTypeName + C.LIGHT_PURPLE + "> created in " + C.RED + "IDM/" + manager.getId() + C.LIGHT_PURPLE + " on " + C.WHITE + manager.getDataFolder().getPath()); + Iris.debug("Loader<" + C.GREEN + resourceTypeName + C.LIGHT_PURPLE + "> created in " + C.RED + "IDM/" + manager.getId() + C.LIGHT_PURPLE + " on " + C.GRAY + manager.getDataFolder().getPath()); } public JSONObject buildSchema() { diff --git a/src/main/java/com/volmit/iris/util/plugin/VolmitPlugin.java b/src/main/java/com/volmit/iris/util/plugin/VolmitPlugin.java index 3a607a0bb..386a0a9d1 100644 --- a/src/main/java/com/volmit/iris/util/plugin/VolmitPlugin.java +++ b/src/main/java/com/volmit/iris/util/plugin/VolmitPlugin.java @@ -59,99 +59,6 @@ public abstract class VolmitPlugin extends JavaPlugin implements Listener { private KList cachedControllers; private KMap, IController> cachedClassControllers; - public void selfDistruct() { - HandlerList.unregisterAll((Plugin) this); - getServer().getScheduler().cancelTasks(this); - File me = getFile(); - Plugin plugin = this; - String name = plugin.getName(); - SimpleCommandMap commandMap = null; - List plugins = null; - Map names = null; - Map commands = null; - Map> listeners = null; - - try { - - Field pluginsField = Bukkit.getPluginManager().getClass().getDeclaredField("plugins"); - pluginsField.setAccessible(true); - //noinspection unchecked - plugins = (List) pluginsField.get(getServer().getPluginManager()); - Field lookupNamesField = Bukkit.getPluginManager().getClass().getDeclaredField("lookupNames"); - lookupNamesField.setAccessible(true); - //noinspection unchecked - names = (Map) lookupNamesField.get(getServer().getPluginManager()); - - try { - Field listenersField = Bukkit.getPluginManager().getClass().getDeclaredField("listeners"); - listenersField.setAccessible(true); - //noinspection unchecked - listeners = (Map>) listenersField.get(getServer().getPluginManager()); - } catch (Throwable e) { - Iris.reportError(e); - - } - - Field commandMapField = Bukkit.getPluginManager().getClass().getDeclaredField("commandMap"); - commandMapField.setAccessible(true); - commandMap = (SimpleCommandMap) commandMapField.get(getServer().getPluginManager()); - Field knownCommandsField = SimpleCommandMap.class.getDeclaredField("knownCommands"); - knownCommandsField.setAccessible(true); - //noinspection unchecked - commands = (Map) knownCommandsField.get(commandMap); - - } catch (Throwable e) { - Iris.reportError(e); - - } - - getServer().getPluginManager().disablePlugin(plugin); - plugins.remove(plugin); - names.remove(name); - - if (listeners != null) { - for (SortedSet set : listeners.values()) { - set.removeIf(value -> value.getPlugin().equals(plugin)); - } - } - - for (Iterator> it = commands.entrySet().iterator(); it.hasNext(); ) { - Map.Entry entry = it.next(); - if (entry.getValue() instanceof PluginCommand c) { - if (c.getPlugin() == plugin) { - c.unregister(commandMap); - it.remove(); - } - } - } - - new Thread(() -> { - // Attempt to close the classloader to unlock any handles on the - // plugin's - // jar file. - ClassLoader cl = plugin.getClass().getClassLoader(); - - if (cl instanceof URLClassLoader) { - try { - ((URLClassLoader) cl).close(); - } catch (IOException e) { - Iris.reportError(e); - - } - } - - // Will not work on processes started with the -XX:+DisableExplicitGC - // flag, - // but lets try it anyway. This tries to get around the issue where - // Windows - // refuses to unlock jar files that were previously loaded into the JVM. - System.gc(); - if (!me.delete()) { - me.deleteOnExit(); - } - }).start(); - } - public File getJarFile() { return getFile(); }