MFF

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

    Créer un mob basique

    Planifier Épinglé Verrouillé Déplacé Les entités
    1.6.x
    160 Messages 22 Publieurs 72.5k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Ou as-tu placé les textures ?
      En passant, utilise plutôt :

      protected static final ResourceLocation minerTexture = new ResourceLocation("modmohumans2", "mob/mineur.png");
      
      1 réponse Dernière réponse Répondre Citer 0
      • elias54E Hors-ligne
        elias54 Administrateurs
        dernière édition par

        @‘MrBlockTNT’:

        Le followRange ne change rien par rapport au attackDamage, donc ça bugue toujours et les textures buguent encore 😞

        followRange laisse le par défaut (donc supprimes la ligne) car beaucoup de personnes ont eu des crashs à cause du followRange modifié.

        Mon site | GitHub

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

          Mon followRange est par défaut donc il sert à rien c’est vrai x). Merci robin4002 pour cette astuce, je vais m’en servir.

          Mes mods:

          • New Ores
          • More Dragons
          1 réponse Dernière réponse Répondre Citer 0
          • bin4r1sB Hors-ligne
            bin4r1s
            dernière édition par

            @‘robin4002’:

            Ou as-tu placé les textures ?
            En passant, utilise plutôt :

            protected static final ResourceLocation minerTexture = new ResourceLocation("modmohumans2", "mob/mineur.png");
            

            Merci, ça marche :D. Par contre je n’arrive pas à mettre plusieurs textures pour le même mob :(.
            Si quelqu’un pouvait m’aider 😉

            D’ailleurs j’ai fait quelques tests mais mes mobs ne m’attaquent pas, même en survival. Une solution :D?

            EDIT :
            La texture de mon chevalier est invisible, pouvez-vous m’aider ?

            Mon code :
            RenderKnight :

            
            package fr.MrBlockTNT.MoHumans;
            
            import net.minecraft.client.model.ModelBase;
            import net.minecraft.client.model.ModelBiped;
            import net.minecraft.client.renderer.entity.RenderBiped;
            import net.minecraft.entity.Entity;
            import net.minecraft.entity.EntityLiving;
            import net.minecraft.util.ResourceLocation;
            
            public class RenderKnight extends RenderBiped
            {
            protected static final ResourceLocation texture = new ResourceLocation("modmohumans2", "mob/knight1.png");
            
            public RenderKnight(ModelBiped base, float tailleOmbre)
            {
            super(base, tailleOmbre);
            }
            
            protected ResourceLocation getTextures(EntityAssassin miner)
            {
            return texture;
            }
            
            protected ResourceLocation getEntityTexture(Entity par1Entity)
            {
            return this.getTextures((EntityAssassin)par1Entity);
            }
            
            }
            
            

            ClientProxy :

            
            package MrBlockTNT.Proxy;
            
            import cpw.mods.fml.client.registry.RenderingRegistry;
            import fr.MrBlockTNT.MoHumans.*;
            import net.minecraft.client.model.ModelBiped;
            import net.minecraft.client.renderer.entity.RenderBiped;
            import net.minecraft.entity.Entity;
            import net.minecraft.util.ResourceLocation;
            import net.minecraftforge.client.MinecraftForgeClient;
            
            public class ClientProxy extends CommonProxy
            {
            
            @Override
            public void registerRender()
            {
            RenderingRegistry.registerEntityRenderingHandler(EntityMiner.class, new RenderMiner(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityAssassin.class, new RenderAssassin(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityKnight.class, new RenderKnight(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityWoodCuter.class, new RenderWoodCuter(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityHunter.class, new RenderHunter(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBarbarian(new ModelBiped(), 0.5F));
            RenderingRegistry.registerEntityRenderingHandler(EntityPirate.class, new RenderPirate(new ModelBiped(), 0.5F));
            }
            
            }
            
            

            ModMoHumans2 :

            
            package fr.MrBlockTNT.MoHumans;
            
            import net.minecraft.entity.EnumCreatureType;
            import MrBlockTNT.Proxy.CommonProxy;
            import cpw.mods.fml.common.Mod;
            import cpw.mods.fml.common.Mod.EventHandler;
            import cpw.mods.fml.common.Mod.Instance;
            import cpw.mods.fml.common.SidedProxy;
            import cpw.mods.fml.common.event.FMLInitializationEvent;
            import cpw.mods.fml.common.event.FMLPostInitializationEvent;
            import cpw.mods.fml.common.event.FMLPreInitializationEvent;
            import cpw.mods.fml.common.network.NetworkMod;
            import cpw.mods.fml.common.registry.EntityRegistry;
            import cpw.mods.fml.common.registry.LanguageRegistry;
            
            @Mod(modid = "ModMoHumans2", name = "Mo'Humans 2", version = "1.0.0")
            @NetworkMod(clientSideRequired = true, serverSideRequired = false)
            
            public class ModMoHumans
            {
            
            @SidedProxy(clientSide = "MrBlockTNT.Proxy.ClientProxy", serverSide = "MrBlockTNT.Proxy.CommonProxy")
            public static CommonProxy proxy;
            
            @Instance("ModMoHumans2")
            public static ModMoHumans instance;
            
            @EventHandler
            public void PreInit(FMLPreInitializationEvent event)
            {
            
            }
            
            @EventHandler
            public void Init(FMLInitializationEvent event)
            {
            
            proxy.registerRender();
            
            EntityRegistry.registerGlobalEntityID(EntityMiner.class, "Miner", EntityRegistry.findGlobalUniqueEntityId(), 0x6A7372, 0x78807F);
            EntityRegistry.registerModEntity(EntityMiner.class, "Miner", 500, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityMiner.class, 1, 1, 2, EnumCreatureType.ambient);
            LanguageRegistry.instance().addStringLocalization("entity.Miner.name", "Miner");
            
            EntityRegistry.registerGlobalEntityID(EntityAssassin.class, "Assassin", EntityRegistry.findGlobalUniqueEntityId(), 0xF00000, 0x9E9292);
            EntityRegistry.registerModEntity(EntityAssassin.class, "Assassin", 501, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityAssassin.class, 1, 1, 1, EnumCreatureType.monster);
            LanguageRegistry.instance().addStringLocalization("entity.Assassin.name", "Assassin");
            
            EntityRegistry.registerGlobalEntityID(EntityKnight.class, "Knight", EntityRegistry.findGlobalUniqueEntityId(), 0x131514, 0xC6DCD9);
            EntityRegistry.registerModEntity(EntityKnight.class, "Knight", 502, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityKnight.class, 1, 3, 1, EnumCreatureType.ambient);
            LanguageRegistry.instance().addStringLocalization("entity.Knight.name", "Knight");
            
            EntityRegistry.registerGlobalEntityID(EntityWoodCuter.class, "WoodCuter", EntityRegistry.findGlobalUniqueEntityId(), 0x261801, 0x674306);
            EntityRegistry.registerModEntity(EntityWoodCuter.class, "WoodCuter", 503, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityWoodCuter.class, 1, 1, 1, EnumCreatureType.ambient);
            LanguageRegistry.instance().addStringLocalization("entity.WoodCuter.name", "Woodcuter");
            
            EntityRegistry.registerGlobalEntityID(EntityHunter.class, "Hunter", EntityRegistry.findGlobalUniqueEntityId(), 0x261811, 0xC7C3BC);
            EntityRegistry.registerModEntity(EntityHunter.class, "Hunter", 504, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityHunter.class, 1, 1, 1, EnumCreatureType.ambient);
            LanguageRegistry.instance().addStringLocalization("entity.Hunter.name", "Hunter");
            
            EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "Barbarian", EntityRegistry.findGlobalUniqueEntityId(), 0x231300, 0x000000);
            EntityRegistry.registerModEntity(EntityBarbarian.class, "Barbarian", 505, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityBarbarian.class, 1, 1, 1, EnumCreatureType.monster);
            LanguageRegistry.instance().addStringLocalization("entity.Barbarian.name", "Barbarian");
            
            EntityRegistry.registerGlobalEntityID(EntityPirate.class, "Pirate", EntityRegistry.findGlobalUniqueEntityId(), 0x0F19AF, 0xDB0000);
            EntityRegistry.registerModEntity(EntityPirate.class, "Pirate", 506, this, 40, 1, true);
            EntityRegistry.addSpawn(EntityPirate.class, 1, 1, 1, EnumCreatureType.monster);
            LanguageRegistry.instance().addStringLocalization("entity.Pirate.name", "Pirate");
            
            }
            
            @EventHandler
            public void PostInit(FMLPostInitializationEvent event)
            {
            
            }
            
            }
            
            

            EDIT 2 :
            En fait j’ai trouvé mon erreur, qui était due à un oubli de modification après copié/collé x) .

            Mes mods:

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

              Tu veux faire quoi pour provoquer le changement de texture?

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

                Une texture aléatoire parmi les disponibles pour le mob à son spawn (ex: mineur1/mineur2) comme pour les anciennes versions de forge.

                Mes mods:

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

                  Essaye de mettre du Random dans une condition. Sinon, regarde le code des Chevaux ou des villageois.

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

                    Ok merci, mais je me sert pas trop des Random donc… disons que ça va être légèrement compliqué 😄

                    EDIT :
                    Il n’existerai pas un event de Forge fait exprès ? :huh:

                    Mes mods:

                    • New Ores
                    • More Dragons
                    1 réponse Dernière réponse Répondre Citer 0
                    • bin4r1sB Hors-ligne
                      bin4r1s
                      dernière édition par

                      Comment fait-on pour faire tenir un objet à un mob ? J’ai cherché dans les classes des mobs de base comme le squelette mais tout ce que j’ai testé ne marche pas.

                      PS :
                      Existe-t-il une page web concernant les degrés de fréquence de spawn Minecraft ? (Je sais pas si c’est la rareté qui est trop élevée ou si c’est mes mobs qui buguent :()

                      Mes mods:

                      • New Ores
                      • More Dragons
                      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

                        @‘MrBlockTNT’:

                        Ok merci, mais je me sert pas trop des Random donc… disons que ça va être légèrement compliqué 😄

                        EDIT :
                        Il n’existerai pas un event de Forge fait exprès ? :huh:

                        Pourquoi il y aurait un event pour un truc aussi simple o_O
                        Tu déclare deux resourceLocation, et ensuite :

                        protected ResourceLocation getAniZobTextures(EntityAnizob anizob)
                        {
                        if(anizob.worldObj.rand.nextInt(1) == 0)
                        {
                        return texture;
                        }
                        else
                        {
                        return texture2;
                        }
                        }
                        

                        Rien de compliqué.
                        Pour faire tenir un objet en main, il y a une fonction dans le mob, mais aussi dans le rendu.

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

                          Ok merci, par contre je crois que tu as répondu après mon edit x) donc si quelqu’un pouvait m’aider à ce niveau là (fréquence de spawn)

                          Mes mods:

                          • New Ores
                          • More Dragons
                          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

                            Hum, pour ta question dans le ton édit, je sais pas.

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

                              C’est ```java
                              EntityRegistry.addSpawn(Anyzoo.class, 5, 2, 4, EnumCreatureType.monster, BiomeGenBase.plains);

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

                                Salut !
                                Merci pour ce tutoriel
                                Petit problème : mon mob ne fait pas planter le client (c’est déjà ça) mais il génère des erreurs quand j’essaye de le faire pop :

                                :::

                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] java.lang.reflect.InvocationTargetException
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at java.lang.reflect.Constructor.newInstance(Unknown Source)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.entity.EntityList.func_75616_a(EntityList.java:205)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.item.ItemMonsterPlacer.func_77840_a(SourceFile:139)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.item.ItemMonsterPlacer.func_77648_a(SourceFile:86)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.item.ItemStack.func_77943_a(ItemStack.java:152)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.item.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:429)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.network.NetServerHandler.func_72472_a(NetServerHandler.java:554)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.network.packet.Packet15Place.func_73279_a(SourceFile:58)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.network.MemoryConnection.func_74428_b(MemoryConnection.java:89)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:141)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.integrated.IntegratedServerListenThread.func_71747_b(IntegratedServerListenThread.java:109)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:689)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:585)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:129)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:582)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] Caused by: java.lang.NullPointerException
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at Yseriu.Test.EntityAntiZob.func_110147_ax(EntityAntiZob.java:19)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:193)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:85)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at net.minecraft.entity.EntityCreature.<init>(SourceFile:22)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] at Yseriu.Test.EntityAntiZob.<init>(EntityAntiZob.java:10)
                                Client> 2013-10-26 19:04:31 [INFO] [STDERR] … 20 more
                                Client> 2013-10-26 19:04:31 [WARNING] [Minecraft-Server] Skipping Entity with id 25

                                :::

                                Et voilà, juste ça dans les logs, rien de visible IG

                                Mon code :

                                Entity
                                :::

                                
                                package Yseriu.Test;
                                
                                import net.minecraft.entity.EntityCreature;
                                import net.minecraft.entity.SharedMonsterAttributes;
                                import net.minecraft.entity.ai.EntityAISwimming;
                                import net.minecraft.world.World;
                                
                                public class EntityAntiZob extends EntityCreature {
                                
                                public EntityAntiZob(World par1World) {
                                super(par1World);
                                this.tasks.addTask(1, new EntityAISwimming(this));
                                }
                                
                                protected void applyEntityAttributes()
                                {
                                super.applyEntityAttributes();
                                this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(40D);
                                this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.7D);
                                this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(8D);
                                
                                }
                                
                                }
                                
                                

                                :::

                                Render
                                :::

                                
                                package Yseriu.Test;
                                
                                import net.minecraft.client.model.ModelBiped;
                                import net.minecraft.client.renderer.entity.RenderBiped;
                                import net.minecraft.entity.Entity;
                                import net.minecraft.util.ResourceLocation;
                                
                                public class RenderAntiZob extends RenderBiped {
                                
                                protected static final ResourceLocation texture = new ResourceLocation("ytestmod:alex.png");
                                
                                public RenderAntiZob(ModelBiped biped, float tailleOmbre)
                                {
                                super(biped, tailleOmbre);
                                }
                                
                                protected ResourceLocation getAntiZobTextures(EntityAntiZob anizob)
                                {
                                return texture;
                                }
                                
                                protected ResourceLocation getEntityTexture(Entity par1Entity)
                                {
                                return this.getAntiZobTextures((EntityAntiZob)par1Entity);
                                }
                                
                                }
                                
                                

                                :::

                                Merci !</init></init></init></init>

                                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

                                  Supprime la ligne
                                  this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(8D);
                                  Les mobs extends EntityCreature ne sont pas agressif, et donc ne fond pas de dégât. Il faut faire un extends EntityMob si tu veux qu’il soit agressif.

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

                                    ça marche, merci 🙂
                                    enfin, mon mob a pas de texture … j’ai mis le fichier de texture un peu partout, j’ai regardé le fichier du squelette, du coup j’ai changé le : en / toujours rien (le mob est là, je vois sa barre de vie de TukMC) sur les logs, j’ai des NPE, et des ReportedException: Registering texture.
                                    Je sais pas quoi faire.

                                    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

                                      Tu as placés où ta texture ?

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

                                        assets/ytsetmod/alex.png
                                        ytestmod, c’est mon modid sans majuscules
                                        alex, c’est un skin.
                                        Je l’ai aussi copié/collé un peu partout, sans résultat. <- Technique du boulet 😮

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

                                          tu dois le mettre dans “assets/ytsetmod/entity/alex.png”

                                          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
                                          • robin4002R Hors-ligne
                                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                            dernière édition par

                                            Non, essaye avec :

                                            protected static final ResourceLocation texture = new ResourceLocation("ytsetmod:textures/entity/alex.png");
                                            

                                            et place la texture dans :
                                            assets/ytsetmod/textures/entity/alex.png

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB