KuksoHyLib

KuksoHyLib

Hytale Mods生态系统的核心库。

图书馆

Wabbanode 广告横幅

"kukso-hy-lib" 是 Kukso Hytale Mods 生态系统的核心库。它提供了简化 Hytale Mod 开发的基础工具和模块。该库没有为每个 Mod 重新造轮子,而是针对常见的 Modding 需求提供经过实战检验的解决方案。

特性

本地化模块

基于玩家客户端语言设置的多语言支持。

import com.kukso.hy.lib.locale.LocaleMan;

// 基本用法——自动使用玩家的语言
Message msg = LocaleMan.get(playerRef, "messages.welcome");
player.sendMessage(msg);

// 带占位符
Message msg = LocaleMan.get(playerRef, "messages.welcome",
    Map.of("player", player.getUsername()));

// 为特定语言获取原始字符串
String text = LocaleMan.getRaw("en_US", "messages.welcome");

// 检查已加载的语言
Set loaded = LocaleMan.getLoadedLocales();

语言文件示例(locales/en_US.json):

{
  "prefix": "&e[MyPlugin]&r",
  "messages": {
    "welcome": "&a欢迎,&e{player}&a!",
    "goodbye": "&7再见,&e{player}&7!"
  },
  "errors": {
    "no_permission": "&c你没有权限执行此操作。",
    "not_enough_coins": "&c你需要 {required} 个硬币。你当前有 {current} 个。"
  }
}

功能:

  • 基于 JSON 的语言文件(无外部依赖)
  • 使用 {placeholder} 语法自动解析占位符
  • 从客户端设置检测玩家语言
  • 回退链:玩家语言环境 → 默认语言环境(en_US)→ 键名
  • 支持并发访问,线程安全
  • 通过 /kuksolib reload 热重载
  • 翻译中的颜色代码支持(与 ColorMan 集成)

注意:Hytale 在早期测试阶段仅支持英文。


聊天颜色模块

将 Minecraft 风格的颜色代码转换为 Hytale 的 Message 格式。

import com.kukso.hy.lib.util.ColorMan;

// 基本颜色代码——返回 Hytale Message 对象
Message msg = ColorMan.translate("&a绿色 &b青色 &c红色");

// 一条消息中支持多种颜色
Message msg = ColorMan.translate("&4Hel&clo &bWo&1rld!");
// 结果:"Hel" 深红色,"lo " 红色,"Wo" 青色,"rld!" 深蓝色

// 十六进制颜色支持
Message msg = ColorMan.translate("&#FF5733这是橙色!");

// 格式代码
Message msg = ColorMan.translate("&l&4粗体红色 &r&o斜体白色");

// 与本地化结合使用
Message msg = LocaleMan.get(player, "messages.welcome"); // 已包含颜色!

player.sendMessage(msg);

支持的代码:

  • 传统颜色:&0-9&a-f(标准 16 种 Minecraft 颜色)
  • 十六进制颜色:&#RRGGBB(例如 &#FF5733
  • 粗体:&l
  • 斜体:&o
  • 重置:&r(重置颜色和格式)

功能:

  • 完整的传统颜色代码支持
  • 十六进制颜色支持自定义颜色
  • 一条消息中支持多种颜色
  • 格式代码(粗体、斜体)
  • 与 LocaleMan 无缝集成
  • 返回原生的 Hytale Message 对象

注意:下划线(&n)、删除线(&m)和混淆(&k)不受 Hytale 的 Message API 支持。