zh_cn:tutorial:blockappearance
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
zh_cn:tutorial:blockappearance [2021/01/16 07:37] – [使方块透明] solidblock | zh_cn:tutorial:blockappearance [2024/08/27 04:22] (current) – solidblock | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== 操纵方块的外观 ====== | ====== 操纵方块的外观 ====== | ||
- | // | + | // |
- | ===== 使方块透明 ===== | + | ===== 使方块透明或半透明 ===== |
- | 您可能已经注意到,即使方块的材质是透明的,它仍然看起来是不透明的。如需解决,请将方块的渲染层设为cutout或transparent。 | + | 你可能已经注意到,即使方块的纹理是透明或半透明的,看起来仍是不透明的。如需解决,请将方块的渲染层设为 cutout 或 transparent。 |
- | 在客户端模组初始化器(initializer)中,添加: | + | 在[[zh_cn: |
- | <code java> | + | <yarncode |
- | BlockRenderLayerMap.INSTANCE.putBlock(ExampleMod.MY_BLOCK, | + | @Environment(EnvType.CLIENT) |
- | // 将`RenderLayer.getCutout()`替换为`RenderLayer.getTranslucent()`,如果有半透明的材质。 | + | public class ExampleModClient implements ClientModInitializer() { |
- | </ | + | public void onInitializeClient() { |
- | + | // 如果方块一些部分是透明的(例如玻璃、树苗、门): | |
- | 您可能还想使方块透明。为此,可在方块设置中使用'' | + | |
- | <code java> | + | |
- | class MyBlock extends Block { | + | |
- | public MyBlock() { | + | |
- | | + | |
} | } | ||
- | |||
- | [...] | ||
} | } | ||
+ | </ | ||
+ | 您可能还想使方块非不透明。为此,可在方块设置中使用 ''< | ||
+ | |||
+ | < | ||
+ | | ||
+ | </ | ||
+ | |||
+ | 如果你不像这样把方块标记为非不透明的,则方块后面的面不会渲染,你将会“看穿”整个世界(到虚空或渲染范围之外之类的)。 | ||
+ | |||
+ | 确保在 [[documentation: | ||
+ | <code javascript> | ||
+ | { | ||
+ | [...] | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | [...] | ||
+ | } | ||
</ | </ | ||
- | 如果你不想这样把方块标记为非不透明的,则方块后面的面不会渲染,你将会“看穿”整个世界(到虚空或渲染范围之外之类的)。 | + | 注意:对于不透明但不完整的方块,你可能需要覆盖 ''< |
===== 使方块不可见 ===== | ===== 使方块不可见 ===== | ||
- | 首先,我们需要使该方块看起来不可见。 | + | 首先,我们需要使该方块看起来不可见。为此,我们在方块类中重写 '' |
- | 为此,我们在方块类中重写'' | + | <yarncode |
- | <code java> | + | |
@Override | @Override | ||
- | public | + | public |
- | return | + | return |
} | } | ||
- | </code> | + | </yarncode> |
- | 然后,我们需要通过使其'' | + | |
- | 因此,覆盖'' | + | 然后,我们需要通过使其形状不存在,从而使方块不能被选中。因此,覆盖 '' |
- | <code java> | + | |
+ | <yarncode | ||
@Override | @Override | ||
- | public | + | public |
- | | + | |
} | } | ||
- | </code> | + | </yarncode> |
zh_cn/tutorial/blockappearance.1610782665.txt.gz · Last modified: 2021/01/16 07:37 by solidblock