MFF

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

    [SEMI TUTO] Création de mon mob hostile: spawn, attaque etc.

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8.8
    110 Messages 9 Publieurs 20.9k 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.
    • conquerorguepardC Hors-ligne
      conquerorguepard
      dernière édition par

      Up 🙂

      1 réponse Dernière réponse Répondre Citer 0
      • AymericRedA Hors-ligne
        AymericRed
        dernière édition par

        Up ? Comme je l’ai dit, tu as juste à mettre “this.setSize(1, 3);” au lieu de “this.setSize(2, 3);”. Sinon si tu veux que je te fasses une meilleure organisation de tes classes, dis le moi :).

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

        1 réponse Dernière réponse Répondre Citer 0
        • conquerorguepardC Hors-ligne
          conquerorguepard
          dernière édition par

          Merci ^^. Désolé je n’avais pas vu ton édit :)! Mais du coup si on le tape vers le haut cela ne rencontrera rien? Et mon mob qui fait 3 cubes de haut? (surtout que si on enlève l’IA il peut sauter tout en gardant sa proportion).
          Sinon je veux bien avoir la correction et observer quel est ton organisation :).
          Moi j’ai fait comme m’indiquaient les tutos que je regardais, après je sais pas trop ^^.

          D’ailleurs, tu sais comment faire pour qu’il attaque toutes les entités passives + moi?

          1 réponse Dernière réponse Répondre Citer 0
          • AymericRedA Hors-ligne
            AymericRed
            dernière édition par

            Tu as peut-être organisé comme les tutos, mais comme chaque tuto à sa propre organisation ben… Je vais donc faire ça 🙂
            Avec ce tout petit correctif, il garde la même hauter, juste la largeur/longueur qui change, après tu peux essayer 1.5 au lieu de 1…
            Pour toutes les entités passives, EntityPlayer.class ==> EntityLiving.class sur ton ai.

            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

            1 réponse Dernière réponse Répondre Citer 1
            • conquerorguepardC Hors-ligne
              conquerorguepard
              dernière édition par

              1.5… C’est vraiment très petit pour un mob de 9 mètres de long minimum… Comment ils font les autres mobs pour avoir des monstres alors? Cela doit bien être possible :/…

              1 réponse Dernière réponse Répondre Citer 0
              • AymericRedA Hors-ligne
                AymericRed
                dernière édition par

                Je sais que sur tropicraft (ou tropico), un dinosaure d’au moins 6-7 mètres de long pour 15-16 de haut a une boîte de collision presque inatteignable (une petite partie d’une patte). Mais je sais qu’il y a un truc de bounding box pour les entités, faut que je voies comment s’en servir.

                Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                1 réponse Dernière réponse Répondre Citer 0
                • conquerorguepardC Hors-ligne
                  conquerorguepard
                  dernière édition par

                  Je reposte car j’ai deux nouveaux problèmes (le premier: on peut pas remplacer EntityPlayer par EntityLiving pour l’attaque des mobs, sinon ils n’attaquent pas… Je ne comprends pas).

                  Deuxièmement: J’ai inséré un nouveau mob (Brachycératops). L’ennui c’est qu’il prend la texture, le model et même les points de vie du gorgosaurus. Du coup il est remplacé par Gorgosaurus. (étrangement il a gardé ses points de vie et son son que je lui avais mis cependant…). J’ai cherché pendant une bonne heure l’erreur, pas trouvé! A vous de jouer :/. (sinon c’est normal qu’une entity Ambiant pop à l’infini dans un monde?)

                  package fr.modzoic.mod;
                  
                  import net.minecraft.creativetab.CreativeTabs;
                  import net.minecraft.item.Item;
                  import net.minecraftforge.fml.common.Mod;
                  import net.minecraftforge.fml.common.Mod.EventHandler;
                  import net.minecraftforge.fml.common.Mod.Instance;
                  import net.minecraftforge.fml.common.SidedProxy;
                  import net.minecraftforge.fml.common.event.FMLInitializationEvent;
                  import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
                  import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
                  import net.minecraftforge.fml.common.registry.GameRegistry;
                  import fr.modzoic.mod.items.Dinomeat;
                  import fr.modzoic.mod.items.MeatEpanterias;
                  import fr.modzoic.mod.proxy.CommonProxy;
                  import fr.modzoic.mod.registry.EntitiesRegistry;
                  import fr.modzoic.mod.util.References;
                  
                  @Mod(modid = References.MODID, name = References.MODNAME, version = References.MODVERSION)
                  public class Modzoic
                  {
                      @Instance("modzoic")
                      public static Modzoic instance;
                  
                      @SidedProxy(clientSide = "fr.modzoic.mod.proxy.ClientProxy", serverSide = "fr.modzoic.mod.proxy.CommonProxy")
                      public static CommonProxy proxy;
                  
                      public static Item meatEpanterias;
                  
                      @EventHandler
                      public void preInit(FMLPreInitializationEvent event)
                      {
                          meatEpanterias = new MeatEpanterias(10, 0.5F, true).setCreativeTab(CreativeTabs.tabFood);
                          GameRegistry.registerItem(meatEpanterias, "meatEpanterias"); //Tu peux aussi mettre ça dans l'init
                  
                          Dinomeat.init();
                          Dinomeat.register(); //Tu peux aussi mettre ça dans l'init
                  
                          //Je précise que tu as deux façons de register tes items, c'est mieux d'en prendre q'une...
                      }
                  
                      @EventHandler
                      public void init(FMLInitializationEvent event)
                      {
                          EntitiesRegistry.registerEntities(instance);
                  
                          proxy.registerRender();
                      }
                  
                      @EventHandler
                      public void postInit(FMLPostInitializationEvent event)
                      {
                  
                      }
                  }
                  
                  package fr.modzoic.mod.entity;
                  
                  import net.minecraft.entity.EntityLiving;
                  
                  import net.minecraft.entity.SharedMonsterAttributes;
                  import net.minecraft.entity.ai.EntityAIAttackOnCollide;
                  import net.minecraft.entity.ai.EntityAILookIdle;
                  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.player.EntityPlayer;
                  import net.minecraft.pathfinding.PathNavigateGround;
                  import net.minecraft.util.BlockPos;
                  import net.minecraft.util.MathHelper;
                  import net.minecraft.world.World;
                  import fr.modzoic.mod.Modzoic;
                  
                  public class EntityBrachyceratops extends EntityMob
                  {
                      public EntityBrachyceratops(World world)
                      {
                          super(world);
                          this.setSize(1, 1);
                          ((PathNavigateGround)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(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
                          this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
                          this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
                          this.tasks.addTask(8, new EntityAILookIdle(this));
                  
                          this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this,  EntityPlayer.class, false));
                      }
                  
                      @Override
                      public void applyEntityAttributes()
                      {
                          super.applyEntityAttributes();
                          this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(31D);
                          this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5D);
                          this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(1.5D);
                          this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30D);
                          this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(30D);
                      }
                  
                      @Override
                      public void dropFewItems(boolean b, int looting)
                      {
                          this.dropItem(Modzoic.meatEpanterias, 4);
                      }
                  
                      @Override
                      public void onUpdate()
                      {
                          super.onUpdate();
                      }
                  
                      @Override
                      protected String getLivingSound()
                      {
                          return "modzoic" + ":mob.brachyceratops.living";
                      }
                  
                      @Override
                      public boolean canDespawn()
                      {
                          return false;
                      }
                  
                      @Override
                      public boolean getCanSpawnHere()
                      {
                          int i = MathHelper.floor_double(posX);
                          int j = MathHelper.floor_double(this.getEntityBoundingBox().minY);
                          int k = MathHelper.floor_double(posZ);
                          int l = worldObj.getLight(new BlockPos(i, j, k));
                          return worldObj.getCollidingBoundingBoxes(this, getEntityBoundingBox()).size() == 0 && worldObj.checkNoEntityCollision(this.getEntityBoundingBox()) && worldObj.canSeeSky(new BlockPos(i, j, k)) && rand.nextInt(5) == 0 && l > 10;
                      }
                  }
                  
                  package fr.modzoic.mod.proxy;
                  
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.client.renderer.entity.RenderItem;
                  import net.minecraft.client.resources.model.ModelResourceLocation;
                  import net.minecraftforge.fml.client.registry.RenderingRegistry;
                  import fr.modzoic.mod.Modzoic;
                  import fr.modzoic.mod.entity.EntityBrachyceratops;
                  import fr.modzoic.mod.entity.EntityGorgosaurus;
                  import fr.modzoic.mod.entity.EntityNanuqsaurus;
                  import fr.modzoic.mod.items.Dinomeat;
                  import fr.modzoic.mod.render.RenderBrachy;
                  import fr.modzoic.mod.render.RenderGorgo;
                  import fr.modzoic.mod.render.RenderNanuqsaurus;
                  import fr.modzoic.mod.render.model.ModelBrachy;
                  import fr.modzoic.mod.render.model.ModelGorgo;
                  import fr.modzoic.mod.render.model.ModelNanuqsaurus;
                  
                  public class ClientProxy extends CommonProxy
                  {
                  
                      @Override
                      public void registerRender()
                      {
                          RenderItem registerMesher = Minecraft.getMinecraft().getRenderItem();
                          registerMesher.getItemModelMesher().register(Modzoic.meatEpanterias, 0, new ModelResourceLocation("modzoic" + ":meatEpanterias", "inventory"));
                  
                          Dinomeat.registerRender();
                  
                          RenderingRegistry.registerEntityRenderingHandler(EntityNanuqsaurus.class, new RenderNanuqsaurus(Minecraft.getMinecraft().getRenderManager(), new ModelNanuqsaurus(), 2F));
                          RenderingRegistry.registerEntityRenderingHandler(EntityGorgosaurus.class, new RenderGorgo(Minecraft.getMinecraft().getRenderManager(), new ModelGorgo(), 2F));
                          RenderingRegistry.registerEntityRenderingHandler(EntityBrachyceratops.class, new RenderBrachy(Minecraft.getMinecraft().getRenderManager(), new ModelBrachy(), 1F));
                      }
                  }
                  
                  package fr.modzoic.mod.registry;
                  
                  import java.util.Random;
                  
                  import net.minecraft.entity.EnumCreatureType;
                  import net.minecraft.world.biome.BiomeGenBase;
                  import net.minecraftforge.fml.common.registry.EntityRegistry;
                  import fr.modzoic.mod.entity.EntityNanuqsaurus;
                  import fr.modzoic.mod.entity.EntityBrachyceratops;
                  import fr.modzoic.mod.entity.EntityGorgosaurus;
                  
                  public class EntitiesRegistry
                  {
                      public static void registerEntities(Object modInstance)
                      {
                          Class entityClass = EntityNanuqsaurus.class;
                          String name = "Nanuqsaurus";
                          Random random = new Random(name.hashCode());
                          int mainColor = random.nextInt() * 16777215;
                          int subColor = random.nextInt() * 16777215;
                  
                          EntityRegistry.registerModEntity(entityClass, name, 0, modInstance, 64, 1, true, mainColor, subColor);
                          EntityRegistry.addSpawn(entityClass, 5, 1, 3, EnumCreatureType.CREATURE, BiomeGenBase.forest, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills ,BiomeGenBase.coldBeach ,BiomeGenBase.coldTaiga ,BiomeGenBase.coldTaigaHills ,BiomeGenBase.desert ,BiomeGenBase.desertHills ,BiomeGenBase.extremeHills ,BiomeGenBase.forestHills ,BiomeGenBase.frozenRiver ,BiomeGenBase.iceMountains ,BiomeGenBase.icePlains ,BiomeGenBase.jungle ,BiomeGenBase.jungleEdge ,BiomeGenBase.jungleHills ,BiomeGenBase.megaTaiga ,BiomeGenBase.megaTaigaHills ,BiomeGenBase.mesa ,BiomeGenBase.mesaPlateau ,BiomeGenBase.mesaPlateau_F ,BiomeGenBase.plains ,BiomeGenBase.roofedForest ,BiomeGenBase.savanna ,BiomeGenBase.savannaPlateau ,BiomeGenBase.taigaHills ,BiomeGenBase.taiga ,BiomeGenBase.stoneBeach);
                  
                          entityClass = EntityGorgosaurus.class;
                          name = "Gorgosaurus";
                          random = new Random(name.hashCode());
                          mainColor = random.nextInt() * 16777215;
                          subColor = random.nextInt() * 16777215;
                  
                          EntityRegistry.registerModEntity(entityClass, name, 1, modInstance, 64, 1, true, mainColor, subColor);
                          EntityRegistry.addSpawn(entityClass, 2, 1, 2, EnumCreatureType.CREATURE, BiomeGenBase.forest, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills ,BiomeGenBase.coldBeach ,BiomeGenBase.coldTaiga ,BiomeGenBase.coldTaigaHills ,BiomeGenBase.desert ,BiomeGenBase.desertHills ,BiomeGenBase.extremeHills ,BiomeGenBase.forestHills ,BiomeGenBase.frozenRiver ,BiomeGenBase.iceMountains ,BiomeGenBase.icePlains ,BiomeGenBase.jungle ,BiomeGenBase.jungleEdge ,BiomeGenBase.jungleHills ,BiomeGenBase.megaTaiga ,BiomeGenBase.megaTaigaHills ,BiomeGenBase.mesa ,BiomeGenBase.mesaPlateau ,BiomeGenBase.mesaPlateau_F ,BiomeGenBase.plains ,BiomeGenBase.roofedForest ,BiomeGenBase.savanna ,BiomeGenBase.savannaPlateau ,BiomeGenBase.taigaHills ,BiomeGenBase.taiga ,BiomeGenBase.stoneBeach);
                  
                          entityClass = EntityBrachyceratops.class;
                          name = "Brachyceratops";
                          random = new Random(name.hashCode());
                          mainColor = random.nextInt() * 16777215;
                          subColor = random.nextInt() * 16777215;
                  
                          EntityRegistry.registerModEntity(entityClass, name, 1, modInstance, 64, 1, true, mainColor, subColor);
                          EntityRegistry.addSpawn(entityClass, 5, 1, 10, EnumCreatureType.CREATURE, BiomeGenBase.forest, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills ,BiomeGenBase.coldBeach ,BiomeGenBase.coldTaiga ,BiomeGenBase.coldTaigaHills ,BiomeGenBase.desert ,BiomeGenBase.desertHills ,BiomeGenBase.extremeHills ,BiomeGenBase.forestHills ,BiomeGenBase.frozenRiver ,BiomeGenBase.iceMountains ,BiomeGenBase.icePlains ,BiomeGenBase.jungle ,BiomeGenBase.jungleEdge ,BiomeGenBase.jungleHills ,BiomeGenBase.megaTaiga ,BiomeGenBase.megaTaigaHills ,BiomeGenBase.mesa ,BiomeGenBase.mesaPlateau ,BiomeGenBase.mesaPlateau_F ,BiomeGenBase.plains ,BiomeGenBase.roofedForest ,BiomeGenBase.savanna ,BiomeGenBase.savannaPlateau ,BiomeGenBase.taigaHills ,BiomeGenBase.taiga ,BiomeGenBase.stoneBeach);
                      }
                  }
                  
                  package fr.modzoic.mod.render;
                  
                  import net.minecraft.client.model.ModelBase;
                  
                  import net.minecraft.client.renderer.entity.RenderLiving;
                  import net.minecraft.client.renderer.entity.RenderManager;
                  import net.minecraft.entity.Entity;
                  import net.minecraft.util.ResourceLocation;
                  
                  public class RenderBrachy extends RenderLiving
                  {
                  
                      private static final ResourceLocation texture = new ResourceLocation("modzoic" + ":textures/mobs/Bracycheratops.png");
                  
                      public RenderBrachy(RenderManager render, ModelBase model, float x)
                      {
                          super(render, model, x);
                      }
                  
                      @Override
                      protected ResourceLocation getEntityTexture(Entity entity)
                      {
                          return texture;
                      }
                  }
                  
                  package fr.modzoic.mod.render.model;
                  
                  import net.minecraft.client.model.ModelBase;
                  import net.minecraft.client.model.ModelRenderer;
                  import net.minecraft.entity.Entity;
                  
                  public class ModelBrachy extends ModelBase
                  
                  {
                   ModelRenderer Corps_central;
                   ModelRenderer Avant_patte_1_droite;
                   ModelRenderer Avant_patte_1_gauche;
                   ModelRenderer Arriere_patte_1_droite;
                   ModelRenderer Arriere_patte_1_gauche;
                   ModelRenderer Arriere_patte_2_gauche;
                   ModelRenderer Avant_patte_2_gauche;
                   ModelRenderer Arriere_patte_2_droite;
                   ModelRenderer Avant_patte_2_droite;
                   ModelRenderer Avant_patte_3_gauche;
                   ModelRenderer Avant_patte_4_gauche;
                   ModelRenderer Arriere_patte_3_gauche;
                   ModelRenderer Arriere_patte_3_droite;
                   ModelRenderer Avant_patte_3_droite;
                   ModelRenderer Arriere_patte_4_gauche;
                   ModelRenderer Arriere_patte_4_droite;
                   ModelRenderer Avant_patte_4_droite;
                   ModelRenderer Queue_1;
                   ModelRenderer Queue_2;
                   ModelRenderer Queue_3;
                   ModelRenderer Queue_4;
                   ModelRenderer Cou;
                   ModelRenderer Colerette;
                   ModelRenderer Crane;
                   ModelRenderer Mandibule_haute;
                   ModelRenderer Mandibule_basse;
                   ModelRenderer Corne;
                   ModelRenderer Sourcils_gauches;
                   ModelRenderer Sourcils_droits;
                  
                  public ModelBrachy()
                  {
                   textureWidth = 128;
                   textureHeight = 64;
                  
                     Corps_central = new ModelRenderer(this, 88, 17);
                     Corps_central.addBox(-3F, -3F, 0F, 7, 6, 10);
                     Corps_central.setRotationPoint(-3F, 14F, -4F);
                     Corps_central.setTextureSize(128, 64);
                     Corps_central.mirror = true;
                     setRotation(Corps_central, 0F, 0F, 0F);
                     Avant_patte_1_droite = new ModelRenderer(this, 98, 34);
                     Avant_patte_1_droite.addBox(-1F, 0F, -1F, 2, 4, 3);
                     Avant_patte_1_droite.setRotationPoint(-6F, 14.3F, -0.5F);
                     Avant_patte_1_droite.setTextureSize(128, 64);
                     Avant_patte_1_droite.mirror = true;
                     setRotation(Avant_patte_1_droite, -0.5061455F, 0F, 0F);
                     Avant_patte_1_gauche = new ModelRenderer(this, 98, 34);
                     Avant_patte_1_gauche.addBox(-1F, 0F, -1F, 2, 4, 3);
                     Avant_patte_1_gauche.setRotationPoint(1F, 14.3F, -0.5F);
                     Avant_patte_1_gauche.setTextureSize(128, 64);
                     Avant_patte_1_gauche.mirror = true;
                     setRotation(Avant_patte_1_gauche, -0.5061455F, 0F, 0F);
                     Arriere_patte_1_droite = new ModelRenderer(this, 98, 34);
                     Arriere_patte_1_droite.addBox(-1F, 0F, -1F, 2, 4, 3);
                     Arriere_patte_1_droite.setRotationPoint(-6F, 14.3F, 5.5F);
                     Arriere_patte_1_droite.setTextureSize(128, 64);
                     Arriere_patte_1_droite.mirror = true;
                     setRotation(Arriere_patte_1_droite, -0.5061455F, 0F, 0F);
                     Arriere_patte_1_gauche = new ModelRenderer(this, 98, 34);
                     Arriere_patte_1_gauche.addBox(-1F, 0F, -1F, 2, 4, 3);
                     Arriere_patte_1_gauche.setRotationPoint(1F, 14.3F, 5.5F);
                     Arriere_patte_1_gauche.setTextureSize(128, 64);
                     Arriere_patte_1_gauche.mirror = true;
                     setRotation(Arriere_patte_1_gauche, -0.5061455F, 0F, 0F);
                     Arriere_patte_2_gauche = new ModelRenderer(this, 98, 41);
                     Arriere_patte_2_gauche.addBox(-1F, 0F, -1F, 2, 4, 2);
                     Arriere_patte_2_gauche.setRotationPoint(1F, 17F, 3.7F);
                     Arriere_patte_2_gauche.setTextureSize(128, 64);
                     Arriere_patte_2_gauche.mirror = true;
                     setRotation(Arriere_patte_2_gauche, 0.2617994F, 0F, 0F);
                     Avant_patte_2_gauche = new ModelRenderer(this, 98, 41);
                     Avant_patte_2_gauche.addBox(-1F, 0F, -1F, 2, 4, 2);
                     Avant_patte_2_gauche.setRotationPoint(1F, 17F, -2.3F);
                     Avant_patte_2_gauche.setTextureSize(128, 64);
                     Avant_patte_2_gauche.mirror = true;
                     setRotation(Avant_patte_2_gauche, 0.2617994F, 0F, 0F);
                     Arriere_patte_2_droite = new ModelRenderer(this, 98, 41);
                     Arriere_patte_2_droite.addBox(-1F, 0F, -1F, 2, 4, 2);
                     Arriere_patte_2_droite.setRotationPoint(-6F, 17F, 3.7F);
                     Arriere_patte_2_droite.setTextureSize(128, 64);
                     Arriere_patte_2_droite.mirror = true;
                     setRotation(Arriere_patte_2_droite, 0.2617994F, 0F, 0F);
                     Avant_patte_2_droite = new ModelRenderer(this, 98, 41);
                     Avant_patte_2_droite.addBox(-1F, 0F, -1F, 2, 4, 2);
                     Avant_patte_2_droite.setRotationPoint(-6F, 17F, -2.3F);
                     Avant_patte_2_droite.setTextureSize(128, 64);
                     Avant_patte_2_droite.mirror = true;
                     setRotation(Avant_patte_2_droite, 0.2617994F, 0F, 0F);
                     Avant_patte_3_gauche = new ModelRenderer(this, 98, 48);
                     Avant_patte_3_gauche.addBox(-1F, 0F, -1F, 2, 3, 2);
                     Avant_patte_3_gauche.setRotationPoint(1F, 20F, -1.2F);
                     Avant_patte_3_gauche.setTextureSize(128, 64);
                     Avant_patte_3_gauche.mirror = true;
                     setRotation(Avant_patte_3_gauche, -0.3490659F, 0F, 0F);
                     Avant_patte_4_gauche = new ModelRenderer(this, 98, 56);
                     Avant_patte_4_gauche.addBox(-1F, 0F, -2F, 2, 2, 3);
                     Avant_patte_4_gauche.setRotationPoint(1F, 22F, -2F);
                     Avant_patte_4_gauche.setTextureSize(128, 64);
                     Avant_patte_4_gauche.mirror = true;
                     setRotation(Avant_patte_4_gauche, 0F, 0F, 0F);
                     Arriere_patte_3_gauche = new ModelRenderer(this, 98, 48);
                     Arriere_patte_3_gauche.addBox(-1F, 0F, -1F, 2, 3, 2);
                     Arriere_patte_3_gauche.setRotationPoint(1F, 20F, 4.8F);
                     Arriere_patte_3_gauche.setTextureSize(128, 64);
                     Arriere_patte_3_gauche.mirror = true;
                     setRotation(Arriere_patte_3_gauche, -0.3490659F, 0F, 0F);
                     Arriere_patte_3_droite = new ModelRenderer(this, 98, 48);
                     Arriere_patte_3_droite.addBox(-1F, 0F, -1F, 2, 3, 2);
                     Arriere_patte_3_droite.setRotationPoint(-6F, 20F, 4.8F);
                     Arriere_patte_3_droite.setTextureSize(128, 64);
                     Arriere_patte_3_droite.mirror = true;
                     setRotation(Arriere_patte_3_droite, -0.3490659F, 0F, 0F);
                     Avant_patte_3_droite = new ModelRenderer(this, 98, 48);
                     Avant_patte_3_droite.addBox(-1F, 0F, -1F, 2, 3, 2);
                     Avant_patte_3_droite.setRotationPoint(-6F, 20F, -1.2F);
                     Avant_patte_3_droite.setTextureSize(128, 64);
                     Avant_patte_3_droite.mirror = true;
                     setRotation(Avant_patte_3_droite, -0.3490659F, 0F, 0F);
                     Arriere_patte_4_gauche = new ModelRenderer(this, 98, 56);
                     Arriere_patte_4_gauche.addBox(-1F, 0F, -2F, 2, 2, 3);
                     Arriere_patte_4_gauche.setRotationPoint(1F, 22F, 4F);
                     Arriere_patte_4_gauche.setTextureSize(128, 64);
                     Arriere_patte_4_gauche.mirror = true;
                     setRotation(Arriere_patte_4_gauche, 0F, 0F, 0F);
                     Arriere_patte_4_droite = new ModelRenderer(this, 98, 56);
                     Arriere_patte_4_droite.addBox(-1F, 0F, -2F, 2, 2, 3);
                     Arriere_patte_4_droite.setRotationPoint(-6F, 22F, 4F);
                     Arriere_patte_4_droite.setTextureSize(128, 64);
                     Arriere_patte_4_droite.mirror = true;
                     setRotation(Arriere_patte_4_droite, 0F, 0F, 0F);
                     Avant_patte_4_droite = new ModelRenderer(this, 98, 56);
                     Avant_patte_4_droite.addBox(-1F, 0F, -2F, 2, 2, 3);
                     Avant_patte_4_droite.setRotationPoint(-6F, 22F, -2F);
                     Avant_patte_4_droite.setTextureSize(128, 64);
                     Avant_patte_4_droite.mirror = true;
                     setRotation(Avant_patte_4_droite, 0F, 0F, 0F);
                     Queue_1 = new ModelRenderer(this, 38, 2);
                     Queue_1.addBox(-3F, -2F, 0F, 6, 5, 4);
                     Queue_1.setRotationPoint(-2.5F, 13.5F, 5.5F);
                     Queue_1.setTextureSize(128, 64);
                     Queue_1.mirror = true;
                     setRotation(Queue_1, 0F, 0F, 0F);
                     Queue_2 = new ModelRenderer(this, 59, 2);
                     Queue_2.addBox(-2.5F, -2F, 0F, 5, 4, 4);
                     Queue_2.setRotationPoint(-2.5F, 14F, 9F);
                     Queue_2.setTextureSize(128, 64);
                     Queue_2.mirror = true;
                     setRotation(Queue_2, -0.0174533F, 0F, 0F);
                     Queue_3 = new ModelRenderer(this, 78, 2);
                     Queue_3.addBox(-2F, -1F, 0F, 4, 3, 3);
                     Queue_3.setRotationPoint(-2.5F, 13.5F, 12.5F);
                     Queue_3.setTextureSize(128, 64);
                     Queue_3.mirror = true;
                     setRotation(Queue_3, -0.0349066F, 0F, 0F);
                     Queue_4 = new ModelRenderer(this, 93, 2);
                     Queue_4.addBox(-1.5F, -1F, 0F, 3, 2, 3);
                     Queue_4.setRotationPoint(-2.5F, 14F, 15F);
                     Queue_4.setTextureSize(128, 64);
                     Queue_4.mirror = true;
                     setRotation(Queue_4, -0.0523599F, 0F, 0F);
                     Cou = new ModelRenderer(this, 64, 18);
                     Cou.addBox(-2.5F, -3F, -4F, 5, 5, 6);
                     Cou.setRotationPoint(-3F, 14.5F, -5F);
                     Cou.setTextureSize(128, 64);
                     Cou.mirror = true;
                     setRotation(Cou, -0.1047198F, 0F, 0F);
                     Colerette = new ModelRenderer(this, 42, 17);
                     Colerette.addBox(-5F, -4F, 0F, 9, 10, 1);
                     Colerette.setRotationPoint(-2.4F, 11F, -6F);
                     Colerette.setTextureSize(128, 64);
                     Colerette.mirror = true;
                     setRotation(Colerette, -0.6981317F, 0F, 0F);
                     Crane = new ModelRenderer(this, 23, 18);
                     Crane.addBox(0F, 0F, 0F, 5, 5, 4);
                     Crane.setRotationPoint(-5.5F, 12.5F, -12.4F);
                     Crane.setTextureSize(128, 64);
                     Crane.mirror = true;
                     setRotation(Crane, 0.3665191F, 0F, 0F);
                     Mandibule_haute = new ModelRenderer(this, 10, 17);
                     Mandibule_haute.addBox(0F, 0F, 0F, 4, 3, 1);
                     Mandibule_haute.setRotationPoint(-5F, 13F, -13F);
                     Mandibule_haute.setTextureSize(128, 64);
                     Mandibule_haute.mirror = true;
                     setRotation(Mandibule_haute, 0.3839724F, 0F, 0F);
                     Mandibule_basse = new ModelRenderer(this, 10, 22);
                     Mandibule_basse.addBox(0F, 0F, 0F, 4, 2, 1);
                     Mandibule_basse.setRotationPoint(-5F, 15F, -12F);
                     Mandibule_basse.setTextureSize(128, 64);
                     Mandibule_basse.mirror = true;
                     setRotation(Mandibule_basse, 0.2617994F, 0F, 0F);
                     Corne = new ModelRenderer(this, 23, 13);
                     Corne.addBox(-4F, 0F, -3F, 1, 1, 1);
                     Corne.setRotationPoint(0.5F, 12.6F, -9F);
                     Corne.setTextureSize(128, 64);
                     Corne.mirror = true;
                     setRotation(Corne, -0.4014257F, 0F, 0F);
                     Sourcils_gauches = new ModelRenderer(this, 32, 12);
                     Sourcils_gauches.addBox(4F, 0F, 0F, 0, 1, 1);
                     Sourcils_gauches.setRotationPoint(-5F, 11.2F, -9F);
                     Sourcils_gauches.setTextureSize(128, 64);
                     Sourcils_gauches.mirror = true;
                     setRotation(Sourcils_gauches, 0.7853982F, 0F, 0F);
                     Sourcils_droits = new ModelRenderer(this, 32, 12);
                     Sourcils_droits.addBox(0F, 0F, 0F, 0, 1, 1);
                     Sourcils_droits.setRotationPoint(-5F, 11.2F, -9F);
                     Sourcils_droits.setTextureSize(128, 64);
                     Sourcils_droits.mirror = true;
                     setRotation(Sourcils_droits, 0.7853982F, 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);
                   Corps_central.render(f5);
                   Avant_patte_1_droite.render(f5);
                   Avant_patte_1_gauche.render(f5);
                   Arriere_patte_1_droite.render(f5);
                   Arriere_patte_1_gauche.render(f5);
                   Arriere_patte_2_gauche.render(f5);
                   Avant_patte_2_gauche.render(f5);
                   Arriere_patte_2_droite.render(f5);
                   Avant_patte_2_droite.render(f5);
                   Avant_patte_3_gauche.render(f5);
                   Avant_patte_4_gauche.render(f5);
                   Arriere_patte_3_gauche.render(f5);
                   Arriere_patte_3_droite.render(f5);
                   Avant_patte_3_droite.render(f5);
                   Arriere_patte_4_gauche.render(f5);
                   Arriere_patte_4_droite.render(f5);
                   Avant_patte_4_droite.render(f5);
                   Queue_1.render(f5);
                   Queue_2.render(f5);
                   Queue_3.render(f5);
                   Queue_4.render(f5);
                   Cou.render(f5);
                   Colerette.render(f5);
                   Crane.render(f5);
                   Mandibule_haute.render(f5);
                   Mandibule_basse.render(f5);
                   Corne.render(f5);
                   Sourcils_gauches.render(f5);
                   Sourcils_droits.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);
                  }
                  
                  }
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • AymericRedA Hors-ligne
                    AymericRed
                    dernière édition par

                    Tu leur as mis le même ID donc mc confond (c’est le 1 après entityClass sur la ligne de registry

                    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                    Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                    AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                    Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                    1 réponse Dernière réponse Répondre Citer 1
                    • conquerorguepardC Hors-ligne
                      conquerorguepard
                      dernière édition par

                      Merci beaucoup! C’était ça :).

                      Quand je vais en paisible les mobs disparaissent. Comment faire pour que cela n’arrive pas, quitte à désactiver leur attaque?
                      De plus, j’aimerai modifier le comportement de Brachycératops, faire en sorte qu’il se comporte comme les loups: neutre sauf si on l’attaque. Merci d’avance :D!

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

                        Le problème c’est que ton entité est extends EntityMob, or si ton entité est un mob, elle va despawn lorsque tu passes en peaceful, le seul moyen est de changer l’extends

                        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
                        • conquerorguepardC Hors-ligne
                          conquerorguepard
                          dernière édition par

                          Dès que je change l’extends (en Animal ou Tameable par exemple), il ne peut plus apparaitre en jeu 😕 (même avec un oeuf)

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

                            Normal il faut adapter

                            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
                            • conquerorguepardC Hors-ligne
                              conquerorguepard
                              dernière édition par

                              Et quelles sont les modifications pour l’adapter? J’essaie de trouver mais j’y arrive pas x/.

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

                                Regarde les autres classes qui sont étendus de EntityAnimal

                                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
                                • conquerorguepardC Hors-ligne
                                  conquerorguepard
                                  dernière édition par

                                  Je up ce sujet, qui, je trouve, est une vraie mine d’information 😄 ! (en tout cas moi il m’aide encore aujourd’hui xD)
                                  Toutes les infos ou presque sont passées dedans, et c’est un véritable historique pour la création d’un mod qui aiderait plus d’un nouveau ^^.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • 1
                                  • 2
                                  • 3
                                  • 4
                                  • 5
                                  • 6
                                  • 4 / 6
                                  • Premier message
                                    Dernier message
                                  Design by Woryk
                                  ContactMentions Légales

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB