跳到主要内容

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 的大部分方法需要在主线程调用(涉及玩家操作的方法)。查询类方法(如 getShopgetTransactions)可在异步线程安全调用。