MFF

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

    Créer un modèle avec techne et l'appliquer à un mob

    Planifier Épinglé Verrouillé Déplacé Les entités
    1.6.x
    36 Messages 6 Publieurs 18.0k 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

      Ton constructeur devrait être comme ça :

      public RenderMobTutoriel(ModelBiped model, float shadow)
      {
      super(model, shadow);
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • KazeyomeK Hors-ligne
        Kazeyome
        dernière édition par

        Oui mais à partir du moment où tu changes le constructeur de cette façon, au niveau du proxy, la ligne

        RenderingRegistry.registerEntityRenderingHandler(MobTest.class, new RenderMobTest(new ModelMobTest(), 0.8F);
        

        devient incorrecte… Puisqu’il m’indique:

        The constructor RenderMobTest(ModelTest, float) is undefined
        
        1 réponse Dernière réponse Répondre Citer 0
        • jglrxavpokJ Hors-ligne
          jglrxavpok Modérateurs
          dernière édition par

          Ton ModelTest est bien une classe avec “extends ModelBiped” ?
          Sinon, au choix:

          1. Fais extends ton ModelTest de ModelBiped si tu veux un mob humanoïde. (je ne le recommanderai pas pour avoir 100% de contrôle)

          2. Change ton constructeur pour accepter ModelBase ou ModelMobTest et non plus ModelBiped (surement le plus logique à faire)

          Modérateur sur MFF. 
          Mon Github: http://github.com/jglrxavpok
          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

            Dans ce cas il faut extends RenderLiving. (exemple : RenderSpider).

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

              @jglrxavpok : Non, je cherche à faire des choses différentes des ModelBiped, justement.
              Robin ! Ah oui, ça marche ! Avec des dizaines d’essais, j’ai repris tout à zéro et c’est bon, le modèle marche bien ! Bon il donne un résultat différent de celui sur Techne, mais ça, ça se règle…. Génial, merci à vous !

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

                Salut !

                Je n’arrive pas a appliqué le model pour je pence avoir touts réussi mais il faut croire que non 🙂

                Voici la class de mon clientproxy:

                @Override
                
                public void registerRender()
                {
                
                RenderingRegistry.registerEntityRenderingHandler(EntityAniZob.class, new RenderAnizob(new test(), 0.5f));
                }
                

                Et voici la classe du rendu de mon mob :

                package modCrafttech.proxy;
                
                import modCrafttech.common.EntityAniZob;
                import net.minecraft.client.model.ModelBiped;
                import net.minecraft.client.renderer.entity.Render;
                import net.minecraft.client.renderer.entity.RenderBiped;
                import net.minecraft.entity.Entity;
                import net.minecraft.util.ResourceLocation;
                
                public class RenderAnizob extends RenderBiped {
                protected static final ResourceLocation texture = new ResourceLocation("ModID:texture.png");
                
                public RenderAnizob(ModelBiped biped, float tailleOmbre)
                {
                super(biped, tailleOmbre);
                }
                
                protected ResourceLocation getAniZobTextures(EntityAniZob anizob)
                {
                return texture;
                }
                
                protected ResourceLocation getEntityTexture(Entity par1Entity)
                {
                return this.getAniZobTextures((EntityAniZob)par1Entity);
                }
                
                }
                

                J’ai une erreur a cette ligne la :

                RenderingRegistry.registerEntityRenderingHandler(EntityAniZob.class, new RenderAnizob(new test(), 0.5f));
                

                Cordialement Sidney

                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

                  Si ton modèle n’est pas un modèle biped regarde juste au dessus, la solution a été donné.

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

                    Haaaaa oui
                    Je n’avais pas lu quand j’ai vu que c’etait pour la 1.7 🙂

                    Mais par contre comment je fais pour changer le hit box ?

                    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

                      setSize(x et z, y); dans le constructeur de l’entité.

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

                        Merci !!! 🙂

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

                          Salut à tous et à toutes
                          J’ai aujourd’hui rencontré un problème mon mob est invisible cela m’embête car j’ai suivi le tuto voici mes class et je confirme que j’ai fait mon modèle avec Techne et que j’y ai placé la texture 64x32 dans le dossier “textures/entity/reflet.png”
                          Voici mes class :

                          
                          // Date: 28/05/2014 16:58:25
                          // Template version 1.1
                          // Java generated by Techne
                          // Keep in mind that you still need to fill in some blanks
                          // - ZeuX
                          
                          package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                          
                          import net.minecraft.client.model.ModelBase;
                          import net.minecraft.client.model.ModelRenderer;
                          
                          import com.sun.xml.internal.stream.Entity;
                          
                          public class ModelReflet extends ModelBase
                          {
                          private static final String __OBFID = "CL_00000836";
                          
                          //fields
                          ModelRenderer tete;
                          ModelRenderer corps;
                          ModelRenderer brasGauche;
                          ModelRenderer brasDroit;
                          ModelRenderer piedGauche;
                          ModelRenderer piedDroit;
                          
                          public ModelReflet()
                          {
                          textureWidth = 64;
                          textureHeight = 32;
                          
                          tete = new ModelRenderer(this, 0, 0);
                          tete.addBox(0F, 0F, 0F, 6, 5, 6);
                          tete.setRotationPoint(-4F, -4F, 2F);
                          tete.setTextureSize(64, 32);
                          tete.mirror = true;
                          setRotation(tete, 0.8901179F, 0F, 0F);
                          corps = new ModelRenderer(this, 26, 0);
                          corps.addBox(-6F, -2F, 4F, 9, 9, 3);
                          corps.setRotationPoint(0F, 0F, 0F);
                          corps.setTextureSize(64, 32);
                          corps.mirror = true;
                          setRotation(corps, 0F, 0F, 0F);
                          brasGauche = new ModelRenderer(this, 58, 12);
                          brasGauche.addBox(0F, 0F, 0F, 1, 18, 2);
                          brasGauche.setRotationPoint(3F, -1F, 5F);
                          brasGauche.setTextureSize(64, 32);
                          brasGauche.mirror = true;
                          setRotation(brasGauche, 0F, 0F, 0F);
                          brasDroit = new ModelRenderer(this, 50, 12);
                          brasDroit.addBox(0F, 0F, 0F, 1, 18, 2);
                          brasDroit.setRotationPoint(-7F, 0F, 5F);
                          brasDroit.setTextureSize(64, 32);
                          brasDroit.mirror = true;
                          setRotation(brasDroit, 0F, 0F, 0F);
                          piedGauche = new ModelRenderer(this, 7, 12);
                          piedGauche.addBox(0F, 0F, 0F, 2, 17, 2);
                          piedGauche.setRotationPoint(0F, 7F, 5F);
                          piedGauche.setTextureSize(64, 32);
                          piedGauche.mirror = true;
                          setRotation(piedGauche, 0F, 0F, 0F);
                          piedDroit = new ModelRenderer(this, 18, 12);
                          piedDroit.addBox(0F, 0F, 0F, 2, 17, 2);
                          piedDroit.setRotationPoint(-5F, 7F, 5F);
                          piedDroit.setTextureSize(64, 32);
                          piedDroit.mirror = true;
                          setRotation(piedDroit, 0F, 0F, 0F);
                          }
                          
                          public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
                          {
                          
                          this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
                          tete.render(f5);
                          corps.render(f5);
                          brasGauche.render(f5);
                          brasDroit.render(f5);
                          piedGauche.render(f5);
                          piedDroit.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)
                          {
                          
                          }
                          
                          }
                          
                          
                          
                          package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                          
                          import cpw.mods.fml.relauncher.Side;
                          import cpw.mods.fml.relauncher.SideOnly;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityReflet;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts;
                          import net.minecraft.client.model.ModelBase;
                          import net.minecraft.client.renderer.entity.RenderLiving;
                          import net.minecraft.entity.Entity;
                          import net.minecraft.util.ResourceLocation;
                          
                          @SideOnly(Side.CLIENT)
                          public class RenderReflet extends RenderLiving
                          {
                          private static final ResourceLocation texture = new ResourceLocation(modMineKingdomHearts.MODID, "textures/entity/reflet.png");
                          private static final String __OBFID = "CL_00000984";
                          
                          public RenderReflet(ModelBase par1ModelBase, float par2)
                          {
                          super(par1ModelBase, par2);
                          }
                          
                          /**
                          * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                          */
                          protected ResourceLocation getEntityTexture(EntityReflet entityreflet)
                          {
                          return texture;
                          }
                          
                          /**
                          * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
                          */
                          protected ResourceLocation getEntityTexture(Entity par1Entity)
                          {
                          return this.getEntityTexture((EntityReflet)par1Entity);
                          }
                          }
                          
                          
                          
                          package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                          
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityEffrayeur;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityFuu;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityHayner;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityOlette;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityPence;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityReflet;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySeifer;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySetzer;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityVivi;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDingo;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDonald;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDuoSismique;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityHades;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityHayner;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityOlette;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityPence;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityRoxas;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntitySetzer;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntitySora;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts;
                          import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                          import net.minecraft.client.model.ModelBiped;
                          import cpw.mods.fml.client.registry.ClientRegistry;
                          import cpw.mods.fml.client.registry.RenderingRegistry;
                          
                          public class modMineKingdomHeartsClientProxy extends modMineKingdomHeartsCommonProxy
                          {
                          public static int renderInventoryTESRId;;
                          
                          @Override
                          
                          public void registerRenderer()
                          {
                          System.out.println("Salut je suis un test du client");
                          
                          RenderingRegistry.registerEntityRenderingHandler(EntityReflet.class, new RenderReflet(new ModelReflet(), 0.2F));
                          
                          }
                          public void registerTileEntityRender()
                          {
                          
                          }
                          
                          
                          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

                            private static final String __OBFID = “CL_00000836”;
                            private static final String __OBFID = “CL_00000984”;
                            Retire. Inutile est cause des problèmes d’obfuscation. (classe du modèle et du rendu)

                            import com.sun.xml.internal.stream.Entity;
                            Mauvaise importation (classe du modèle)

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

                              @‘robin4002’:

                              private static final String __OBFID = “CL_00000836”;
                              private static final String __OBFID = “CL_00000984”;
                              Retire. Inutile est cause des problèmes d’obfuscation. (classe du modèle et du rendu)

                              import com.sun.xml.internal.stream.Entity;
                              Mauvaise importation (classe du modèle)

                              Merci beaucoup Robin encore une fois, lol ^^

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

                                salut j’ai suivi se tuto et j’ai une erreur avec registerEntityRenderingHandler donc je suis obliger de faire une modifiction pour ne plus avoir d’erreur mais du coup mon entity n’aparait pas dans le jeu, j’ai bien l’oeuf pour le faire spawn avec son nom , mais il est invisible

                                Caused by: java.lang.NullPointerException
                                [12:40:49] [Client thread/INFO] [STDOUT]: [net.minecraft.crash.CrashReport:makeCategoryDepth:356]: Negative index in crash report handler (0/25)
                                [12:40:49] [Client thread/ERROR]: Couldn’t render entity
                                net.minecraft.util.ReportedException: Registering texture
                                at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:111) ~[TextureManager.class:?]
                                at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45) ~[TextureManager.class:?]
                                at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:60) ~[Render.class:?]
                                at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:55) ~[Render.class:?]
                                at net.minecraft.client.renderer.entity.RendererLivingEntity.renderModel(RendererLivingEntity.java:305) ~[RendererLivingEntity.class:?]
                                at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:165) [RendererLivingEntity.class:?]
                                at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:36) [RenderLiving.class:?]
                                at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:156) [RenderLiving.class:?]
                                at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) [RenderManager.class:?]
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
                                at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
                                at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
                                at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
                                at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) [EntityRenderer.class:?]
                                at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056) [Minecraft.class:?]
                                at net.minecraft.client.Minecraft.run(Minecraft.java:951) [Minecraft.class:?]
                                at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
                                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
                                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
                                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
                                at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
                                at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
                                at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
                                at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
                                at GradleStart.main(GradleStart.java:45) [start/:?]

                                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 fait quoi comme modification sur registerEntityRenderingHandler ? Envoie ton code, sans ton code on ne peut pas t’aider.

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

                                    En faite je t’explique c’est pas un mob que j’essai de créer mais un genre de kart (comme un minecart ou un bateau que l’on peu utiliser sur partout) je suis donc parti en suivant le tuto "créer un mob basic " ensuite j’ai fait un model de test avec techne pour l’adapter dessus mais j’ai eu une erreur sur registerentity….

                                    voici le code :
                                    clientproxy:

                                    package minecraftkart.proxy;
                                    
                                    import minecraftkart.client.Kart;
                                    import minecraftkart.client.RenderKart;
                                    import minecraftkart.common.EntityKart;
                                    import cpw.mods.fml.client.registry.RenderingRegistry;
                                    
                                    public class ClientProxy extends CommonProxy
                                    {
                                    public void registerRender()
                                    {
                                    RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart(), 0));
                                    }
                                    
                                    }
                                    

                                    entity :

                                    package minecraftkart.common;
                                    
                                    import net.minecraft.entity.EntityLiving;
                                    import net.minecraft.world.World;
                                    
                                    public  class EntityKart extends EntityLiving
                                    {
                                    
                                    public EntityKart(World world) {
                                    super(world);
                                    // TODO Auto-generated constructor stub
                                    }
                                    
                                    }
                                    
                                    

                                    render :

                                    package minecraftkart.client;
                                    
                                    import minecraftkart.common.EntityKart;
                                    import net.minecraft.client.model.ModelBase;
                                    import net.minecraft.client.renderer.entity.RenderLiving;
                                    import net.minecraft.client.renderer.entity.RendererLivingEntity;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.EntityLiving;
                                    import net.minecraft.util.ResourceLocation;
                                    
                                    public class RenderKart extends RenderLiving {
                                    
                                    public RenderKart(ModelBase world, float shadow) {
                                    super(world, shadow);
                                    // TODO Auto-generated constructor stub
                                    }
                                    public final ResourceLocation texture = new ResourceLocation("ModKart", "textures/entity/Kart.png");
                                    
                                    private ResourceLocation getKartTexture(EntityKart Kart)
                                    {
                                    return texture;
                                    }
                                    @Override
                                    protected ResourceLocation getEntityTexture(Entity Kart) {
                                    // TODO Auto-generated method stub
                                    return null;
                                    }
                                    
                                    }
                                    
                                    

                                    voila tu va surment trouver plein de chose qui ne vont pas mais soit indulgent :d je n’ai jamais fait de java et j’essai d’apprendre grâce a tes tutos , merci en tout cas 😉

                                    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

                                      Kart.java c’est ton modèle ? Si oui il serait mieux de le nommer ModelKart. Et il est extends quoi ? Eclipse indique l’erreur où et quelle est l’erreur ?

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

                                        oui kart.jave c’est mon modèle , il est extends ModelBase

                                        et j’ai une erreur  dans client proxy :

                                        RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart()));

                                        il y a “new RenderKart(new Kart ()))” de souligné avec comme erreur : The constructor RenderKart(Kart) is undefined .

                                        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

                                          Parce que ton constructeur est :

                                              public RenderKart(ModelBase world, float shadow) {
                                                  super(world, shadow);
                                                  // TODO Auto-generated constructor stub
                                              }
                                          

                                          ModelBase, float
                                          D’ailleurs ModelBase world devrait plutôt être ModelBase model
                                          Il faut donc que tu ajoute la taille de l’ombre, comme ça :
                                          RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart(), 0.5F));

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

                                            Merci je n’ai plus d’erreur par contre il est toujours invisible en jeu 😞

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB