diff --git a/gradle.properties b/gradle.properties index 34e75d23..7b851705 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,8 @@ loom_version=0.8-SNAPSHOT # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version= 1.17.1 -loader_version= 0.11.6 -fabric_version = 0.39.1+1.17 +loader_version= 0.12.4 +fabric_version = 0.41.3+1.17 # Mod Properties mod_version = 0.4.2 diff --git a/src/main/java/ru/bclib/util/ModUtil.java b/src/main/java/ru/bclib/util/ModUtil.java index f7d0c1f1..0dd8e733 100644 --- a/src/main/java/ru/bclib/util/ModUtil.java +++ b/src/main/java/ru/bclib/util/ModUtil.java @@ -5,17 +5,18 @@ import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.SemanticVersion; import net.fabricmc.loader.api.Version; import net.fabricmc.loader.api.metadata.ModMetadata; -import net.fabricmc.loader.metadata.ModMetadataParser; -import net.fabricmc.loader.metadata.ParseMetadataException; +import net.fabricmc.loader.impl.metadata.ModMetadataParser; import org.apache.logging.log4j.LogManager; import ru.bclib.BCLib; -import java.io.IOException; +import java.io.InputStream; import java.net.URI; import java.nio.file.FileSystem; import java.nio.file.FileSystems; +import java.nio.file.Files; import java.nio.file.Path; import java.util.HashMap; +import java.util.LinkedList; import java.util.Locale; import java.util.Map; import java.util.Optional; @@ -55,15 +56,17 @@ public class ModUtil { try { Path modMetaFile = fs.getPath("fabric.mod.json"); if (modMetaFile != null) { - ModMetadata mc = ModMetadataParser.parseMetadata(logger, modMetaFile); - mods.put(mc.getId(), new ModInfo(mc, file)); + try (InputStream is = Files.newInputStream(modMetaFile)) { + ModMetadata mc = ModMetadataParser.parseMetadata(is, uri.toString(), new LinkedList()); + mods.put(mc.getId(), new ModInfo(mc, file)); + } } - } catch (ParseMetadataException e) { + } catch (Exception e) { BCLib.LOGGER.error(e.getMessage()); } } } - catch (IOException e) { + catch (Exception e) { BCLib.LOGGER.error(e.getMessage()); } }));