MCP-Reborn 模组开发完整实操指南:搭建环境、修改源码到发布自定义版本
【免费下载链接】MCP-RebornMCP-Reborn is an MCP (Mod Coder Pack) for Minecraft for making modded clients and researching its code. (1.13-26.2)项目地址: https://gitcode.com/gh_mirrors/mc/MCP-Reborn
你是不是也遇到过这种情况:想研究 Minecraft 客户端的内部实现,或者想打造一个属于自己的模组版本,却在官方繁琐的工具链面前败下阵来。MCP-Reborn 就是为这类需求而生的 MCP(Mod Coder Pack)工具包,它依托 MinecraftForge 团队的 MCPConfig 与 ForgeGradle 构建,把 1.13 到 26.1 各版本的游戏代码反混淆、反编译成可以直接阅读和修改的工程,再借助 Gradle 一气呵成地完成编译、运行与打包。这篇文章会带你从头到尾把整条流程走一遍,每一步都给出可直接照做的操作。
先说清楚:MCP-Reborn 解决的到底是哪类问题
Minecraft 的官方发布物是经过混淆处理的。所谓混淆,就是类名、方法名、字段名全部被替换成a、b、c这类无意义代号,直接翻开看根本读不懂。想做客户端层面的修改,第一步就得拿到"人话版本"的源码。
过去这件事相当难办:老一代 MCP 工具到 1.12.2 就停更了,新版本只能靠社区零散方案拼凑,映射表要靠手工维护,一换版本就要推倒重来。MCP-Reborn 的定位非常清晰——把"拿到可读源码"这件事标准化:
- 版本覆盖面广,从 1.13 一路支持到 26.1,无论你是守着老版本还是追新,都能开工;
- 映射数据跟随官方发布自动同步,省掉了手工维护映射表的苦差事;
- 与 Gradle 深度整合,反编译、编译、运行、打包全部收敛进同一套构建流程。
⚠️ 丑话说在前面:这套工具生成的所有代码,仅限个人学习与研究使用,禁止对外公开发布。项目自带的许可文件对此有明确的书面约束,动手之前请先把它读一遍。
动手之前:按目标版本选好对应的 JDK
不同年代的 Minecraft 对 Java 版本的要求差异很大,这是新手最容易踩的第一个坑。JDK 与版本区间的对应关系整理如下:
- 目标版本在 1.17 之前,需要准备JDK 16;
- 目标版本从 1.18 开始,要升级到JDK 17;
- 目标版本从 1.21 开始,要升级到JDK 21;
- 目标版本从 26.1 开始,要升级到JDK 25。
装好后先在终端敲一句java -version,确认输出的版本号与上表吻合再继续,版本对不上,编译阶段会直接报错。
IDE 方面推荐 IntelliJ IDEA,后面介绍的操作都以它为例。整篇文章的核心节奏可以概括为:配好 JDK → 初始化源码 → 改代码 → 跑测试 → 出 JAR → 包装成自定义版本。
初始化环境:让 setup 任务替你完成最重的活
先把项目拉到本地:
git clone https://gitcode.com/gh_mirrors/mc/MCP-Reborn cd MCP-Reborn然后用 IntelliJ 打开项目根目录,Gradle 会自动识别工程结构。如果右侧看不到任务列表,通过View > Tool Windows > Gradle调出 Gradle 工具窗口。
接下来执行全流程中最关键的一步——在 mcp 子项目下运行setup任务:
./gradlew setup这一步会联网下载对应版本的客户端与服务端 JAR,然后完成反混淆和反编译。首次执行耗时较长,通常在 10 到 30 分钟之间,具体取决于网络状况。项目在gradle.properties里预设了 6G 堆内存,正是为了应对反编译这种吃内存的环节,不建议手动调低。
任务跑完后,项目根目录下会出现一个src文件夹,里面就是可以正常阅读的 Java 源码。从这一刻起,你面对的不再是天书一样的混淆代码,而是结构清晰、可以直接下手的工程。
日常开发循环:改代码、跑测试、出 JAR 三步走
拿到源码之后,开发流程变得非常直观,核心只有三个环节。
第一步,动手改代码。直接修改src下的源码即可。想研究哪块逻辑就从哪块入手,比如你好奇村民的交易机制,就定位到相关类仔细阅读、按需修改。
第二步,验证效果。回到 Gradle 任务列表,在 mcp 下运行runclient,它会重新编译整个游戏并启动一个测试客户端。改完代码想看效果,重复这一步就行。嫌每次找任务麻烦的话,项目会自动生成一个名为Minecraft的运行配置,在 IntelliJ 里直接点运行同样能拉起客户端,代码改动后再点一次即可热测。
第三步,产出产物。确认一切正常后运行build任务,构建结果会输出到build/libs/目录下,是一个可执行的 JAR 文件。
这里把常用任务汇总成一张速查清单,方便随时翻阅:
setup:初始化环境,生成反编译源码;runclient:编译并启动测试客户端;build:编译整个项目并产出可分发 JAR;clean:清理上一次的构建缓存;tasks:列出当前可用的全部 Gradle 任务。
发布清单:把 JAR 变成启动器里可选的自定义版本
build产出的 JAR 还不能直接被启动器使用,需要经过一次"包装"。整个过程拆成六步,按顺序执行基本不会出错。
第一步,建目录。定位本机的 Minecraft 版本目录,Linux 下默认在~/.minecraft/versions,Windows 则在AppData/Roaming/.minecraft/versions。找到你修改的那个版本对应的文件夹——比如基于 1.20.1 做的修改——就复制整个1.20.1文件夹,然后重命名为你喜欢的名字,例如1.20.1_my_client。
第二步,换名字。进入新文件夹,把里面的原版 JAR 删掉,再把 JSON 文件改名为与文件夹一致,即1.20.1_my_client.json。
第三步,改 JSON。用文本编辑器打开这个 JSON,定位到downloads字段。它负责告诉启动器去哪里下载游戏本体,留着它启动器会拉取原版文件,你的修改就白做了。把downloads下包含 client、server、server_mappings 的一整段全部删除,随后把id字段的值改成文件夹名1.20.1_my_client。
第四步,放 JAR。把build/libs/里生成的 JAR 复制进这个文件夹,同样改名为1.20.1_my_client.jar。
第五步,补资源。用压缩软件同时打开原版 JAR 和新 JAR,从原版里拷贝四样东西进新 JAR:assets目录、data目录、pack.png和pack.mcmeta。缺了它们,游戏运行时会直接崩溃。
第六步,清签名。仍然在压缩软件里,把新 JAR 中的META-INF文件夹整个删除,否则签名冲突会阻止游戏启动。
全部就绪后,重启启动器,在 Installations 页面新建一个安装项,版本下拉框中选择刚才做好的自定义版本,点击 Play 就能看到你的改造成果了。
排错手册:几个高频报错一次说清
问得最多的几个问题,这里统一给出排查思路。
报错Unsupported class file major version 61:意思是当前编译器与 JDK 版本不匹配。检查 IntelliJ 的 Project Structure 中 Project SDK 设置,确保与目标版本的要求一致。
报错ResourceLocationException: Non [a-z0-9/._-] character in path:说明资源路径里混入了非法字符,多半是assets目录没复制完整,或者复制过程中文件缺失损坏。回到发布环节的第五步重新核对。
依赖下载超时,报Could not resolve ...之类的错误:通常是网络问题。可以在构建配置中补充国内镜像仓库(例如阿里云公共仓库),配合 MinecraftForge 官方仓库一起使用,下载速度会有明显改善。
能编译但启动即崩溃:优先怀疑资源文件不齐全或签名未清理干净,对照发布清单逐项检查,多数情况下能找到症结。
进阶方向:提升体验的两个实用技巧
日常开发里,不少玩家会想加上 OptiFine 这类性能优化模组。做法是把对应版本的 OptiFine JAR 下载到本地,在构建配置的依赖中以文件方式引入,例如implementation files('libs/OptiFine.jar'),再按官方流程完成安装整合即可。
想真正用好这套工具,建议顺着下面这条路线深入学习:
- 从
net.minecraft.client包入手,熟悉客户端核心类的组织方式; - 学习 Forge 的事件系统,理解
@SubscribeEvent这类注解的触发机制; - 掌握 NBT 数据格式,这是实体与方块状态存储的基础;
- 研究渲染管线,尤其是 1.19 之后 RenderSystem 相关的重构。
小结
MCP-Reborn 的价值在于,它把"拿到可读源码 → 修改 → 编译 → 运行 → 打包"这条链路收敛进一套 Gradle 流程,版本跨度大、上手路径短。对想做客户端研究的新手来说,它是目前最省事的起点之一;对需要跨版本维护的老手来说,也能省掉大量重复配置的时间。
照本文的顺序走一遍,从环境初始化到自定义版本发布,你就能拥有一条完整可用的开发链路。剩下的,就交给你的想象力了。
【免费下载链接】MCP-RebornMCP-Reborn is an MCP (Mod Coder Pack) for Minecraft for making modded clients and researching its code. (1.13-26.2)项目地址: https://gitcode.com/gh_mirrors/mc/MCP-Reborn
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考