This is an old revision of the document!
Table of Contents
挖掘等级
介绍
原版的挖掘等级系统并不好,值都是硬编码的,不支持除了镐之外的挖掘等级。
设置方块的挖掘等级
如需开始,使用FabricBlockSettings
的breakByTool
方法以设置挖掘等级,需要由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" ] }