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

Mob incompréhensible

Sans suite
1.7.10
8
60
13.0k
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 11 nov. 2014, 09:40

    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 11 nov. 2014, 09:48

      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 11 nov. 2014, 09:52

        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 11 nov. 2014, 09:57

          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 11 nov. 2014, 09:58

            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 11 nov. 2014, 10:11

                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 11 nov. 2014, 10:17

                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 11 nov. 2014, 11:57

                  Il te barre quelle ligne ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • O
                    Oeilomega dernière édition par 11 nov. 2014, 12:10

                    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 11 nov. 2014, 12:12

                      @‘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 11 nov. 2014, 12:53

                        Eclipse te donne quoi comme erreur ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • O
                          Oeilomega dernière édition par 11 nov. 2014, 13:11

                          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 11 nov. 2014, 13:13

                            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 11 nov. 2014, 13:28

                              ​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 11 nov. 2014, 13:35

                                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 11 nov. 2014, 15:09

                                  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 11 nov. 2014, 15:27

                                    Renvoie ta classe après modification.

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • O
                                      Oeilomega dernière édition par 11 nov. 2014, 16:04

                                      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 11 nov. 2014, 16:09

                                        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 11 nov. 2014, 16:43

                                          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
                                          1 sur 60
                                          • Premier message
                                            1/60
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB