开发者指南总览
This content is not available in your language yet.
本部分面向模组作者,介绍如何为 Copper 编写模组。
本指南假定你已经具备 Mindustry 官方模组开发的基础,包括:
- 知道如何编写一个普通的 Mindustry Java 模组(
Mod子类、mod.hjson、loadContent()、content 定义等); - 会使用 Gradle 构建模组 Jar。
如果你还没有这些基础,请先学习 Mindustry 官方模组文档 与 MindustryJavaModTemplate。本指南不再重复讲解原版内容,只聚焦 Copper 的不同点与新特性。
建议阅读顺序
Section titled “建议阅读顺序”Copper 的模组模型由四层组成,请按顺序阅读:
- 快速开始:从官方模板起一个项目,构建、安装并在 IDEA 里调试。先把一个最小模组跑起来。
- 模组元数据:
copper.mod.json/copper.mod.hjson的完整语法。它与原版mod.hjson差异很大,必读。
- 主类与生命周期:
CopperMod继承自原版Mod,只做行为扩展。了解主类写法、静态bootstrap()与实例生命周期。 - 命名与映射:模组
id在原版模组系统里的名字,以及内容名、bundle 键与贴图文件名的对应关系。 - 数据、设置与本地化:配置文件、设置项、游戏内设置页面与多语言 bundle 的正确用法。
依赖与可见性
Section titled “依赖与可见性”- 版本、依赖与冲突:Copper 强化了版本控制——SemVer 表达式过滤器、字符串版本回退、显式冲突。必读。
- 类隔离机制:Copper 的容器与类加载模型,以及
exports/imports规则如何控制类可见性。
- Mixin 概述:Mixin 是什么、Copper 的 Mixin 体系长什么样。
- Mixin 入门教程:从零开始的教程,使用 Mindustry 实例讲解。
- 配置 JSON 详解:Copper 版 Mixin 配置的语法(与原版不同)。
- 与 Minecraft Mixin 的差异:本项目使用的修改版 Mixin 有哪些变化,哪些功能被裁剪。
- Mixin 示例 与 注解参考手册:熟练者的速查手册。
- 网络数据包:突破 Mindustry 256 个数据包上限的自定义网络数据包。
- 加载器命令行:直接运行桌面版加载器 Jar 的启动方式与完整参数参考。
- 启动报错:命令行启动时的报错对照与解决办法。
- Android(ART)平台:Android 端的工作方式——dex 缓存构建流程与对模组作者的影响。
- android-bridge 平台:在设备上起一个真 JVM 直接跑桌面版;含两条 Android 路线的选型对比。
- 收录到模组浏览器:把模组收进模组浏览器的条件、release 的发布规范,以及发版前的自检清单。
| 特性 | 说明 | 参考 |
|---|---|---|
| 全新元数据格式 | copper.mod.json / copper.mod.hjson,声明式依赖/冲突/Mixin | 模组元数据 |
| SemVer 版本过滤 | ^1.2.3、>=1.0.0 && <2.0.0 等表达式 | 版本、依赖与冲突 |
| 显式冲突 | 声明与哪些模组冲突 | 版本、依赖与冲突 |
| 类隔离 | 每个模组一个容器,exports/imports 控制可见性 | 类隔离机制 |
| 游戏内模组设置 | 模组设置统一收进「模组设置」页面,可绑定模组自己的设置文件 | 数据、设置与本地化 |
| Mixin 热修改 | 对游戏或模组字节码注入 | Mixin 概述 |
| 扩展网络数据包 | 数据包上限 256 扩展到 65536 | 网络数据包 |
| Android 支持 | 两条路线:ART 上跑 dex 缓存,或由桥起一个真 JVM 跑桌面版 | Android(ART)平台 · android-bridge 平台 |