mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-25 10:09:14 +00:00
Fix closing issues
This commit is contained in:
@@ -43,6 +43,7 @@ import com.volmit.iris.util.format.Form;
|
||||
import com.volmit.iris.util.function.NastyRunnable;
|
||||
import com.volmit.iris.util.io.FileWatcher;
|
||||
import com.volmit.iris.util.io.IO;
|
||||
import com.volmit.iris.util.io.InstanceState;
|
||||
import com.volmit.iris.util.io.JarScanner;
|
||||
import com.volmit.iris.util.math.M;
|
||||
import com.volmit.iris.util.math.RNG;
|
||||
@@ -74,6 +75,7 @@ import java.io.*;
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
@SuppressWarnings("CanBeFinal")
|
||||
public class Iris extends VolmitPlugin implements Listener {
|
||||
@@ -137,6 +139,36 @@ public class Iris extends VolmitPlugin implements Listener {
|
||||
splash();
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
if (IrisSettings.get().isStudio()) {
|
||||
Iris.debug("Studio Mode Active: Closing Projects");
|
||||
proj.close();
|
||||
|
||||
for (World i : Bukkit.getWorlds()) {
|
||||
if (IrisToolbelt.isIrisWorld(i)) {
|
||||
Iris.debug("Closing Platform Generator " + i.getName());
|
||||
IrisToolbelt.access(i).close();
|
||||
}
|
||||
}
|
||||
|
||||
for (GroupedExecutor i : executors) {
|
||||
Iris.debug("Closing Executor " + i.toString());
|
||||
i.closeNow();
|
||||
}
|
||||
}
|
||||
|
||||
executors.clear();
|
||||
board.disable();
|
||||
Iris.debug("Cancelled all tasks");
|
||||
Bukkit.getScheduler().cancelTasks(this);
|
||||
Iris.debug("Unregistered all events");
|
||||
HandlerList.unregisterAll((Plugin) this);
|
||||
Iris.debug("Multiburst Shutting down");
|
||||
MultiBurst.burst.shutdown();
|
||||
Iris.debug("Iris Shutdown");
|
||||
super.onDisable();
|
||||
}
|
||||
|
||||
public static void callEvent(Event e) {
|
||||
J.s(() -> Bukkit.getPluginManager().callEvent(e));
|
||||
}
|
||||
@@ -262,29 +294,6 @@ public class Iris extends VolmitPlugin implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
if (IrisSettings.get().isStudio()) {
|
||||
proj.close();
|
||||
|
||||
for (World i : Bukkit.getWorlds()) {
|
||||
if (IrisToolbelt.isIrisWorld(i)) {
|
||||
IrisToolbelt.access(i).close();
|
||||
}
|
||||
}
|
||||
|
||||
for (GroupedExecutor i : executors) {
|
||||
i.close();
|
||||
}
|
||||
}
|
||||
|
||||
executors.clear();
|
||||
board.disable();
|
||||
Bukkit.getScheduler().cancelTasks(this);
|
||||
HandlerList.unregisterAll((Plugin) this);
|
||||
MultiBurst.burst.shutdown();
|
||||
super.onDisable();
|
||||
}
|
||||
|
||||
public static void sq(Runnable r) {
|
||||
synchronized (syncJobs) {
|
||||
syncJobs.queue(r);
|
||||
@@ -695,4 +704,16 @@ public class Iris extends VolmitPlugin implements Listener {
|
||||
Iris.debug("Exception Logged: " + e.getClass().getSimpleName() + ": " + C.RESET + "" + C.LIGHT_PURPLE + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
try
|
||||
{
|
||||
InstanceState.updateInstanceId();
|
||||
}
|
||||
|
||||
catch(Throwable e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user