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

    Mob incompréhensible

    Sans suite
    1.7.10
    8
    60
    13090
    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.
    • O
      Oeilomega dernière édition par

      Bonjour, j’ai essayé de coder un mob entièrement modulable:

      ​package fr.oeilomega.wozcontent.common;
      
      import java.util.List;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityCreature;
      import net.minecraft.entity.SharedMonsterAttributes;
      import net.minecraft.entity.ai.EntityAIAttackOnCollide;
      import net.minecraft.entity.ai.EntityAIAvoidEntity;
      import net.minecraft.entity.ai.EntityAIHurtByTarget;
      import net.minecraft.entity.ai.EntityAILookIdle;
      import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
      import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
      import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
      import net.minecraft.entity.ai.EntityAISwimming;
      import net.minecraft.entity.ai.EntityAIWander;
      import net.minecraft.entity.ai.EntityAIWatchClosest;
      import net.minecraft.entity.monster.EntityMob;
      import net.minecraft.entity.passive.EntityChicken;
      import net.minecraft.entity.passive.EntityCow;
      import net.minecraft.entity.passive.EntityPig;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Blocks;
      import net.minecraft.util.AxisAlignedBB;
      import net.minecraft.util.MathHelper;
      import net.minecraft.world.World;
      
      public class wozzombie extends EntityMob
      {
      public wozzombie(World world)
      {
      super(world);
      this.getNavigator().setBreakDoors(true);
      this.tasks.addTask(0, new EntityAISwimming(this));
      this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
      this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
      this.tasks.addTask(5, new EntityAIMoveThroughVillage(this, 1.0D, false));
      this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
      this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 0.0F));
      this.tasks.addTask(7, new EntityAILookIdle(this));
      this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));
      this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
      }
      
      public void applyEntityAttributes()
      {
      super.applyEntityAttributes();
      this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D);
      this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(1D);
      this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D);
      this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0D);
      this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D);
      
      }
      
      }
      
      

      Donc normalement il fait bien un coeur de dégâts non ?
      Il est censé me voir à 40 bloc non ?
      il est censé allez aussi vite qu’une tortue ayant la gastro-entérite non ?

      Alors pourquoi, il me three-shot, a des yeux de sniper et cours aussi vite q’un sprinteur enragé ?

      Second problème:

      ​package fr.oeilomega.wozcontent.proxy;
      
      import net.minecraft.client.model.ModelBiped;
      import cpw.mods.fml.client.registry.RenderingRegistry;
      import fr.oeilomega.wozcontent.client.Modelwozombie;
      import fr.oeilomega.wozcontent.common.wozzombie;
      
      public class ClientProxy
        extends CommonProxy
      {
        public void registerRender() {}
        {
            RenderingRegistry.registerEntityRenderingHandler(wozzombie.class, new renderwozzombie(new Modelwozombie(), 0.5F));
      
        }
      }
      

      J’ai essayé de faire mon rendu avec techne comme dans le tutoriel sauf que…Il me barre la ligne

      Merci d’avance !

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

        c’est bien d’avoir des ia dans le constructeur encore faut-il cette méthode pour les activer 😉

        ​    /**
        
             * Returns true if the newer Entity AI code should be run
             */
            protected boolean isAIEnabled()
            {
                return true;
            }
        
        1 réponse Dernière réponse Répondre Citer 0
        • O
          Oeilomega dernière édition par

          Wait…Me dit pas que parce que j’ai pas utiliser la méthode que les attributs de l’entité ne fonctionne pas

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

            Pour ce qui est de la vitesse de déplacement, la vitesse de base(si on ne met pas la fonction movementSpeed) est de 0.6999… Donc ton mob avance plus vite que la moyenne si tu veux vraiment qu’il soit lent met 0.2 ou moins à toi de voir.

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

              Je veux juste qu’il ai les mêmes attributs qu’un zombie.

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

                  public void registerRender() {}
                  {
                      RenderingRegistry.registerEntityRenderingHandler(wozzombie.class, new renderwozzombie(new Modelwozombie(), 0.5F));
                  }
                

                Si tu as des accolades qui ne servent à rien, normal que ça ne fonctionne pas
                ↓↓↓↓↓

                public void registerRender()
                {
                RenderingRegistry.registerEntityRenderingHandler(wozzombie.class, new renderwozzombie(new Modelwozombie(), 0.5F));
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • O
                  Oeilomega dernière édition par

                  Toujours le même problème en fait

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

                    Il te barre quelle ligne ?

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

                      celle ci: new renderwozzombie(new Modelwozombie(), 0.5F));

                      Ps: mtn, c’est plus un sprinteur enragé, c’est Usain Bolt dans 28 jours plus tard 😮

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

                        @‘Oeilomega’:

                        celle ci: new renderwozzombie(new Modelwozombie(), 0.5F));

                        Ps: mtn, c’est plus un sprinteur enragé, c’est Usain Bolt dans 28 jours plus tard 😮

                        Souvent quand un mob est aussi rapide que ça c’est un problème d’ia 
                        As-tu bien mis ma méthode de mon message ci-dessus, dans la classe de ton entity ?

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

                          Eclipse te donne quoi comme erreur ?

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

                            mon nouveau code:

                            ​package fr.oeilomega.wozcontent.common;
                            
                            import java.util.List;
                            
                            import net.minecraft.entity.Entity;
                            import net.minecraft.entity.EntityCreature;
                            import net.minecraft.entity.SharedMonsterAttributes;
                            import net.minecraft.entity.ai.EntityAIAttackOnCollide;
                            import net.minecraft.entity.ai.EntityAIAvoidEntity;
                            import net.minecraft.entity.ai.EntityAIHurtByTarget;
                            import net.minecraft.entity.ai.EntityAILookIdle;
                            import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
                            import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
                            import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
                            import net.minecraft.entity.ai.EntityAISwimming;
                            import net.minecraft.entity.ai.EntityAIWander;
                            import net.minecraft.entity.ai.EntityAIWatchClosest;
                            import net.minecraft.entity.monster.EntityMob;
                            import net.minecraft.entity.passive.EntityChicken;
                            import net.minecraft.entity.passive.EntityCow;
                            import net.minecraft.entity.passive.EntityPig;
                            import net.minecraft.entity.player.EntityPlayer;
                            import net.minecraft.init.Blocks;
                            import net.minecraft.util.AxisAlignedBB;
                            import net.minecraft.util.MathHelper;
                            import net.minecraft.world.World;
                            
                            public class wozzombie extends EntityMob
                            {
                            public wozzombie(World world)
                            {
                            super(world);
                            this.getNavigator().setBreakDoors(true);
                            this.tasks.addTask(0, new EntityAISwimming(this));
                            this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
                            this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D));
                            this.tasks.addTask(5, new EntityAIMoveThroughVillage(this, 1.0D, false));
                            this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
                            this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 0.0F));
                            this.tasks.addTask(7, new EntityAILookIdle(this));
                            this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));
                            this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
                            }
                            
                            public void applyEntityAttributes()
                            {
                            super.applyEntityAttributes();
                            this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D);
                            this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(1D);
                            this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D);
                            this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0D);
                            this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.1D);
                            
                            }
                            protected boolean isAIEnabled()
                            {
                                return true;
                            }
                            }
                            
                            

                            et pour robin:

                            ​new renderwozzombie(new Modelwozombie(), 0.5F));
                            

                            The constructor renderwozzombie(Modelwozombie, float) is undefined

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

                              envoie ta classe renderwozzombie
                              (d’ailleurs ta classe devrait être nommé RenderWozzombie pour respecter la convention Java).

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

                                ​package fr.oeilomega.wozcontent.proxy;
                                
                                import fr.oeilomega.wozcontent.common.wozcontent;
                                import fr.oeilomega.wozcontent.common.wozzombie;
                                import net.minecraft.client.model.ModelBiped;
                                import net.minecraft.client.renderer.entity.RenderBiped;
                                import net.minecraft.entity.EntityLiving;
                                import net.minecraft.util.ResourceLocation;
                                
                                public class renderwozzombie extends RenderBiped
                                {
                                    public final ResourceLocation texture = new ResourceLocation(wozcontent.MODID, "textures/entity/wozzombie1.png");
                                
                                public renderwozzombie(ModelBiped model, float shadow)
                                {
                                super(model, shadow);
                                }
                                
                                protected ResourceLocation getEntityTexture(EntityLiving living)
                                {
                                return this.getwozzombieTexture((wozzombie)living);
                                }
                                
                                private ResourceLocation getwozzombieTexture(wozzombie wozzombie)
                                {
                                return texture;
                                }
                                }
                                

                                Et voila !

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

                                  Si ton modèle n’est pas extends ModelBiped, il faut que tu change le code de ton rendu, il faut faire un rendu extends RenderLiving

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

                                    Je viens de le faire et il y a aucune amélioration…

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

                                      Renvoie ta classe après modification.

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

                                        le model:

                                        ​package fr.oeilomega.wozcontent.client;
                                        
                                        import net.minecraft.client.model.ModelBase;
                                        import net.minecraft.client.model.ModelRenderer;
                                        import net.minecraft.entity.Entity;
                                        
                                        public class Modelwozombie extends ModelBase
                                        {
                                          //fields
                                            ModelRenderer head;
                                            ModelRenderer body;
                                            ModelRenderer rightarm;
                                            ModelRenderer leftarm;
                                            ModelRenderer rightleg;
                                            ModelRenderer leftleg;
                                        
                                          public Modelwozombie()
                                          {
                                            textureWidth = 64;
                                            textureHeight = 32;
                                        
                                              head = new ModelRenderer(this, 0, 0);
                                              head.addBox(-4F, -8F, -4F, 8, 8, 8);
                                              head.setRotationPoint(0F, 0F, 0F);
                                              head.setTextureSize(64, 32);
                                              head.mirror = true;
                                              setRotation(head, 0F, 0F, 0F);
                                              body = new ModelRenderer(this, 16, 16);
                                              body.addBox(-4F, 0F, -2F, 8, 12, 4);
                                              body.setRotationPoint(0F, 0F, 0F);
                                              body.setTextureSize(64, 32);
                                              body.mirror = true;
                                              setRotation(body, 0F, 0F, 0F);
                                              rightarm = new ModelRenderer(this, 40, 16);
                                              rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
                                              rightarm.setRotationPoint(-5F, 2F, 0F);
                                              rightarm.setTextureSize(64, 32);
                                              rightarm.mirror = true;
                                              setRotation(rightarm, 0F, 0F, 0F);
                                              leftarm = new ModelRenderer(this, 40, 16);
                                              leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
                                              leftarm.setRotationPoint(5F, 2F, 0F);
                                              leftarm.setTextureSize(64, 32);
                                              leftarm.mirror = true;
                                              setRotation(leftarm, 0F, 0F, 0F);
                                              rightleg = new ModelRenderer(this, 0, 16);
                                              rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
                                              rightleg.setRotationPoint(-2F, 12F, 0F);
                                              rightleg.setTextureSize(64, 32);
                                              rightleg.mirror = true;
                                              setRotation(rightleg, 0F, 0F, 0F);
                                              leftleg = new ModelRenderer(this, 0, 16);
                                              leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
                                              leftleg.setRotationPoint(2F, 12F, 0F);
                                              leftleg.setTextureSize(64, 32);
                                              leftleg.mirror = true;
                                              setRotation(leftleg, 0F, 0F, 0F);
                                          }
                                        
                                          public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
                                          {
                                            super.render(entity, f, f1, f2, f3, f4, f5);
                                            setRotationAngles(f, f1, f2, f3, f4, f5, entity);
                                            head.render(f5);
                                            body.render(f5);
                                            rightarm.render(f5);
                                            leftarm.render(f5);
                                            rightleg.render(f5);
                                            leftleg.render(f5);
                                          }
                                        
                                          private void setRotation(ModelRenderer model, float x, float y, float z)
                                          {
                                            model.rotateAngleX = x;
                                            model.rotateAngleY = y;
                                            model.rotateAngleZ = z;
                                          }
                                        
                                          public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
                                          {
                                            super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
                                          }
                                        }
                                        
                                        

                                        Le rendu:

                                        ​package fr.oeilomega.wozcontent.proxy;
                                        
                                        import fr.oeilomega.wozcontent.common.wozcontent;
                                        import fr.oeilomega.wozcontent.common.wozzombie;
                                        import net.minecraft.client.model.ModelBiped;
                                        import net.minecraft.client.renderer.entity.RenderBiped;
                                        import net.minecraft.client.renderer.entity.RenderLiving;
                                        import net.minecraft.entity.Entity;
                                        import net.minecraft.entity.EntityLiving;
                                        import net.minecraft.util.ResourceLocation;
                                        
                                        public class renderwozzombie extends RenderLiving
                                        {
                                            public final ResourceLocation texture = new ResourceLocation(wozcontent.MODID, "textures/entity/wozzombie1.png");
                                        
                                        public renderwozzombie(ModelBiped model, float shadow)
                                        {
                                        super(model, shadow);
                                        }
                                        
                                        protected ResourceLocation getEntityTexture(EntityLiving living)
                                        {
                                        return this.getMobTutorielTexture((wozzombie)living);
                                        }
                                        
                                        private ResourceLocation getMobTutorielTexture(wozzombie wozzombie)
                                        {
                                        return texture;
                                        }
                                        
                                        @Override
                                        protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
                                            // TODO Auto-generated method stub
                                            return null;
                                        }
                                        }
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                          Remplace
                                          public renderwozzombie(ModelBiped model, float shadow)

                                          par

                                          public renderwozzombie(ModelBase model, float shadow)

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

                                            OK, y’a plus d’erreurs mais le model apparait pas

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

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB