tutorial:blockappearance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorial:blockappearance [2022/08/14 04:00] – Use Yarn code blocks haykam | tutorial:blockappearance [2024/08/26 08:28] (current) – solidblock | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Manipulating a Block' | ====== Manipulating a Block' | ||
- | //This is the 1.15+ (1.16, 1.17, 1.18, and 1.19 work fine too) version of this tutorial. For the 1.14 version, see [[tutorial: | + | //This is the 1.15+ version of this tutorial. For the 1.14 version, see [[tutorial: |
- | ===== Making a block transparent ===== | + | ===== Making a block transparent |
- | You may have noticed that even if your block' | + | You may have noticed that even if your block' |
- | To fix this, you need to set your block' | + | |
- | In a [[documentation: | + | In a [[documentation: |
< | < | ||
- | BlockRenderLayerMap.INSTANCE.putBlock(ExampleMod.MY_BLOCK, class_1921.method_23581()); | + | @Environment(EnvType.CLIENT) |
- | // Replace `class_1921.method_23581()` with `class_1921.method_23583()` if you have a translucent texture. | + | public class ExampleModClient implements ClientModInitializer() { |
+ | public void onInitializeClient() { | ||
+ | // To make some parts of the block transparent (like glass, saplings and doors): | ||
+ | | ||
+ | |||
+ | | ||
+ | BlockRenderLayerMap.INSTANCE.putBlock(TutorialBlocks.MY_BLOCK, | ||
+ | } | ||
+ | } | ||
</ | </ | ||
- | You probably also want to make your block transparent. To do that, use the ''< | + | You probably also want to make your block non-opaque. To do that, use the ''< |
< | < | ||
- | class MyBlock extends class_2248 { | + | public |
- | | + | |
- | super(class_2251.of(class_3614.field_15914).method_22488()); | + | |
- | } | + | |
- | + | ||
- | [...] | + | |
- | } | + | |
</ | </ | ||
If you do not mark your block as non-opaque like this, then block faces behind the block will not render and you will be able to see through the world. | If you do not mark your block as non-opaque like this, then block faces behind the block will not render and you will be able to see through the world. | ||
- | Be sure to add your client entrypoint to fabric.mod.json. You can do this like so: | + | Be sure to add your client entrypoint to [[documentation: |
- | + | < | |
- | < | + | { |
+ | [...] | ||
" | " | ||
" | " | ||
- | "mod.fabricmc.examplemod.ExampleMod" | + | "net.fabricmc.example.ExampleMod" |
], | ], | ||
" | " | ||
- | "mod.fabricmc.examplemod.ExampleModClient" | + | "net.fabricmc.example.ExampleModClient" |
] | ] | ||
}, | }, | ||
+ | [...] | ||
+ | } | ||
</ | </ | ||
- | Note: For non-transparent blocks that are not full, you may have to override the '' | + | Note: For non-transparent blocks that are not full, you may have to override the '' |
===== Making a block invisible ===== | ===== Making a block invisible ===== | ||
- | First we need to make the block appear invisible. To do this, we override '' | + | First we need to make the block appear invisible. To do this, we override '' |
< | < | ||
Line 54: | Line 58: | ||
</ | </ | ||
- | We then need to make our block unselectable by making its outline shape be non-existent. So override '' | + | We may also need to make our block unselectable by making its outline shape be non-existent. So override '' |
< | < |
tutorial/blockappearance.1660449653.txt.gz · Last modified: 2022/08/14 04:00 by haykam