Crach au rendu du mob



  • Bonjour !
    Voila j'arrive pas faire spawner mon mob a cause du fait que le render de l'entity n'est pas lue pourtant je ne vois aucun problème dans la classe 😕
    INFO :
    La classe de mon mob : PoClass
    la classe de mon render : renderEmergia
    la classe principale de mon mod : EmergiaMenu
    Voici la classe proxy :

    
    package fr.emergia.EmergiaMod.proxy;
    
    import net.minecraft.client.model.ModelBiped;
    import cpw.mods.fml.client.registry.RenderingRegistry;
    import fr.emergia.EmergiaMod.client.renderEmergia;
    import fr.emergia.EmergiaMod.common.PoClass;
    
    public class ClientProxy extends CommonProxy
    {
    @Override
    public void RegisterRender ()
    {
    System.out.println("méthode côté client");
    RenderingRegistry.registerEntityRenderingHandler(PoClass.class, new renderEmergia(new ModelBiped(), 0.5F));
    }
    
    }
    
    

    La class du mob :

    
    package fr.emergia.EmergiaMod.common;
    
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.monster.EntityMob;
    import net.minecraft.world.World;
    
    public class PoClass extends EntityMob
    {
    
    public PoClass(World world)
    {
    super(world);
    // TODO Auto-generated constructor stub
    }
    public void applyEntityAttributes()
    {
    super.applyEntityAttributes();
    this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10D);
    this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10D);
    this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.8D);
    this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.9D);
    this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(1D);
    }
    }
    
    

    la class de mon render :

    
    package fr.emergia.EmergiaMod.client;
    
    import fr.emergia.EmergiaMod.common.EmergiaMenu;
    import fr.emergia.EmergiaMod.common.PoClass;
    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 renderEmergia extends RenderBiped
    {
    
    public final ResourceLocation texture = new ResourceLocation (EmergiaMenu.MODID, "textures/entity/PO.png");
    
    public renderEmergia(ModelBiped model, float shadow)
    {
    super(model, shadow);
    }
    
    protected ResourceLocation getEntityTexture(PoClass living)
    {
    return this.getPoTexture((PoClass)living);
    }
    private ResourceLocation getPoTexture(PoClass Poclass )
    {
    return texture;
    }
    }
    

    et enfin mon rapport d'erreur :
    (j'arrivais pas copier coller …)
    0_1533687344537_JAVA.PNG


  • Modérateurs

    Tu as coupé le log pile là où il fallait pas…
    Il nous faut AUSSI la trace avec le "Caused by NullPointerException"


  • Moddeurs confirmés Rédacteurs Administrateurs

    protected ResourceLocation getEntityTexture(PoClass living)
    {
    return this.getPoTexture((PoClass)living);
    }
    

    ->

    protected ResourceLocation getEntityTexture(EntityLiving living)
    {
    return this.getPoTexture((PoClass)living);
    }
    


  • @'jglrxavpok':

    Tu as coupé le log pile là où il fallait pas…
    Il nous faut AUSSI la trace avec le "Caused by NullPointerException"

    C'est le même log j'ai regarder qui recommence.
    EDIT oui voila le log :
    0_1537563966199_JAVA2.PNG


  • Moddeurs confirmés Rédacteurs Administrateurs

    Tu as testé ce que je t'ai donné ?



  • Oui Message d'au dessus j'ai oublier de mettre la phrase ^^ qui disait que j'avais testé avant le screeen.


  • Moddeurs confirmés Rédacteurs Administrateurs

    Vu le message d'erreur, ta texture est null, et la seule explication que je vois c'est que tu n'as pas override getEntityTexture
    Avec ce que je t'ai donné, ça devrait fonctionner.
    Essaye de mettre @Override au dessus de getEntityTexture



  • 
    @Override
    protected ResourceLocation getEntityLiving(EntityLiving living)
    {
    return this.getPoTexture((PoClass)living);
    }
    private ResourceLocation getPoTexture(PoClass Poclass )
    {
    return texture;
    }
    }
    
    

    J'ai une erreur sur getEntityLiving, il me propose d'enlever le @Override…
    EDIT : Je viens de m'appercevoir que getentitytexture était getentiyliving ...
    EDIT 2 : ça y est ça marche merci beaucoup 😉



  • Ok d'accord mais maintenant penses à passer le sujet en résolu Azatom 🙂


Log in to reply