Problème de textures sur deux mobs techne



  • Bonjour à tous, alors je suis nouveau sur le modding et après avoir rechercher un sujet pour mon problème en vain je me présente à vous alors voici mon problème.

    J'ai commencer les tutos, tout marchait pour le mieux jusqu'au tuto pour créer un mob personnalisé avec techne et la au moment d'en rajouter un deuxième, problème… La texture du mob n'est pas appliquée et le reste.. plus ou moins..

    En fait, quand j'enlève le premier mob dans le "registering" du main de mon mod, le deuxième est parfaitement reconnu et tout fonctionne mais quand je met les deux j'ai un peu des "mélanges" d'attributs, par exemple sur mon premier mob j'ai mis comme la classe du zombie, qu'il recule quand je le tape et ça s'est appliquer aussi au deuxième, la texture n'est pas appliquée, ni le shadow, mais les drops eux marchent très bien.

    (je citerais mes classes sans les import)

    Voici ma classe entity :

    public class EntityMobAude extends EntityLiving{
    
    public EntityMobAude(World world) {
    super(world);
    }
    
    public void applyEntityAttributes()
    {
    super.applyEntityAttributes();
    this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D);
    this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.699999988079071D);
    }
    
    public Item getDropItem()
    {
    return Items.apple;
    }
    
    }
    

    Ma classe Render :

    public class RenderMobAude extends RenderLiving {
    
    public final ResourceLocation texture = new ResourceLocation(ModTutoriel.MODID, "textures/entity/mobAude.png");
    
    public RenderMobAude(dragon_test dragon_test, float shadow) {
    super(dragon_test, shadow);
    }
    
    @Override
    protected ResourceLocation getEntityTexture(Entity living) {
    // TODO Auto-generated method stub
    return this.getMobAudeTexture((EntityMobAude)living);
    }
    
    private ResourceLocation getMobAudeTexture(EntityMobAude MobAude) {
    // TODO Auto-generated method stub
    return texture;
    }
    

    Mon initialisation dans mon main :

    public void init(FMLInitializationEvent event)
    {
    EntityRegistry.registerGlobalEntityID(EntityMobTutoriel.class, "mobTutoriel", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 255).getRGB(), new Color(255, 0, 0).getRGB());
    EntityRegistry.registerModEntity(EntityMobTutoriel.class, "mobTutoriel", 420, this.instance, 40, 2, true);
    EntityRegistry.addSpawn(EntityMobTutoriel.class, 100, 5, 10, EnumCreatureType.creature);
    
    EntityRegistry.registerGlobalEntityID(EntityMobAude.class, "mobAude", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(0, 0, 255).getRGB());
    EntityRegistry.registerModEntity(EntityMobAude.class, "mobAude", 420, this.instance, 40, 2, true);
    
    proxy.registerRender();
    }
    
    

    Et mon proxy client :

    public void registerRender()
    {
    System.out.println("méthode côté client");
    RenderingRegistry.registerEntityRenderingHandler(EntityMobTutoriel.class, new RenderMobTutoriel(new gros_Lard(), 0.5F));
    RenderingRegistry.registerEntityRenderingHandler(EntityMobAude.class, new RenderMobAude(new dragon_test(), 1.5F));
    
    }
    

    Merci pour votre aide 🙂



  • Normal tu as mis le même id pour tes deux mobs : 420
    La seconde ligne devrait être comme ça

    
    EntityRegistry.registerModEntity(EntityMobAude.class, "mobAude", 421, this.instance, 40, 2, true);
    
    


  • Aaah comment je me sens trop stupide, j'ai vu et revu le code et j'avais oublier l'id….
    Je testerais ça demain et je te tiens au courant mais normalement je pense que ça devrait marcher.

    Merci encore julot 🙂



  • Problème résolu, merci julot et désolé du dérangement inutile 🙂



  • N'oublie pas la balise résolu