反编译 MCP 错误(9.18 版)returns 'Decompile Failed'

Decompiling MCP error (version 9.18) returns 'Decompile Failed'

我决定使用 MCP 并下载了它,但是,当 运行 decompile.bat 时,它 returns 出错了。

(我是 运行 32 位 Windows 10)

返回的内容如下:

'"C:\Program Files\Java\jdk1.8.0_65\bin\java" -jar runtime\bin\fernflower.jar -din=1 -rbr=1 -dgs=1 -asc=1 -rsy=1 -iec=1 -jvn=1 -log=WARN "-e=jars\libraries\net/java/jinput\jinput.0.5\jinput-2.0.5.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl-platform.9.4-nightly-20150209\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" "-e=jars\libraries\com/ibm/icu\icu4j-core-mojang.2\icu4j-core-mojang-51.2.jar" "-e=jars\libraries\tv/twitch\twitch-external-platform.5\twitch-external-platform-4.5-natives-windows-32.jar" "-e=jars\libraries\org/apache/httpcomponents\httpcore.3.2\httpcore-4.3.2.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-api.0-beta9\log4j-api-2.0-beta9.jar" "-e=jars\libraries\org/apache/commons\commons-lang3.3.2\commons-lang3-3.3.2.jar" "-e=jars\libraries\net/java/jutils\jutils.0.0\jutils-1.0.0.jar" "-e=jars\libraries\net/java/dev/jna\jna.4.0\jna-3.4.0.jar" "-e=jars\libraries\com/paulscode\libraryjavasound101123\libraryjavasound-20101123.jar" "-e=jars\libraries\net/sf/jopt-simple\jopt-simple.6\jopt-simple-4.6.jar" "-e=jars\libraries\com/google/guava\guava.0\guava-17.0.jar" "-e=jars\libraries\oshi-project\oshi-core.1\oshi-core-1.1.jar" "-e=jars\libraries\commons-logging\commons-logging.1.3\commons-logging-1.1.3.jar" "-e=jars\libraries\org/apache/commons\commons-compress.8.1\commons-compress-1.8.1.jar" "-e=jars\libraries\net/java/dev/jna\platform.4.0\platform-3.4.0.jar" "-e=jars\libraries\com/paulscode\codecjorbis101023\codecjorbis-20101023.jar" "-e=jars\libraries\com/paulscode\soundsystem120107\soundsystem-20120107.jar" "-e=jars\libraries\com/paulscode\librarylwjglopenal100824\librarylwjglopenal-20100824.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl_util.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-codec\commons-codec.9\commons-codec-1.9.jar" "-e=jars\libraries\org/apache/httpcomponents\httpclient.3.3\httpclient-4.3.3.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-io\commons-io.4\commons-io-2.4.jar" "-e=jars\libraries\com/mojang\realms.7.39\realms-1.7.39.jar" "-e=jars\libraries\com/mojang\authlib.5.21\authlib-1.5.21.jar" "-e=jars\libraries\com/google/code/gson\gson.2.4\gson-2.2.4.jar" "-e=jars\libraries\tv/twitch\twitch.5\twitch-6.5.jar" "-e=jars\libraries\com/paulscode\codecwav101023\codecwav-20101023.jar" "-e=jars\libraries\tv/twitch\twitch-platform.5\twitch-platform-6.5-natives-windows-32.jar" "-e=jars\libraries\net/java/jinput\jinput-platform.0.5\jinput-platform-2.0.5-natives-windows.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-core.0-beta9\log4j-core-2.0-beta9.jar" "-e=jars\libraries\io/netty\netty-all.0.23.Final\netty-all-4.0.23.Final.jar" temp/minecraft_ff_in.jar temp\src\minecraft' failed : 1 Decompile failed

这是反编译系统运行耗尽RAM造成的。我不完全确定为什么会这样,但它也发生在我身上。

如果您使用的是 Minecraft Forge 的 ForgeGradle,see this。您可以编辑 gradle 选项文件(在您的用户文件夹中的 .gradle/gradle.properties)并向其添加 org.gradle.jvmargs=-Xmx2G,或者您可以将选项变量设置为 -Xmx2G(在命令中提示,运行 set GRADLE_OPTS=-Xmx2G 然后 gradlew setupDecompWorkspace).


但是,鉴于您引用了 decompile.bat,您可能正在使用没有 Forge 的 MCP。 (这很好,但是 forge 确实使 mods easier/more 兼容;如果您要制作更永久的 mod 而不是随便乱搞,您可能需要考虑这样做。)在这种情况下,您可以编辑 MCP 的配置以增加给定的 RAM。

在 MCP 文件夹中,打开 conf 文件夹,然后使用您选择的文本编辑器打开 mcp.cfg。然后,找到这一行(靠近底部)

CmdFernflower = %s -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}

并将其替换为:

CmdFernflower = %s -Xmx2G -jar %s -din=1 -rbr=0 -dgs=1 -asc=1 -log=WARN {indir} {outdir}

(您可能需要更改其他行并在 -jar 之前添加 -Xmx2G,但根据我的经验, 似乎 不需要)。

这将 运行 具有额外 RAM 的反编译器。


另外,如果你不想搞乱 MCP 配置,MCP910 似乎没有这个问题。它适用于 1.8.0 而不是 1.8.8,但仍然可以做你想做的一切。

我知道,这个答案来的很晚,但是你应该安装Java的64位版本。对于 32 位版本,它不起作用... 我不知道你是否可以在你的 32 位系统上安装它,但你可以试试。在我的 86 位系统 (Windows 8) 上它有效!