蟾蜍简单起源:鱼缸

蟾蜍简单起源:鱼缸

添加一件自定义盔甲,使自定义起源数据包能够增加在陆地或下界活动的时间,同时保留只能在水下呼吸的挑战性。

Toads Simple Origins: 鱼缸

一个戴着鱼缸的 Blockbench 模型

这个模组添加了什么?

这个模组添加了一种名为“鱼缸”的盔甲物品,它有填充和空置两种变体。鱼缸可以通过以下配方用 8 个玻璃块合成。

一个使用 8 个玻璃块放置在合成界面边缘和角落的合成配方。配方输出是一个空鱼缸。

该物品可以在站立时右键装备,或在潜行时右键作为方块放置。

一个展示玩家装备和放置鱼缸物品的 GIF。

方块和已装备的物品可以在不同条件下在填充和未填充状态之间切换。

填充机制示例。

当带有“有鳃”能力的玩家佩戴充满水的鱼缸时,它将显示一个 HUD 图标并开始跟踪氧气消耗。 氧气条消耗中。

耗尽所需的时间可通过生成的配置文件进行配置,该文件定义了最大氧气量(以刻为单位)。默认值设置为 6000 刻(5 分钟)。对配置的任何更改都可以在游戏内使用 /reload 命令更新。

如何搭配默认起源使用?

所有基础起源默认都与这些物品兼容。如果你想禁用或修改与头盔的兼容性,你需要以高于 1 的加载优先级覆盖目标起源的 json 文件。

如何搭配自定义起源使用?

如果你想为自定义起源使用氧气系统,你需要添加模组提供的基础能力或制作自定义能力。如果你不知道如何实现自定义起源,请查阅起源文档(记得选择与此模组对应的正确起源版本。目前唯一支持的版本是 1.13.x)。

佩戴满水鱼缸时溺水。

如果你的起源不能在水中呼吸,你可以添加 origins:has_lungs 能力。如果你不想使用这个能力,而是想创建一个更适合你需求的修改版本,你可以使用以下模板:

{
  "hidden": true,
  "name": "有肺",
  "description": "作为空气呼吸者,提供与鱼缸盔甲的兼容性。",
  "type": "origins:multiple",

  "lose_oxygen": {
    "type": "origins:action_over_time",
    "interval": 2,
    "entity_action": {
      "type": "origins:gain_air",
      "value": -12
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": ">=",
          "compare_to": -20
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:ingredient",
            "ingredient": {
              "item": "toads_simple_origins:filled_fish_bowl"
              }
            }
        }
        ]
    }
  },

  "drown_above_water": {
    "type": "origins:action_over_time",
    "interval": 20,
    "entity_action": {
      "type": "origins:damage",
      "damage_type": "minecraft:drown",
      "amount": 2
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:air",
          "comparison": "<=",
          "compare_to": 5
        },
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        }
      ]
    }
  }

}

此外,如果你的起源应该像末影族或烈焰族那样受到水的伤害,你可以使用 origins:damage_from_filled_bowl 能力。如果你想使用修改版本,可以使用以下模板:

{
  "hidden": true,
  "name": "来自满水鱼缸的水伤害",
  "description": "作为对水脆弱的起源,提供与鱼缸盔甲的兼容性。",
  "type": "origins:damage_over_time",
  "interval": 20,
  "onset_delay": 1,
  "damage": 2,
  "damage_easy": 1,
  "damage_type": "origins:hurt_by_water",
  "protection_enchantment": "origins:water_protection",
  "protection_effectiveness": 1.0,
  "condition": {
    "type": "origins:equipped_item",
    "equipment_slot": "head",
    "item_condition": {
      "type": "origins:ingredient",
      "ingredient": {
        "item": "toads_simple_origins:filled_fish_bowl"
      }
    }
  }
}

佩戴满水鱼缸时获得氧气。

如果你的起源可以在水中呼吸,你可以添加 origins:has_gills 能力。如果你不想使用这个能力,而是想创建一个更适合你需求的修改版本,你可以使用以下模板:

{
  "hidden": true,
  "name": "有鳃",
  "description": "作为水下呼吸者,提供与鱼缸盔甲的兼容性。",
  "type": "origins:multiple",

  "in_tag": {
    "type": "origins:action_on_callback",
    "entity_action_gained": {
        "type": "origins:execute_command",
        "command": "/tag @s add has_gills"
        },
    "entity_action_lost": {
        "type": "origins:execute_command",
        "command": "/tag @s remove has_gills"
        }
  },

  "gain_oxygen": {
    "type": "origins:action_over_time",
    "interval": 1,
    "entity_action": {
      "type": "origins:gain_air",
      "value": 4
      },
    "condition": {
      "type": "origins:and",
      "conditions": [
        {
          "type": "origins:submerged_in",
          "fluid": "minecraft:water",
          "inverted": true
        },
        {
          "type": "origins:equipped_item",
          "equipment_slot": "head",
          "item_condition": {
            "type": "origins:and",
            "conditions": [
              {
                "type": "origins:custom_data",
                "nbt": "{oxygenLevel:0}",
                "inverted": true
              },
              {
                "type": "origins:ingredient",
                "ingredient": {
                  "item": "toads_simple_origins:filled_fish_bowl"
                }
              }
            ]
          }
        }
      ]
    }
  }

}

如果我两者都不想要怎么办?

如果你完全不希望自定义起源与头盔的氧气系统交互,你不需要做任何事情。装备的头盔仍然可以装备,并且行为与拥有 has_lungs 能力的起源完全相同,只是不会真正溺水。你也可以按照自己的意愿添加基于能力的头盔和氧气系统交互。这个模组的主要目的是实现模型、物品和方块,它们能够良好渲染并跟踪数据,以支持简单的能力系统。你可以完全自由地在自定义能力中使用这些资源。(只是请在适当的时候给予署名。)

常见问题解答

这个模组会移植到 Forge/NeoForge 吗?

我目前不计划将这个模组移植到 Forge 或 NeoForge。话虽如此,如果有足够的兴趣值得付出努力,我可能会考虑将这个模组移植到 NeoForge。

这个模组会支持其他 Minecraft 版本吗?

目前?不会。话虽如此,如果有足够的需求,我肯定会考虑。

我可以把这个模组加入我的整合包吗?

如果这个模组被纳入整合包,我会感到非常荣幸。放手去做吧。

我在哪里可以报告错误?

我在下面链接了一个 GitHub 仓库。应该有一个 Issues 标签页,你可以在那里报告你发现的任何错误。这是目前唯一的途径。

这个模组会更新吗?

我有几个关于这个模组更新的想法,但除非有积极的需求,否则我可能不会进行开发。如果你有兴趣看到这个模组更新,你可能需要等到我建立一个 Discord 服务器。