User Tools

Site Tools


zh_cn:tutorial:mining_levels

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
zh_cn:tutorial:mining_levels [2021/06/29 13:46] – external edit 127.0.0.1zh_cn:tutorial:mining_levels [2022/09/29 05:14] (current) solidblock
Line 2: Line 2:
  
 ==== 介绍 ==== ==== 介绍 ====
-原版的挖掘等级系统并不好,值都是硬编码的,不支持除了镐之外的挖掘等级。 +自 1.17 以来,挖掘等级以及工具分配方式发生了显著变化只需要将方块添加到特定标签中即可。
-==== 设置方块的挖掘等级 ====+
  
-如需开始,使用''FabricBlockSettings''''breakByTool''法以设置挖掘等级,需要由Fabric在''FabricToolTags''中提供物品标签: +==== 为您的方设置挖掘的工具 ====
-<code java> +
-settings.breakByTool(FabricToolTags.PICKAXES, 2) +
-</code>+
  
-以下是挖掘等级列表: +要定义使用哪种工具挖掘你的方块,你需要将方块的 id 添加到 ''tags/blocks/mineable'' 中对应工具(''pickaxe.json''、''axe.json'')的标签中。 
-<code> +<code JavaScript /src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json
-0 -> 木镐/金镐 +{ 
-1 -> 石镐 +  "replace": false, 
-2 -> 铁镐 +  "values": [ 
-3 -> 钻石镐 +    "tutorial:example_ore_block", 
-4 -> 下界合金镐+    "tutorial:example_cobblestone_block" 
 +  ] 
 +}
 </code> </code>
  
-==== 处理方块材料madness ==== +Fabric API 也提供了两个额外的标签:''fabric:mineable/sword'' 和 ''fabric:mineable/shears'',用于可以被剑或者剪刀破坏的方块,你可以将标签放在 ''resources/data/fabric/tags/blocks/mineable/'' 
-原版镐对石头(''STONE'')、金属(''METAL'')和铁砧(''ANVIL'')有效+
  
-原版斧对木头(''WOOD'')、下界木头(''NETHER_WOOD'')、植物(''PLANT'')、可替代植物(''REPLACEABLE_PLANT'')、竹子(''BAMBOO'')、南瓜(''PUMPKIN'')有效。 +==== 设置方块的挖掘等级 ====
- +
-如果使用任意以上材料,即使物品低于需要的挖掘等级,物品也会破坏方块。+
  
-避免这样,你需要创建你自己对材料的副本(clone)。举个例子,创建''Material.STONE''的副本,看看''Material.STONE''的代码: +为方块添加下界合金以下的挖掘等级,你需要将其添加到以下标签中: 
-<code java+<code> 
-new Material.Builder(MaterialColor.STONE).requiresTool().build()+石质或更高 -> needs_stone_tool.json 
 +铁质或更高 -> needs_iron_tool.json 
 +钻石或更高 -> needs_diamond_tool.json
 </code> </code>
  
-将''Material.Builder''转换成''FabricMaterialBuilder'',得到: +这里我们让我们的 late-game 矿石变种需要钻石工具才能挖掘: 
-<code java+<code JavaScript /src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json
-new FabricMaterialBuilder(MaterialColor.STONE).requiresTool().build()+
 +  "replace": false, 
 +  "values":
 +    "tutorial:example_late_game_ore", 
 +    "tutorial:example_late_game_deepslate_ore" 
 +  ] 
 +}
 </code> </code>
- +Fabric API 为钻石以上的挖掘等级提供了动态的标签,同也提供了木质挖掘等级 0的挖掘等级。动态挖掘等级标签的格式为 ''fabric:needs_tool_level_N''其中 ''N''需要的工具等级,是整数如,下界合金(挖掘等级 4)的挖掘等级标签是 ''fabric:needs_tool_level_4''。动态标签是自动检查。你可以将这些标签放置在 ''resources/fabric/tags/blocks/''中。 
-==== 使用无效工具挖掘时不掉落方块对于1.15.x!) ==== +<code JavaScript /src/main/resources/data/fabric/tags/blocks/needs_tool_level_4.json
-你需要在方块材料中设置''requiresTool''因此需要创建你自己材料的副本 +
- +  "replace": false, 
-如,创建''Material.WOOD''副本,使得木质方块只有在使用正确工具时才掉落,看看''Material.WOOD''的代码: +  "values":
-<code java+    "tutorial:example_tough_block", 
-new Material.Builder(MaterialColor.WOOD).burnable().build()+    "tutorial:example_netherite_anvil_block" 
 +  ] 
 +}
 </code> </code>
  
-将''Material.Builder''转换成''FabricMaterialBuilder''并**添加''requiresTool()''**,得到: +对于没有修改挖掘等级的方块,默认的挖掘等级是 -1(徒手挖掘)。
-<code java> +
-new FabricMaterialBuilder(MaterialColor.WOOD).burnable().requiresTool().build() +
-</code> +
- +
-==== 使用无效工具挖掘时不掉落方块(对于1.16.x!) ==== +
- +
-你需要在方块的设置中设置''requiresTool''+
  
-==== 制作自定义工具 ==== +==== 工具标签 ==== 
-你需要往Fabric工具标签中添加工具以支持修改的方块。+你需要将你的工具添加到 Fabric 的工具标签中以支持模组中的方块。
  
-将镐添加到''pickaxes''标签的例子:+将镐添加到 ''pickaxes'' 标签的例子:
  
-文件地址:/src/main/resources/data/fabric/tags/items/pickaxes.json +<code javascript /src/main/resources/data/fabric/tags/items/pickaxes.json>
-<code javascript>+
 { {
   "replace": false,   "replace": false,
   "values": [   "values": [
-    "examplemod:example_pickaxe"+    "tutorial:example_pickaxe"
   ]   ]
 } }
 </code> </code>
zh_cn/tutorial/mining_levels.1624974391.txt.gz · Last modified: 2021/06/29 13:46 by 127.0.0.1