This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial:blocks [2021/11/02 13:04] suicuiune add requiresTool() to FabricBlockSettings to make harvest level tags work |
tutorial:blocks [2022/04/29 09:57] (current) solidblock [Custom VoxelShape] |
||
---|---|---|---|
Line 30: | Line 30: | ||
==== Registering your Block ==== | ==== Registering your Block ==== | ||
- | Blocks should be registered under the ''Registry.BLOCK'' registry. Call ''Registry.//register//'' and pass in the appropriate arguments. You can register the block in ''onInitialize'' method or directly when creating the block instance in the static context. | + | Blocks should be registered under the ''Registry.BLOCK'' registry. Call ''Registry.//register//'' and pass in the appropriate arguments. You can either register the block in ''onInitialize'' method or directly when creating the block instance in the static context, as the ''register'' method returns the block instance as well. |
<code java [enable_line_numbers="true",highlight_lines_extra="11"]> | <code java [enable_line_numbers="true",highlight_lines_extra="11"]> | ||
Line 144: | Line 144: | ||
"replace": false, | "replace": false, | ||
"values": [ | "values": [ | ||
- | "example:example_block" | + | "tutorial:example_block" |
] | ] | ||
} | } | ||
Line 153: | Line 153: | ||
"replace": false, | "replace": false, | ||
"values": [ | "values": [ | ||
- | "example:example_block" | + | "tutorial:example_block" |
] | ] | ||
} | } | ||
Line 221: | Line 221: | ||
To fix this, we have to define the ''VoxelShape'' of the new block: | To fix this, we have to define the ''VoxelShape'' of the new block: | ||
- | <code> | + | <code java> |
- | @Override | + | public class ExambleBlock extends Block { |
- | public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { | + | [...] |
- | return VoxelShapes.cuboid(0f, 0f, 0f, 1f, 1.0f, 0.5f); | + | @Override |
- | } | + | public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { |
+ | return VoxelShapes.cuboid(0f, 0f, 0f, 1f, 1.0f, 0.5f); | ||
+ | } | ||
+ | } | ||
</code> | </code> | ||
Line 236: | Line 239: | ||
[[tutorial:blockentity|Giving blocks a block entity so they can have advanced state like inventories]]. Also needed for many things like GUI and custom block rendering. | [[tutorial:blockentity|Giving blocks a block entity so they can have advanced state like inventories]]. Also needed for many things like GUI and custom block rendering. | ||
+ | |||
+ | To make your block flammable (that is, can be burned in fire), you may use ''FlammableBlockRegistry''. |