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

    Mob qui attaque que si on l'attaque

    Sans suite
    1.7.2
    7
    24
    6596
    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.
    • D
      Degraduck dernière édition par

      Bonjour, tout est dit dans le titre j’aimerai que mes mobs n’attaque qui si on les tapes comme les loups, j’ai fouillé dans le code du loup, j’ai vu que si le mode énervé était actif il passait donc en mode agrissif hors je n’est pas réussi à reprendre le code et à l’adpter à mes mobs.

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

        va voir c’elle du pigman pour tester
        je pense qu’elle doivent être du même genre
        malheuresement

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

          J’ai regardé mais je n’arrives pas à le mettre a mes mobs

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

            Comment ça?
            T’as trouvé quoi comme bout de code?

            Mes mods :

            • Cookie Ore (1.7.10)

            Mod en cours : **E…

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

              C est avec les ia que cela se joue et je pense que tu dois extends ton entity en entityCreature a confirmer ?

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

                Le morceau ou il y as le angrymode. A oui peut etre car la j’ai extends entitymob

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

                  @‘Degraduck’:

                  Le morceau ou il y as le angrymode. A oui peut etre car la j’ai extends entitymob

                  Nan ne fais pas trop comme le chien car lui il a aussi  un autre code qui permet aux autres a proximité d attaquer celui qui est angry
                  Fais plus comme je t ai dit tu crees une nouvelle entity et dans sa classe tu mets le strict c est a dire ses attributs (vie - attaque - vitesse……) et que tu as précédemment extends entityCreature perso c ce que j ai fait dans mon mod mais ne l ayant pas sous mes yeux je peux me tromper si c le cas dis moi l erreur je t aiderai 😄

                  Edit : penses a ajouter les ia qui le rendent neutres si je pe souviens bien
                  Tu vas dans l EntityZombie et tu copie colles les 2 ia ou l Entityvillager.java est concernée et tu les remets ds ton entity en corrigeant par entityplayer en m occurrence

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

                    D’accord je test cela de suite, n’ayant jamais travaillé avec les Ia je risque d’avoir du mal

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

                      Est ceci qui faut que je copie: ```java
                      public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
                      {
                      if (!super.attackEntityFrom(par1DamageSource, par2))
                      {
                      return false;
                      }
                      else
                      {
                      EntityLivingBase var3 = this.getAttackTarget();

                      if (var3 == null && this.getEntityToAttack() instanceof EntityLivingBase)
                      {
                      var3 = (EntityLivingBase)this.getEntityToAttack();
                      }

                      if (var3 == null && par1DamageSource.getEntity() instanceof EntityLivingBase)
                      {
                      var3 = (EntityLivingBase)par1DamageSource.getEntity();
                      }

                      if (var3 != null && this.worldObj.difficultySetting == EnumDifficulty.HARD && (double)this.rand.nextFloat() < this.getEntityAttribute(field_110186_bp).getAttributeValue())
                      {
                      int var4 = MathHelper.floor_double(this.posX);
                      int var5 = MathHelper.floor_double(this.posY);
                      int var6 = MathHelper.floor_double(this.posZ);
                      EntityZombie var7 = new EntityZombie(this.worldObj);

                      for (int var8 = 0; var8 < 50; ++var8)
                      {
                      int var9 = var4 + MathHelper.getRandomIntegerInRange(this.rand, 7, 40) * MathHelper.getRandomIntegerInRange(this.rand, -1, 1);
                      int var10 = var5 + MathHelper.getRandomIntegerInRange(this.rand, 7, 40) * MathHelper.getRandomIntegerInRange(this.rand, -1, 1);
                      int var11 = var6 + MathHelper.getRandomIntegerInRange(this.rand, 7, 40) * MathHelper.getRandomIntegerInRange(this.rand, -1, 1);

                      if (World.doesBlockHaveSolidTopSurface(this.worldObj, var9, var10 - 1, var11) && this.worldObj.getBlockLightValue(var9, var10, var11) < 10)
                      {
                      var7.setPosition((double)var9, (double)var10, (double)var11);

                      if (this.worldObj.checkNoEntityCollision(var7.boundingBox) && this.worldObj.getCollidingBoundingBoxes(var7, var7.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(var7.boundingBox))
                      {
                      this.worldObj.spawnEntityInWorld(var7);
                      var7.setAttackTarget(var3);
                      var7.onSpawnWithEgg((IEntityLivingData)null);
                      this.getEntityAttribute(field_110186_bp).applyModifier(new AttributeModifier(“Zombie reinforcement caller charge”, -0.05000000074505806D, 0));
                      var7.getEntityAttribute(field_110186_bp).applyModifier(new AttributeModifier(“Zombie reinforcement callee charge”, -0.05000000074505806D, 0));
                      break;
                      }
                      }
                      }
                      }

                      return true;
                      }
                      }

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

                        tu a essayé sa ?

                        /**
                            * Called when the entity is attacked.
                            */
                           public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_)
                           {
                               if (this.isEntityInvulnerable())
                               {
                                   return false;
                               }
                               else
                               {
                                   Entity entity = p_70097_1_.getEntity();
                        
                                   if (entity instanceof EntityPlayer)
                                   {
                                       List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(32.0D, 32.0D, 32.0D));
                        
                                       for (int i = 0; i < list.size(); ++i)
                                       {
                                           Entity entity1 = (Entity)list.get(i);
                        
                                           if (entity1 instanceof EntityPigZombie)
                                           {
                                               EntityPigZombie entitypigzombie = (EntityPigZombie)entity1;
                                               entitypigzombie.becomeAngryAt(entity);
                                           }
                                       }
                        
                                       this.becomeAngryAt(entity);
                                   }
                        
                                   return super.attackEntityFrom(p_70097_1_, p_70097_2_);
                               }
                           }
                        
                           /**
                            * Causes this PigZombie to become angry at the supplied Entity (which will be a player).
                            */
                           private void becomeAngryAt(Entity p_70835_1_)
                           {
                               this.entityToAttack = p_70835_1_;
                               this.angerLevel = 400 + this.rand.nextInt(400);
                               this.randomSoundDelay = this.rand.nextInt(40);
                           }
                        

                        je pense qu’il faut juste que tu enleve la partie ou tout les autres entity PigZombie passent en mode Angry si t’en tape un

                        Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

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

                          public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_)
                          {
                          if (this.isEntityInvulnerable())
                          {
                          return false;
                          }
                          else
                          {
                          Entity entity = p_70097_1_.getEntity();
                          
                          if (entity instanceof EntityPlayer)
                          {
                          List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(32.0D, 32.0D, 32.0D));
                          
                          for (int i = 0; i < list.size(); ++i)
                          }
                          
                          }
                          
                          return super.attackEntityFrom(p_70097_1_, p_70097_2_);
                          }
                          
                          ``` Comme ceci?
                          1 réponse Dernière réponse Répondre Citer 0
                          • Bowser338
                            Bowser338 dernière édition par

                            Nan enleve juste la boucle for et son contenu tout le reste tu le garde et fait des test

                            Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

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

                              /**
                              * Called when the entity is attacked.
                              */
                              public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_)
                              {
                              if (this.isEntityInvulnerable())
                              {
                              return false;
                              }
                              else
                              {
                              Entity entity = p_70097_1_.getEntity();
                              
                              if (entity instanceof EntityPlayer)
                              {
                              List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(32.0D, 32.0D, 32.0D));
                              
                              this.becomeAngryAt(entity);
                              }
                              
                              return super.attackEntityFrom(p_70097_1_, p_70097_2_);
                              }
                              }
                              
                              /**
                              * Causes this PigZombie to become angry at the supplied Entity (which will be a player).
                              */
                              private void becomeAngryAt(Entity p_70835_1_)
                              {
                              this.entityToAttack = p_70835_1_;
                              this.angerLevel = 400 + this.rand.nextInt(400);
                              this.randomSoundDelay = this.rand.nextInt(40);
                              }
                              ``` J'ai essayé ceci sans succès, je verrais demain ta réponse car je vais au lit, bonne soirée.
                              1 réponse Dernière réponse Répondre Citer 0
                              • Ama
                                Ama dernière édition par

                                Il te faut utiliser les fonctions isAngry, SetAngry …. Que tu pourra trouver dans EntityZombiePigMen

                                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
                                • RedRelay
                                  RedRelay Moddeurs confirmés dernière édition par

                                  Vire cette ligne :

                                  ​%(#000000)[[size=xx-small]List]%(#000000)[[size=xx-small] list ]%(#666600)[[size=xx-small]=] %(#7f0055)[[size=xx-small]**this**]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]worldObj]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]getEntitiesWithinAABBExcludingEntity]%(#666600)[[size=xx-small](]%(#7f0055)[[size=xx-small]**this**]%(#666600)[[size=xx-small],] %(#7f0055)[[size=xx-small]**this**]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]boundingBox]%(#666600)[[size=xx-small].]%(#000000)[[size=xx-small]expand]%(#666600)[[size=xx-small](]%(#646464)[[size=xx-small]32.0D]%(#666600)[[size=xx-small],] %(#646464)[[size=xx-small]32.0D]%(#666600)[[size=xx-small],] %(#646464)[[size=xx-small]32.0D]%(#666600)[[size=xx-small]));]
                                  

                                  Elle ne te sert plus a rien a part faire des calculs inutiles

                                  Personnellement j’ai déjà essayé d’utiliser les AI, mais je ne suis pas arrivé a quelque chose de concluant.
                                  Il faut que je me penche un peu plus la dessus.

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

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

                                    J’ai viré cette ligne ```java
                                    ​List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(32.0D, 32.0D, 32.0D));

                                    après plusieurs tests ce n'est toujours pas concluant, je vais fouiller ce soir en rentrant du travail.
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • D
                                      Degraduck dernière édition par

                                      Après de nombreuses recherches je bloques encore ici, voici la classe de mon mob:

                                      package com.degraduck.mobdofus.common;
                                      
                                      import java.util.List;
                                      
                                      import net.minecraft.entity.Entity;
                                      import net.minecraft.entity.EntityLivingBase;
                                      import net.minecraft.entity.SharedMonsterAttributes;
                                      import net.minecraft.entity.item.EntityItem;
                                      import net.minecraft.entity.monster.EntityMob;
                                      import net.minecraft.entity.player.EntityPlayer;
                                      import net.minecraft.init.Blocks;
                                      import net.minecraft.item.Item;
                                      import net.minecraft.item.ItemStack;
                                      import net.minecraft.util.DamageSource;
                                      import net.minecraft.world.World;
                                      
                                      public class EntityBouftou extends EntityMob {
                                      
                                      private int angerLevel;
                                      private int randomSoundDelay;
                                      public EntityBouftou(World par1World) {
                                      super(par1World);
                                      // TODO Auto-generated constructor stub
                                      }
                                      
                                      public void applyEntityAttributes()
                                      
                                      {
                                      super.applyEntityAttributes();
                                      this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D);
                                      this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2D);
                                      this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1);
                                      }
                                      
                                      public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
                                      {
                                      if (this.isEntityInvulnerable())
                                      {
                                      return false;
                                      }
                                      else
                                      {
                                      Entity var3 = par1DamageSource.getEntity();
                                      
                                      if (var3 instanceof EntityPlayer)
                                      {
                                      List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(32.0D, 32.0D, 32.0D));
                                      
                                      for (int var5 = 0; var5 < var4.size(); ++var5)
                                      {
                                      Entity var6 = (Entity)var4.get(var5);
                                      
                                      if (var6 instanceof EntityBouftou)
                                      {
                                      EntityBouftou var7 = (EntityBouftou)var6;
                                      var7.becomeAngryAt(var3);
                                      }
                                      }
                                      
                                      this.becomeAngryAt(var3);
                                      }
                                      
                                      return super.attackEntityFrom(par1DamageSource, par2);
                                      }
                                      }
                                      
                                      private void becomeAngryAt(Entity par1Entity)
                                      {
                                      this.entityToAttack = par1Entity;
                                      this.angerLevel = 400 + this.rand.nextInt(400);
                                      this.randomSoundDelay = this.rand.nextInt(40);
                                      }
                                      
                                      protected void dropFewItems(boolean par1, int par2)
                                      {
                                      int var3 = this.rand.nextInt(2 + par2);
                                      int var4;
                                      
                                      for (var4 = 0; var4 < var3; ++var4)
                                      {
                                      this.func_145779_a(Mobdofus.morceaudekamas, 1);
                                      }
                                      
                                      var3 = this.rand.nextInt(2 + par2);
                                      
                                      for (var4 = 0; var4 < var3; ++var4)
                                      {
                                      this.func_145779_a(Mobdofus.lainebouftou, 1);
                                      }
                                      }
                                      
                                      public EntityItem func_145779_a(Item p_145779_1_, int p_145779_2_)
                                      {
                                      return this.func_145778_a(p_145779_1_, p_145779_2_, 0.0F);
                                      }
                                      
                                      public EntityItem func_145778_a(Item p_145778_1_, int p_145778_2_, float p_145778_3_)
                                      {
                                      return this.entityDropItem(new ItemStack(p_145778_1_, p_145778_2_, 0), p_145778_3_);
                                      }
                                      
                                      }
                                      
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • RedRelay
                                        RedRelay Moddeurs confirmés dernière édition par

                                        var1, var2, var3, var4 … omg

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

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

                                          Oui tu penses que je devrais supprimer une partie de mon code?

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

                                            Ça j’en sais rien, par contre donner un nom explicite a tes variables serait une bonne chose 😉
                                            Sinon pourquoi ne pas faire des Class1, Class2, func1, func2 etc…

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

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

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB