跳到正文

Out of Combat

为 Minecraft 添加简单且易于配置的脱战机制。

收藏

介绍

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

脱离战斗


概览

Out of Combat 模组。

支持几乎所有主要版本,包括 1.12.2、1.16.1-1.16.5、1.18-1.18.2、1.20.1、1.20.6。

顾名思义,它为 Minecraft 添加了简单且易于配置的脱离战斗机制。

简单是指它的逻辑和机制都很简单:

(T1, T2, T3 是独立变量,表示 Minecraft 游戏刻的数量)

  1. 检测玩家在一段时间内是否没有攻击T1/是否没有受到伤害T2。

  2. 如果玩家既有一段时间没有攻击T1,也有一段时间没有受到伤害T2,就开始计算脱离战斗时间。

    如果玩家攻击或受到伤害,就清除对应的计时器和脱离战斗计时器。

  3. 如果脱离战斗时间超过T3,玩家就视为脱离战斗。

通过事件更新的 3 个 NBT 标签充当计时器,以实现上述逻辑。

此外,还有一个额外的倒计时计时器,可以暂停脱离战斗计时器的计时,但不会将其清零。它可以用于其他战斗机制。

例如,假设玩家可以在你的整合包中获得类似“无敌”的能力。激活这些能力时,玩家可能仍处于战斗中,但不会受到伤害。如果你希望实现这种效果,可以让这个倒计时计时器按能力持续时间倒数。这样,脱离战斗计时器会等待能力结束,然后继续计时。

使用文档

配置文件

 

1.12.2 版本: config/out_of_combat.cfg (GitHub)

1.16.x 版本: config/out_of_combat-common.toml (GitHub)

1.18+ 版本: config/out_of_combat-common.toml (GitHub)

文件中的注释提供了详细说明。

默认值都设得很大,这意味着在修改配置文件之前,这个模组不会生效。

NBT 名称与结构

以下 4 个 NBT 标签保存在玩家的持久化数据中:ForgeData/PlayerPersisted其结构如下。

ForgeData: {
    PlayerPersisted: {
        out_of_combat: {
            noAttackingTime: 0L         // No Attacking Timer
            noAttackedTime: 0L          // Not Being Damaged Timer
            stopOutOfCombatTimer: 0L    // Countdown. Before This is count to 0, Out-of-Combat timer will not tick.
            outOfCombatTime: 0L         // Out of Combat Timer
        }
    }
}

这意味着你可以轻松使用自己的模组、CraftTweaker/KubeJS 脚本或其他类似脚本来修改它们各自的值。

无需复杂的 API 或特殊的集成/兼容支持。


未来计划

支持其他 Minecraft 版本。

常见问题

Out of Combat 支持哪些 Minecraft 版本?

Out of Combat 支持 Minecraft Java 版 1.12.2–1.20.6,共 11 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Out of Combat 怎么安装?

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

评论

登录后评论和评分

RisingInIris2017 的其他作品

查看全部 →