繁体   English   中英

如何在Minecraft Forge中使用Java在块上放置杠杆?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM