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

    Scale entity sans passer par le render/Saut de ligne/Attaque que si attaquer

    Sans suite
    1.7.x
    3
    9
    1946
    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.
    • Kujaroth
      Kujaroth dernière édition par

      Salut,

      1 - J’aimerai savoir s’il est possible, et si oui comment, faire un scale d’une entité sans passé par la classe du render de cette entity. ^^’

      2 - On ne peux pas faire de retour a la ligne dans un this.setCustomNameTag(mobName+" Niv."+mobLevel); ? 😕

      3 - Je n’arrive plus a me souvenir de comment on fait pour faire en sorte que l’entité n’attaque que si elle est attaquer ><

      Merci.

      Edit : En 1.7.10 on ne peux plus voire les .java de Minecraft ? :s

      >! Bonjour/Bonsoir,
      >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

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

        1. Je ne crois pas que ce soit possible. Sauf peut-être avec un potentiel event avant le rendu de cette entité.
        2. Non. Minecraft ne le supporte pas, malheuresement.
        3. Je sais plus, à voir avec les autres. Au pire, cherche sur le forum, devrais y avoir une réponse.

        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 0
        • Kujaroth
          Kujaroth dernière édition par

          1. arf 😕 Car a la création de mon entité il y a une variable qui défini sont nom/level, et j’aurai aimer aussi changer la taille par rapport a ça, sauf que si je fait directement dans le rendu, ils prennent tous le scale de la dernière posé ^^’

          2. ok, bien ce qu’il me semblait, c’bete.

          3. Je regarderai plus en detail sur le forum, j’ai testé quelques mots clef, mais rien de concluant.

          4. un peu comme le 1. j’ai une variable qui défini le nom et le level du mob, mais pas que, j’essais de faire varié la vie selon le level. Pour cela, j’utilise :

          ​this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(2*statMultiplicator);
          

          Mais le mob level 1 est censé avoir 2, mais IG, il en aura soit 2, soit 4, soit 6, etc. Je n’arrive pas a savoir pourquoi ><

          EDIT :

          ​   package com.google.dofusmob.common;
          
              import org.lwjgl.opengl.GL11;
          
          import net.minecraft.entity.EntityLivingBase;
          import net.minecraft.entity.SharedMonsterAttributes;
          import net.minecraft.entity.monster.EntityMob;
          import net.minecraft.entity.passive.EntityAnimal;
          import net.minecraft.entity.passive.EntityOcelot;
          import net.minecraft.world.World;
          
              public class EntityMobArakne extends EntityMob
              {
          
                  public String mobInfo;
                  public String mobName;
                  public String mobLevel;
                  public long generate;
                  public static int mobGenerate;
                  public static double statMultiplicator;
                  // 1 = arakne level 1
                  // 2 = arakne level 2
                  // 3 = arakne level 3
                  // 4 = Arakule la Revancharde level 1
                  // 5 = Arakule la Revancharde level 2
                  // 6 = Arakule la Revancharde level 3
          
              public EntityMobArakne(World world)
              {
              super(world);
              generate = Math.round(Math.random()*100) ;
              this.setSize(0.7F, 0.7F);
          
              if ((int) generate >=0 && (int) generate < 40)
              {
                  statMultiplicator = 1;
                  mobGenerate = 1;
                  mobName = "Arakne";
                  mobLevel = "1";
          
              }
              if ((int) generate >=40 && (int) generate < 65)
              {
                  statMultiplicator = 1.5;
                  mobGenerate = 2;
                  mobName = "Arakne";
                  mobLevel = "2";
              }
              if ((int) generate >=65 && (int) generate < 90)
              {
                  statMultiplicator = 2;
                  mobGenerate = 3;
                  mobName = "Arakne";
                  mobLevel = "3";
              }
              if ((int) generate >=90 && (int) generate < 95)
              {
                  statMultiplicator = 3.5;
                  mobGenerate = 4;
                  mobName = "Arakule la Revancharde";
                  mobLevel = "1";
              }
              if ((int) generate >=95 && (int) generate < 98)
              {
                  mobGenerate = 5;
                  statMultiplicator = 4.5;
                  mobName = "Arakule la Revancharde";
                  mobLevel = "2";
              }
              if ((int) generate >=98 && (int) generate <= 100)
              {
                  statMultiplicator = 5.5;
                  mobGenerate = 6;
                  mobName = "Arakule la Revancharde";
                  mobLevel = "3";
              }
          
              this.setCustomNameTag(mobName+" Niv."+mobLevel + "|| Info+HP" +this.getHealth() + "|" + mobGenerate +"|"+statMultiplicator);
              }
          
              public void applyEntityAttributes()
          {
          
          super.applyEntityAttributes();
          
          this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(2*statMultiplicator);
          this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2D);
          this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.6D);
          this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(1D);
          
          }
          
              }
          
          

          >! Bonjour/Bonsoir,
          >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

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

            1. Mais tu as fait quoi pour que ça ait e comportement ? oO
            Crée une variable dans l’entitée que tu utilises pour dessiner ensuite

            Sent from my GT-I9000 using Tapatalk 2

            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 0
            • Kujaroth
              Kujaroth dernière édition par

              1. bah dans le EntityMob j’ai crée une variable “mobGenerate” qui va de 1 a 6, dans le RenderMob ;

              protected void preRenderCallback(EntityLivingBase par1EntityLivingBase, float par2)
                  {
                      this.scaleMob((EntityMob)par1EntityLivingBase, par2);
                  }
                  protected void scaleMob(EntityMob par1EntityMob, float par2)
                  {
              if (EntityMob.mobGenerate == 1)
              
              {
              GL11.glScalef(0.7F, 0.7F, 0.7F);
              }
              
              if (EntityMob.mobGenerate == 2)
              {
              GL11.glScalef(0.8F, 0.8F, 0.8F);
              }
                  //etc etc jusqu'a 6
                  }
              

              >! Bonjour/Bonsoir,
              >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

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

                Pourquoi tu mets la variable en static ? C’est sûr que la valeur dépend pas de l’entité dans ce cas.

                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 0
                • Kujaroth
                  Kujaroth dernière édition par

                  1. Elle est en static car dans le render la condition “if (EntityMobArakne.mobGenerate == 2)” veut la variable mobGenerate en static

                  >! Bonjour/Bonsoir,
                  >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

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

                    …
                    Il serait temps d’apprendre le Java. En plus j’ai expliqué dans le tutoriel sur les tile entité la différence entre les variables non statique / statique et pourquoi il ne faut pas utiliser des variables statiques dans les tile entity (et la même chose est valable pour les entités)

                    mets :
                    par1EntityMob.mobGenerate 
                    et tu n’aura plus besoin que la variable soit statique comme tu utilisera l’instance de l’entité.

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

                      Merci… Excuse moi d’être un newbe.

                      Y’a du mieux ! Les entitées ne prennent plus la taille de la dernière posé. Elles ont toutes des tailles différentes ! Mais pas leurs bonne taille 😉 Je vais regarder ça. Mais Eclipse n’arrête pas de planter sur ce PC ><

                      Edit : Hum, je pense avoir un début de piste. J’ai mit un “System.out.println(mobName+” Lv.“+mobLevel);” dans EntityMob, et a ce que j’ai vue, quand je pose ce mob j’ai le message du système en x2 avec des infos différente !

                      [15:11:38] [Server thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.1
                      [15:11:38] [Client thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.3
                      
                      [15:11:42] [Server thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.1
                      [15:11:42] [Client thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakule la Revancharde Lv.1
                      
                      [15:11:47] [Server thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.2
                      [15:11:47] [Client thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakule la Revancharde Lv.1
                      
                      [15:11:51] [Server thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.2
                      [15:11:51] [Client thread/INFO] [STDOUT]: [com.google.dofusmob.common.EntityMobArakne:<init>:89]: Arakne Lv.2
                      

                      EDIT2 : Le soucis c’est que je n’arrive pas a faire en sorte que le client et le serveur reçoivent les mêmes info…</init></init></init></init></init></init></init></init>

                      >! Bonjour/Bonsoir,
                      >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                      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