Skip to content

Commit 2d3c037

Browse files
authored
Merge pull request #165 from ThexXTURBOXx/develop
Don't close filesystems when resolving mod namespaces
1 parent eeb31eb commit 2d3c037

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

  • station-api-base/src/main/java/net/modificationstation/stationapi/api/util

station-api-base/src/main/java/net/modificationstation/stationapi/api/util/Namespace.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import net.fabricmc.loader.api.ModContainer;
1414
import net.fabricmc.loader.api.Version;
1515
import net.fabricmc.loader.api.metadata.ModMetadata;
16+
import net.fabricmc.loader.impl.util.FileSystemUtil;
1617
import net.modificationstation.stationapi.api.util.exception.MissingModException;
1718
import org.apache.logging.log4j.Level;
1819
import org.apache.logging.log4j.LogManager;
@@ -25,7 +26,6 @@
2526
import java.io.IOException;
2627
import java.net.URI;
2728
import java.net.URISyntaxException;
28-
import java.nio.file.FileSystems;
2929
import java.nio.file.Files;
3030
import java.nio.file.Path;
3131
import java.nio.file.Paths;
@@ -77,7 +77,9 @@ public final class Namespace implements Comparable<@NotNull Namespace> {
7777
// i'm so sorry
7878
if (Files.isRegularFile(callerPath)) { // regular case
7979
final URI callerRoot;
80-
try (val fs = FileSystems.newFileSystem(callerPath)) {
80+
try {
81+
// do NOT close - the same FileSystem may be used by Fabric Loader!
82+
val fs = FileSystemUtil.getJarFileSystem(callerPath, false).get();
8183
callerRoot = fs.getPath("/").toUri();
8284
} catch (IOException e) {
8385
throw new RuntimeException(e);

0 commit comments

Comments
 (0)