MFF

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

    Items de base sur un Mob !

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    13 Messages 4 Publieurs 2.8k 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.
    • DeletedD Hors-ligne
      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
      • SCAREXS Hors-ligne
        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
        • robin4002R Hors-ligne
          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 Hors-ligne
            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
            • SCAREXS Hors-ligne
              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
              • DeletedD Hors-ligne
                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
                • SCAREXS Hors-ligne
                  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
                  • DeletedD Hors-ligne
                    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
                    • SCAREXS Hors-ligne
                      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
                      • DeletedD Hors-ligne
                        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 Hors-ligne
                          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
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB