MFF

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

    Probleme de rendu d'un mob

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    33 Messages 6 Publieurs 5.4k 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

      J’ai encore jamais vu un problème de double mod. Je peux avoir le code de tes proxys et ta classe principale ?

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

        Un debut a tous =p
        Tien je te passe le tout :

        
        package fr.paladium.Modevent;
        
        import java.awt.Color;
        
        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.registry.EntityRegistry;
        import fr.paladium.Modevent.proxy.commonproxy;
        
        @Mod(modid = "modevent", version = "1.0")
        
        public class modevent
        {
        @Instance("modevent")
        public static modevent instance;
        
        @SidedProxy(clientSide = "fr.paladium.Modevent.proxy.clientproxy", serverSide = "fr.paladium.Modevent.proxy.commonproxy")
        public static commonproxy proxy;
        
        @EventHandler
        public void preInit(FMLPreInitializationEvent event)
        
        {
        
        }
            @EventHandler
            public void init(FMLInitializationEvent event)
            {
        proxy.registerRender();
            EntityRegistry.registerGlobalEntityID(Mobfuze.class, "fuzemob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(Mobfuze.class, "fuzemob", 440, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(MobMosca.class, "moscamob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(MobMosca.class, "moscamob", 441, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(MobArduin.class, "arduinmob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(MobArduin.class, "arduinmob", 442, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobzoldru.class, "zoldrumob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobzoldru.class, "zoldrumob", 443, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobsoristos.class, "soristosmob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobsoristos.class, "soristosmob", 444, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobhiss.class, "hissmob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobhiss.class, "hissmob", 445, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobred.class, "redmob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobred.class, "redmob", 446, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobano.class, "anomob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobano.class, "anomob", 447, this.instance, 40, 1, true);
            EntityRegistry.registerGlobalEntityID(mobremi.class, "remimob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
            EntityRegistry.registerModEntity(mobremi.class, "remimob", 448, this.instance, 40, 1, true);
            }
            @EventHandler
            public void postInit(FMLPostInitializationEvent event)
            {
        
            }
        }
        
        
        
        package fr.paladium.Modevent.proxy;
        
        import cpw.mods.fml.client.registry.RenderingRegistry;
        import fr.paladium.Modevent.MobArduin;
        import fr.paladium.Modevent.MobMosca;
        import fr.paladium.Modevent.Mobfuze;
        import fr.paladium.Modevent.RenderMobArduin;
        import fr.paladium.Modevent.RenderMobHiss;
        import fr.paladium.Modevent.RenderMobMosca;
        import fr.paladium.Modevent.RenderMobRed;
        import fr.paladium.Modevent.RenderMobSoristos;
        import fr.paladium.Modevent.RenderMobZoldru;
        import fr.paladium.Modevent.RenderMobano;
        import fr.paladium.Modevent.RenderMobfuze;
        import fr.paladium.Modevent.RenderMobremi;
        import fr.paladium.Modevent.mobano;
        import fr.paladium.Modevent.mobhiss;
        import fr.paladium.Modevent.mobred;
        import fr.paladium.Modevent.mobremi;
        import fr.paladium.Modevent.mobsoristos;
        import fr.paladium.Modevent.mobzoldru;
        import net.minecraft.client.model.ModelBiped;
        
        public class clientproxy extends commonproxy
        {
        @Override
        public void registerRender()
        {
        System.out.println("méthode côté client");
        RenderingRegistry.registerEntityRenderingHandler(Mobfuze.class, new RenderMobfuze(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(MobArduin.class, new RenderMobArduin(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(MobMosca.class, new RenderMobMosca(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobsoristos.class, new RenderMobSoristos(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobzoldru.class, new RenderMobZoldru(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobhiss.class, new RenderMobHiss(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobred.class, new RenderMobRed(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobano.class, new RenderMobano(new ModelPerso(), 1.5F));
        RenderingRegistry.registerEntityRenderingHandler(mobremi.class, new RenderMobremi(new ModelPerso(), 1.5F));
        
        }
        
        }
        
        
        
        package fr.paladium.Modevent.proxy;
        
        import net.minecraft.client.model.ModelBiped;
        import net.minecraft.client.model.ModelRenderer;
        import net.minecraft.entity.Entity;
        import net.minecraft.util.MathHelper;
        
        public class ModelPerso extends ModelBiped {
          //fields
            ModelRenderer head2;
            ModelRenderer body;
            ModelRenderer rightarm;
            ModelRenderer leftarm;
            ModelRenderer rightleg;
            ModelRenderer leftleg;
            ModelRenderer head;
        
          public ModelPerso()
          {
            textureWidth = 128;
            textureHeight = 64;
        
              head2 = new ModelRenderer(this, 64, 0);
              head2.addBox(-8F, -16F, -8F, 16, 16, 16);
              head2.setRotationPoint(-4F, -24F, 0F);
              head2.setTextureSize(128, 64);
              head2.mirror = true;
              setRotation(head2, 0F, 0F, 0F);
              body = new ModelRenderer(this, 32, 32);
              body.addBox(-8F, 0F, -4F, 16, 24, 8);
              body.setRotationPoint(-4F, -24F, 0F);
              body.setTextureSize(128, 64);
              body.mirror = true;
              setRotation(body, 0F, 0F, 0F);
              rightarm = new ModelRenderer(this, 80, 32);
              rightarm.addBox(-8F, -4F, -4F, 8, 24, 8);
              rightarm.setRotationPoint(-12F, -20F, 0F);
              rightarm.setTextureSize(128, 64);
              rightarm.mirror = true;
              setRotation(rightarm, 0F, 0F, 0F);
              leftarm = new ModelRenderer(this, 80, 32);
              leftarm.addBox(0F, -4F, -4F, 8, 24, 8);
              leftarm.setRotationPoint(4F, -20F, 0F);
              leftarm.setTextureSize(128, 64);
              leftarm.mirror = true;
              setRotation(leftarm, 0F, 0F, 0F);
              rightleg = new ModelRenderer(this, 0, 32);
              rightleg.addBox(-4F, 0F, -4F, 8, 24, 8);
              rightleg.setRotationPoint(-8F, 0F, 0F);
              rightleg.setTextureSize(128, 64);
              rightleg.mirror = true;
              setRotation(rightleg, 0F, 0F, 0F);
              leftleg = new ModelRenderer(this, 0, 32);
              leftleg.addBox(-4F, 0F, -4F, 8, 24, 8);
              leftleg.setRotationPoint(0F, 0F, 0F);
              leftleg.setTextureSize(128, 64);
              leftleg.mirror = true;
              setRotation(leftleg, 0F, 0F, 0F);
              head = new ModelRenderer(this, 0, 0);
              head.addBox(-8F, -16F, -8F, 16, 16, 16);
              head.setRotationPoint(-4F, -24F, 0F);
              head.setTextureSize(128, 64);
              head.mirror = true;
              setRotation(head, 0F, 0F, 0F);
          }
        
          public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
          {
            super.render(entity, f, f1, f2, f3, f4, f5);
            setRotationAngles(f, f1, f2, f3, f4, f5, entity);
            head2.render(f5);
            body.render(f5);
            rightarm.render(f5);
            leftarm.render(f5);
            rightleg.render(f5);
            leftleg.render(f5);
            head.render(f5);
            this.rightleg.rotateAngleX = MathHelper.cos((90F / (float)Math.PI)) * 1.0F * f1;
            this.leftleg.rotateAngleX = MathHelper.cos((90F / (float)Math.PI)) * -1.0F * f1;
        
            this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -1.0F * f1;
            this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 1.0F * f1;
          }
        
          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);
            this.rightleg.rotateAngleX = MathHelper.cos((90F / (float)Math.PI)) * 1.0F * f1;
            this.leftleg.rotateAngleX = MathHelper.cos((90F / (float)Math.PI)) * -1.0F * f1;
        
            this.rightleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * -1.0F * f1;
            this.leftleg.rotateAngleX = MathHelper.cos((180F / (float)Math.PI)) * 1.0F * f1;
          }
        
        }
        
        
        
        package fr.paladium.Modevent;
        
        import cpw.mods.fml.common.registry.GameRegistry;
        import net.minecraft.entity.Entity;
        import net.minecraft.entity.SharedMonsterAttributes;
        import net.minecraft.entity.boss.BossStatus;
        import net.minecraft.entity.boss.IBossDisplayData;
        import net.minecraft.entity.monster.EntityMob;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.world.World;
        
        public class mobano extends EntityMob{
        
        public mobano (World world)
        {
        super(world);
        
        }
        
        public void applyEntityAttributes()
        {
        super.applyEntityAttributes();
        this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(5000D);
        this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(4D);
        this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(9999999D);
        this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(30D);
        
        }
        
        public Item getDropItem()
        
        {
        Item item = GameRegistry.findItem("serveur", "bottemobs");
        if(item != null)
        {
        
        return item;
        
        }
        else
        {
        return null;
        }
        }
        
        }
        
        
        
        package fr.paladium.Modevent;
        
        import fr.paladium.Modevent.proxy.ModelPerso;
        import net.minecraft.client.model.ModelBiped;
        import net.minecraft.client.renderer.entity.RenderBiped;
        import net.minecraft.entity.EntityLiving;
        import net.minecraft.util.ResourceLocation;
        
        public class RenderMobano extends RenderBiped{
        
        public final ResourceLocation texture = new ResourceLocation ("modevent", "textures/entity/mobano.png");
        
        public RenderMobano (ModelPerso model, float shadow){
        
        super(model,shadow);
        }
        
        protected ResourceLocation getEntityTexture(EntityLiving living)
        {
        return this.getMobs((mobano)living);
        }
        private ResourceLocation getMobs(mobano Mobs)
        {
        return texture;
        }
        
        }
        
        

        ModelBiped marche mais le mob est de deux de haut hors la je veux mon propre model =/

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

          Dans ce cas au lien de extends ton model de ModelBiped, extends le de ModelBase 
          Et du coup ton render tu l’extends de RenderLiving au lieu de RenderBiped, et ton constructeur ressemblera donc à ça

          
          public RenderMobano (ModelBase model, float shadow){
          
          super(model,shadow);
          }
          
          
          1 réponse Dernière réponse Répondre Citer 0
          • M Hors-ligne
            mosca421
            dernière édition par

            
            package fr.paladium.Modevent;
            
            import fr.paladium.Modevent.proxy.ModelPerso;
            import net.minecraft.client.model.ModelBase;
            import net.minecraft.client.model.ModelBiped;
            import net.minecraft.client.renderer.entity.RenderBiped;
            import net.minecraft.client.renderer.entity.RenderLiving;
            import net.minecraft.entity.Entity;
            import net.minecraft.entity.EntityLiving;
            import net.minecraft.util.ResourceLocation;
            
            public class RenderMobano extends RenderLiving{
            
            public final ResourceLocation texture = new ResourceLocation ("modevent", "textures/entity/mobano.png");
            
            public RenderMobano (ModelBase model, float shadow){
            
            super(model,shadow);
            }
            
            protected ResourceLocation getEntityTexture(EntityLiving living)
            {
            return this.getMobs((mobano)living);
            }
            private ResourceLocation getMobs(mobano Mobs)
            {
            return texture;
            }
            
            }
            
            

            J’ai une erreur sur  public class RenderMobano extends RenderLiving
            RenderMobano

            1 réponse Dernière réponse Répondre Citer 0
            • elias54E Hors-ligne
              elias54 Administrateurs
              dernière édition par

              Normal :

              
              protected ResourceLocation getEntityTexture(EntityLiving living)
              {
              return this.getMobs((mobano)living);
              }
              
              

              Tu as mis EntityLiving au lieu de Entity. Du coup il te propose d’importer la méthode à nouveau.
              Change EntityLiving par Entity

              Mon site | GitHub

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

                Voila mais rien a changer sur le mob =/

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

                  Bonjour,

                  j’avais eu le même problème au début, tu es en rendu modelBiped qui a une structure prédéfinie, tu doit donc le mettre en modelBase et RendererLiving.
                  Essaye ça :

                  dans ta classe modelPerso, tu mets :

                  public class ModelPerso extends ModelBase{//la suite de ton code
                  

                  dans ta classe render :

                  public class RenderMobRed extends RenderLiving{
                  
                  public final ResourceLocation texture = new ResourceLocation ("modevent", "textures/entity/mobred.png");
                  
                  public RenderMobRed (ModelPerso model, float shadow){
                  
                  super(model,shadow);
                  }
                  

                  Dans ton ClientProxy

                  RenderingRegistry.registerEntityRenderingHandler(mobano.class, new RenderMobRed(new ModelPerso(), 1.5F));
                  

                  essaye ça et dit moi 🙂

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

                    J’ai une erreur dans : Clientproxy

                    new RenderMobRed(new ModelPerso(), 1.5F));

                    RenderingRegistry.registerEntityRenderingHandler(mobred.class, new RenderMobRed(new ModelPerso(), 1.5F));

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

                      regarde si toutes tes classes sont bien importées, si oui, efface la ligne et refait la manuellement en important au fur et à mesure

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

                        C’est bon mais maintenant je ne vois plus les mobs juste l’ombre a terre

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

                          J’ai pas vu ta class main, tu as pas oublier de déclarer le mob dans init?

                          J’ai essayer c’est pas ça, mais j’avais eu le problème de l’ombre laisse moi réfléchir

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

                            Il est mis dans la class init

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

                              Je viens de voir que tu as plusieurs mobs, tu as bien fait les modifications dans mobano et tester ses classes et son spawn?

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

                                J’ai modif tous les mobs et lancer je le spawn avec un 9 =p
                                Edit : C’est bon mais toujours le meme probleme avec les pieds =/

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

                                  Tu as toujours le même problème avec une doublure des pieds? ou alors la marche se fait bizarrement?

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

                                    Bah il avance qu’un pied genre il écarte reviens et ne fait pas dans l’autre sens

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

                                      tiens prends ce code la

                                         this.rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1F * f1;
                                         this.leftleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1F * f1;
                                         this.rightleg.rotateAngleY = 0.0F;
                                         this.leftleg.rotateAngleY = 0.0F;
                                      

                                      tu le remplace par celui que tu avais et dit moi ce que ça donne

                                      edit : sur la troisième ligne j’avais fait une faute de frappe

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

                                        Pareil il n’avance qu’un pied et l’autre est reculer il inverse pas a chaque fois qu’il marche

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

                                          Essaie avec çà alors :

                                          
                                          this.rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * f1;
                                          this.leftleg.rotateAngleX = -MathHelper.cos(f * 0.6662F + (float)Math.PI) * f1;
                                          this.rightleg.rotateAngleY = 0.0F;
                                          this.leftleg.rotateAngleY = 0.0F;
                                          
                                          

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

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

                                            Bon ben désolé mais moi la je sèche, j’ai pas encore trop compris le principe de l’animation, j’avais piocher le code sur la classe du zombie et je l’avait appliquer à mon mob, c’est ce que je t’ai donner et si ça marche pas ben… essaye de modifier peut être l’angle X avec Y et Z on sait jamais mais si non mon aide s’arrête ici parce que la je ne vois malheureusement pas 😕

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB