diff options
author | syeyoung <cyoung06@naver.com> | 2022-11-18 03:23:23 +0900 |
---|---|---|
committer | syeyoung <cyoung06@naver.com> | 2022-11-18 03:23:23 +0900 |
commit | 687a179eb178f7e1d1d5d30c92028ddf745357b6 (patch) | |
tree | 73bb54d85c172d733d017833e953d34d3e2eb6ba /loader/src/main/java/kr/syeyoung | |
parent | cf705024fe4e54f8ffcab74a08c21fe9fc89e9dd (diff) | |
download | Skyblock-Dungeons-Guide-687a179eb178f7e1d1d5d30c92028ddf745357b6.tar.gz Skyblock-Dungeons-Guide-687a179eb178f7e1d1d5d30c92028ddf745357b6.tar.bz2 Skyblock-Dungeons-Guide-687a179eb178f7e1d1d5d30c92028ddf745357b6.zip |
- Unload first then null out.
- Fix broken condition in Main.obtainLoader
Signed-off-by: syeyoung <cyoung06@naver.com>
Diffstat (limited to 'loader/src/main/java/kr/syeyoung')
4 files changed, 7 insertions, 7 deletions
diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java index 2ada9dc8..5724dfa3 100755 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/Main.java @@ -231,7 +231,7 @@ public class Main try { unload(); load(newLoader); - } catch (DungeonsGuideLoadingException | DungeonsGuideUnloadingException | UnsupportedOperationException e) { + } catch (DungeonsGuideLoadingException | DungeonsGuideUnloadingException e) { dgInterface = null; currentLoader = null; @@ -255,10 +255,10 @@ public class Main String loader = getLoaderName(configuration); if ("local".equals(loader) || - (loader.equals("auto") && this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/DungeonsGuide.class") == null)) { + (loader.equals("auto") && this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/DungeonsGuide.class") != null)) { return new LocalLoader(); } else if ("jar".equals(loader) || - (loader.equals("auto") && this.getClass().getResourceAsStream("/mod.jar") == null)) { + (loader.equals("auto") && this.getClass().getResourceAsStream("/mod.jar") != null)) { return new JarLoader(); } else if (loader.equals("remote") || loader.equals("auto") ){ // remote load diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/JarLoader.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/JarLoader.java index 61dec833..df450af6 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/JarLoader.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/JarLoader.java @@ -89,12 +89,12 @@ public class JarLoader implements IDGLoader { @Override public void unloadDungeonsGuide() throws DungeonsGuideUnloadingException { - classLoader = null; try { dgInterface.unload(); } catch (Exception e) { throw new DungeonsGuideUnloadingException(e); } + classLoader = null; dgInterface = null; System.gc();// pls do Reference<? extends ClassLoader> t = refQueue.poll(); diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/LocalLoader.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/LocalLoader.java index 519578f1..005a6005 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/LocalLoader.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/LocalLoader.java @@ -81,12 +81,12 @@ public class LocalLoader implements IDGLoader { @Override public void unloadDungeonsGuide() throws DungeonsGuideUnloadingException { - classLoader = null; try { dgInterface.unload(); } catch (Exception e) { throw new DungeonsGuideUnloadingException(e); } + classLoader = null; dgInterface = null; System.gc();// pls do Reference<? extends ClassLoader> t = refQueue.poll(); diff --git a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/RemoteLoader.java b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/RemoteLoader.java index e4becc53..575a31b3 100644 --- a/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/RemoteLoader.java +++ b/loader/src/main/java/kr/syeyoung/dungeonsguide/launcher/loader/RemoteLoader.java @@ -122,13 +122,13 @@ public class RemoteLoader implements IDGLoader { @Override public void unloadDungeonsGuide() throws DungeonsGuideUnloadingException { - classLoader = null; - try { dgInterface.unload(); } catch (Exception e) { throw new DungeonsGuideUnloadingException(e); } + classLoader = null; + dgInterface = null; System.gc();// pls do Reference<? extends ClassLoader> t = refQueue.poll(); |