diff --git a/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java b/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java index d71fdc82..dde09075 100644 --- a/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java +++ b/forge-1.18.2/src/main/java/org/dynmap/forge_1_18_2/DynmapPlugin.java @@ -1023,12 +1023,25 @@ public class DynmapPlugin } @Override public File getModContainerFile(String name) { - ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup + ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup if (mfi != null) { - File f = mfi.getFile().getFilePath().toFile(); - return f; + try { + File f = mfi.getFile().getFilePath().toFile(); + return f; + } + catch (UnsupportedOperationException ex) { + //TODO Implement proper jar in jar method for fetching data +/* + Log.info("Searching for: " + name); + for (IModInfo e: ModList.get().getMods()) { + Log.info("in: " + e.getModId().toString()); + Log.info("resource: "+ ModList.get().getModFileById(e.getModId()).getFile().findResource(String.valueOf(mfi.getFile().getFilePath()))); //requires forge 1.18.2-40.1.60+ (update build.gradle) + } +*/ + Log.warning("jar in jar method found, skipping: " + ex.getMessage()); + } } - return null; + return null; } @Override public List getModList() { diff --git a/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java b/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java index 6bf9f67e..a4ab024d 100644 --- a/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java +++ b/forge-1.19.2/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java @@ -1023,12 +1023,25 @@ public class DynmapPlugin } @Override public File getModContainerFile(String name) { - ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup + ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup if (mfi != null) { - File f = mfi.getFile().getFilePath().toFile(); - return f; + try { + File f = mfi.getFile().getFilePath().toFile(); + return f; + } + catch (UnsupportedOperationException ex) { + //TODO Implement proper jar in jar method for fetching data +/* + Log.info("Searching for: " + name); + for (IModInfo e: ModList.get().getMods()) { + Log.info("in: " + e.getModId().toString()); + Log.info("resource: "+ ModList.get().getModFileById(e.getModId()).getFile().findResource(String.valueOf(mfi.getFile().getFilePath()))); + } +*/ + Log.warning("jar in jar method found, skipping: " + ex.getMessage()); + } } - return null; + return null; } @Override public List getModList() { diff --git a/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java b/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java index f5d11a29..af3c10cf 100644 --- a/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java +++ b/forge-1.19.3/src/main/java/org/dynmap/forge_1_19_2/DynmapPlugin.java @@ -1025,12 +1025,25 @@ public class DynmapPlugin } @Override public File getModContainerFile(String name) { - ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup + ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup if (mfi != null) { - File f = mfi.getFile().getFilePath().toFile(); - return f; + try { + File f = mfi.getFile().getFilePath().toFile(); + return f; + } + catch (UnsupportedOperationException ex) { + //TODO Implement proper jar in jar method for fetching data +/* + Log.info("Searching for: " + name); + for (IModInfo e: ModList.get().getMods()) { + Log.info("in: " + e.getModId().toString()); + Log.info("resource: "+ ModList.get().getModFileById(e.getModId()).getFile().findResource(String.valueOf(mfi.getFile().getFilePath()))); + } +*/ + Log.warning("jar in jar method found, skipping: " + ex.getMessage()); + } } - return null; + return null; } @Override public List getModList() { diff --git a/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java b/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java index 5098992d..950ab55d 100644 --- a/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java +++ b/forge-1.19/src/main/java/org/dynmap/forge_1_19/DynmapPlugin.java @@ -1023,12 +1023,25 @@ public class DynmapPlugin } @Override public File getModContainerFile(String name) { - ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup + ModFileInfo mfi = LoadingModList.get().getModFileById(name); // Try case sensitive lookup if (mfi != null) { - File f = mfi.getFile().getFilePath().toFile(); - return f; + try { + File f = mfi.getFile().getFilePath().toFile(); + return f; + } + catch (UnsupportedOperationException ex) { + //TODO Implement proper jar in jar method for fetching data +/* + Log.info("Searching for: " + name); + for (IModInfo e: ModList.get().getMods()) { + Log.info("in: " + e.getModId().toString()); + Log.info("resource: "+ ModList.get().getModFileById(e.getModId()).getFile().findResource(String.valueOf(mfi.getFile().getFilePath()))); + } +*/ + Log.warning("jar in jar method found, skipping: " + ex.getMessage()); + } } - return null; + return null; } @Override public List getModList() {