开发者概览
Suite 第三方模块开发入门——环境准备、SDK 获取、开发路线与文档索引。
开发者概览
本章面向第三方模块开发者与需要集成自定义模块的服主。Suite 采用「宿主 + 独立模块 Jar」架构:宿主只提供基础设施(桥接、模块加载、跨服、配置诊断),所有业务逻辑都在 modules/*.jar 中运行。你可以基于公开 API 编写自己的模块,也可以安装他人发布的模块 Jar。
核心概念
- 模块:实现
AXSModule或继承AbstractAXSModule的独立 Jar,通过module.yml声明入口类与依赖。 - ModuleContext:模块与宿主通信的唯一入口——取桥接 API、注册命令、注册 Capability,都通过它完成。
- Capability:AXS 推荐的跨模块调用方式。提供方注册接口实例,使用方按类型查找,避免模块之间直接
import实现类。
你是谁?读哪几篇
| 角色 | 目标 | 推荐阅读顺序 |
|---|---|---|
| 模块开发者 | 从零写一个 AXS 模块 | 开发第三方模块 → Capability 详解 → API 参考 |
| 模块开发者 | 调用官方模块(发称号、发邮件等) | Capability 详解 → Capability API |
| 服主 / 运维 | 安装他人模块、排错 | 使用第三方模块 |
开发路线图
- 获取
axs-api.jar:从 GitHub Releases 下载,或克隆仓库后./gradlew :axs-api:jar构建。 - 按 开发第三方模块 搭建项目并实现入口类。
- 若需调用 Title、Mail、EventPacket 等官方模块,阅读 Capability 详解。
- 构建 Jar → 放入
plugins/ArcartX-Suite/modules/→ 在config.yml启用 →/axs load <id>或重启。
环境搭建
| 项目 | 要求 |
|---|---|
| JDK | 17+ |
| 构建 | Gradle(推荐)或 Maven |
| 服务端 | 已安装 ArcartX 插件 + ArcartXSuite 宿主 |
| 客户端 | 玩家需安装 ArcartX 模组(UI/HUD/自定义包依赖客户端) |
| SDK | axs-api.jar(compileOnly 依赖) |
不要引用宿主实现
模块代码中只能 import xuanmo.arcartxsuite.api.*。不要 import xuanmo.arcartxsuite.bridge.* 或宿主 module 包——会导致 ClassLoader 隔离失败,且在不同版本间不兼容。
文档索引
| 文档 | 内容 |
|---|---|
| 开发第三方模块 | 项目结构、Gradle、module.yml、AbstractAXSModule、UI 绑定、客户端包、子命令 |
| 模块 Ed25519 签名 | 开发者生成密钥、签名 module.yml;服主配置公钥校验 |
| 使用第三方模块 | 服主安装、启用、热加载、依赖与签名、常见问题 |
| Capability 详解 | 原理、内置能力表、提供方/使用方完整示例 |
| 模块生命周期 API | AXSModule / AbstractAXSModule 接口说明 |
| ModuleContext | 桥接、跨服、资源导出等上下文 API |
| Capability API | 各内置 Capability 接口方法签名 |
与官方模块的关系
AXS 自带 29 个官方模块(Title、Mail、Chat 等),它们与第三方模块使用同一套加载机制:
- 同样放在
modules/(或云端下发到内存加载)。 - 同样通过
ModuleContext获取桥接。 - 同样通过 Capability 暴露能力供其他模块调用。
因此:你为服务器写的「小插件」,在架构上与 Title、Mail 是平级的——这正是 Suite(组曲)的设计。