MFF

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

    Problème Timer et Tp

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    22 Messages 5 Publieurs 4.1k 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.
    • PorteffroiP Hors-ligne
      Porteffroi
      dernière édition par

      Pour tp le joueur , as tu essayé :

      
      /**
      * Sets the location and Yaw/Pitch of an entity in the world
      */
      public void setLocationAndAngles(double par1, double par3, double par5, float par7, float par8)
      
      

      Chez moi c’est défini dans Entity.java ligne 1320. (1.6.2).

      1 réponse Dernière réponse Répondre Citer 0
      • isadorI Hors-ligne
        isador Moddeurs confirmés Modérateurs
        dernière édition par

        d’accord merci on regarde ca

        comment faire pour savoir la direction vers où le joueur regarde au moment où il rentre dans le biome barrière "Nord, Sud etc….)?

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

          Le problème est que ton timer2 est toujours égale à 200, tu ne le diminue jamais.
          http://pastebin.com/DnE0eEXS
          Comme ceci ça devrait être bon.

          1 réponse Dernière réponse Répondre Citer 0
          • isadorI Hors-ligne
            isador Moddeurs confirmés Modérateurs
            dernière édition par

            j’essaye tout ca

            EDIT: le timer c’est bon mais ca tp pas…

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

              Pourquoi tu n’utilises pas la classe Timer ? _
              Qu’est ce que tu ne comprend pas ?

              –------------------------------------------------------------------------------------
              Si tu trouves mon intervention pertinente, n'hésite pas a m…

              1 réponse Dernière réponse Répondre Citer 0
              • isadorI Hors-ligne
                isador Moddeurs confirmés Modérateurs
                dernière édition par

                les fonction a utiliser, mais comme le timer marche maintenant c’est niquel, manque que le système de tp

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

                  Timer: schedule(TimerTask, paramètres genre date ou timestamp)
                  Va exécuter la methode run() de la classe TimerTask a un certains moment que tu précises grâce au autre paramètres.

                  Tu na plus qu’a créé une classe qui extends TimerTask et qui redéfinit run().
                  Rien de plus simple.

                  –------------------------------------------------------------------------------------
                  Si tu trouves mon intervention pertinente, n'hésite pas a m…

                  1 réponse Dernière réponse Répondre Citer 0
                  • isadorI Hors-ligne
                    isador Moddeurs confirmés Modérateurs
                    dernière édition par

                    non mais pour le timer c’est bon ca marche niquel. mais il me manque juste la fonction pour le tp

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

                      Blackout, utilise un Timer dans une fonction update est une très mauvaise idée. Je m’explique, le code va être lancé à chaque tick, donc ça ne change strictement rien, la seul chose que ça va faire, c’est retarder le moment où va se lancer le code.
                      Son timer actuelle est très bien.

                      Pour le tp, utilise simplement entity.setLocation(x, y, z);

                      1 réponse Dernière réponse Répondre Citer 0
                      • isadorI Hors-ligne
                        isador Moddeurs confirmés Modérateurs
                        dernière édition par

                        je veux le tp au biome beach le plus proche , le entity.setLocation ne va pas marcher.

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

                          Heu ? En quoi il ne va pas marcher ?

                          1 réponse Dernière réponse Répondre Citer 0
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            on peut préciser le biome?

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

                              Non, il n’existe pas de fonction qui tp sur un biome, mais tu peux check le type de biome, et si c’est le biome voulu, tu tp.

                              1 réponse Dernière réponse Répondre Citer 0
                              • isadorI Hors-ligne
                                isador Moddeurs confirmés Modérateurs
                                dernière édition par

                                comment faire?

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

                                  J’aurai simplement remplacé ton :
                                  entity.posX += 51;
                                  entity.posZ += 51;
                                  par :
                                  entity.setLocation(entity.posX + 51, y, entity.posZ + 51);
                                  et
                                  entity.posX -= 51;
                                  entity.posZ -= 51;
                                  par :
                                  entity.setLocation(entity.posX - 51, y, entity.posZ - 51);

                                  Le problème, c’est que même avec ça, ça fonctionnera très mal (en fait que si il y a un biome à 51 bloc du joueur en -x et -z ou en x et z).
                                  Il faudrait un autre code plus adapter avec une boucle while pour ça.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • isadorI Hors-ligne
                                    isador Moddeurs confirmés Modérateurs
                                    dernière édition par

                                    heu… on peut pas faire un test avec des coordonnée relative?

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

                                      Ba si, là j’ai juste reprit ce que tu avais avant, c’est ton code x)

                                      Pour les biomes le mieux serait faire des tests par 16 (taille d’un chunk)
                                      Je pense a un truc du genre :

                                      int targetX = (int)entity.posX, int targetZ = (int)entity.posZ;
                                      do
                                      {
                                      targetX += 16;
                                      targetZ += 16;
                                      }
                                      while(entity.worldObj.getBiomeGenForCoords(targetX, targetZ) == BiomeGenBase.hell)
                                      

                                      Et la encore, ça check que en + +, il faut aussi check en - -, + - et - +. Je n’ai pas le temps de regarder en détail ce soir.

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

                                        @‘robin4002’:

                                        Blackout, utilise un Timer dans une fonction update est une très mauvaise idée. Je m’explique, le code va être lancé à chaque tick

                                        Ah ok, je ne le savais pas désolé 😉 Merci de m’avoir corrigé 🙂

                                        –------------------------------------------------------------------------------------
                                        Si tu trouves mon intervention pertinente, n'hésite pas a m…

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • isadorI Hors-ligne
                                          isador Moddeurs confirmés Modérateurs
                                          dernière édition par

                                          On peut pas plutôt: check dans un rayon si il y à un biome beach, calculer les coordonné, et le tp?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • jglrxavpokJ Hors-ligne
                                            jglrxavpok Modérateurs
                                            dernière édition par

                                            Le problème est finalement résolu!

                                            private ChunkCoordinates findClosestBlockOfBiome(Entity e, BiomeGenBase b, double radius)
                                            {
                                            World w = e.worldObj;
                                            double min = Double.POSITIVE_INFINITY;
                                            ChunkCoordinates current = null;
                                            for(double x = -radius;x<=radius;x+=0.5)
                                            {
                                            for(double z = -radius;z<=radius;z+=0.5)
                                            {
                                            double dist = Math.sqrt(Math.pow((e.posX-(int)Math.floor(x+e.posX)),2)+Math.pow((e.posZ-(int)Math.floor(z+e.posZ)),2));
                                            if(w.getBiomeGenForCoords((int)Math.floor(x+e.posX), (int)Math.floor(z+e.posZ)) == b && dist <= radius && min > dist)
                                            {
                                            min = dist;
                                            current = new ChunkCoordinates((int)Math.floor(x+e.posX), 0, (int)Math.floor(z+e.posZ));
                                            }
                                            }
                                            }
                                            return current;
                                            }
                                            

                                            Modérateur sur MFF. 
                                            Mon Github: http://github.com/jglrxavpok
                                            Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB