1. 下载对应版本的MCP
MCP:Mod Coder Pack 模组编辑包
网址见:http://www.modcoderpack.com/website/content/mcp-910
这里的MCP截止更新到1.12,于是我在PCL启动器预载1.12的正式版游戏文件。
据说:后来mcp的功能合并到forgegradle里了,更强了,功能更多了,只是对小白不友好
2. 阅读README文档
在这之前,首先阅读解压后的MCP文件夹中的readme文档,位置在mcp940\docs\README-MCP.txt。下面对部分重要内容进行翻译:
=========================
您可以:
- 使用MCP反编译Minecraft客户端和服务器jar文件。
- 使用反编译的源代码为Minecraft创建模组。
- 重新编译Minecraft的修改版本。
- 为Minecraft重新混淆你的mod类。
您不得:
- 使用MCP做任何违反Mojangs Minecraft使用条款的事情。
- 发布Minecraft版本或修改,允许您在没有从Mojang购买Minecraft的情况下玩游戏。
- 在任何地方发布修改或未修改版本的MCP。
- 未经明确书面许可,使用任何MCP脚本、工具或数据文件。
- 使用基于MCP的任何东西赚钱(不包括使用MCP创建的Minecraft模组)。
- 使用MCP创建用于修复或利用服务器漏洞的客户端。
- 以任何方式发布Minecraft的反编译源代码。
先决条件:
==============
1.)安装Java SDK标准版(简称JDK)。
链接:http://www.oracle.com/technetwork/java/javase/downloads/
2.)将JDK和JRE bin文件夹的路径添加到环境变量PATH中。
说明在哪里找到变量:
http://www.java.com/en/download/help/path.xml
Windows用户必须添加到环境变量中的值(条目用“;”分隔):
你的目录\Java\jdk1.6.0_24\bin;你的目录\Java\jre6\bin
如何使用:
===========
1) 准备文件:
- 将“minecraft_server.1.12.jar”文件复制到“jars”文件夹中。
- 将“%APPDATA$.minecraft”文件夹中的“assets”、“libraries”和“version”文件夹复制到“jars”文件夹中,或者让反编译脚本自动为您完成。
- 无需再将文件夹“bin”和“resources”从“%APPDATA$.minecraft”文件夹复制到“jars”文件夹中——事实上,它不再以这种方式工作了。
2) 反编译和修补
- 启动此文件夹中的“反编译.bat”脚本。
3) 改装
- 修改“src\minecraft”文件夹或“src\mine craft_server”文件夹中的源代码。
4) 编译
- 启动此文件夹中的“repair.bat”脚本。
5) 测试
- 要测试修改后的游戏,请启动“startclient.bat”脚本
- 要测试修改后的服务器,请启动“startserver.bat”脚本
6) 混淆
- 解压缩代码,修改并重新编译。
- 启动“reobfuscate.bat”以启动reobfuscation步骤,它将自动检测更改的类并对其进行reobfuscate。
- 您的混淆类现在可以在“reobf\minecraft”和“reobf\minecraft_server”中使用,准备注入MC。
- 请确保删除minecraft.jar中的META-INF文件夹,否则游戏启动时将显示黑屏。
警告:
=========
- 再次运行“反编译.bat”之前,请确保备份修改过的源代码,否则所有更改都将丢失!
- “cleanup.bat”文件将删除大部分生成的文件和源代码。小心这个:)
3. 实际反编译步骤
- 在MCP解压好的目录mcp940\中recompile.bat批处理文件,出现提示如下:
- 运行MC启动器,启动待反编译版本的MC(这里是1.12),启动后直接关闭即可,以供bat文件定位MC的json配置文件