当前位置: 首页 > 知识库问答 >
问题:

使用MCP反编译Minecraft时分配更多RAM(Mod Coder Pack)

伍心水
2023-03-14

我试图创建一个自定义的Minecraft客户端,但首先我需要用MCP反编译源文件,但失败了。它失败时出现JavaOutOfMemoryError。以下是错误:

18:31:41 - Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
18:31:41 -  at java.util.Arrays.copyOfRange(Arrays.java:3664)
18:31:41 -  at java.lang.String.<init>(String.java:207)
18:31:41 -  at java.io.DataInputStream.readUTF(DataInputStream.java:661)
18:31:41 -  at java.io.DataInputStream.readUTF(DataInputStream.java:564)
18:31:41 -  at org.jetbrains.java.decompiler.struct.consts.ConstantPool.<init>(ConstantPool.java:54)
18:31:41 -  at org.jetbrains.java.decompiler.struct.StructClass.<init>(StructClass.java:87)
18:31:41 -  at org.jetbrains.java.decompiler.struct.StructClass.<init>(StructClass.java:75)
18:31:41 -  at org.jetbrains.java.decompiler.struct.StructContext.addArchive(StructContext.java:167)
18:31:41 -  at org.jetbrains.java.decompiler.struct.StructContext.addSpace(StructContext.java:100)
18:31:41 -  at org.jetbrains.java.decompiler.struct.StructContext.addSpace(StructContext.java:78)
18:31:41 -  at org.jetbrains.java.decompiler.main.Fernflower.addAllClasspath(Fernflower.java:120)
18:31:41 -  at org.jetbrains.java.decompiler.main.Fernflower.<init>(Fernflower.java:49)
18:31:41 -  at org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler.<init>(ConsoleDecompiler.java:126)
18:31:41 -  at org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler.main(ConsoleDecompiler.java:87)
18:31:41 - '"C:\Program Files\Java\jdk1.8.0_261\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\2.0.5\jinput-2.0.5.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl-platform\2.9.4-nightly-20150209\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" "-e=jars\libraries\com/ibm/icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar" "-e=jars\libraries\tv/twitch\twitch-external-platform\4.5\twitch-external-platform-4.5-natives-windows-32.jar" "-e=jars\libraries\org/apache/httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar" "-e=jars\libraries\org/apache/commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar" "-e=jars\libraries\net/java/dev/jna\jna\3.4.0\jna-3.4.0.jar" "-e=jars\libraries\com/paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar" "-e=jars\libraries\net/sf/jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar" "-e=jars\libraries\com/google/guava\guava\17.0\guava-17.0.jar" "-e=jars\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar" "-e=jars\libraries\org/apache/httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar" "-e=jars\libraries\org/apache/commons\commons-compress\1.8.1\commons-compress-1.8.1.jar" "-e=jars\libraries\net/java/dev/jna\platform\3.4.0\platform-3.4.0.jar" "-e=jars\libraries\com/paulscode\codecjorbis\20101023\codecjorbis-20101023.jar" "-e=jars\libraries\com/paulscode\soundsystem\20120107\soundsystem-20120107.jar" "-e=jars\libraries\com/paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar" "-e=jars\libraries\net/java/jutils\jutils\1.0.0\jutils-1.0.0.jar" "-e=jars\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar" "-e=jars\libraries\com/mojang\realms\1.7.39\realms-1.7.39.jar" "-e=jars\libraries\com/mojang\authlib\1.5.21\authlib-1.5.21.jar" "-e=jars\libraries\com/google/code/gson\gson\2.2.4\gson-2.2.4.jar" "-e=jars\libraries\com/mojang\netty\1.7.7\netty-1.7.7.jar" "-e=jars\libraries\tv/twitch\twitch\6.5\twitch-6.5.jar" "-e=jars\libraries\com/paulscode\codecwav\20101023\codecwav-20101023.jar" "-e=jars\libraries\tv/twitch\twitch-platform\6.5\twitch-platform-6.5-natives-windows-32.jar" "-e=jars\libraries\net/java/jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar" "-e=jars\libraries\io/netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar" temp/minecraft_ff_in.jar temp\src\minecraft' failed : 1
18:31:41 - Decompile failed

我已尝试仅运行以下命令:

"C:\Program Files\Java\jdk1.8.0_261\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\2.0.5\jinput-2.0.5.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl-platform\2.9.4-nightly-20150209\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar" "-e=jars\libraries\com/ibm/icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar" "-e=jars\libraries\tv/twitch\twitch-external-platform\4.5\twitch-external-platform-4.5-natives-windows-32.jar" "-e=jars\libraries\org/apache/httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar" "-e=jars\libraries\org/apache/commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar" "-e=jars\libraries\net/java/dev/jna\jna\3.4.0\jna-3.4.0.jar" "-e=jars\libraries\com/paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar" "-e=jars\libraries\net/sf/jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar" "-e=jars\libraries\com/google/guava\guava\17.0\guava-17.0.jar" "-e=jars\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar" "-e=jars\libraries\org/apache/httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar" "-e=jars\libraries\org/apache/commons\commons-compress\1.8.1\commons-compress-1.8.1.jar" "-e=jars\libraries\net/java/dev/jna\platform\3.4.0\platform-3.4.0.jar" "-e=jars\libraries\com/paulscode\codecjorbis\20101023\codecjorbis-20101023.jar" "-e=jars\libraries\com/paulscode\soundsystem\20120107\soundsystem-20120107.jar" "-e=jars\libraries\com/paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar" "-e=jars\libraries\net/java/jutils\jutils\1.0.0\jutils-1.0.0.jar" "-e=jars\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar" "-e=jars\libraries\org/lwjgl/lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar" "-e=jars\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar" "-e=jars\libraries\com/mojang\realms\1.7.39\realms-1.7.39.jar" "-e=jars\libraries\com/mojang\authlib\1.5.21\authlib-1.5.21.jar" "-e=jars\libraries\com/google/code/gson\gson\2.2.4\gson-2.2.4.jar" "-e=jars\libraries\com/mojang\netty\1.7.7\netty-1.7.7.jar" "-e=jars\libraries\tv/twitch\twitch\6.5\twitch-6.5.jar" "-e=jars\libraries\com/paulscode\codecwav\20101023\codecwav-20101023.jar" "-e=jars\libraries\tv/twitch\twitch-platform\6.5\twitch-platform-6.5-natives-windows-32.jar" "-e=jars\libraries\net/java/jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar" "-e=jars\libraries\org/apache/logging/log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar" "-e=jars\libraries\io/netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar" temp/minecraft_ff_in.jar temp\src\minecraft

但是添加了-Xmx1124m,它就可以工作了。

我不知道如何在运行decompile.bat文件时复制相同的文件,因为该文件只是运行另一个python文件。

我正在使用MCP9.18并尝试反编译Minecraft 1.8。8.我的电脑内存为2GB,可用容量为1.9GB。

共有1个答案

祝灼光
2023-03-14

转到conf/mcp。cfg。找到这条线

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

换成这个

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

当反编译时,这应该给MCP 1.7gb的ram。我真的建议得到更多的内存甚至8gb将是一个巨大的帮助

 类似资料:
  • 我正试着反编译MCP9.40到《我的世界》1.12。但是当我运行反编译。bat时,它会返回以下错误。 https://hastebin.com/itefigucaz.bash 我环顾四周,发现可能是反编译程序的RAM用完了,所以我编辑了mcp.cfg文件,并从这里修改了一行。 对此。 但也会产生同样的错误。有什么想法吗?

  • 因此,在过去的几天里,我使用mcp反编译了minecraft 1.12.2,以创建一个“自己的”客户端。我从eclipse上运行了它,一切都很好。但是一旦我导出了它,添加了所需的JSON文件并从minecraft启动器启动它,就会导致以下错误: 在我看来,这有点奇怪,因为当我从eclipse运行它时,错误并没有发生。我在考虑将记录器添加到该版本的特定JSON文件中,但我不知道如何做到这一点。我从一

  • 我有一台运行10.5.8MacOSX和2.5.1Python的PowerPCMac。当我尝试运行我下载的MCP文件夹中的任何文件时,会出现以下错误:Macintosh-2:MCP Rosty$bash bash-3.2$/Users/Rosty/Documents/MCP/updatemcp。sh/Users/Rosty/Documents/MCP/runtime/commands。py:137:

  • 我目前运行的是64位Windows10,我不断得到一个反编译问题与MCP。 这就是不断发生的事情: “反编译失败”有什么帮助吗?我已经看过以前关于如何通过添加java参数以允许更多RAM到MCP来解决这个问题的线程,但是到目前为止,这些方法对我来说都不起作用,它们可能是过时的方法。

  • 我已经决定使用MCP并下载了它,但是,当运行decompile.bat时,它返回一个错误。 (我正在运行32位Windows 10)

  • 当我反编译MCP9.18(对于1.8.8)以生成minecraft客户端时,我得到了一个错误。当它到达重新编译过程时,它给了我一个巨大的错误。来自cmd提示符的图片 我认为声明: ==在JAVA代码中发现的错误== 错误:不再支持源选项6。使用7或更高版本。 错误:不再支持目标选项6。使用7或更高版本。 == 应该有帮助。谢谢! 编辑:所以基本上你必须编辑这个:conf\mcp。cfg 打开 感谢