跳到正文

KubeJS Sanity

作者:PickAID

KubeJS 的兼容性测试

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

🧰 简介

为 Sanity 提供与 Kubejs 的集成。添加/修改 Sanity 的功能,让 KubeJS 用户能够更灵活地控制 Sanity。

🔧 已实现的功能

1. KJS 事件

SanityEvents.change(event => {
    // Access old and new sanity values
    let oldSanity = event.getPreviousSanity();
    let newSanity = event.getSanity();

    // Example: Apply effects or trigger custom logic
    if (newSanity <= 20) {
        event.getEntity().addPotionEffect('minecraft:nausea', 200, 1);
    }
});
SanityEvents.indicatorRender(event => {
    event.cancel();
})

2. Sanity 数值操作方法

此集成提供了多种方法,可有效管理理智值:

getSanity():返回当前理智值。

getPreviousSanity():返回变更前的理智值。

setSanity(value):将玩家的理智值设为指定数值(0-100)。

addSanity(value):按指定数值增加玩家的理智值。

player.getSanity():直接获取玩家的理智值。

3. 实用函数

此外,还提供了用于处理理智值相关数学运算的实用函数:

clampNorm(value):将数值归一化到 0 到 1 之间。

unclampNorm(normalizedValue):将归一化后的数值转换回易读的数值。

approximation(value, n):将数值截取到 n 位有效小数,便于精确计算理智值。

🔍 有待改进

添加更多事件,以便完整修改 Sanity 的 tickPlayer。

添加更多与渲染相关的事件,以便更好地控制渲染效果。

更多理智值来源:考虑扩展理智值操作,使其涵盖更多来源或条件,例如环境效果或与特定生物的互动。

🔄 后续改进

添加被动理智值来源(可能支持热重载?)。

根据玩家的理智值修改可见规则。

通过加入这些功能和潜在改进,面向 KubeJS 的 Sanity 集成旨在为开发者和玩家带来更丰富、更具互动性的模组体验。

> 如有任何问题,请加入我们的 Discord 服务器。

常见问题

KubeJS Sanity 支持哪些 Minecraft 版本?

KubeJS Sanity 支持 Minecraft Java 版 1.19.2–1.20.1,共 2 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

KubeJS Sanity 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

PickAID 的其他作品

查看全部 →