User Tools

Site Tools


zh_cn:tutorial:mining_levels

This is an old revision of the document!


挖掘等级

介绍

原版的挖掘等级系统并不好,值都是硬编码的,不支持除了镐之外的挖掘等级。

设置方块的挖掘等级

如需开始,使用FabricBlockSettingsbreakByTool方法以设置挖掘等级,需要由Fabric在FabricToolTags中提供的物品标签:

settings.breakByTool(FabricToolTags.PICKAXES, 2)

以下是挖掘等级列表:

0 -> 木镐/金镐
1 -> 石镐
2 -> 铁镐
3 -> 钻石镐
4 -> 下界合金镐

处理方块材料madness

原版镐对石头(STONE)、金属(METAL)和铁砧(ANVIL)有效。

原版斧对木头(WOOD)、下界木头(NETHER_WOOD)、植物(PLANT)、可替代植物(REPLACEABLE_PLANT)、竹子(BAMBOO)、南瓜(PUMPKIN)有效。

如果使用任意以上材料,即使物品低于需要的挖掘等级,物品也会破坏方块。

要避免这样,你需要创建你自己对材料的副本(clone)。举个例子,创建Material.STONE的副本,看看Material.STONE的代码:

new Material.Builder(MaterialColor.STONE).requiresTool().build()

Material.Builder转换成FabricMaterialBuilder,得到:

new FabricMaterialBuilder(MaterialColor.STONE).requiresTool().build()

使用无效工具挖掘时不掉落方块(对于1.15.x!)

你需要在方块材料中设置requiresTool,因此需要创建你自己的材料的副本。

比如,创建Material.WOOD的副本,使得木质方块只有在使用正确的工具时才掉落,看看Material.WOOD的代码:

new Material.Builder(MaterialColor.WOOD).burnable().build()

Material.Builder转换成FabricMaterialBuilder添加requiresTool(),得到:

new FabricMaterialBuilder(MaterialColor.WOOD).burnable().requiresTool().build()

使用无效工具挖掘时不掉落方块(对于1.16.x!)

你需要在方块的设置中设置requiresTool

制作自定义工具

你需要往Fabric工具标签中添加工具以支持修改的方块。

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

文件地址:/src/main/resources/data/fabric/tags/items/pickaxes.json

{
  "replace": false,
  "values": [
    "examplemod:example_pickaxe"
  ]
}
zh_cn/tutorial/mining_levels.1624974391.txt.gz · Last modified: 2021/06/29 13:46 by 127.0.0.1