Java 在1.12.2锻造中将一个雷霆战机玩家旋转180度

Java 在1.12.2锻造中将一个雷霆战机玩家旋转180度,java,rotation,minecraft,minecraft-forge,Java,Rotation,Minecraft,Minecraft Forge,所以我为我的Minecraft 1.12.2 mod做了一把匕首。这把匕首应该可以将你传送到你所面对的3个街区并使你转身,这样你就可以传送到敌人身后并攻击他们。我以前决定只设置玩家的速度,使其达到一定的目标,但现在我正试图让最初的设计发挥作用。问题是,我不知道如何旋转球员。现在,当你没有转身时,它总是将你旋转到正Z,我假设这是默认的玩家旋转。有人知道怎么解决吗?这是我目前的匕首代码: { Vec3d look = player.getLookVec();

所以我为我的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);


提前谢谢

您只需将180添加到其偏航:

player.setPositionAndRotation(goToX,goToY,goToZ,player.getPitchYaw().y+180F,player.getPitchYaw().x);

一点也不,容易错过=)