Skip to content
On this page

认识自动替换

自动替换用于接管玩家原本会看到的生存背包或箱子界面。它最重要的用途,是美化已经存在的第三方插件菜单:插件继续创建原版箱子、摆放菜单物品并监听库存事件,ChaUI 根据页面规则自动替换外观。

第三方插件不需要调用 ChaUI API,也不需要知道页面 ID。管理员只要制作并保存替换页面,玩家下一次打开匹配容器时就会自动看到新界面。

当前支持范围

目标target当前范围
生存背包player_inventory生存模式玩家背包,包括背包、主副手、盔甲和合成区域。
通用箱子chest顶部区域为 1 至 6 行的通用箱子界面,包括许多插件创建的菜单。

创造模式背包、熔炉、铁砧、锻造台和村民交易等专用界面不属于第一版自动替换范围。未支持的界面会继续显示原版页面。

一次打开会发生什么

  1. 玩家或第三方插件打开原版背包/箱子。
  2. 客户端用标题、行数和优先级寻找候选页面。
  3. 服务端根据玩家当前真实容器再次确认。
  4. 确认成功后,ChaUI 页面接管绘制、布局、组件命中和页面生命周期。
  5. 原版容器继续负责物品、光标、拖拽、网络同步和 Bukkit 库存事件。

因此,替换页面不是把第三方菜单复制成另一份虚拟菜单。它更像给当前真实容器换了一套皮肤和交互布局。

与普通 ChaUI 页面有什么不同

普通页面容器替换页面
由页面打开入口或业务 API 打开。打开匹配原版容器时自动出现。
普通物品槽通过 ChaUI 槽位服务端裁决。containerBinding 绑定的物品槽委托当前原版容器。
按钮脚本通常直接执行页面动作。绑定按钮先点击原版槽位,再执行自己的点击脚本。
页面关闭只结束 ChaUI 页面。页面与原版容器一起关闭,或在 reload 时原地重新匹配。

推荐学习顺序

  1. 先完成替换第一个箱子界面
  2. 箱子匹配规则为不同插件菜单分配页面。
  3. 槽位、按钮与物品信息映射插件按钮和 Lore。
  4. 需要重做生存背包时阅读替换玩家背包
  5. 上线前检查安全回退与排错

安全边界

客户端只负责显示与提交原版容器操作,不能凭页面内容决定服务端物品。服务端会确认玩家当前容器、页面规则和会话身份。页面不匹配、配置冲突、版本不一致或确认失败时,ChaUI 会保留或恢复原版界面,避免玩家被困在无法操作的页面中。