zh_cn:tutorial:blockappearance
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
zh_cn:tutorial:blockappearance [2019/12/19 05:39] – created lightcolour | zh_cn:tutorial:blockappearance [2023/05/04 11:32] – [操纵方块的外观] solidblock | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | ===== Making a block transparent | + | // |
- | You may have noticed that even if your block' | + | ===== 使方块透明 |
- | To fix this, override '' | + | 您可能已经注意到,即使方块的材质是透明的,它仍然看起来是不透明的。如需解决,请将方块的渲染层设为 cutout 或 transparent。 |
- | <code java> | + | |
- | class MyBlock extends Block { | + | 在[[zh_cn:documentation: |
- | @Override | + | <yarncode |
- | public | + | @Environment(EnvType.CLIENT) |
- | | + | public |
+ | public | ||
+ | BlockRenderLayerMap.INSTANCE.putBlock(ExampleMod.MY_BLOCK, | ||
+ | // 如果有半透明纹理,可以将`class_1921.method_23581()` 替换为 `class_1921.method_23583()`。 | ||
} | } | ||
- | |||
- | [...] | ||
} | } | ||
+ | </ | ||
- | </code> | + | 您可能还想使方块透明。为此,可在方块设置中使用 ''< |
+ | < | ||
+ | | ||
+ | </yarncode> | ||
+ | 如果你不像这样把方块标记为非不透明的,则方块后面的面不会渲染,你将会“看穿”整个世界(到虚空或渲染范围之外之类的)。 | ||
- | You probably also want to make your block transparent. To do that, use the '' | + | ===== 使方块不可见 ===== |
- | <code java> | + | 首先,我们需要使该方块看起来不可见。为此,我们在方块类中重写 |
- | class MyBlock extends Block { | + | <yarncode |
- | | + | |
- | MaterialColor.AIR, | + | public |
- | false, | + | |
- | false, // isSolid, | + | |
- | true, // blocksMovement, | + | |
- | false,// blocksLight, | + | |
- | true,// | + | |
- | false, // burnable, | + | |
- | false,// | + | |
- | PistonBehavior.NORMAL// | + | |
- | | + | |
- | + | ||
- | public | + | |
- | | + | |
} | } | ||
+ | </ | ||
- | [...] | + | 然后,我们需要通过使其 '' |
- | } | + | |
- | </code> | + | <yarncode |
- | + | ||
- | ===== Making a block invisible ===== | + | |
- | First we need to make the block appear invisible. | + | |
- | To do this we override '' | + | |
- | <code java> | + | |
- | @Override | + | |
- | public BlockRenderType getRenderType(BlockState blockState) { | + | |
- | return BlockRenderType.INVISIBLE; | + | |
- | } | + | |
- | </ | + | |
- | We then need to make our block unselectable by making its `outlineShape` be non-existent. | + | |
- | So override '' | + | |
- | < | + | |
@Override | @Override | ||
- | public | + | public |
- | | + | |
} | } | ||
- | </code> | + | </yarncode> |
zh_cn/tutorial/blockappearance.txt · Last modified: 2023/11/18 08:40 by solidblock