Minecraft锻造Mod装载机(FML)装载并撞击MC



我是Minecraft编码和锻造的新手。我反复得到这个错误,FML(Forge Mod Loader(正在加载导致错误。我有1.12.2 MC和Forge版本1.12.2-14.23.5.2854的FML我也尝试过Forge版本1.12.2-14.23.5.2855,但也出现了同样的错误。我使用的是JRE 1.8.0_251。我的IDE是Eclipse 2020-12

当我这样做的时候;runClient.slaunch";它启动了Minecraft Client 1.12.2,它显示了Constructing Mods,但当它进入第三步时,砰!它崩溃了在eclipse的preferences选项卡中,我选择了Correct JRE。请帮我解决这个问题。

JVM Args-Xmx2G

错误日志-

Description: There was a severe problem during mod loading that has caused the game to fail
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Forge Mod Loader (FML)
Caused by: java.lang.NullPointerException
at net.minecraftforge.fml.common.network.NetworkRegistry.newChannel(NetworkRegistry.java:207)
at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.registerChannel(FMLNetworkHandler.java:185)
at net.minecraftforge.fml.common.FMLContainer.modConstruction(FMLContainer.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:595)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:232)
at net.minecraft.client.Minecraft.init(Minecraft.java:467)
at net.minecraft.client.Minecraft.run(Minecraft.java:378)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.legacydev.Main.start(Main.java:86)
at net.minecraftforge.legacydev.MainClient.main(MainClient.java:29)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 125114560 bytes (119 MB) / 378011648 bytes (360 MB) up to 935854080 bytes (892 MB)
JVM Flags: 0 total; 
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2854 5 mods loaded, 5 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID         | Version      | Source                                                      | Signature |
|:----- |:---------- |:------------ |:----------------------------------------------------------- |:--------- |
| LC    | minecraft  | 1.12.2       | minecraft.jar                                               | None      |
| LC    | mcp        | 9.42         | minecraft.jar                                               | None      |
| LE    | FML        | 8.0.99.99    | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12.jar | None      |
| L     | forge      | 14.23.5.2854 | forge-1.12.2-14.23.5.2854_mapped_snapshot_20171003-1.12.jar | None      |
| L     | examplemod | 1.0          | main                                                        | None      |
Loaded coremods (and transformers): 
GL info: ' Vendor: 'Intel' Version: '3.1.0 - Build 9.17.10.4229' Renderer: 'Intel(R) HD Graphics 3000'
[16:30:21] [Client thread/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:553]: #@!@# Game crashed! Crash report saved to: #@!@# D:1.12.2run.crash-reportscrash-2021-07-14_16.30.21-client.txt

注意:这个修复可能不是一个永久的或好的问题解决方案,但我发现它可以修复我的问题,所以请自行承担风险

没有提到你使用的ForgeGradle是什么版本,我只能假设它是3.0或更高版本。

对于任何在ForgeGradle版本5.1.73或更高版本中遇到相同问题的人,使用Forge版本1.12.2-14.23.5.2860,以下对我有效:

解决方案

解决方案1-删除MergeTool

注意:我以前尝试过这种方法,但它突然停止工作。如果发生这种情况,我建议您尝试解决方案2或这个问题的其他一些答案,例如清除Gradle缓存或运行干净的构建

将以下内容添加到build.gradle文件中的configuration块中:

configurations.configureEach {
exclude group: "net.minecraftforge", module: "mergetool"
}

这将删除似乎导致问题的mergetool依赖关系。

解决方案2-切换到不包含BUKKIT条目的MergeTool版本

将以下内容添加到dependencies块的底部:

implementation ("net.minecraftforge:mergetool:0.2.3.3") { force = true }

这将迫使Gradle使用这个特定版本的MergeTool

解决方案3-删除IDEA块并将构建模式切换到Gradle

有些人可能已经使用此旧解决方案来修复IntelliJ没有使用Gradle正确复制资源的问题。新的解决方案是将此块添加到您的build.gradle:

legacy {
fixClasspath = true
}

因此,您现在必须从build.gradle顶部删除以下内容:

apply plugin: 'idea'
idea {
module {
inheritOutputDirs = true
}
}
subprojects {
apply plugin: 'idea'
}

你还必须切换到Gradle:的建筑

  1. 转到File>Settings...(或者,Ctrl+Alt+S(>Build, Execution, Deployment>Build Tools>Gradle
  2. 在左侧窗格的列表中选择您的项目
  3. Build and run using:Run tests using:都更改为Gradle
  4. 保存(单击"确定"(

说明

根据MinecraftForge/FugeGradle上的Issue#748,似乎存在MergeTool依赖项在FML正确加载之前首先加载的问题,因此Side被一个包含BUKKIT条目的版本覆盖,而FML并不期望该条目。(通常,它只包含SERVERCLIENT,并且只实例化这两个通道(

我还没有遇到任何删除此依赖项的问题,但如果我发现任何问题,我将在未来在这里提及。

确认

我已经在Windows 10 build 21H2 19044.2728上测试了这一点,Gradle版本7.4.2,ForgeGradle版本5.1.73,Forge版本1.12.2-14.23.5.2860,Mappings channel";稳定的";版本39-1.12

问题

  • [解决方案1]由于某种奇怪的原因,这已经不起作用了。我不知道如何,但不知何故,Side完美地获得了BUKKIT枚举条目。我将对此进行进一步研究,并检查为什么会发生这种情况

我只是想知道如何解决这个问题。根据我的研究,你可以删除主目录中的.gradle文件夹,或者重新加载gradle。

当我做";runClient";(唯一的区别是我使用IDEA(。我发现目录名可能是错误的原因。我的目录名是";1.12.2";。我试着把它改成";mod";重建gradle。之后;runClient";可以正常运行。

最新更新