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.
    • 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
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            merci jg, maintenant manque plus que le tp

                            EDIT: maintenant ca marche, manque plus qu’a enlever les 3 effet de potion, je précise que le entity.addPotionEffect(new PotionEffect(Potion.blindness.id, 0, 0)); marche pas

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB