跳到正文

LexForgeFix

作者:heipiao

Allow some mods for MinecraftForge 47.3.10+ run on NeoForge 47.1.x

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

MinecraftForge 1.20.1-47.3.10 introduced a new feature: allowing the mod entry class constructor to obtain an FMLJavaModLoadingContext as a parameter, whereas NeoForge 47.1.x at the same time did not support such a mod constructor.

This mod adds the classic parameterless constructor to these mods through bytecode modifications.

Fix these errors:

-- Head --
Thread: Render thread
Stacktrace:
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:109) ~[language-java-47.2.2.jar%23416!/:47.2] {}
-- MOD somemod --
Details:
	Mod File: <.minecraft>/mods/<somemod>-1.20.1-Forge.jar
	Failure message: Some Mod (somemod) has failed to load correctly
		java.lang.RuntimeException: Could not find mod constructor. Allowed optional argument classes: ModContainer, IEventBus, FMLModContainer
	Mod Version: 1.1.4514
	Mod Issue URL: https://example.com/
	Exception message: java.lang.RuntimeException: Could not find mod constructor. Allowed optional argument classes: ModContainer, IEventBus, FMLModContainer
Stacktrace:
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:109) ~[language-java-47.2.2.jar%23416!/:47.2] {}
	at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:123) ~[core-47.2.2.jar%23415!/:47.2] {re:mixin}
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?] {re:mixin,re:computing_frames}
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?] {re:mixin,re:computing_frames}
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?] {re:mixin}
-- Head --
Thread: Render thread
Stacktrace:
	at java.lang.Class.getConstructor0(Class.java:3761) ~[?:?] {}
-- MOD somemod --
Details:
	Mod File: <.minecraft>/mods/<somemod>-1.20.1-Forge.jar
	Failure message: Some Mod (somemod) has failed to load correctly
		java.lang.NoSuchMethodException: com.example.SomeMod.<init>()
	Mod Version: 0.1.0
	Mod Issue URL: NOT PROVIDED
	Exception message: java.lang.NoSuchMethodException: com.example.SomeMod.<init>()
Stacktrace:
	at java.lang.Class.getConstructor0(Class.java:3761) ~[?:?] {}
	at java.lang.Class.getDeclaredConstructor(Class.java:2930) ~[?:?] {}
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:68) ~[javafmllanguage-1.20.1-47.1.3.jar%23181!/:?] {}
	at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:123) ~[fmlcore-1.20.1-47.1.3.jar%23180!/:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?] {}
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?] {}

常见问题

LexForgeFix 支持哪些 Minecraft 版本?

LexForgeFix 支持 Minecraft Java 版 1.20.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

LexForgeFix 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

heipiao 的其他作品

查看全部 →