
Origins JS
起源的KubeJS集成。
Origins JS
这是为 Origins (NeoForge) 开发的 KubeJS 集成,允许你通过 KubeJS 管理起源和能力。
注意:这是我第一次制作 KubeJS 附加组件,大部分代码由 DeepSeek 编写,我本人进行了审核。如果你认为某些 API 怪异或设计不佳,请告知我。
功能
- 起源和能力管理:通过 JS 脚本授予、撤销和检查起源/能力。
- 自定义动作:在 JavaScript 中定义
EntityAction、BlockAction、ItemAction、BiEntityAction。 - 自定义条件:在 JavaScript 中定义
EntityCondition、BlockCondition、ItemCondition、BiEntityCondition、BiomeCondition、DamageCondition、FluidCondition。 - 自定义能力:使用 JS 回调创建完全脚本化的能力类型 (
grant、revoke、tick、active、inactive)。 - 数据驱动:所有自定义类型都可以在 JSON 数据包中使用
origins_js:命名空间引用。 - 参数支持:从 JSON 向 JS 回调传递自定义参数,实现动态行为和高复用性。
- PowerHelper 集成:公开新的
PowerHelperAPI,用于能力查询(hasActive、toggle)以及高级能力数据(Resource、Cooldown、EntitySet)。
依赖项
快速开始
1. 安装所有依赖项,然后将你的 .js 脚本放入 kubejs/server_scripts/ 目录。
2. 基本用法
// 推荐:使用 HelperWrapper(基于新的 PowerHelper API)
let helper = OriginsJS.getHelper(event.player);
// 授予 / 撤销能力和管理起源(HolderWrapper 同样可用)
let holder = OriginsJS.getHolder(event.player);
holder.grantPower("origins:origin", "origins:fire_immunity");
holder.setOrigin("origins:origin", "origins:human");
// 活跃状态
helper.anyActive(); // 是否有任何能力激活?
helper.hasActive("origins:climbing"); // 特定能力是否激活?
helper.toggle("primary"); // 按键切换
// 对激活能力执行回调
helper.execute("origins:climbing", (holderRef, power) => {
holderRef.getEntity().tell("Climbing!");
});
// 修改基础值(用于修饰符能力)
let modified = helper.modifyDouble("origins:modify_attribute", 10.0);
// 资源 / 冷却 / 实体集(也通过 helper)
helper.setResource("origins:climbing", 20);
helper.startCooldown("origins:fireball");
helper.addToEntitySet("mypack:friends", event.player.getStringUuid());
更多示例(包括自定义动作、条件和能力)请参见示例页面。
文档
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。