User Tools

Site Tools


tutorial:blocks

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
tutorial:blocks [2021/02/27 07:51] – Fix misleading highlight siglongtutorial:blocks [2021/09/01 19:55] – Changed to 1.17 tool system. legiblesleet827
Line 131: Line 131:
       ]       ]
     }     }
 +  ]
 +}
 +</code>
 +
 +In minecraft 1.17, there has been a change for breaking blocks. Now, to define harvest tools and harvest levels, we need to use tags. Read about tags at: [[tutorial:tags|Tags Tutorial]]. The tags that we need to add the block to are:
 +
 +Harvest tool: src/main/resources/data/minecraft/tags/mineable/<tooltype>.json, Where 'tooltype' can be any of: 'axe', 'pickaxe', 'shovel' ore 'hoe'
 +Harvest level: src/main/resources/data/minecraft/tags/needs_<tier>_tool.json, Where 'tier' can be any of: 'stone', 'iron' or 'diamond'
 +
 +<code JavaScript src/main/resources/data/minecraft/tags/mineable/pickaxe.json>
 +{
 +  "replace": false,
 +  "values": [
 +    "example:example_block"
 +  ]
 +}
 +</code>
 +
 +<code JavaScript src/main/resources/data/minecraft/tags/needs_stone_tool.json>
 +{
 +  "replace": false,
 +  "values": [
 +    "example:example_block"
   ]   ]
 } }
Line 137: Line 160:
 ===== Creating a Custom Block Class ===== ===== Creating a Custom Block Class =====
  
-The above approach works well for simple items but falls short when you want a block with //unique// mechanics. We'll create a //separate// class that extends ''Block'' to do this. The class needs a constructor that takes in an ''AbstractBlock.Settings'' argument:+The above approach works well for simple blocks but falls short when you want a block with //unique// mechanics. We'll create a //separate// class that extends ''Block'' to do this. The class needs a constructor that takes in an ''AbstractBlock.Settings'' argument:
  
 <code java [enable_line_numbers="true"]> <code java [enable_line_numbers="true"]>
Line 173: Line 196:
 public class ExampleMod implements ModInitializer { public class ExampleMod implements ModInitializer {
  
-    public static final ExampleBlock EXAMPLE_BLOCK = new ExampleBlock(Block.Settings.of(Material.STONE).hardness(4.0f));+    public static final ExampleBlock EXAMPLE_BLOCK = new ExampleBlock(FabricBlockSettings.of(Material.STONE).hardness(4.0f));
          
     @Override     @Override
tutorial/blocks.txt · Last modified: 2024/04/15 01:52 by solidblock