MenuKit

MenuKit

针对Fabric模组的UI库 — 包括HUD面板、小部件、布局、区域锚定、模态叠加。仅用于客户端。

基础库

MenuKit

MenuKit 是一个适用于 Fabric 模组的客户端 UI 库。它提供可复用的界面组件及其屏幕显示系统,让模组能够构建菜单、HUD 覆盖层和游戏内界面,无需从头编写 Minecraft 界面代码。

组件:按钮、开关、复选框、单选按钮、滑块、下拉菜单(单选与多选)、文本字段、标签、工具提示、图标、物品展示、进度条、分隔线和滚动容器。

功能特性:

  • 使用同一套组件在四种场景中显示 UI:HUD、原版菜单界面、命名槽组和独立界面。
  • 将组件分组为面板,每个面板作为独立区域进行渲染、接收输入,并可整体显示或隐藏。
  • 根据屏幕区域自动定位面板,并自动调整尺寸以适应不同 GUI 缩放比例,必要时支持自动换行与滚动。
  • 允许多个模组在同一屏幕上添加 UI 而不产生冲突:不同模组的组件会干净注册并共存(共享区域的面板按顺序堆叠而非重叠),因此基于 MenuKit 构建的模组之间保持兼容。
  • 向所有 MenuKit 使用者暴露通过 MenuKit: Containers 创建的槽位,使模组不仅能读取自身槽位,还能访问其他模组的自定义槽位。
  • 管理模态弹窗、禁止点击穿透、支持合成书识别,并保持光标在屏幕切换时的稳定性。

MenuKit 仅限客户端使用,以基本组件形式提供功能而非接管 Minecraft 的 UI。其类型均为原版类型(MenuKit 的槽位是真实 Slot),因此可与其他模组共存。需要 Fabric 环境。如需自定义容器菜单和带服务器同步状态的槽位,请添加 MenuKit: Containers。

安装

repositories {
    maven { url 'https://api.modrinth.com/maven' }
}
dependencies {
    modImplementation 'maven.modrinth:menukit:2.0.0'
}

在 fabric.mod.json 中声明依赖:

"depends": { "menukit": "*" }

工作示例

MenuKit 的验证模组是权威参考示例,包含每个基本组件的真实可编译用法。完整 API 文档见 Javadoc。

许可证

MIT。详见 LICENSE 文件。

问题反馈

github.com/trevorschoeny/menukit/issues