From 3e6d0df8860d90b7ad30fa94eed6a3d4f750a354 Mon Sep 17 00:00:00 2001 From: 33 Date: Fri, 27 Jan 2023 14:42:32 +0800 Subject: [PATCH] Update: README.md --- .../xfl03/morecrashinfo/fml/ModLocator.java | 3 ++- .../morecrashinfo/modlauncher/ModLocator.java | 26 ------------------- .../modlauncher/TransformerService.java | 13 +++++----- ...necraftforge.forgespi.locating.IModLocator | 1 - README.md | 4 ++- .../me/xfl03/morecrashinfo/MoreCrashInfo.java | 3 +++ 6 files changed, 15 insertions(+), 35 deletions(-) delete mode 100644 2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/ModLocator.java delete mode 100644 2Loader/src/main/resources/META-INF/services/unused.net.minecraftforge.forgespi.locating.IModLocator diff --git a/1Locator/src/main/java/me/xfl03/morecrashinfo/fml/ModLocator.java b/1Locator/src/main/java/me/xfl03/morecrashinfo/fml/ModLocator.java index 501f14e..35bde18 100644 --- a/1Locator/src/main/java/me/xfl03/morecrashinfo/fml/ModLocator.java +++ b/1Locator/src/main/java/me/xfl03/morecrashinfo/fml/ModLocator.java @@ -169,7 +169,7 @@ public Stream scanCandidates() { Path modFolder = FMLPaths.MODSDIR.get(); logger.debug("Mod folder {}", modFolder); visitModDir(modFolder); - logger.info("Core path {}", modPath); + logger.debug("Core path {}", modPath); if (modPath == null) { return Stream.empty(); } @@ -178,6 +178,7 @@ public Stream scanCandidates() { Path mapped = gameFolder.resolve( String.format("tmp/MoreCrashInfo-Core-%s.jar", VersionUtil.getMinecraftVersion())); remapper.processJar(modPath, mapped); + logger.info("MoreCrashInfo ModLocator: {}", mapped); return Stream.of(mapped); } diff --git a/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/ModLocator.java b/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/ModLocator.java deleted file mode 100644 index ee9a936..0000000 --- a/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/ModLocator.java +++ /dev/null @@ -1,26 +0,0 @@ -package me.xfl03.morecrashinfo.modlauncher; - -import net.minecraftforge.fml.loading.moddiscovery.AbstractJarFileModLocator; - -import java.nio.file.Path; -import java.util.Map; -import java.util.stream.Stream; - -public class ModLocator extends AbstractJarFileModLocator { - @Override - public Stream scanCandidates() { - TransformerService.logger.info("Core path {}", TransformerService.corePath); -// return Stream.of(TransformerService.corePath); - return Stream.empty(); - } - - @Override - public String name() { - return "MoreCrashInfoModLocator 1.17-1.19"; - } - - @Override - public void initArguments(Map arguments) { - - } -} diff --git a/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/TransformerService.java b/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/TransformerService.java index 4dda475..a8d58e5 100644 --- a/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/TransformerService.java +++ b/2Loader/src/main/java/me/xfl03/morecrashinfo/modlauncher/TransformerService.java @@ -33,7 +33,7 @@ public void onLoad(IEnvironment env, Set otherServices) throws Incompati logger.debug("We are now at MoreCrashInfo TransformationService"); } - public static Path corePath; +// public static Path corePath; private Path gameDir; @@ -57,6 +57,7 @@ public void initialize(IEnvironment environment) { String.format("tmp/MoreCrashInfo-Locator-%s.jar", VersionUtil.getMinecraftVersion())); JarRemapper remapper = new JarRemapper(); remapper.processJar(modPath, mapped); + logger.info("MoreCrashInfo TransformationService: {}", mapped); if (VersionUtil.getMinecraftMajorVersion() < 17) { //Before 1.17, we can add jar to AppClassLoader try { @@ -119,11 +120,11 @@ private void visitModFile(Path path) { modPath = gameDir.resolve("tmp/MoreCrashInfo-Locator.jar"); unzip(zip, ze, modPath); } - ze = zip.getEntry("MoreCrashInfo-Core.jar"); - if (ze != null) { - corePath = gameDir.resolve("tmp/MoreCrashInfo-Core.jar"); - unzip(zip, ze, corePath); - } +// ze = zip.getEntry("MoreCrashInfo-Core.jar"); +// if (ze != null) { +// corePath = gameDir.resolve("tmp/MoreCrashInfo-Core.jar"); +// unzip(zip, ze, corePath); +// } } catch (Exception e) { logger.warn("Error while loading {}", path); logger.warn(e); diff --git a/2Loader/src/main/resources/META-INF/services/unused.net.minecraftforge.forgespi.locating.IModLocator b/2Loader/src/main/resources/META-INF/services/unused.net.minecraftforge.forgespi.locating.IModLocator deleted file mode 100644 index bc92eb3..0000000 --- a/2Loader/src/main/resources/META-INF/services/unused.net.minecraftforge.forgespi.locating.IModLocator +++ /dev/null @@ -1 +0,0 @@ -me.xfl03.morecrashinfo.modlauncher.ModLocator \ No newline at end of file diff --git a/README.md b/README.md index 77cd59b..09e250b 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Error Info: ``` ## Compatibility -- Minecraft 1.13.2~1.16.5 & 1.18~1.19.3 with Forge +- Minecraft 1.13.2~1.19.3 with Forge - Java 8~19 ### Tested Environment @@ -63,6 +63,7 @@ Error Info: |:---------:|:--------:|:----:| | 1.19.3 | 44.1.2 | 17 | | 1.18.2 | 40.2.0 | 17 | +| 1.17.1 | 37.1.1 | 17 | | 1.16.5 | 36.2.39 | 8 | | 1.15.2 | 31.2.57 | 8 | | 1.14.4 | 28.2.26 | 8 | @@ -77,6 +78,7 @@ Please use Java 17+ in development or building environment. **Build(Gradle `Task`) -> Loader(ModLauncher `ITransformerService`) -> Locator(ForgeSPI `IModLocator`) -> Base(Forge `Mod`)** In every `->`(3 times), our mod use ASM to operate bytecode in class file. +Loader will try to add Locator into classpath, which will make `IModLocator` could be found by ServiceLoader. Our method can suite Java 8-19 and Module Layer with ModLauncher. ### Build ```shell diff --git a/src/main/java/me/xfl03/morecrashinfo/MoreCrashInfo.java b/src/main/java/me/xfl03/morecrashinfo/MoreCrashInfo.java index 372ea9d..add82c9 100644 --- a/src/main/java/me/xfl03/morecrashinfo/MoreCrashInfo.java +++ b/src/main/java/me/xfl03/morecrashinfo/MoreCrashInfo.java @@ -8,4 +8,7 @@ public class MoreCrashInfo { public static Logger logger = LogManager.getLogger("MoreCrashInfo"); + static { + logger.info("MoreCrashInfo Mod Loaded"); + } }