全部项目
2026持续维护

Bento

面向 Paper / Spigot / Folia 的 YAML 菜单框架,把 GUI 逻辑从代码里抽出来。

  • Java
  • Paper API
  • YAML
  • Folia

背景

服务器里的菜单会越来越多:主菜单、商店、传送、活动、管理面板。如果每个菜单都写一遍 inventory 逻辑,改一次文案就要重新编译、重新发版。

Bento 想解决的就是这件事:用 YAML 描述菜单,把布局、图标、点击动作从 Java 代码里拆出来。

做法

  • 一个 YAML 文件描述整个菜单:行数、槽位、物品、模型数据、点击动作;
  • 支持 Paper、Spigot、Folia,兼容 1.18 到 26.x;
  • 提供可运行的示例 addon,MIT 协议;
  • 菜单渲染与点击处理尽量不产生整包刷新,减少无意义的物品更新。

性能

在 4 核 / 8 GB 的测试机上,用 200 个 mineflayer bot 做的保守测试:

  • 200 名玩家同时打开菜单:TPS 稳定在 20.00;
  • 30 秒内 2,225 次随机点击:TPS 19.25–20.00;
  • 平均点击处理 0.061 ms,平均渲染 4.00 ms;
  • 5,632 次渲染产生 38,680 次物品更新,没有整包刷新。

已知限制

混合端(Mohist、Arclight)只做尽力兼容;Folia 的区域调度在混合端可能表现不同;26.3 目前只验证到启动与插件启用。资源包需要服主自行分发,插件只提供模型数据。

链接