Skip to content

KubeJS Getting Started zh

hp-1e edited this page Oct 25, 2026 · 1 revision

English | 中文

入门

环境要求

  • 对应 Minecraft 版本的 Skill Atlas。
  • 同一 Minecraft 版本的 KubeJS,以及 KubeJS 自身需要的依赖(Rhino;1.20.1 另需 Architectury)。

不需要其他东西。集成代码就在 Skill Atlas 的 JAR 里,只有加载了 KubeJS 时才会启用。

建议服务端和客户端都安装 Skill Atlas 与 KubeJS:

  • 服务端脚本(kubejs/server_scripts)需要服务端装 KubeJS。
  • 动态费用报价、脚本追加的提示行、导航请求还需要客户端也启用集成。
  • 装了 KubeJS 的客户端仍然可以进入没装 KubeJS 的服务器,反过来也可以。集成的网络频道是可选的,一端缺失不会阻止连接,只是这种情况下脚本功能不可用。

脚本入口

名称 端 目录
SkillAtlasEvents 服务端事件组 kubejs/server_scripts
SkillAtlas 服务端全局绑定 kubejs/server_scripts
SkillAtlasClientEvents 客户端事件组 kubejs/client_scripts
SkillAtlasClient 客户端全局绑定 kubejs/client_scripts

服务端调用必须在服务端主线程执行,并且只能操作在线玩家。不要在异步 HTTP 回调里直接调用,应先用所用 KubeJS 版本的调度 API 切回服务端线程。客户端调用必须在游戏主线程执行。

不要在玩家下线或服务器重载之后继续使用之前取得的 SkillAtlas.player(player) 助手。

ID 规则

  • 技能、分类、点数池 ID:1–64 个字符,只能用小写字母、数字、_、.、-,不能有冒号。
  • 互斥组 ID 规则相同。
  • 物品、属性、效果 ID 带命名空间,例如 minecraft:diamond。
  • 自定义条件、奖励、行为获取类型的 ID 必须带命名空间,例如 pack:quest_gate。

属性 ID 以目标 Minecraft 版本为准。例如最大生命值在 1.20.1 和 1.21.1 是 minecraft:generic.max_health,在 26.1.2 是 minecraft:max_health。

从独立附属迁移

  1. 从服务端和所有客户端的 mods 中删除旧的 skill_atlas_kubejs JAR。
  2. 更新 Skill Atlas。
  3. 脚本不用改。绑定名、事件名和已保存的 skill_atlas_kubejs 附属数据都保持不变。

如果旧附属还在,Skill Atlas 会检测到它,停用内置集成并在日志里给出警告,保证两者不会同时生效。删除旧 JAR 后即改用内置版本。

Clone this wiki locally