安装自己的主题
- 取得合法的 ItemsAdder v4 运行插件和配套 ProtocolLib,确认支持目标服务器;已有代表组合见兼容说明。仅有 API JAR 不能运行。
- 按主题说明安装其独立 ItemsAdder 命名空间,将 KiteMarket 主题声明放入
plugins/KiteMarket/themes/*.yml。Java 主题还需安装提供者插件。可运行配置和 Java 示例见界面与第三方开发。 - 按实际 IA 指南手动
/iareload,等待加载完成,再/iazip重建和下发资源包;KiteMarket 不代替管理员执行第三方重建命令。 - 登记实际下发且包含主题的资源包的 SHA-1(40位十六进制)及 UUID。临时启用
gui.itemsadder.diagnostics: true并/km reload,可从[KITEMARKET_PACK]读取观察到的 UUID、SHA-1和 URL。登记后重新/km reload,再关闭诊断。 - 玩家成功加载指定包后使用
/km ui itemsadder example-ia,或配置该主题为默认后/km ui auto。用/km ui核对实际界面和回退原因。
example-ia 必须是已经安装的主题 ID;资源包身份占位值必须替换为实际观察值:
gui.default-themes: {}。第三方主题也可通过 requires 登记自己的包身份,详见开发指南。无效候选保留当前有效配置,主题无需登记 KiteMC 商品 ID 或下载端点。
入服后的自动下发
v1.1 的 Paper 1.21.11/Java 21/ItemsAdder 4.0.16 代表组合采用入服后下发。在plugins/ItemsAdder/config.yml 中设置:
/iareload,等待完成,再正常重新连接并成功加载资源包。此组合已确认自动下发后的配置主题和 Java 页面;入服前下发的完整身份关联尚未确认。未确认指定包时,KiteMarket 保留主题偏好并回退原版。
使用与回退
偏好按市场网络和玩家保存,换服保持一致;主题缺失或回退不覆盖原偏好。切换保留发布草稿,不重复提交交易。两种界面共用真实物品、订单版本、报价、最终背包重查和操作编号。
资源注册、适配器及玩家对指定资源包的成功加载都需就绪;发送或接受不等于加载成功。拒绝、失败、对应包丢弃/移除或不匹配时回退,无关资源包不清空 IA 就绪记录。断线、换节点、全量移除和 IA 重载后重新确认。更新内容需使用新的实际下发 UUID 和对应摘要,不能只在 KiteMarket 配置中生成随机 UUID,也不能给已登记 UUID 换摘要。
开发自己的界面
基础库存布局、共用页面和金额输入保留;开发者可使用自己的字体图片、按钮物品图标及逐页配置。SDK 的动作/输入仍接受服务端校验,不能以主题绕过确认或直接扣款。完整示例、页面/模板清单和生命周期说明见开发指南。覆盖完整页面与结果状态
自有主题可为整包、批量、容器、领取分类、业务条件、搜索收藏、订阅通知、风险复核、自动化和管理工具分别配置背景。单品出售显示单价与购买数量,整包显示总价和完整内容;批量页按独立订单呈现。费用与资产去向读取真实服务端快照,不由主题自行计算或改写。 继续使用54槽容器和默认36格列表,真实商品名称、附魔、Lore与数量保留。主题仅改变功能图标和背景;schema: 1 的 pages.<模板 ID>.state-font-images 可按服务端结果状态选择背景,未匹配时使用本页背景。
新增页应按页面与动作清单安装和核对。缺失资源、不可用页面或 Java 提供者卸载时回退原版,保留主题偏好与草稿。重载执行候选校验,错误模板不替换上一份有效配置。页面可用性、实际引擎兼容性与资源包就绪仍需分别确认。
迁移时保留主题声明、资源和玩家偏好,先备份再更新,见运维说明。公开示例的 MIT 许可仅覆盖示例内注明的源码与资源,其他主题遵循各自许可。