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

    Résolu Items de base sur un Mob !

    1.7.x
    1.7.10
    4
    13
    2499
    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.
    • S
      SquizzCraft dernière édition par

      Bonjour bonjour !

      Je voulais savoir si il est possible de pouvoir rajouter à son Entitée une arme de base (Une hache par exemple ou autre…), j’ai voulu essayer avec cette fonction :

         protected void addRandomArmor()
         {
             this.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
         }
      

      Mais rien n’apparaît en jeu ! Une solution ? 🙂

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

        Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

        
        public void onStruckByLightning(EntityLightningBolt lightningBolt)
        {
        if (!this.worldObj.isRemote)
        {
        EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
        entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
        entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
        this.worldObj.spawnEntityInWorld(entitypigzombie);
        this.setDead();
        }
        }
        
        

        ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

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

          @‘SCAREX’:

          Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

          
          public void onStruckByLightning(EntityLightningBolt lightningBolt)
             {
                 if (!this.worldObj.isRemote)
                 {
                     EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
                     entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
                     entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                     this.worldObj.spawnEntityInWorld(entitypigzombie);
                     this.setDead();
                 }
             }
          

          ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

          Ou alors tu as aussi le méthode getHeldItem()

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

            @‘Julot10085’:

            @‘SCAREX’:

            Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

            
            public void onStruckByLightning(EntityLightningBolt lightningBolt)
               {
                   if (!this.worldObj.isRemote)
                   {
                       EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
                       entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
                       entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                       this.worldObj.spawnEntityInWorld(entitypigzombie);
                       this.setDead();
                   }
               }
            

            ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

            Ou alors tu as aussi le méthode getHeldItem()

            Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

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

              Ton mob à quoi comme modèle ? Un modèle custom de 0 ou ModelBiped/ quelque chose extends ModelBiped ?
              Dans le cas 2 et 3, avec le code que t’as donné SCAREX ça devrait être bon (suffit de le mettre dans le constructeur du mob ou dans la fonction initEntity)
              Par contre si tu as un modèle custom, l’item ne s’affichera pas sur le mob, faut ajouter un code en plus dans le rendu du mob.

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

                Merci de vos réponses, alors, j’ai donc fait ça dans mon entity :

                package unicorncraft.mod.common;
                
                import net.minecraft.entity.SharedMonsterAttributes;
                import net.minecraft.entity.effect.EntityLightningBolt;
                import net.minecraft.entity.monster.EntityMob;
                import net.minecraft.init.Items;
                import net.minecraft.item.Item;
                import net.minecraft.item.ItemStack;
                import net.minecraft.world.World;
                
                public class EntityNain extends EntityMob{
                
                public EntityNain(World par1world) {
                super(par1world);
                
                }
                public void applyEntityAttributes()
                {
                super.applyEntityAttributes();
                this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100D);
                this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10.0D);
                this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(2D);
                }
                public Item getDropItem()
                {
                return Items.gold_nugget;
                
                }
                
                protected void addRandomArmor()
                {
                this.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                }
                
                public void onStruckByLightning(EntityLightningBolt lightningBolt)
                {
                if (!this.worldObj.isRemote)
                {
                EntityNain EntityNain = new EntityNain(this.worldObj);
                EntityNain.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                EntityNain.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                this.worldObj.spawnEntityInWorld(EntityNain);
                this.setDead();
                }
                }
                }
                

                Mais toujours rien, je pense peut être que ça vient de la fonction onStruckByLightning, il faut peut être la remplacée mais par quoi dans ce cas ? Sinon il faudrais faire autre chose ?

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

                  @‘SquizzCraft’:

                  Merci de vos réponses, alors, j’ai donc fait ça dans mon entity :

                  package unicorncraft.mod.common;
                  
                  import net.minecraft.entity.SharedMonsterAttributes;
                  import net.minecraft.entity.effect.EntityLightningBolt;
                  import net.minecraft.entity.monster.EntityMob;
                  import net.minecraft.init.Items;
                  import net.minecraft.item.Item;
                  import net.minecraft.item.ItemStack;
                  import net.minecraft.world.World;
                  
                  public class EntityNain extends EntityMob{
                  
                  public EntityNain(World par1world) {
                  super(par1world);
                  
                  }
                  public void applyEntityAttributes()
                  {
                  super.applyEntityAttributes();
                  this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100D);
                  this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10.0D);
                  this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(2D);
                  }
                  public Item getDropItem()
                  {
                  return Items.gold_nugget;
                  
                  }
                  
                     protected void addRandomArmor()
                     {
                         this.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                     }
                  
                     public void onStruckByLightning(EntityLightningBolt lightningBolt)
                     {
                         if (!this.worldObj.isRemote)
                         {
                             EntityNain EntityNain = new EntityNain(this.worldObj);
                             EntityNain.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                             EntityNain.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                             this.worldObj.spawnEntityInWorld(EntityNain);
                             this.setDead();
                         }
                     }
                  }
                  

                  Mais toujours rien, je pense peut être que ça vient de la fonction onStruckByLightning, il faut peut être la remplacée mais par quoi dans ce cas ? Sinon il faudrais faire autre chose ?

                  😄 ici je te montrai le code dans la classe du cochon pour qu’il se transforme en zombie pigman lorsqu’il est touché par un éclair. il faut que ton constructeur soit comme ça :

                  
                  public EntityNain(World par1world) {
                  super(par1world);
                  this.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                  }
                  
                  

                  PS : ne met pas de majuscules à tes noms de variables. Et tu m’a l’air novice, je te conseille donc de regarder quelques tutoriels sur java/forge avant de te lancer dans quoi que ce soit de trop grand.

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

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

                    @‘SCAREX’:

                    @‘Julot10085’:

                    @‘SCAREX’:

                    Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

                    
                    public void onStruckByLightning(EntityLightningBolt lightningBolt)
                       {
                           if (!this.worldObj.isRemote)
                           {
                               EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
                               entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
                               entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                               this.worldObj.spawnEntityInWorld(entitypigzombie);
                               this.setDead();
                           }
                       }
                    

                    ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

                    Ou alors tu as aussi le méthode getHeldItem()

                    Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

                    Le résultat est le même et où il est dit qu’il ne souhaite pas un getter (au passage c’est gettER et pas gettEUR il faut arrêter de franciser les mots anglais de Java).  Tu peux tester les 2 méthodes proposées ici sont bonnes , c’est le résultat qui compte pas le procédé.

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

                      @‘Julot10085’:

                      @‘SCAREX’:

                      @‘Julot10085’:

                      @‘SCAREX’:

                      Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

                      
                      public void onStruckByLightning(EntityLightningBolt lightningBolt)
                         {
                             if (!this.worldObj.isRemote)
                             {
                                 EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
                                 entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
                                 entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                                 this.worldObj.spawnEntityInWorld(entitypigzombie);
                                 this.setDead();
                             }
                         }
                      

                      ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

                      Ou alors tu as aussi le méthode getHeldItem()

                      Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

                      Le résultat est le même et où il est dit qu’il ne souhaite pas un getter (au passage c’est gettER et pas gettEUR il faut arrêter de franciser les mots anglais de Java).  Tu peux tester les 2 méthodes proposées ici sont bonnes , c’est le résultat qui compte pas le procédé.

                      getHeldItem récupère l’ItemStack tenu en main, c’est plus propre d’utiliser setCurrentItemOrArmor. (et je francise les mots en anglais si je veux 😛 )

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

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

                        @‘SCAREX’:

                        @‘Julot10085’:

                        @‘SCAREX’:

                        @‘Julot10085’:

                        @‘SCAREX’:

                        Dans le code du zombie pigman, l’épée est rajoutée au moment de le faire apparaître :

                        
                        public void onStruckByLightning(EntityLightningBolt lightningBolt)
                           {
                               if (!this.worldObj.isRemote)
                               {
                                   EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj);
                                   entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword));
                                   entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
                                   this.worldObj.spawnEntityInWorld(entitypigzombie);
                                   this.setDead();
                               }
                           }
                        

                        ou tu peux aussi override la fonction func_180482_a (je ne sais pas comment elle s’appelle en 1.7)

                        Ou alors tu as aussi le méthode getHeldItem()

                        Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

                        Le résultat est le même et où il est dit qu’il ne souhaite pas un getter (au passage c’est gettER et pas gettEUR il faut arrêter de franciser les mots anglais de Java).  Tu peux tester les 2 méthodes proposées ici sont bonnes , c’est le résultat qui compte pas le procédé.

                        getHeldItem récupère l’ItemStack tenu en main, c’est plus propre d’utiliser setCurrentItemOrArmor. (et je francise les mots en anglais si je veux  😛 )

                        Oui c’est un getter je le sais c’est sûrement mieux d’utiliser ta méthode mais moi j’ai l’habitude d’utiliser celle-ci car elle était déjà présente quand j’ai commencé vanilla en 1.2.5

                        Sinon revenons au sujet il peut aussi utiliser cette méthode là pour ajouter setCurrentItemOrArmor, c’est comme ceci que le skeleton fait

                        
                            protected void addRandomArmor()
                            {
                                super.addRandomArmor();
                                this.setCurrentItemOrArmor(0, new ItemStack(Items.bow));
                            }
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • SCAREX
                          SCAREX dernière édition par

                          @‘Julot10085’:

                          @‘SCAREX’:

                          @‘Julot10085’:

                          @‘SCAREX’:

                          @‘Julot10085’:

                          Ou alors tu as aussi le méthode getHeldItem()

                          Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

                          Le résultat est le même et où il est dit qu’il ne souhaite pas un getter (au passage c’est gettER et pas gettEUR il faut arrêter de franciser les mots anglais de Java).  Tu peux tester les 2 méthodes proposées ici sont bonnes , c’est le résultat qui compte pas le procédé.

                          getHeldItem récupère l’ItemStack tenu en main, c’est plus propre d’utiliser setCurrentItemOrArmor. (et je francise les mots en anglais si je veux  😛 )

                          Oui c’est un getter je le sais c’est sûrement mieux d’utiliser ta méthode mais moi j’ai l’habitude d’utiliser celle-ci car elle était déjà présente quand j’ai commencé vanilla en 1.2.5

                          Sinon revenons au sujet il peut aussi utiliser cette méthode là pour ajouter setCurrentItemOrArmor, c’est comme ceci que le skeleton fait

                          
                              protected void addRandomArmor()
                              {
                                  super.addRandomArmor();
                                  this.setCurrentItemOrArmor(0, new ItemStack(Items.bow));
                              }
                          

                          C’est la méthode qu’il utilise déjà mais apparemment elle ne fonctionne pas

                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                          Pas de demandes de support par MP ni par skype SVP.
                          Je n'accepte sur skype que l…

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

                            @‘SCAREX’:

                            @‘Julot10085’:

                            @‘SCAREX’:

                            @‘Julot10085’:

                            @‘SCAREX’:

                            Ce qu’il veut lui c’est pas un getteur, c’est mettre un item de base à une entitée, comme l’archer ou le zombie pigman.

                            Le résultat est le même et où il est dit qu’il ne souhaite pas un getter (au passage c’est gettER et pas gettEUR il faut arrêter de franciser les mots anglais de Java).  Tu peux tester les 2 méthodes proposées ici sont bonnes , c’est le résultat qui compte pas le procédé.

                            getHeldItem récupère l’ItemStack tenu en main, c’est plus propre d’utiliser setCurrentItemOrArmor. (et je francise les mots en anglais si je veux  😛 )

                            Oui c’est un getter je le sais c’est sûrement mieux d’utiliser ta méthode mais moi j’ai l’habitude d’utiliser celle-ci car elle était déjà présente quand j’ai commencé vanilla en 1.2.5

                            Sinon revenons au sujet il peut aussi utiliser cette méthode là pour ajouter setCurrentItemOrArmor, c’est comme ceci que le skeleton fait

                            
                                protected void addRandomArmor()
                                {
                                    super.addRandomArmor();
                                    this.setCurrentItemOrArmor(0, new ItemStack(Items.bow));
                                }
                            

                            C’est la méthode qu’il utilise déjà mais apparemment elle ne fonctionne pas

                            Ah oui autant pour moi je n’avais pas vu x)
                            Comme l’a demandé robin ton mob utilise-il un model différent du ModelBiped, a-t-il une forme spéciale ? Si ce n’est pas le cas essaies toujours de passer par ma fonction getHeldItem(), elle est pas propre certes ^^ Mais elle fonctionne

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

                              Merci merci ! Alors, j’ai fais ce que m’a dis Scarex, donc dans mon construteur, j’ai compléter celui de base par ça :

                              public EntityNain(World par1world) {
                              super(par1world);
                              this.setCurrentItemOrArmor(0, new ItemStack(Items.golden_axe));
                              

                              Encore merci ! 😄

                              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