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

时间:2020-09-24 13:11:55

标签: java rotation minecraft minecraft-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);

谢谢!

1 个答案:

答案 0 :(得分:1)

您只需要增加180度即可:

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