哎哟!

哎哟!

可自定义的服务器端伤害指示器!适用于 Fabric

工具

哎哟!

你是否厌倦了猜测被攻击实体受到多少伤害?或者你只是想让你战斗看起来更炫酷一些? 那么这个模组就是为你准备的!

哎哟! 是一个基于 Polymer 的 Fabric(和 Quilt)服务端模组,它在实体受到伤害、死亡或被治疗(默认仅显示伤害/治疗)后添加数字/文本粒子效果!这个模组也是完全可配置的,允许你根据对伤害类型、受害者(受伤害实体)、来源(攻击者或弹射物)和攻击者的谓词测试,来更改文本(颜色和显示方式)、大小、运动和可见时间。它还可以为同一次伤害显示多个具有不同设置的粒子,从而允许额外的趣味消息等。

== 在 Modrinth 上下载 ==

配置。

此模组配置文件存储为 ./config/ouch.json。

预设选择配置。

默认情况下,配置为预设选择的格式,允许你选择模组内置的默认样式/外观。

{
  "preset": "default"
}

可用预设:default、minimal

完整配置。

此配置允许你更改任何文本及其行为。可用于高级配置。 预设使用的默认值可在以下位置找到:https://github.com/Patbox/ouch/tree/master/preset 其中所有自定义文本均使用 QuickText 格式。 所有使用的谓词均由 谓词 API 提供,使用此格式。 以 // 前缀开头的行不是实际配置的一部分,仅在此解释说明。

{
  // 伤害的所有显示值。
  "damage": [
    // 顶层数组定义了列表,其中将找到文本/设置。
    // 仅使用每个包含数组中的单个定义。它们从上到下匹配。
    [
      // 文本/显示定义。
      {
        // [可选] 按类型匹配伤害,可以是单个条目("minecraft:generic")
        // 一个标签("#minecraft:is_fire")或条目列表(["minecraft:mob_attack", "minecraft:player_attack"])
        // 默认情况下(未设置),它匹配所有内容。
        "type": "...",
        // [可选] 检查受害者(受伤害实体)的谓词。
        // 默认情况下,始终成功。
        "victim": {
          "type": "..."
        },
        // [可选] 检查攻击者(攻击实体的实体)的谓词。
        // 默认情况下,始终成功。
        "attacker": {
          "type": "..."
        },
        // [可选] 检查来源(弹射物或攻击者)的谓词。
        // 默认情况下,始终成功。
        "source": {
          "type": "..."
        },
        // [可选] 显示此内容所需的最小伤害量。
        // 默认情况下,未设置。
        "min_value": 0,
        // [可选] 允许显示此内容的最大伤害量。
        // 默认情况下,未设置。
        "max_value": 999999,
        // [可选] 一个从 0 到 1(含)的浮点数,描述此消息被选中的概率。
        // 1 表示如果其他属性匹配,则始终选中;0.5 表示 50% 的概率;0 表示从不。
        // 默认设置为 1。
        "chance": 1,
        // [可选] 设置粒子速度每 tick 乘以其的数值。
        // 必须是介于 0 和 1 之间的数字。
        // 默认值:0.7
        "per_tick_velocity_multiplier": 0.7,
        // [可选] 设置粒子受影响的(向下)重力值。
        // 必须是介于 -1 和 1 之间的数字。
        // 默认值:0.05
        "gravity": 0.05,
        // [可选] 设置粒子可见的时间(以 tick 为单位,20 tick 等于 1 秒)。
        // 必须是大于 0 的数字。
        // 默认值:20
        "staying_time": 20,
        // [可选] 设置粒子的缩放/大小。
        // 必须是介于 0 和 5 之间的数字。
        // 默认值:0.8
        "text_scale": 0.8,
        // [可选] 用静态速度覆盖计算出的速度。
        // 默认值:未设置 / 使用计算出的速度。
        "velocity_override": [0, 2, 0],
        // 用于伤害粒子的文本。具有占位符:
        // ${value} - 显示四舍五入到小数点后一位的伤害值。
        // ${value_rounded} - 显示四舍五入到整数的伤害值。
        // ${value_raw} - 显示原始伤害值。
        "text": "<red>-${value}"
      }
    ]
  ],
  // 死亡文本的所有显示值。
  "death": [
    // 顶层数组定义了列表,其中将找到文本/设置。
    // 仅使用每个包含数组中的单个定义。它们从上到下匹配。
    [
      // 文本/显示定义。
      {
        // [可选] 按类型匹配伤害,可以是单个条目("minecraft:generic")
        // 一个标签("#minecraft:is_fire")或条目列表(["minecraft:mob_attack", "minecraft:player_attack"])
        // 默认情况下(未设置),它匹配所有内容。
        "type": "...",
        // [可选] 检查受害者(受伤害实体)的谓词。
        // 默认情况下,始终成功。
        "victim": {
          "type": "..."
        },
        // [可选] 检查攻击者(攻击实体的实体)的谓词。
        // 默认情况下,始终成功。
        "attacker": {
          "type": "..."
        },
        // [可选] 检查来源(弹射物或攻击者)的谓词。
        // 默认情况下,始终成功。
        "source": {
          "type": "..."
        },
        // [可选] 显示此内容所需的最小治疗量。
        // 默认情况下,未设置。
        "min_value": 0,
        // [可选] 允许显示此内容的最大治疗量。
        // 默认情况下,未设置。
        "max_value": 999999,
        // [可选] 一个从 0 到 1(含)的浮点数,描述此消息被选中的概率。
        // 1 表示如果其他属性匹配,则始终选中;0.5 表示 50% 的概率;0 表示从不。
        // 默认设置为 1。
        "chance": 1,
        // [可选] 设置粒子速度每 tick 乘以其的数值。
        // 必须是介于 0 和 1 之间的数字。
        // 默认值:0.7
        "per_tick_velocity_multiplier": 0.7,
        // [可选] 设置粒子受影响的(向下)重力值。
        // 必须是介于 -1 和 1 之间的数字。
        // 默认值:0.05
        "gravity": 0.05,
        // [可选] 设置粒子可见的时间(以 tick 为单位,20 tick 等于 1 秒)。
        // 必须是大于 0 的数字。
        // 默认值:20
        "staying_time": 20,
        // [可选] 设置粒子的缩放/大小。
        // 必须是介于 0 和 5 之间的数字。
        // 默认值:0.8
        "text_scale": 0.8,
        // [可选] 用静态速度覆盖计算出的速度。
        // 默认值:未设置 / 使用计算出的速度。
        "velocity_override": [0, 2, 0],
        // 用于死亡文本的文本。具有占位符:
        // ${message} - 使用的死亡消息。
        // ${victim} - 受害者的名称。
        // ${attacker} - 攻击者的名称。
        "text": "<red>${message}"
      }
    ]
  ],
  // 治疗的所有显示值。
  "healing": [
    // 顶层数组定义了列表,其中将找到文本/设置。
    // 仅使用每个包含数组中的单个定义。它们从上到下匹配。
    [
      // 文本/显示定义。
      {
        // [可选] 检查被治疗实体的谓词。
        // 默认情况下,始终成功。
        "entity": {
          "type": "..."
        },
        // [可选] 一个从 0 到 1(含)的浮点数,描述此消息被选中的概率。
        // 1 表示如果其他属性匹配,则始终选中;0.5 表示 50% 的概率;0 表示从不。
        // 默认设置为 1。
        "chance": 1,
        // [可选] 设置粒子速度每 tick 乘以其的数值。
        // 必须是介于 0 和 1 之间的数字。
        // 默认值:0.7
        "per_tick_velocity_multiplier": 0.7,
        // [可选] 设置粒子受影响的(向下)重力值。
        // 必须是介于 -1 和 1 之间的数字。
        // 默认值:0.05
        "gravity": 0.05,
        // [可选] 设置粒子可见的时间(以 tick 为单位,20 tick 等于 1 秒)。
        // 必须是大于 0 的数字。
        // 默认值:20
        "staying_time": 20,
        // [可选] 设置粒子的缩放/大小。
        // 必须是介于 0 和 5 之间的数字。
        // 默认值:0.8
        "text_scale": 0.8,
        // [可选] 用静态速度覆盖计算出的速度。
        // 默认值:未设置 / 使用计算出的速度。
        "velocity_override": [0, 2, 0],
        // 用于治疗粒子的文本。具有占位符:
        // ${value} - 显示四舍五入到小数点后一位的治疗量。
        // ${value_rounded} - 显示四舍五入到整数的治疗量。
        // ${value_raw} - 显示原始治疗量值。
        "text": "<green>+${value}"
      }
    ]
  ]
}