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 [2025/06/10 16:40] (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: |
- | < | + | //For version 1.21.5 and before:// |
- | BlockRenderLayerMap.INSTANCE.putBlock(ExampleMod.MY_BLOCK, | + | < |
- | // Replace `class_1921.method_23581()` with `class_1921.method_23583()` if you have a translucent texture. | + | @Environment(EnvType.CLIENT) |
+ | 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, RenderLayer.getTranslucent()); | ||
+ | } | ||
+ | } | ||
</ | </ | ||
- | You probably also want to make your block transparent. To do that, use the ''< | + | //For version 1.21.6 and after: // |
- | + | < | |
- | < | + | @Environment(EnvType.CLIENT) |
- | class MyBlock extends class_2248 | + | public |
- | public | + | public |
- | | + | |
+ | BlockRenderLayerMap.putBlock(TutorialBlocks.MY_BLOCK, BlockRenderLayer.CUTOUT); | ||
+ | |||
+ | // To make some parts of the block translucent | ||
+ | BlockRenderLayerMap.putBlock(TutorialBlocks.MY_BLOCK, | ||
} | } | ||
- | |||
- | [...] | ||
} | } | ||
</ | </ | ||
- | If you do not mark your block as non-opaque | + | You probably also want to make your block non-opaque. To do that, use the ''< |
- | Be sure to add your client entrypoint to fabric.mod.json. You can do this like so: | + | < |
+ | | ||
+ | </ | ||
+ | |||
+ | If you do not mark your block as non-opaque | ||
- | < | + | 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 73: | ||
</ | </ | ||
- | 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