From 8504b7bac204940bb13bfc73855075027720b665 Mon Sep 17 00:00:00 2001 From: JFronny Date: Tue, 7 Jun 2022 22:30:42 +0200 Subject: [PATCH] Update for newer fabric loader and 1.19 --- build.gradle | 9 +++------ gradle.properties | 12 +++++++----- .../jfronny/modsmod/FabricLoaderInterface.java | 15 +++++---------- .../io/gitlab/jfronny/modsmod/MMSafeLog.java | 16 ---------------- .../io/gitlab/jfronny/modsmod/ModsMod.java | 18 +++++++++++------- .../jfronny/modsmod/builder/JsonBuilder.java | 3 --- 6 files changed, 26 insertions(+), 47 deletions(-) delete mode 100644 src/main/java/io/gitlab/jfronny/modsmod/MMSafeLog.java diff --git a/build.gradle b/build.gradle index f6da1e7..d375e1d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,10 @@ apply from: "https://jfmods.gitlab.io/scripts/jfmod.gradle" dependencies { - include modImplementation("io.gitlab.jfronny.libjf:libjf-config-v0:${project.jfapi_version}") - include("io.gitlab.jfronny.libjf:libjf-unsafe-v0:${project.jfapi_version}") - include("io.gitlab.jfronny.libjf:libjf-base:${project.jfapi_version}") + modImplementation("io.gitlab.jfronny.libjf:libjf-config-v0:${project.jfapi_version}") - modImplementation "com.terraformersmc:modmenu:3.1.0" + modImplementation "com.terraformersmc:modmenu:4.0.0-beta.4" // Compat fix - include modImplementation(fabricApi.module("fabric-command-api-v1", "${project.fabric_version}")) - include modImplementation('io.gitlab.jfronny:gson:2.9.0.2022.4.2.19.45.43') // Dependency of LibJF 2.7.0 + modImplementation(fabricApi.module("fabric-command-api-v2", "${project.fabric_version}")) } diff --git a/gradle.properties b/gradle.properties index 7d4250a..f3ed655 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,15 +1,17 @@ # https://fabricmc.net/develop/ -minecraft_version=1.18.2 -yarn_mappings=build.2 -loader_version=0.13.3 +minecraft_version=1.19 +yarn_mappings=build.1 +loader_version=0.14.6 # Mod Properties maven_group=io.gitlab.jfronny archives_base_name=modsmod -jfapi_version=2.7.1 -fabric_version=0.48.0+1.18.2 +jfapi_version=2.9.1 +fabric_version=0.55.1+1.19 modrinth_id=4GhX11Ed +modrinth_required_dependencies=WKwQAwke modrinth_optional_dependencies=mOgUt4GM curseforge_id=405095 +curseforge_required_dependencies=libjf curseforge_optional_dependencies=modmenu diff --git a/src/main/java/io/gitlab/jfronny/modsmod/FabricLoaderInterface.java b/src/main/java/io/gitlab/jfronny/modsmod/FabricLoaderInterface.java index e6c81e5..7e50529 100644 --- a/src/main/java/io/gitlab/jfronny/modsmod/FabricLoaderInterface.java +++ b/src/main/java/io/gitlab/jfronny/modsmod/FabricLoaderInterface.java @@ -30,8 +30,7 @@ public class FabricLoaderInterface { CREATE_PLAIN_METHOD = ModCandidate.class.getDeclaredMethod("createPlain", new TypeToken>(){}.getRawType(), LoaderModMetadata.class, boolean.class, new TypeToken>(){}.getRawType()); CREATE_PLAIN_METHOD.setAccessible(true); } catch (NoSuchMethodException | NoSuchFieldException e) { - MMSafeLog.error("Failed to get reference to fabric-loader internals. The fabric-loader version may be incompatible with patchwork-runtime.", e); - throw new IllegalStateException(e); + throw new IllegalStateException("Failed to get reference to fabric loader internals. This fabric loader version is probably unsupported by modsmod", e); } } @@ -41,13 +40,11 @@ public class FabricLoaderInterface { try { MODS_FIELD.set(fabricLoader, modContainers); } catch (IllegalAccessException e) { - MMSafeLog.error("Failed to reset mods field", e); - e.printStackTrace(); + ModsMod.LOGGER.error("Failed to reset mods field", e); } }, ModsMod::loadMods)); } catch (IllegalAccessException e) { - MMSafeLog.error("Failed to make mods list synchronized.", e); - throw new IllegalStateException(e); + throw new IllegalStateException("Failed to make mods list synchronized", e); } } @@ -55,8 +52,7 @@ public class FabricLoaderInterface { try { ADD_MOD_METHOD.invoke(fabricLoader, modCandidate); } catch (IllegalAccessException | InvocationTargetException e) { - MMSafeLog.error("Failed to inject mod into fabric-loader.", e); - throw new IllegalStateException(e); + throw new IllegalStateException("Failed to inject mod into fabric loader", e); } } @@ -64,8 +60,7 @@ public class FabricLoaderInterface { try { return (ModCandidate) CREATE_PLAIN_METHOD.invoke(null, List.of(path), metadata, requiresRemap, nestedMods); } catch (IllegalAccessException | InvocationTargetException e) { - MMSafeLog.error("Failed to create plain mod container", e); - throw new IllegalStateException(e); + throw new IllegalStateException("Failed to create plain mod container", e); } } } diff --git a/src/main/java/io/gitlab/jfronny/modsmod/MMSafeLog.java b/src/main/java/io/gitlab/jfronny/modsmod/MMSafeLog.java deleted file mode 100644 index 2fb84ae..0000000 --- a/src/main/java/io/gitlab/jfronny/modsmod/MMSafeLog.java +++ /dev/null @@ -1,16 +0,0 @@ -package io.gitlab.jfronny.modsmod; - -import net.fabricmc.loader.impl.util.log.Log; -import net.fabricmc.loader.impl.util.log.LogCategory; - -public class MMSafeLog { - private static final LogCategory LOG_CATEGORY = new LogCategory("modsmod"); - - public static void error(String text) { - Log.error(LOG_CATEGORY, text); - } - - public static void error(String text, Throwable e) { - Log.error(LOG_CATEGORY, text, e); - } -} diff --git a/src/main/java/io/gitlab/jfronny/modsmod/ModsMod.java b/src/main/java/io/gitlab/jfronny/modsmod/ModsMod.java index a1cefbc..06ed24f 100644 --- a/src/main/java/io/gitlab/jfronny/modsmod/ModsMod.java +++ b/src/main/java/io/gitlab/jfronny/modsmod/ModsMod.java @@ -1,5 +1,6 @@ package io.gitlab.jfronny.modsmod; +import io.gitlab.jfronny.commons.log.*; import io.gitlab.jfronny.gson.Gson; import io.gitlab.jfronny.libjf.config.api.ConfigInstance; import io.gitlab.jfronny.libjf.config.impl.ConfigInstanceRoot; @@ -7,10 +8,9 @@ import io.gitlab.jfronny.libjf.unsafe.UltraEarlyInit; import io.gitlab.jfronny.modsmod.builder.JsonBuilder; import io.gitlab.jfronny.modsmod.builder.ModMeta; import io.gitlab.jfronny.modsmod.util.IOUtil; +import net.fabricmc.loader.api.*; import net.fabricmc.loader.impl.FabricLoaderImpl; -import net.fabricmc.loader.impl.metadata.LoaderModMetadata; -import net.fabricmc.loader.impl.metadata.ModMetadataParser; -import net.fabricmc.loader.impl.metadata.ParseMetadataException; +import net.fabricmc.loader.impl.metadata.*; import net.fabricmc.loader.impl.util.FileSystemUtil; import java.io.IOException; @@ -26,6 +26,7 @@ public class ModsMod implements UltraEarlyInit { static final FabricLoaderImpl LOADER = FabricLoaderImpl.INSTANCE; public static final Gson GSON = new Gson(); public static final String MOD_ID = "modsmod"; + public static final Logger LOGGER = Logger.forName(MOD_ID); private static final String CACHE_NAME = MOD_ID + "cache"; @Override @@ -55,8 +56,7 @@ public class ModsMod implements UltraEarlyInit { } Files.copy(modsmodCfgFile, cfgCache, StandardCopyOption.REPLACE_EXISTING); } catch (IOException e) { - System.err.println("Failed to validate modsmod config cache, caching will not be available"); - e.printStackTrace(); + LOGGER.error("Failed to validate modsmod config cache, caching will not be available", e); } MODS.clear(); //Generate mods @@ -81,14 +81,18 @@ public class ModsMod implements UltraEarlyInit { } FabricLoaderInterface.synchronize(LOADER); } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("Could not create modsmod mods", e); } } public static void loadMods() { for (ModMeta meta : MODS) { try { - LoaderModMetadata info = ModMetadataParser.parseMetadata(Files.newInputStream(meta.fmj), meta.url.toString(), new ArrayList<>()); + LoaderModMetadata info = ModMetadataParser.parseMetadata(Files.newInputStream(meta.fmj), + meta.url.toString(), + new ArrayList<>(), + new VersionOverrides(), + new DependencyOverrides(FabricLoader.getInstance().getConfigDir())); FabricLoaderInterface.addMod(LOADER, FabricLoaderInterface.createPlain(meta.rootPath, info, false, new HashSet<>())); } catch (IOException | ParseMetadataException e) { throw new IllegalStateException(e); diff --git a/src/main/java/io/gitlab/jfronny/modsmod/builder/JsonBuilder.java b/src/main/java/io/gitlab/jfronny/modsmod/builder/JsonBuilder.java index c34fc29..251ed66 100644 --- a/src/main/java/io/gitlab/jfronny/modsmod/builder/JsonBuilder.java +++ b/src/main/java/io/gitlab/jfronny/modsmod/builder/JsonBuilder.java @@ -14,9 +14,6 @@ public class JsonBuilder { try (BufferedWriter bw = Files.newBufferedWriter(outputPath)) { ModsMod.GSON.toJson(new ModManifest(number, parent), bw); } - //String s = ModsMod.GSON.toJson(new ModManifest(number, parent)); - //ModsMod.LOGGER.info(s); - //Files.writeString(outputPath, s); } @SuppressWarnings("unused")