在 1.12.2 forge 中将 Minecraft 播放器旋转 180 度

Rotating a Minecraft player 180 degrees in 1.12.2 forge

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