ArcartXLinkManager:第三方桥接
第三方插件桥接API
ArcartXLinkManager
- 第三方桥接管理器允许你为ArcartX注册自定义的属性系统、经济系统、物品系统和PlaceholderAPI变量。
ArcartXLinkManager是一个 Kotlinobject单例。在 Kotlin 中直接以ArcartXLinkManager.xxx()调用;在 Java 中通过ArcartXLinkManager.INSTANCE.xxx()调用。
属性系统
registerAttributeProvider(attributeProvider)
- 注册一个属性提供者
- 参数:
attributeProvider: AttributeProvider — 属性提供者实例 - 返回值:无
- 调用示例
getAttributeProvider(name)
- 获取指定名称的属性提供者
- 参数:
name: String — 提供者标识 - 返回值:
AttributeProvider?— 未找到时为 null
AttributeProvider 接口:
经济系统
registerEconomyProvider(economyProvider)
- 注册一个经济提供者
- 参数:
economyProvider: EconomyProvider — 经济提供者实例 - 返回值:无
- 调用示例
getEconomyProvider(name)
- 获取指定名称的经济提供者
- 参数:
name: String — 提供者标识 - 返回值:
EconomyProvider?— 未找到时为 null
EconomyProvider 接口:
Rondo 内置兼容
服务端安装并启用 Rondo 时,ArcartX 会在启动阶段为 Rondo 当前注册的每一种货币创建一个经济提供者。提供者标识就是 Rondo 的规范小写货币 ID:
- 展示名默认读取 Rondo 的货币
display-name;plugins/ArcartX/link/economy.yml中的同名配置仍可覆盖。 - 存入和扣除分别调用 Rondo 的原子
deposit、withdrawAPI,交易来源记录为arcartx:link。 EconomyProvider使用double,Rondo 会再按对应货币的小数位规则归一金额;NaN和无穷大金额会被拒绝。- 新增或移除货币 ID 后需要完整重启服务端,使 ArcartX 重新建立提供者列表。只调整已有 ID 的展示名或余额规则时,Rondo 当前配置会在后续调用中生效。
物品系统
registerItemProvider(itemProvider)
- 注册一个物品提供者
- 参数:
itemProvider: ItemProvider — 物品提供者实例 - 返回值:无
- 调用示例
getItemProvider(name)
- 获取指定名称的物品提供者
- 参数:
name: String — 提供者标识 - 返回值:
ItemProvider?— 未找到时为 null
ItemProvider 接口:
Overture 内置兼容
服务端同时安装并启用 Overture 时,ArcartX 会注册标识严格为 Overture 的物品提供者:
- 名称查找区分大小写,必须写成
Overture。 - 未知物品 ID 或 Overture 构建取消时返回
null。 ItemProvider只有物品 ID 参数,因此该桥接按player = null生成。需要玩家参与条件展示或渲染时,应直接调用OvertureAPI.generateItem(id, player)。- 提供者只负责生成物品;ArcartX 特殊 Tag 的 Overture 配置方式见 Overture 兼容。
PlaceholderAPI
registerPlaceholder(placeholder)
- 注册一个ArcartX PlaceholderAPI变量
- 参数:
placeholder: AXPlaceholder — 变量实例 - 返回值:无
- 调用示例
需要服务端安装PlaceholderAPI插件才能使用此功能。
unregisterPlaceholder(placeholder)
- 注销一个PlaceholderAPI变量
- 参数:
placeholder: AXPlaceholder — 变量实例 - 返回值:无
- 调用示例
AXPlaceholder 抽象类:
- 继承此类并使用
@Placeholder注解标记方法即可注册变量 - 方法参数为
PlaceholderContext,返回值为String - 使用
@PlaceholderArgs注解声明参数
