深色模式
GUI 与 ArcartX
鉴定、词条改造和宝石工作台各自维护两套前端:原版箱子 GUI 与 ArcartX。它们共用同一套服务端规则和事务提交,不复制玩法逻辑。
provider
三个 gui.yml 顶层都支持:
yaml
provider: auto| 值 | 行为 |
|---|---|
vanilla | 永远打开原版箱子 GUI |
arcartx | 必须使用 ArcartX;不可用/资源未就绪时明确拒绝,不静默回退 |
auto | 按玩家资源就绪状态选择 ArcartX,否则回退原版 |
“服务器安装了 ArcartX”不等于“该玩家资源已经就绪”。auto 是大多数服务器最安全的默认值。
原版 GUI 能做什么
- 鉴定:最多 21 件批量输入,全有或全无。
- 词条改造:装备输入、操作选择、词条/锁选择、分页、费用与结果预览、确认。
- 宝石工作台:装备/宝石输入、孔位和操作选择、分页、费用/概率/失败后果预览、确认。
原版箱子 GUI 没有网页式连续鼠标滚动区域;SealItems 用上一页/下一页实现分页,所以完整功能不依赖滚动容器。
GUI 配置的权限边界
gui.yml 只控制 rows、槽位、图标、名称、Lore、声音、消息和 provider。它不能改变真实费用、成功率、允许操作、随机结果或限制。即使客户端展示被篡改,服务端提交仍重新校验。
图标通常支持:
yaml
material: PAPER
name: '<yellow>确认'
lore:
- '<gray>费用:{cost}'
custom-model-data: 10001槽位必须位于 rows * 9 范围且互不冲突。可用 placeholder 以当前默认文件和编译错误为准,未知 placeholder 会被严格拒绝。
ArcartX 模板安装
SealItems JAR 内带三份模板:
text
arcartx/ui/sealitems_identification.yml
arcartx/ui/sealitems_modification.yml
arcartx/ui/sealitems_socket.yml启动后安装到 plugins/ArcartX/ui/。规则:
- 目标不存在时创建。
- 目标已存在时绝不覆盖。
- 新版本模板不同会写同名
.new。 - 服主比较旧文件与
.new,把自定义资源和新协议字段人工合并。 - 验证后删除已处理
.new,再重载/重启。
不要直接把 .new 重命名覆盖旧文件而不比较,否则会丢失服主自定义。
ArcartX 安全模型
客户端模板只回传固定 intent、sessionId 和 viewRevision。库存内容、候选、费用、余额、概率、随机、保底和提交结果都由服务端决定。过期 view、移动物品、规则变化或重复点击会以冲突/拒绝结束。
分别重载
text
/si reload gui
/si reload modification-gui
/si reload socket-ui显式 arcartx 时 UI 重载失败会报告不可用;auto/vanilla 仍可保持原版入口。业务规则分别用 identification、modification、sockets 重载。
排错顺序
/si health看 GUI 快照是否 published。- 检查
provider拼写。 - 确认 ArcartX 版本 2.5.36+。
- 检查三份模板和
.new。 - 确认玩家资源包/ArcartX readiness。
- 临时设
provider: vanilla验证服务端玩法链。 - 再切
auto,最后才用强制arcartx。