修改Minecraft mod中的.class文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改Minecraft mod中的.class文件相关的知识,希望对你有一定的参考价值。
我使用JD-Gui来反编译.class
文件,这要归功于我在一个不相关的问题上找到的建议,我用Eclipse编辑了.java
代码。
当我使用Eclipse的构建函数将其重新编译为.class
文件时,问题就出现了。它不是用.class
的所有代码创建一个.java
,而是创建一个.class
,用输出来替换每个函数,说明错误是什么。我想当你告诉编译器使用错误进行编译时,它会按原样使用代码,而不是用错误替换代码。
我想要做的就是修改.class
文件,我似乎无法找到解决问题的方法。有没有办法实际编译代码而不是代码生成的错误?
对于Minecraft modding,不建议手动反编译和修改.class文件!
您的偏好顺序选项:
- 找到mod的来源并分叉它。
- 请求mod作者为要更改的内容添加API。
- 在运行时修补mods代码。
- 使用BON2或MCP / ForgeGradle反编译mod(可能破坏它的许可证)以获得类似于原始反混淆源的源。
也就是说,如果你开始做4,你将需要找到它用来再次编译的所有库。
它创建一个.class,用一个输出来替换每个函数,说明错误是什么。我想当你告诉编译器使用错误进行编译时,它会按原样使用代码,而不是用错误替换代码。
这是预期的行为。编译错误主要用于hotswappable代码,因此您可以快速原型而不必担心源是100%可编译的,它不可能链接到它没有的依赖项。
是否有任何方法可以实际编译代码而不是替换为代码生成的错误?
直接修改字节码,或者按照上面的选项之一进行操作。
以上是关于修改Minecraft mod中的.class文件的主要内容,如果未能解决你的问题,请参考以下文章
Minecraft Fabric Client 教程 #2 修改文件和目录名添加run和stop
Minecraft 1.64 的 Bukkit 服务器 怎么安装Mod ? 我在客户端里安装了,
Minecraft Fabric模组开发踩坑:缺失Fabric API