在Minecraft mod

时间:2018-06-07 05:52:50

标签: java eclipse compiler-errors compilation minecraft

我使用JD-Gui反编译.class文件,这要归功于我在一个不相关的问题上找到的建议,我使用Eclipse编辑.java代码。

当我使用Eclipse的构建函数将其重新编译为.class文件时,会出现问题。它不是创建一个包含.class中所有代码的.java,而是创建一个.class,它已用一个输出来替换每个函数,说明错误是什么。我想当你告诉编译器使用错误进行编译时,它会按原样使用代码,而不是用错误替换代码。

我想要做的就是修改.class文件,我似乎无法找到解决问题的方法。有没有办法实际编译代码而不是替换为代码生成的错误?

1 个答案:

答案 0 :(得分:0)

不建议手动反编译和修改.class文件用于Minecraft modding!

您的偏好顺序选项:

  1. 找到mod的来源并分叉。
  2. 请求mod作者为您想要更改的内容添加API。
  3. 在运行时修补mods代码。
  4. 使用BON2或MCP / ForgeGradle反编译mod(可能破坏其许可证)以获取类似于原始反模糊源的源。
  5. 也就是说,如果你开始做4,你将需要找到它用来再次编译的所有库。

      

    它创建了一个用输出替换每个函数的.class   说明错误是什么。当你告诉编译器时,我想   编译错误,它将使用代码而不是   用错误替换代码。

    这是预期的行为。编译错误主要用于与hotswappable代码一起使用,因此您可以快速原型而不必担心源代码是100%可编译的,它不可能链接到它没有的依赖项。

      

    有没有办法按原样实际编译代码而不是   替换为代码生成的错误?

    直接修改字节码,或者按照上面的选项之一。