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.
    • AymericRedA Hors-ligne
      AymericRed
      dernière édition par

      Je pense que soit cette méthode n’est pas utilisée, où une des classes EntityMob/Creature l’override car le zombie (ou tout autre mob) n’ont pas ça dans leur classe, j’ai moi-même fait un mob sans ça (après ça peut dépendre de la version mais en 1.8 et en 1.8.9 c’est comme ça).

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

        Ah ok je pensais que cette méthode présente en 1.7 figurait aussi en 1.8 et +
        Autant pour moi et merci de me l’avoir signalé 😃

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

          Du coup toujours pas d’idée? C’est peut-être spécifique à la 1.8.8, faudrait le signaler en IA ou quelque chose comme ça qu’il peut sauter. Car après je sais que certains mod 1.8.8 rencontre les mêmes bug, mais comment les résoudre eux doivent le savoir et pas moi. (exemple de l’Indominus Rex dans JurassiCraft qui semble ne pas pouvoir sauter de blocks, en tout cas sur mon minecraft avec la version que j’ai téléchargé.)

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

            Une bonne idée déjà ça serait de passer en 1.8.9.
            Il n’y a presque aucune différence de code entre ces des versions, mais la 1.8.9 contient des correctifs de bug que la 1.8.8 n’a pas.

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

              Certes, mais j’ai tout fait en 1.8.8… Du coup je fais comment pour changer de version?

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

                C’est expliqué dans le tuto d’installation du workspace (ici).

                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 suis passé en 1.8.9.
                  Ils ne sautent toujours pas, et ne s’écarte jamais de leur point de spawn dans un rayon de 10 cubes maintenant, donc si je m’éloigne ils ne me suivent pas, en tout cas pour ceux qui spawnent naturellement (peut-être parce que ce sont des “créatures”?).

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

                    UP. J’aimerai vraiment résoudre le problème, c’est le truc le plus important pour le mod, tout le reste est terminé.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Superloup10S Hors-ligne
                      Superloup10 Modérateurs
                      dernière édition par

                      Tu peux renvoyé la class actuelle de ton entitée ?
                      Et ré-expliquer, ce que tu veux que ton entitée fasse.

                      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                        J’aimerai que mon entité:
                        *spawn naturellement le jour et pourquoi pas la nuit aussi
                        *Attaque le joueur et les autres entités vanilla pacifique (+golem et loup)
                        *Puisse sauter un bloc s’il en a envie pour pouvoir se déplacer normalement
                        *N’est pas de bug, genre reste à une distance de 10 cubes autour de son spawn même s’il me voit (cela ne me le fait que lorsqu’il spawn naturellement).

                        Merci d’avance 😄        (Je rappelle que je suis en 1.8.9 maintenant)

                        Et sinon il n’arrive pas à faire du bruit malgré mes efforts.

                        Entity class

                        package Entity;
                        
                        import fr.minecraftforgefrance.modzoic.common.Modzoic;
                        import net.minecraft.entity.SharedMonsterAttributes;
                        import net.minecraft.entity.ai.EntityAIAttackOnCollide;
                        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.EntityIronGolem;
                        import net.minecraft.entity.monster.EntityMob;
                        import net.minecraft.entity.monster.EntityPigZombie;
                        import net.minecraft.entity.passive.EntityChicken;
                        import net.minecraft.entity.passive.EntityCow;
                        import net.minecraft.entity.passive.EntityHorse;
                        import net.minecraft.entity.passive.EntityOcelot;
                        import net.minecraft.entity.passive.EntityPig;
                        import net.minecraft.entity.passive.EntityRabbit;
                        import net.minecraft.entity.passive.EntityVillager;
                        import net.minecraft.entity.player.EntityPlayer;
                        import net.minecraft.pathfinding.PathNavigateGround;
                        import net.minecraft.world.World;
                        
                        public class Entityclass extends EntityMob
                        {
                            public Entityclass(World world)
                            {
                                super(world);
                                ((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.setSize(2, 3);
                                this.applyEntityAI();
                            }
                        
                            public void applyEntityAttributes()
                            {
                                super.applyEntityAttributes();
                                this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(62D);
                                this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(9D);
                                this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(2D);
                                this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.36D);
                                this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(120D);
                            }
                        
                            protected void applyEntityAI()
                            {
                                this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true));
                            }
                        
                            public void dropFewItems(boolean b, int looting)
                            {
                                this.dropItem(Modzoic.meatEpanterias, 6);
                            }
                        
                            protected String getLivingSound()
                            {
                            return "carnotausaurus_living_1.ogg";
                            }
                        
                            @Override
                            public boolean canDespawn()
                            {
                            return false;
                            }
                        }
                        

                        Classe principale (Modzoic)

                        package fr.minecraftforgefrance.modzoic.common;
                        
                        import organisation.dinomeat;
                        import Entity.Entityclass;
                        import Handlers.EntityHandler;
                        import fr.minecraftforgefrance.modzoic.proxy.CommonProxy;
                        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 organisation.dinomeat;
                        
                        @Mod(modid = "modzoic", name = "Modzoic", version = "1.0.0")
                        
                        public class Modzoic
                        {
                            @Instance("modzoic")
                            public static Modzoic instance;
                        
                            @SidedProxy(clientSide = "fr.minecraftforgefrance.modzoic.proxy.ClientProxy", serverSide = "fr.minecraftforgefrance.modzoic.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");
                                dinomeat.init();
                                dinomeat.register();
                                EntityHandler.RegisterMonster(Entityclass.class, "Nanuqsaurus");
                            }
                        
                            @EventHandler
                            public void init(FMLInitializationEvent event)
                            {
                                proxy.registerRender();
                            }
                        
                            @EventHandler
                            public void postInit(FMLPostInitializationEvent event)
                            {
                        
                            }
                        }
                        

                        Client Proxy:

                        package fr.minecraftforgefrance.modzoic.proxy;
                        
                        import Entity.Entityclass;
                        import Models.modelModzoic;
                        import Render.RenderModzoic;
                        import fr.minecraftforgefrance.modzoic.common.MeatEpanterias;
                        import fr.minecraftforgefrance.modzoic.common.Modzoic;
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.resources.model.ModelResourceLocation;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraftforge.fml.client.registry.RenderingRegistry;
                        import organisation.dinomeat;
                        import net.minecraft.client.renderer.entity.RenderItem;
                        
                        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(Entityclass.class, new RenderModzoic(Minecraft.getMinecraft().getRenderManager(), new modelModzoic(), 2F));
                            }
                        }
                        

                        Common Proxy:

                        package fr.minecraftforgefrance.modzoic.proxy;
                        
                        public class CommonProxy
                        {
                            public void registerRender()
                            {
                        
                            }
                        }
                        

                        Entity Handler:

                        package Handlers;
                        
                        import java.util.Random;
                        
                        import fr.minecraftforgefrance.modzoic.common.Modzoic;
                        import net.minecraft.entity.EntityList;
                        import net.minecraft.entity.EnumCreatureType;
                        import net.minecraft.world.biome.BiomeGenBase;
                        import net.minecraftforge.fml.common.registry.EntityRegistry;
                        
                        public class EntityHandler
                        {
                            public static void RegisterMonster(Class entityClass, String name)
                            {
                                int entityID = EntityRegistry.findGlobalUniqueEntityId();
                                long x = name.hashCode();
                                Random random = new Random(x);
                                int mainColor = random.nextInt() * 16777215;
                                int subColor = random.nextInt() * 16777215;
                        
                                EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
                                EntityRegistry.addSpawn(entityClass, 70, 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);
                                EntityRegistry.registerModEntity(entityClass, name, entityID, Modzoic.instance, 64, 1, true);
                                EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, mainColor, subColor));
                            }
                        }
                        

                        Model Modzoic:

                        package Models;
                        
                        import net.minecraft.client.model.ModelBase;
                        import net.minecraft.client.model.ModelRenderer;
                        import net.minecraft.entity.Entity;
                        import net.minecraft.util.MathHelper;
                        
                        public class modelModzoic extends ModelBase
                        {
                          //fields
                            ModelRenderer Pied_droit;
                            ModelRenderer Griffe_droite_3;
                            ModelRenderer Pied_gauche;
                            ModelRenderer Griffe_droite_2;
                            ModelRenderer Griffe_droite_1;
                            ModelRenderer Griffe_gauche_1;
                            ModelRenderer Griffe_gauche_3;
                            ModelRenderer Griffe_gauche_2;
                            ModelRenderer Jambe_gauche_2;
                            ModelRenderer Jambe_droite_2;
                            ModelRenderer Jambe_droite_1;
                            ModelRenderer Jambe_gauche_1;
                            ModelRenderer Cuisse_gauche;
                            ModelRenderer Cuisse_droite;
                            ModelRenderer Corps_central;
                            ModelRenderer Queue_1;
                            ModelRenderer Queue_2;
                            ModelRenderer Queue_3;
                            ModelRenderer Queue_4;
                            ModelRenderer Queue_5;
                            ModelRenderer Queue_6;
                            ModelRenderer Queue_7;
                            ModelRenderer Queue_8;
                            ModelRenderer Avant_1;
                            ModelRenderer Avant_2;
                            ModelRenderer Patte_droite_1;
                            ModelRenderer Patte_gauche_1;
                            ModelRenderer Patte_droite_2;
                            ModelRenderer Patte_gauche_2;
                            ModelRenderer Cou;
                            ModelRenderer Machoire_basse;
                            ModelRenderer Machoire_haute;
                            ModelRenderer Crane_1;
                            ModelRenderer Crane_2;
                            ModelRenderer Sourcils_droite;
                            ModelRenderer Sourcils_gauche;
                            ModelRenderer Epine_6;
                            ModelRenderer Epine_5;
                            ModelRenderer Epine_4;
                            ModelRenderer Epine_7;
                            ModelRenderer Epine_3;
                            ModelRenderer Epine_2;
                            ModelRenderer Epine_1;
                            ModelRenderer Epine_8;
                            ModelRenderer Epine_9;
                            ModelRenderer Epine_10;
                            ModelRenderer Epine_11;
                            ModelRenderer Epine_12;
                            ModelRenderer Epine_13;
                        
                          public modelModzoic()
                          {
                            textureWidth = 256;
                            textureHeight = 128;
                        
                              Pied_droit = new ModelRenderer(this, 155, 96);
                              Pied_droit.addBox(-2F, 0F, -5F, 4, 3, 8);
                              Pied_droit.setRotationPoint(-8F, 21F, 2F);
                              Pied_droit.setTextureSize(256, 128);
                              Pied_droit.mirror = true;
                              setRotation(Pied_droit, 0F, 0F, 0F);
                              Griffe_droite_3 = new ModelRenderer(this, 180, 100);
                              Griffe_droite_3.addBox(-4F, 0F, 0F, 0, 3, 1);
                              Griffe_droite_3.setRotationPoint(-5F, 21F, -3F);
                              Griffe_droite_3.setTextureSize(256, 128);
                              Griffe_droite_3.mirror = true;
                              setRotation(Griffe_droite_3, -0.7435722F, 0F, 0F);
                              Pied_gauche = new ModelRenderer(this, 155, 96);
                              Pied_gauche.addBox(-2F, 0F, -5F, 4, 3, 8);
                              Pied_gauche.setRotationPoint(8F, 21F, 2F);
                              Pied_gauche.setTextureSize(256, 128);
                              Pied_gauche.mirror = true;
                              setRotation(Pied_gauche, 0F, 0F, 0F);
                              Griffe_droite_2 = new ModelRenderer(this, 180, 100);
                              Griffe_droite_2.addBox(4F, 0F, 0F, 0, 3, 1);
                              Griffe_droite_2.setRotationPoint(-12F, 21F, -3F);
                              Griffe_droite_2.setTextureSize(256, 128);
                              Griffe_droite_2.mirror = true;
                              setRotation(Griffe_droite_2, -0.7435722F, 0F, 0F);
                              Griffe_droite_1 = new ModelRenderer(this, 180, 100);
                              Griffe_droite_1.addBox(3F, 0F, 0F, 0, 3, 1);
                              Griffe_droite_1.setRotationPoint(-10F, 21F, -3F);
                              Griffe_droite_1.setTextureSize(256, 128);
                              Griffe_droite_1.mirror = true;
                              setRotation(Griffe_droite_1, -0.7435722F, 0F, 0F);
                              Griffe_gauche_1 = new ModelRenderer(this, 180, 100);
                              Griffe_gauche_1.addBox(4F, 0F, 0F, 0, 3, 1);
                              Griffe_gauche_1.setRotationPoint(3F, 21F, -3F);
                              Griffe_gauche_1.setTextureSize(256, 128);
                              Griffe_gauche_1.mirror = true;
                              setRotation(Griffe_gauche_1, -0.7435722F, 0F, 0F);
                              Griffe_gauche_3 = new ModelRenderer(this, 180, 100);
                              Griffe_gauche_3.addBox(4F, 0F, 0F, 0, 3, 1);
                              Griffe_gauche_3.setRotationPoint(5F, 21F, -3F);
                              Griffe_gauche_3.setTextureSize(256, 128);
                              Griffe_gauche_3.mirror = true;
                              setRotation(Griffe_gauche_3, -0.7435722F, 0F, 0F);
                              Griffe_gauche_2 = new ModelRenderer(this, 180, 100);
                              Griffe_gauche_2.addBox(4F, 0F, 0F, 0, 3, 1);
                              Griffe_gauche_2.setRotationPoint(4F, 21F, -3F);
                              Griffe_gauche_2.setTextureSize(256, 128);
                              Griffe_gauche_2.mirror = true;
                              setRotation(Griffe_gauche_2, -0.7435722F, 0F, 0F);
                              Jambe_gauche_2 = new ModelRenderer(this, 121, 94);
                              Jambe_gauche_2.addBox(-2F, 0F, -1F, 4, 9, 4);
                              Jambe_gauche_2.setRotationPoint(8F, 5.7F, 1.6F);
                              Jambe_gauche_2.setTextureSize(256, 128);
                              Jambe_gauche_2.mirror = true;
                              setRotation(Jambe_gauche_2, 0.3316126F, 0F, 0F);
                              Jambe_droite_2 = new ModelRenderer(this, 121, 94);
                              Jambe_droite_2.addBox(-2F, 0F, -1F, 4, 9, 4);
                              Jambe_droite_2.setRotationPoint(-8F, 5.7F, 1.6F);
                              Jambe_droite_2.setTextureSize(256, 128);
                              Jambe_droite_2.mirror = true;
                              setRotation(Jambe_droite_2, 0.3316126F, 0F, 0F);
                              Jambe_droite_1 = new ModelRenderer(this, 140, 96);
                              Jambe_droite_1.addBox(-2F, 0F, -2F, 4, 9, 3);
                              Jambe_droite_1.setRotationPoint(-8F, 13F, 6F);
                              Jambe_droite_1.setTextureSize(256, 128);
                              Jambe_droite_1.mirror = true;
                              setRotation(Jambe_droite_1, -0.3316126F, 0F, 0F);
                              Jambe_gauche_1 = new ModelRenderer(this, 140, 96);
                              Jambe_gauche_1.addBox(-2F, 0F, -2F, 4, 9, 3);
                              Jambe_gauche_1.setRotationPoint(8F, 13F, 6F);
                              Jambe_gauche_1.setTextureSize(256, 128);
                              Jambe_gauche_1.mirror = true;
                              setRotation(Jambe_gauche_1, -0.3316126F, 0F, 0F);
                              Cuisse_gauche = new ModelRenderer(this, 101, 93);
                              Cuisse_gauche.addBox(0F, -2.466667F, -1F, 4, 9, 5);
                              Cuisse_gauche.setRotationPoint(6F, 0.3F, 3.8F);
                              Cuisse_gauche.setTextureSize(256, 128);
                              Cuisse_gauche.mirror = true;
                              setRotation(Cuisse_gauche, -0.3316126F, 0F, 0F);
                              Cuisse_droite = new ModelRenderer(this, 101, 93);
                              Cuisse_droite.addBox(-4F, -2.5F, -2F, 4, 9, 5);
                              Cuisse_droite.setRotationPoint(-6F, 0.3F, 4.8F);
                              Cuisse_droite.setTextureSize(256, 128);
                              Cuisse_droite.mirror = true;
                              setRotation(Cuisse_droite, -0.3316126F, 0F, 0F);
                              Corps_central = new ModelRenderer(this, 95, 33);
                              Corps_central.addBox(-6F, 0F, 0F, 14, 15, 14);
                              Corps_central.setRotationPoint(-1F, -6F, -4F);
                              Corps_central.setTextureSize(256, 128);
                              Corps_central.mirror = true;
                              setRotation(Corps_central, -0.0523599F, 0F, 0F);
                              Queue_1 = new ModelRenderer(this, 2, 0);
                              Queue_1.addBox(0F, 0F, 0F, 12, 13, 9);
                              Queue_1.setRotationPoint(-6F, -4F, 8F);
                              Queue_1.setTextureSize(256, 128);
                              Queue_1.mirror = true;
                              setRotation(Queue_1, 0.0174533F, 0F, 0F);
                              Queue_2 = new ModelRenderer(this, 46, 0);
                              Queue_2.addBox(-6F, -6F, 0F, 10, 11, 9);
                              Queue_2.setRotationPoint(1F, 2.5F, 16F);
                              Queue_2.setTextureSize(256, 128);
                              Queue_2.mirror = true;
                              setRotation(Queue_2, 0.0698132F, 0F, 0F);
                              Queue_3 = new ModelRenderer(this, 86, 0);
                              Queue_3.addBox(-5F, -3F, 0F, 8, 10, 9);
                              Queue_3.setRotationPoint(1F, -0.5F, 24F);
                              Queue_3.setTextureSize(256, 128);
                              Queue_3.mirror = true;
                              setRotation(Queue_3, 0.0872665F, 0F, 0F);
                              Queue_4 = new ModelRenderer(this, 121, 0);
                              Queue_4.addBox(-4F, -3F, 0F, 6, 9, 8);
                              Queue_4.setRotationPoint(1F, -0.5F, 32F);
                              Queue_4.setTextureSize(256, 128);
                              Queue_4.mirror = true;
                              setRotation(Queue_4, 0.1047198F, 0F, 0F);
                              Queue_5 = new ModelRenderer(this, 150, 0);
                              Queue_5.addBox(-2F, -3F, 0F, 5, 8, 8);
                              Queue_5.setRotationPoint(-0.5F, -1F, 39F);
                              Queue_5.setTextureSize(256, 128);
                              Queue_5.mirror = true;
                              setRotation(Queue_5, 0.0698132F, 0F, 0F);
                              Queue_6 = new ModelRenderer(this, 177, 0);
                              Queue_6.addBox(-2F, -2F, 0F, 4, 7, 8);
                              Queue_6.setRotationPoint(0F, -2.5F, 46F);
                              Queue_6.setTextureSize(256, 128);
                              Queue_6.mirror = true;
                              setRotation(Queue_6, 0.0523599F, 0F, 0F);
                              Queue_7 = new ModelRenderer(this, 202, 0);
                              Queue_7.addBox(-1F, -0.5F, 0F, 3, 6, 9);
                              Queue_7.setRotationPoint(-0.5F, -4F, 53F);
                              Queue_7.setTextureSize(256, 128);
                              Queue_7.mirror = true;
                              setRotation(Queue_7, 0.0349066F, 0F, 0F);
                              Queue_8 = new ModelRenderer(this, 228, 0);
                              Queue_8.addBox(-1F, 0F, 0F, 2, 5, 10);
                              Queue_8.setRotationPoint(0F, -4.466667F, 61F);
                              Queue_8.setTextureSize(256, 128);
                              Queue_8.mirror = true;
                              setRotation(Queue_8, -0.0174533F, 0F, 0F);
                              Avant_1 = new ModelRenderer(this, 53, 38);
                              Avant_1.addBox(-6F, -5F, -14F, 12, 13, 8);
                              Avant_1.setRotationPoint(0F, 0.1333333F, 2F);
                              Avant_1.setTextureSize(256, 128);
                              Avant_1.mirror = true;
                              setRotation(Avant_1, -0.0872665F, 0F, 0F);
                              Avant_2 = new ModelRenderer(this, 11, 39);
                              Avant_2.addBox(0F, 0F, 0F, 10, 12, 10);
                              Avant_2.setRotationPoint(-5F, -10F, -15F);
                              Avant_2.setTextureSize(256, 128);
                              Avant_2.mirror = true;
                              setRotation(Avant_2, -0.4886922F, 0F, 0F);
                              Patte_droite_1 = new ModelRenderer(this, 28, 64);
                              Patte_droite_1.addBox(-1F, 0F, -1F, 1, 3, 2);
                              Patte_droite_1.setRotationPoint(-3F, 1F, -18F);
                              Patte_droite_1.setTextureSize(256, 128);
                              Patte_droite_1.mirror = true;
                              setRotation(Patte_droite_1, -0.4712389F, 0F, 0F);
                              Patte_gauche_1 = new ModelRenderer(this, 28, 64);
                              Patte_gauche_1.addBox(0F, 0F, -1F, 1, 3, 2);
                              Patte_gauche_1.setRotationPoint(3F, 1F, -18F);
                              Patte_gauche_1.setTextureSize(256, 128);
                              Patte_gauche_1.mirror = true;
                              setRotation(Patte_gauche_1, -0.4712389F, 0F, 0F);
                              Patte_droite_2 = new ModelRenderer(this, 30, 70);
                              Patte_droite_2.addBox(0F, 0F, 0F, 1, 2, 1);
                              Patte_droite_2.setRotationPoint(-4F, 3.3F, -20.4F);
                              Patte_droite_2.setTextureSize(256, 128);
                              Patte_droite_2.mirror = true;
                              setRotation(Patte_droite_2, 0.1745329F, 0F, 0F);
                              Patte_gauche_2 = new ModelRenderer(this, 30, 70);
                              Patte_gauche_2.addBox(0F, 0F, 0F, 1, 2, 1);
                              Patte_gauche_2.setRotationPoint(3F, 3.3F, -20.4F);
                              Patte_gauche_2.setTextureSize(256, 128);
                              Patte_gauche_2.mirror = true;
                              setRotation(Patte_gauche_2, 0.1745329F, 0F, 0F);
                              Cou = new ModelRenderer(this, 223, 44);
                              Cou.addBox(0F, 0F, 0F, 8, 10, 8);
                              Cou.setRotationPoint(-4F, -9F, -25F);
                              Cou.setTextureSize(256, 128);
                              Cou.mirror = true;
                              setRotation(Cou, 0.7504916F, 0F, 0F);
                              Machoire_basse = new ModelRenderer(this, 158, 52);
                              Machoire_basse.addBox(-4F, 0F, 0F, 7, 12, 3);
                              Machoire_basse.setRotationPoint(0.5F, -10.1F, -27.4F);
                              Machoire_basse.setTextureSize(256, 128);
                              Machoire_basse.mirror = true;
                              setRotation(Machoire_basse, -1.605703F, 0F, 0F);
                              Machoire_haute = new ModelRenderer(this, 153, 30);
                              Machoire_haute.addBox(0F, 0F, 0F, 8, 13, 7);
                              Machoire_haute.setRotationPoint(-4F, -17F, -27F);
                              Machoire_haute.setTextureSize(256, 128);
                              Machoire_haute.mirror = true;
                              setRotation(Machoire_haute, -1.518436F, 0F, 0F);
                              Crane_1 = new ModelRenderer(this, 187, 43);
                              Crane_1.addBox(0F, 0F, 0F, 8, 10, 9);
                              Crane_1.setRotationPoint(-4F, -17F, -29F);
                              Crane_1.setTextureSize(256, 128);
                              Crane_1.mirror = true;
                              setRotation(Crane_1, 0F, 0F, 0F);
                              Crane_2 = new ModelRenderer(this, 215, 31);
                              Crane_2.addBox(0F, 0F, 0F, 8, 6, 2);
                              Crane_2.setRotationPoint(-4F, -16.3F, -22F);
                              Crane_2.setTextureSize(256, 128);
                              Crane_2.mirror = true;
                              setRotation(Crane_2, 0.3316126F, 0F, 0F);
                              Sourcils_droite = new ModelRenderer(this, 200, 25);
                              Sourcils_droite.addBox(0F, 0F, 0F, 1, 2, 5);
                              Sourcils_droite.setRotationPoint(-4.1F, -17F, -28F);
                              Sourcils_droite.setTextureSize(256, 128);
                              Sourcils_droite.mirror = true;
                              setRotation(Sourcils_droite, 0.2268928F, 0F, 0F);
                              Sourcils_gauche = new ModelRenderer(this, 200, 25);
                              Sourcils_gauche.addBox(0F, 0F, 0F, 1, 2, 5);
                              Sourcils_gauche.setRotationPoint(3.1F, -17F, -28F);
                              Sourcils_gauche.setTextureSize(256, 128);
                              Sourcils_gauche.mirror = true;
                              setRotation(Sourcils_gauche, 0.2268928F, 0F, 0F);
                              Epine_6 = new ModelRenderer(this, 200, 100);
                              Epine_6.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_6.setRotationPoint(0F, -5F, 0F);
                              Epine_6.setTextureSize(256, 128);
                              Epine_6.mirror = true;
                              setRotation(Epine_6, 0.5235988F, 0F, 0F);
                              Epine_5 = new ModelRenderer(this, 200, 100);
                              Epine_5.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_5.setRotationPoint(0F, -5F, -4F);
                              Epine_5.setTextureSize(256, 128);
                              Epine_5.mirror = true;
                              setRotation(Epine_5, 0.5235988F, 0F, 0F);
                              Epine_4 = new ModelRenderer(this, 200, 100);
                              Epine_4.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_4.setRotationPoint(0F, -5F, -8F);
                              Epine_4.setTextureSize(256, 128);
                              Epine_4.mirror = true;
                              setRotation(Epine_4, 0.5235988F, 0F, 0F);
                              Epine_7 = new ModelRenderer(this, 200, 100);
                              Epine_7.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_7.setRotationPoint(0F, -4.5F, 4F);
                              Epine_7.setTextureSize(256, 128);
                              Epine_7.mirror = true;
                              setRotation(Epine_7, 0.5235988F, 0F, 0F);
                              Epine_3 = new ModelRenderer(this, 200, 100);
                              Epine_3.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_3.setRotationPoint(0F, -8F, -12F);
                              Epine_3.setTextureSize(256, 128);
                              Epine_3.mirror = true;
                              setRotation(Epine_3, 0.0698132F, 0F, 0F);
                              Epine_2 = new ModelRenderer(this, 200, 100);
                              Epine_2.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_2.setRotationPoint(0F, -9.5F, -16F);
                              Epine_2.setTextureSize(256, 128);
                              Epine_2.mirror = true;
                              setRotation(Epine_2, 0.1745329F, 0F, 0F);
                              Epine_1 = new ModelRenderer(this, 200, 100);
                              Epine_1.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_1.setRotationPoint(0F, -13F, -19F);
                              Epine_1.setTextureSize(256, 128);
                              Epine_1.mirror = true;
                              setRotation(Epine_1, -0.1919862F, 0F, 0F);
                              Epine_8 = new ModelRenderer(this, 200, 100);
                              Epine_8.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_8.setRotationPoint(0F, -3F, 8F);
                              Epine_8.setTextureSize(256, 128);
                              Epine_8.mirror = true;
                              setRotation(Epine_8, 0.6108652F, 0F, 0F);
                              Epine_9 = new ModelRenderer(this, 200, 100);
                              Epine_9.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_9.setRotationPoint(0F, -3F, 12F);
                              Epine_9.setTextureSize(256, 128);
                              Epine_9.mirror = true;
                              setRotation(Epine_9, 0.5759587F, 0F, 0F);
                              Epine_10 = new ModelRenderer(this, 200, 100);
                              Epine_10.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_10.setRotationPoint(0F, -2F, 16F);
                              Epine_10.setTextureSize(256, 128);
                              Epine_10.mirror = true;
                              setRotation(Epine_10, 0.715585F, 0F, 0F);
                              Epine_11 = new ModelRenderer(this, 200, 100);
                              Epine_11.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_11.setRotationPoint(0F, -2F, 20F);
                              Epine_11.setTextureSize(256, 128);
                              Epine_11.mirror = true;
                              setRotation(Epine_11, 0.7853982F, 0F, 0F);
                              Epine_12 = new ModelRenderer(this, 200, 100);
                              Epine_12.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_12.setRotationPoint(0F, -2F, 24F);
                              Epine_12.setTextureSize(256, 128);
                              Epine_12.mirror = true;
                              setRotation(Epine_12, 0.7853982F, 0F, 0F);
                              Epine_13 = new ModelRenderer(this, 200, 100);
                              Epine_13.addBox(0F, 0F, 0F, 0, 3, 4);
                              Epine_13.setRotationPoint(0F, -2F, 28F);
                              Epine_13.setTextureSize(256, 128);
                              Epine_13.mirror = true;
                              setRotation(Epine_13, 0.8726646F, 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);
                            Pied_droit.render(f5);
                            Griffe_droite_3.render(f5);
                            Pied_gauche.render(f5);
                            Griffe_droite_2.render(f5);
                            Griffe_droite_1.render(f5);
                            Griffe_gauche_1.render(f5);
                            Griffe_gauche_3.render(f5);
                            Griffe_gauche_2.render(f5);
                            Jambe_gauche_2.render(f5);
                            Jambe_droite_2.render(f5);
                            Jambe_droite_1.render(f5);
                            Jambe_gauche_1.render(f5);
                            Cuisse_gauche.render(f5);
                            Cuisse_droite.render(f5);
                            Corps_central.render(f5);
                            Queue_1.render(f5);
                            Queue_2.render(f5);
                            Queue_3.render(f5);
                            Queue_4.render(f5);
                            Queue_5.render(f5);
                            Queue_6.render(f5);
                            Queue_7.render(f5);
                            Queue_8.render(f5);
                            Avant_1.render(f5);
                            Avant_2.render(f5);
                            Patte_droite_1.render(f5);
                            Patte_gauche_1.render(f5);
                            Patte_droite_2.render(f5);
                            Patte_gauche_2.render(f5);
                            Cou.render(f5);
                            Machoire_basse.render(f5);
                            Machoire_haute.render(f5);
                            Crane_1.render(f5);
                            Crane_2.render(f5);
                            Sourcils_droite.render(f5);
                            Sourcils_gauche.render(f5);
                            Epine_6.render(f5);
                            Epine_5.render(f5);
                            Epine_4.render(f5);
                            Epine_7.render(f5);
                            Epine_3.render(f5);
                            Epine_2.render(f5);
                            Epine_1.render(f5);
                            Epine_8.render(f5);
                            Epine_9.render(f5);
                            Epine_10.render(f5);
                            Epine_11.render(f5);
                            Epine_12.render(f5);
                            Epine_13.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);
                          }
                        
                        }
                        
                        

                        Render Modzoic:

                        package Render;
                        
                        import Entity.Entityclass;
                        import net.minecraft.client.Minecraft;
                        import net.minecraft.client.model.ModelBase;
                        import net.minecraft.client.renderer.entity.RenderLiving;
                        import net.minecraft.client.renderer.entity.RenderManager;
                        import net.minecraft.client.resources.model.ModelResourceLocation;
                        import net.minecraft.entity.Entity;
                        import net.minecraft.entity.EntityLiving;
                        import net.minecraft.util.ResourceLocation;
                        
                        public class RenderModzoic extends RenderLiving
                        {
                        
                            public RenderModzoic(RenderManager render, ModelBase model, float x)
                            {
                                super(render, model, x);
                            }
                        
                            private ResourceLocation texture = new ResourceLocation("modzoic" + ":textures/mobs/dino8.png");
                        
                            public void renderModzoic(Entityclass entity, double x, double y, double z, float v, float b)
                            {
                                super.doRender(entity, x, y, z, v, b);
                            }
                        
                            public void doRenderLiving(EntityLiving entity, double x, double y, double z, float v, float b)
                            {
                                renderModzoic((Entityclass) entity, x, y, z, v, b);
                            }
                        
                            public void doRendering(Entity entity, double x, double y, double z, float v, float b)
                            {
                                renderModzoic((Entityclass) entity, x, y, z, v, b);
                            }
                        
                            @Override
                            protected ResourceLocation getEntityTexture(Entity entity)
                            {
                                return texture;
                            }
                        
                        }
                        

                        N’hésitez pas pour d’autres questions!

                        1 réponse Dernière réponse Répondre Citer 0
                        • Superloup10S Hors-ligne
                          Superloup10 Modérateurs
                          dernière édition par

                          protected String getLivingSound()
                          {
                          return "carnotausaurus_living_1.ogg";
                          }
                          

                          mets ça à la place :

                          protected String getLivingSound()
                          {
                          return "modzoic" + ":carnotausaurus_living";
                          }
                          

                          Ensuite tu dois faire un sounds.json qui ressemble à ça : https://github.com/elias54/FakeOres/blob/master/resources/assets/fakeores/sounds.json

                          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                            Comme ça? Et ensuite?
                            Et après le son c’est pas trop urgent 🙂   c’est plus le saut, car tant que le mob ne saute pas il est à peu près inutilisable.

                            1 réponse Dernière réponse Répondre Citer 0
                            • Superloup10S Hors-ligne
                              Superloup10 Modérateurs
                              dernière édition par

                              Le fichier sounds.json doit comporter tous les sons de ton mod.
                              Voici un autre exemple : https://github.com/TheGenerationModders/Ere_Geologique/blob/EreGeologique-2.0.x/resources/assets/ere_geologique/sounds.json

                              Pour ce qui est du saut, je vois ça ce soir.

                              Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                Ainsi?

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

                                  En fait ton fichier doit s’appeler sounds.json, doit être placé dans le dossier modid et enfin dedans, la seconde ligne est le nom de ton son interprété par MC. En gros tu peux juste laisser nanuqsaurusLiving, par-exemple pas besoin des séparation par point…La ligne carnotaurus_living_1 est le nom de ton fichier (ou tes fichiers) son. Évidemment ces fichiers doivent être placés dans le dossier modid/sounds (si ça n’a pas changé depuis la 1.7x 😮 ?) et ils doivent aussi être au format .ogg, mais ça, ça paraît + que logique 😉
                                  Pour finir il y a une erreur dans ton fichier, elle se situe au niveau de ta ligne 5, tu ne dois pas mettre de virgule à la fin, car tu n’a pas d’autres ligne du même genre en dessous. Retire donc juste la virgule, et ton fichier sera prêt à l’emploi 😃

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

                                    Est-ce que avec ça dans sa classe, il spawn le jour ?

                                    
                                    @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;
                                       }
                                    
                                    
                                    1 réponse Dernière réponse Répondre Citer 1
                                    • conquerorguepardC Hors-ligne
                                      conquerorguepard
                                      dernière édition par

                                      Pour le fichier son:
                                      C’est bon?

                                      Et en tant que “CREATURE”, mon mob spawn déjà de jour :). Il faut juste qu’il puisse sauter et qu’il ose s’éloigner à plus de 10 blocs de son spawn d’apparition.

                                      package Handlers;
                                      
                                      import java.util.Random;
                                      
                                      import fr.minecraftforgefrance.modzoic.common.Modzoic;
                                      import net.minecraft.entity.EntityList;
                                      import net.minecraft.entity.EnumCreatureType;
                                      import net.minecraft.world.biome.BiomeGenBase;
                                      import net.minecraftforge.fml.common.registry.EntityRegistry;
                                      
                                      public class EntityHandler
                                      {
                                          public static void RegisterMonster(Class entityClass, String name)
                                          {
                                              int entityID = EntityRegistry.findGlobalUniqueEntityId();
                                              long x = name.hashCode();
                                              Random random = new Random(x);
                                              int mainColor = random.nextInt() * 16777215;
                                              int subColor = random.nextInt() * 16777215;
                                      
                                              EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
                                              EntityRegistry.addSpawn(entityClass, 70, 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);
                                              EntityRegistry.registerModEntity(entityClass, name, entityID, Modzoic.instance, 64, 1, true);
                                              EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, mainColor, subColor));
                                          }
                                      }
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DeletedD Hors-ligne
                                        Deleted
                                        dernière édition par

                                        Ouais mais toi tu veux qu’il spawn de jour comme de nuit, nan ?
                                        Dans ce cas faudrait en fait complétement revoir la fonction getCanSpawn()

                                        Et au fait pourquoi lui rajoute-tu des IA ? Sais-tu au moins à quoi elles te servent ? Car clairement ton mob n’a pas du tout besoin d’IA…

                                        Y’a des chances que ça soit ça qui l’empêchent de sauter et de s’éloigner 😃

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

                                          package Entity;
                                          
                                          import fr.minecraftforgefrance.modzoic.common.Modzoic;
                                          import net.minecraft.entity.SharedMonsterAttributes;
                                          import net.minecraft.entity.ai.EntityAIAttackOnCollide;
                                          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.EntityIronGolem;
                                          import net.minecraft.entity.monster.EntityMob;
                                          import net.minecraft.entity.monster.EntityPigZombie;
                                          import net.minecraft.entity.passive.EntityChicken;
                                          import net.minecraft.entity.passive.EntityCow;
                                          import net.minecraft.entity.passive.EntityHorse;
                                          import net.minecraft.entity.passive.EntityOcelot;
                                          import net.minecraft.entity.passive.EntityPig;
                                          import net.minecraft.entity.passive.EntityRabbit;
                                          import net.minecraft.entity.passive.EntityVillager;
                                          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;
                                          
                                          public class Entityclass extends EntityMob
                                          {
                                              public Entityclass(World world)
                                              {
                                                  super(world);
                                                  ((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.setSize(2, 3);
                                          
                                              }
                                          
                                              public void applyEntityAttributes()
                                              {
                                                  super.applyEntityAttributes();
                                                  this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(62D);
                                                  this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(9D);
                                                  this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(2D);
                                                  this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.36D);
                                                  this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(120D);
                                              }
                                          
                                              public void dropFewItems(boolean b, int looting)
                                              {
                                                  this.dropItem(Modzoic.meatEpanterias, 6);
                                              }
                                          
                                              protected String getLivingSound()
                                              {
                                                  return "modzoic" + ":carnotausaurus_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;
                                              }
                                          }
                                          

                                          Et je l’ai mis en monster.

                                          Résultat : Je n’ai aucun son, je ne sais pas s’il saute les blocs, vu qu’il ne bouge pas, et il ne m’attaque pas. Je sais qu’il spawn de jour, pour la nuit aussi. Mais du coup il ne m’attaque plus, comme la dernière fois… Je suis pas sûr mais je crois que l’AI en 1.8 est vitale pour le mob… Et j’ai aussi un mal fou à les frapper, comme si il n’y avait plus vraiment de boite de collision.
                                          Sinon j’ai une grosse chute de fps

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • Superloup10S Hors-ligne
                                            Superloup10 Modérateurs
                                            dernière édition par

                                            Pour ton fichier sounds.json, voici la bonne version http://pastebin.com/rjPUGLyn

                                            Du coup ta méthode devrait ressembler à ça :

                                            
                                            protected String getLivingSound()
                                            {
                                            return "modzoic" + ":mob.nanuqsaurus.living";
                                            }
                                            

                                            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB