MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Obtenir la direction du regard d'un joueur

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.x
    7 Messages 3 Publieurs 1.2k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • C Hors-ligne
      Cypher_
      dernière édition par

      Bonjour 🙂
      Malgré une recherche acharnée durant plusieurs heures, je n’ai pu trouver aucun résultat qui me permettrait de faire ceci.
      La plupart des sujets trouvés datent de 2012 et sont aujourd’hui inexploitable.
      Je me suis aussi essayé à parcourir toutes les fonctions disponible pour une entité Player. J’ai cru toucher au but avec la valeur rotationYaw.
      Celle ci semble pourtant être complètement aléatoire. Il s’agit sûrement d’une mécanique de Minecraft que je ne saisis pas étant débutant.
      J’espère que l’un de vous pourra m’aider, merci d’avance.
      Bonne soirée

      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        Tu peux utiliser EntityPlayer#getLookVec() ou EntityPlayer#getLook(float) si tu est côté client et que tu as les ticks partiels

        1 réponse Dernière réponse Répondre Citer 0
        • DeletedD Hors-ligne
          Deleted
          dernière édition par

          Salut, que dis-tu de ça ?

          1 réponse Dernière réponse Répondre Citer 0
          • BrokenSwingB Hors-ligne
            BrokenSwing Moddeurs confirmés Rédacteurs
            dernière édition par

            Tu peux utiliser EntityPlayer#getLookVec() ou EntityPlayer#getLook(float) si tu est côté client et que tu as les ticks partiels

            1 réponse Dernière réponse Répondre Citer 0
            • C Hors-ligne
              Cypher_
              dernière édition par

              @‘Plaigon’:

              Salut, que dis-tu de ça ?

              Merci mais comme je le disais, le sujet date de 2013 est n’est plus valide aujourd’hui :,) Je ne me serais pas permis de poster un message sans regarder auparavant, j’ai parcouru la majorité des forums qui avaient soulevé la question sans trouver de réponse valable actuellement.

              Tu peux utiliser EntityPlayer#getLookVec() ou EntityPlayer#getLook(float) si tu est côté client et que tu as les ticks partiels

              Merci, je vais essayer ça tout de suite 🙂 Je l’avais déjà vu mais je n’avais réussi à l’exploiter.


              Je crée ce dernier message en conclusion 🙂
              La bonne solution était PlayerEntity#getHorizontalFacing(). Cela retourne les valeurs cardinales (ce qui correspond à ce que je recherchais).
              Une bonne documentation (celle-ci) m’a permis de comprendre comment utiliser la classe EnumFacing.
              Voici donc le code final :

              EnumFacing orientation = entity.getHorizontalFacing();
              int dir = Math.round(orientation.getHorizontalAngle());
              

              dir prendra 4 valeurs :
              -  0 (z+)
              -  90 (x-)
              -  180 (Z-)
              -  270 (X+)

              Merci de votre aide 🙂
              La fonction getLook offre incontestablement plus de possibilité mais est plus délicate à manipuler.

              1 réponse Dernière réponse Répondre Citer 0
              • DeletedD Hors-ligne
                Deleted
                dernière édition par

                Ceci marchait très bien cela dit:

                
                int var24 = MathHelper.floor((double)(Minecraft.getMinecraft().player.rotationYaw * 8.0F / 360.0F) + 0.5D) & 3;
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • C Hors-ligne
                  Cypher_
                  dernière édition par

                  @‘Plaigon’:

                  Ceci marchait très bien cela dit:

                  
                  int var24 = MathHelper.floor((double)(Minecraft.getMinecraft().player.rotationYaw * 8.0F / 360.0F) + 0.5D) & 3;
                  
                  

                  Je suis particulièrement étonné étant donné que cela me donnait une valeur qui n’avait aucun sens … Il y a t-il un import particulier pour MathHelper ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • DeletedD Hors-ligne
                    Deleted
                    dernière édition par

                    Il n’y a qu’une seule classe MathHelper à ce que je sache. Ca donne les integer correspondant à la direction, comme indiqués sur le topic.

                    1 réponse Dernière réponse Répondre Citer 0
                    • 1 / 1
                    • Premier message
                      Dernier message
                    Design by Woryk
                    ContactMentions Légales

                    MINECRAFT FORGE FRANCE © 2024

                    Powered by NodeBB