Table of Contents

挖掘等级

介绍

自 1.17 以来,挖掘等级以及工具分配的方式发生了显著变化,只需要将方块添加到特定的标签中即可。

为您的方块设置可挖掘的工具

要定义使用哪种工具挖掘你的方块,你需要将方块的 id 添加到 tags/blocks/mineable 中对应工具(pickaxe.jsonaxe.json等)的标签中。

/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json
{
  "replace": false,
  "values": [
    "tutorial:example_ore_block",
    "tutorial:example_cobblestone_block"
  ]
}

Fabric API 也提供了两个额外的标签:fabric:mineable/swordfabric:mineable/shears,用于可以被剑或者剪刀破坏的方块,你可以将标签放在 resources/data/fabric/tags/blocks/mineable/ 中。

设置方块的挖掘等级

要为方块添加下界合金以下的挖掘等级,你需要将其添加到以下标签中:

石质或更高 -> needs_stone_tool.json
铁质或更高 -> needs_iron_tool.json
钻石或更高 -> needs_diamond_tool.json

这里我们让我们的 late-game 矿石变种需要钻石工具才能挖掘:

/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json
{
  "replace": false,
  "values": [
    "tutorial:example_late_game_ore",
    "tutorial:example_late_game_deepslate_ore"
  ]
}

Fabric API 为钻石以上的挖掘等级提供了动态的标签,同时也提供了木质(挖掘等级 0)的挖掘等级。动态挖掘等级标签的格式为 fabric:needs_tool_level_N,其中 N 是需要的工具等级,是整数。例如,下界合金(挖掘等级 4)的挖掘等级标签是 fabric:needs_tool_level_4。动态的标签是自动检查的。你可以将这些标签放置在 resources/fabric/tags/blocks/中。

/src/main/resources/data/fabric/tags/blocks/needs_tool_level_4.json
{
  "replace": false,
  "values": [
    "tutorial:example_tough_block",
    "tutorial:example_netherite_anvil_block"
  ]
}

对于没有修改挖掘等级的方块,默认的挖掘等级是 -1(徒手挖掘)。

工具标签

你需要将你的工具添加到 Fabric 的工具标签中以支持模组中的方块。

将镐子添加到 pickaxes 标签的例子:

/src/main/resources/data/fabric/tags/items/pickaxes.json
{
  "replace": false,
  "values": [
    "tutorial:example_pickaxe"
  ]
}