[英]How can I add an event handler to the block lever in Minecraft Forge?
[英]How to place a lever on a block using java in Minecraft Forge?
在我的Minecraft Mod中,我试图编写一段代码,将一个块放置在给定的位置,在放置该块之后,在该块上放置一个杠杆。
我该怎么做?
这是我的代码,在其中放置了必须放置杠杆的块。
BlockPos blockpos = new BlockPos(player.posX + x*2 + xOffset,
player.posY /*+ player.getEyeHeight() + y*2 */+ counter,
player.posZ + z* 2);
world.setBlockState(blockpos,
Blocks.cobblestone.getDefaultState());
因此,基本上,我想知道在放置此块后将杠杆放置在该块上的功能。
或者,如果默认情况下有某种特殊类型的块带有杠杆,我想使用它。 当您单击操纵杆时,我想使一个事件发生。
您具有blockpos对象。 您可以通过使用以下功能来获得一个与此blockpos相关的新blockpos:
//Assuming we are using your blockpos object
BlockPos leverPosition = blockpos.offset(EnumFacing.EAST);
在这里,您可以将杠杆位置放置在圆滑石块的东方,您将鹅卵石砌块的位置。
使用您想要的任何代码都可以识别玩家所面对的方向
然后,在该位置上对杠杆执行简单的setBlockState,东西应自行整理:-)
从评论:
IBlockState leverState = Blocks
.lever
.getDefaultState()
.withProperty(BlockLever.FACING,
BlockLever.EnumOrientation.SOUTH
);
world.setBlockState(startPosition.offset(EnumFacing.SOUTH), leverState);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.