• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Créer une zone

    1.8.x
    1.8
    2
    7
    1941
    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.
    • Ama
      Ama dernière édition par

      Bonjour !

      Il y a quelque chose que j’aimerais faire mais je n’y arrive pas !

      Ce serait de faire une zone en 3D un peu à la world edit d’un point A à un point B, mais je ne sais pas par où passer ou quoi utiliser si quelqu’un à une idée ce serait coo! 🙂

      Je pensais passer pas les AABB des blocs en passant par une TileEntity pour gérer la taille de la zone, mais je ne sais pas si c’est bon ou pas ?

      Merci de vos réponses !

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Tu veux utiliser la zone pour quoi exactement ?
        Tu n’as pas besoin des AABB, tu as juste besoin d’un point A et d’un point B.

        1 réponse Dernière réponse Répondre Citer 1
        • Ama
          Ama dernière édition par

          les zones seraient pour quand un joueur rentre dedans lancer une musique afficher un texte à l’écran comme quoi il rentre dans telle ville ou tel village …

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

            Donc tu as justement besoin d’un point A et d’un point B.
            Pour vérifier si ton entité est dans la zone, dans un premier temps il faut :
            trouver qui de xA et xB est le plus grand ensuite. (juste un petit if)
            Ensuite il faut vérifier que la coordonnée x du joueur est plus grand que la petite valeur et plus petite que la grand valeur.
            ça donne un truc du genre :

            boolean inZone = false;
            double xA = (double)posA.getX();
            double xB = (double)posB.getX();
            if(xA < xB)
            {
               inZone = this.checkInZone(xA, xB, player.posX);
            }
            else
            {
               inZone = this.checkInZone(xB, xA, player.posX);
            }
            double yA = (double)posA.getY();
            double yB = (double)posB.getY();
            if(yA < yB)
            {
               inZone = this.checkInZone(yA, yB, player.posY);
            }
            else
            {
               inZone = this.checkInZone(yB, yA, player.posY);
            }
            double zA = (double)posA.getZ();
            double zB = (double)posB.getZ();
            if(yA < yB)
            {
               inZone = this.checkInZone(zA, zB, player.posZ);
            }
            else
            {
               inZone = this.checkInZone(zB, zA, player.posZ);
            }
            
            // si pour les 3 fois checkInZone(a, b, player) est true, inZone sera true, donc il est dans la zone
            
            private boolean checkInZone(double min, double max, double playerCoord)
            {
                 return playerCoord > min && playerCoord < max;
            }
            

            C’est du vite fait, il y a sûrement moyen d’optimiser ça.

            Après pour enregistrer les zones, pas sûr qu’un tile entity soit la meilleur idée. J’enregistrerai plutôt dans le monde : http://www.minecraftforgefrance.fr/showthread.php?tid=2444

            1 réponse Dernière réponse Répondre Citer 1
            • Ama
              Ama dernière édition par

              Que signifie le posA et posB ?

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Deux BlockPos, un pour chaque point.

                1 réponse Dernière réponse Répondre Citer 1
                • Ama
                  Ama dernière édition par

                  Pour cette méthode le mieux serait de passer par un event ou d’appeler et d’enregistrer le tout dans le WorldSavedData ?

                  Si je t'ai filé un coup de main n'oublie pas le + / -
                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                  MINECRAFT FORGE FRANCE © 2018

                  Powered by NodeBB