所以我为我的Minecraft 1.12.2 mod制作了匕首。该匕首应该将您传送3格,使其朝向您所面对的地方并转身,基本上,这样您就可以将其传送到敌人后面并对其进行攻击。以前,我只是将播放器的速度设置为一定程度,但现在我试图使原始设计起作用。问题是,我不知道如何旋转播放器。现在,当不转弯时,它总是将您旋转到正Z,我假设这是默认的玩家旋转。有人知道解决办法吗?这是我当前的匕首代码:
{
Vec3d look = player.getLookVec();
BlockPos pos = player.getPosition();
float rot = (float)(2 * (look.x));
double goToX = pos.getX() + look.x * 0;
double goToY = pos.getY() + look.y * 0;
double goToZ = pos.getZ() + look.z * 0;
if(player.isAirBorne || player.onGround)
{
System.out.println(rot);
player.setPositionAndRotation(goToX, goToY, goToZ, rot, rot);
System.out.println(rot);
}
return super.onItemRightClick(worldIn, player, handIn);
谢谢!
答案 0 :(得分:1)
您只需要增加180度即可:
player.setPositionAndRotation(goToX, goToY, goToZ, player.getPitchYaw().y + 180F, player.getPitchYaw().x);