
HUD路由器
允许多个模组同时显示其HUD。作为MultipleHUD的即插即用替代品,具有完全向后兼容性。为开发者提供简单API,玩家无需配置。
HUDRouter
HUDRouter 是作为 MultipleHUD 的现代替代方案而创建的,其设计重点在于更清晰的架构、更便捷的可扩展性以及完全的向后兼容性。
它的作用
Hytale 只允许每个玩家拥有一个自定义 HUD。如果您有多个模组都想要显示它们自己的 HUD(例如 AscendRPG、BetterMap、EasyHunger),则只有最后一个模组的 HUD 会生效。HUDRouter 将它们全部合并到一个 HUD 中,这样每个模组都可以同时显示其界面。
安装方法
- 从 Releases 下载
HUDRouter-X.X.X.jar - 将其放入您的
UserData/Mods/文件夹中 - 移除
MultipleHUD-x.x.x.jar(如果您有的话) - 完成 - 无需配置,所有现有模组将自动正常工作
面向开发者
现有的 MultipleHUD 模组
无需修改代码。HUDRouter 包含一个兼容层 - 所有 MultipleHUD.getInstance().setCustomHud() 调用都会自动正常工作。
新模组(反射 - 推荐方式)
所有 API 方法均为 静态 方法。无需编译时依赖:
try {
Class<?> router = Class.forName("com.hudrouter.HudRouterPlugin");
Method setHud = router.getMethod("setChannelHud",
Player.class, PlayerRef.class, String.class, CustomUIHud.class);
setHud.invoke(null, player, playerRef, "MyMod", myHud);
} catch (ClassNotFoundException e) {
// HUDRouter 未安装 - 回退方案
player.getHudManager().setCustomHud(playerRef, myHud);
}
可用的静态方法
// 注册 / 更新
HudRouterPlugin.setChannelHud(player, playerRef, "MyMod", myHud);
HudRouterPlugin.setChannelHud(player, playerRef, "MyMod", myHud, 10); // 带优先级
// 移除
HudRouterPlugin.removeChannelHud(player, "MyMod");
// 查询
HudRouterPlugin.getActiveChannels(player);
HudRouterPlugin.hasChannel(player, "MyMod");
HudRouterPlugin.getChannelCount(player);
可选清单条目
{
"OptionalDependencies": {
"com.hudrouter:HUDRouter": "*"
}
}
贡献 / 源代码
完整源代码可在 GitHub 上获取:
https://github.com/Alien4042x/Hytale-HUDRouter-Mod
如果您想改进路由器、修复错误或扩展功能,欢迎提交 Issue 或 Pull Request。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。