Malkuth API 概述
Malkuth 是一个全功能商城系统,提供完整的开发者 API,允许第三方插件与商城进行深度集成。
获取 API 实例
所有 API 方法通过 MalkuthAPI 接口暴露,入口为 Malkuth.api:
import kim.hhhhhy.malkuth.common.api.MalkuthAPI
val api: MalkuthAPI = Malkuth.api
依赖配置
从售后群获取 Malkuth-api.jar 文件,放入项目的 libs/ 目录:
Gradle (Kotlin DSL)
dependencies {
compileOnly(files("libs/Malkuth-api.jar"))
}
Maven
<dependency>
<groupId>kim.hhhhhy</groupId>
<artifactId>malkuth-api</artifactId>
<version>最新版本</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/Malkuth-api.jar</systemPath>
</dependency>
plugin.yml
depend: [Malkuth]
# 或软依赖
softdepend: [Malkuth]
API 模块一览
| 模块 | 说明 | 文档 |
|---|---|---|
| 商城核心 | 商店/商品查询、开启商店、购买记录、收藏、拍卖、仓库 | Shop API |
| 货币系统 | 自定义货币注册与余额查询 | Currency API |
| 物品源 | 自定义物品源注册与解析,30+ 内置物品源 | Item Source |
| 事件系统 | 14 个事件,覆盖购买/回收/出售/赠送/拍卖等全流程 | Events |
包结构
kim.hhhhhy.malkuth.common.api
├── MalkuthAPI // 核心 API 接口
├── item
│ ├── MalkuthItem // 物品源管理
│ ├── ItemSource // 物品源接口
│ └── BuildSourceItem // 物品构建结果
├── event
│ ├── PlayerOpenShopEvent
│ ├── PlayerPurchaseEvent
│ └── ... // 共 14 个事件
└── currency
└── ShopSerializer // 货币序列化
线程安全
Malkuth API 的大部分方法需要在主线程调用(涉及玩家操作的方法)。查询类方法(如 getShop、getTransactions)可在异步线程安全调用。