3

我正在使用 Minecraft Forge 编写一个 Minecraft 模块。

我可以从世界上检索一个 Block 对象,使用

Block b = world.getBlock(x,y,z);

但是,现在我有了块,我如何找出元数据?如果该块是 StoneSteps 块,那么我想知道它的方向,它保存在元数据中。

同样,如何设置此值?我可以简单地创建一个新块:

Block b = Blocks.stone_stairs;

但同样,我现在如何将此块设置为特定方向?我知道您可以在创建 ItemStack 时执行此操作,但在这种情况下,我想要一个可以传递给world.setBlock().

我似乎找不到任何方法来获取和设置这个值。

4

2 回答 2

1

您可以通过以下方式旋转块:

yourBlock.rotateBlock(World someWorld, int x, int y, int z, ForgeDirection axis);

从文档:

旋转方块。对于原版块,它围绕传入的轴旋转(通常,它应该是被击中的“面”)。注意:对于模组块,这由模组和模组制作者决定。不强制要求它是围绕面部的旋转,但可以是定向该面部的旋转,或访问可能的旋转。如果旋转成功,该方法应该返回 true。

于 2015-01-02T14:25:09.290 回答
1

您可以world.getBlockState(BlockPos);用于 Minecraft 1.8 或getBlockMetadata(int x, int y, int z);Minecraft 1.7.10。

于 2015-04-29T16:03:53.613 回答