开发者概览
Suite 第三方模块开发入门——环境准备、SDK 获取、开发路线与文档索引。
开发者概览
本章面向第三方模块开发者与需要集成自定义模块的服主。你可以基于公开 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 包——这些内部类不对外开放,引用会导致模块加载失败或版本不兼容。
文档索引
| 文档 | 内容 |
|---|---|
| 开发第三方模块 | 项目结构、Gradle、module.yml、AbstractAXSModule、UI 绑定、客户端包、子命令 |
| 使用第三方模块 | 服主安装、启用、热加载、依赖与常见问题 |
| Capability 详解 | 内置能力表、提供方/使用方完整示例 |
| 模块生命周期 API | AXSModule / AbstractAXSModule 接口说明 |
| ModuleContext | 桥接、跨服、资源导出等上下文 API |
| Capability API | 各内置 Capability 接口方法签名 |
与官方模块的关系
AXS 自带 30 个官方模块(Title、Mail、Chat 等),第三方模块与它们使用相同的使用方式:
- 同样放在
modules/目录(或由云端下发)。 - 同样通过
ModuleContext获取桥接。 - 同样通过 Capability 暴露能力供其他模块调用。