我正在使用Minecraft Forge编写Minecraft模块。
我可以使用
从世界中检索一个Block对象Block b = world.getBlock(x,y,z);
然而,现在我有了块,我如何找到元数据?如果块是StoneSteps块,那么我想知道它的方向,它在元数据中保存。
同样,我该如何设置此值?我可以简单地创建一个新块:
Block b = Blocks.stone_stairs;
但同样,我现在如何将此块设置为特定方向?我知道你可以在创建ItemStack时这样做,但在这种情况下,我想要一个可以传递给world.setBlock()
的Block对象。
似乎没有任何方法可以找到并设置此值。
答案 0 :(得分:1)
您可以通过以下方式旋转块:
yourBlock.rotateBlock(World someWorld, int x, int y, int z, ForgeDirection axis);
来自文档:
旋转块。对于香草块,它围绕传入的轴旋转(通常,它应该是"面部"被击中)。 注意:对于mod块,这取决于块和modder来决定。它不是强制要求围绕面部旋转,而是可以是旋转以将定向到面部,或访问可能的旋转。 如果旋转成功,该方法应该返回true。
答案 1 :(得分:1)
您可以将world.getBlockState(BlockPos);
用于Minecraft 1.8或getBlockMetadata(int x, int y, int z);
用于Minecraft 1.7.10。