![亚历克的径向菜单![测试版]](https://cdn8.newbeebox.com/nbbnext/2026/06/16/9016644d7d1f41c187065759704fe821.png)
亚历克的径向菜单![测试版]
Hytale 的独立径向菜单框架模组。
查看大图Alec 的径向菜单
Hytale 的独立径向菜单框架模组。
V1 范围
- 资产驱动的径向菜单,位于
Server/RadialMenu/Menus/*.json - 菜单标识为资产键(文件/路径键)。
RadialMenuConfig没有Id字段。 - 物品交互入口点:
Type: "RadialMenuInteraction" - API 入口点:
RadialMenuApi - 内置的选项操作类型:
ExecuteCommandInvokeRegisteredAction
- 执行模式:
SelectAndArm(菜单点击仅选择;通过ExecuteSelected执行)SelectAndRun(菜单点击立即执行并更新选择)
RadialMenuConfig 字段
Enabled(默认true)ItemIds[](菜单可根据手持物品 ID 自动解析)ExecutionMode(默认SelectAndArm)DefaultOptionId(可选)Options[](必需,1..8)Visual(可选,默认为向量模式)
Visual 字段
RenderMode:Vector(默认)或TextureGeometry:OuterDiameterPxInnerDiameterPxLabelRadiusPxCenterDiameterPx
BorderThicknessPxLabel.FontSizeStates:Default、Hover、Pressed、Selected、Disabled- 每个状态支持
FillColor、TextColor、BorderColor
TextureSet:Preset(LegacyDefault)Prefix(使用相同命名规则的自定义纹理集路径)
选项类型
ExecuteCommandId,可选的Label/LabelKey,Command,可选的VisualOverride
InvokeRegisteredActionId,可选的Label/LabelKey,ActionId,可选的Payload,可选的VisualOverride
VisualOverride 字段(选项)
LabelFontSize(可选)States(可选的部分状态/颜色覆盖)
交互用法
RadialMenuInteraction 支持:
MenuId(可选的菜单键覆盖)CommandId(OpenMenu或ExecuteSelected)ExecutionMode(可选的每绑定模式覆盖)
包含示例物品:
Server/Item/Items/Commands/Alec_Radial_Menu_Example.json
API 用法
从另一个模组中调用:
RadialMenuApi api = RadialMenuMod.getApiInstance();
if (api != null) {
AutoCloseable registration = api.registerActionHandler("Example.Ping", context -> {
// 自定义操作逻辑
return true;
});
// 可选直接控制:
// api.openMenu(player, "menus/example");
// api.executeSelected(player, "menus/example");
}
构建
.\mvnw.cmd test
.\mvnw.cmd package
Maven 配置文件
# 构建 + 安装 jar 到 Server/mods 和 UserData/Mods
.\mvnw.cmd -Pinstall-plugin package
# 构建 + 安装 + 启动 Hytale 服务器
.\mvnw.cmd -Prun-server package
# 使用预发布安装路径(可与上述配置文件组合使用)
.\mvnw.cmd -Dprerelease=true -Pinstall-plugin package
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。