Faire un rendue a peut près comme un me map



  • Bonjour, depuis longtemps je travail sur l'identityredner, sauf que je n'ai toujours pas réussi a arrivé a faire ce que je voulais, voici mon code :

    
    [font=Courier Newpackage ]fr.ph1823.MyLife.Item%(#cc7832)[;
    ]
    import net.minecraft.client.Minecraft%(#cc7832)[;
    ]import net.minecraft.client.gui.FontRenderer%(#cc7832)[;
    ]import net.minecraft.client.gui.MapItemRenderer%(#cc7832)[;
    ]import net.minecraft.client.renderer.OpenGlHelper%(#cc7832)[;
    ]import net.minecraft.client.renderer.Tessellator%(#cc7832)[;
    ]import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[;
    ]import net.minecraft.item.ItemMap%(#cc7832)[;
    ]import net.minecraft.item.ItemStack%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagList%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagString%(#cc7832)[;
    ]import net.minecraft.util.ResourceLocation%(#cc7832)[;
    ]import net.minecraft.world.storage.MapData%(#cc7832)[;
    ]import net.minecraftforge.client.IItemRenderer%(#cc7832)[;
    ]import org.lwjgl.opengl.GL11%(#cc7832)[;
    ]
    import java.util.Random%(#cc7832)[;
    ]
    %(#629755)[*/**
    *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016.
    *]%(#629755)[* */
    *]public class IdentityTechneRender implements IItemRenderer {
       protected Identity model%(#cc7832)[;
    ]    private static RenderItem *renderItem *= new RenderItem()%(#cc7832)[;
    ]    private static DynamicTexture *dyn*%(#cc7832)[;
    ]
        private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[;
    ]
        protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card.png")%(#cc7832)[;
    ]
        public IdentityTechneRender()
       {
          %(#808080)[//this.getDynamicTextureLocation()
    ]        model = new Identity()%(#cc7832)[;
    ]        *dyn *= new DynamicTexture(64,64)%(#cc7832)[;
    ]        %(#808080)[//this.field_148241_e = this.field_148243_c.getTextureData();
    ]        *texture *= *manager*.getDynamicTextureLocation("plants:textures/items/card.png", *dyn*)%(#cc7832)[;
    ]
    
       }
    
       %(#bbb529)[@Override
    ]    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
           %(#808080)[// Get icon index for the texture
    ]        String name = "Iconnue"%(#cc7832)[;
    ]        String surname = "Inconnue"%(#cc7832)[;
    ]
            int age = 0%(#cc7832)[;
    ]        NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[;
    ]
            if (nbt != null) {
               age = nbt.getInteger("age")%(#cc7832)[;
    ]            name = nbt.getString("name") != null ? nbt.getString("name") : name%(#cc7832)[;
    ]            surname = nbt.getString("surname") != null ? nbt.getString("surname") : surname%(#cc7832)[;
    ]           %(#808080)[/* name = nbt.getString("name");
    ]%(#808080)[            surname = nbt.getString("surname");*/
    ]        }
    
          *manager*.bindTexture(*texture*)%(#cc7832)[;
    ]        net.minecraft.util.IIcon icon = item.getIconIndex()%(#cc7832)[;
    ]%(#808080)[// Use vanilla code to render the icon in a 16x16 square of inventory slot
    ]     *renderItem*.renderIcon(0, 0, icon, 64, 64)%(#cc7832)[;
    ]
            byte b0 = 0%(#cc7832)[;
    ]        byte b1 = 0%(#cc7832)[;
    ]        Tessellator tessellator = Tessellator.*instance*%(#cc7832)[;
    ]        float f = 0.0F%(#cc7832)[;
    ]
           FontRenderer fontRenderer = Minecraft.*getMinecraft*().fontRenderer%(#cc7832)[;
    ]
           fontRenderer.drawStringWithShadow("Prénom : " + surname, 1, 0, 0xFFFFFF)%(#cc7832)[;
    ]        fontRenderer.drawStringWithShadow("Nom : " + name, 1, 24, 0xFFFFFF)%(#cc7832)[;
    ]        fontRenderer.drawStringWithShadow("Âge : " + age, 1, 51, 0xFFFFFF)%(#cc7832)[;
    ]
            switch(type)
           {
               case *EQUIPPED*:
    
                   %(#cc7832)[return true;
    ]            default:
                  %(#cc7832)[return false;
    ]        }
    
          %(#808080)[// return false;
    ]    }
    
       %(#bbb529)[@Override
    ]    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
           %(#cc7832)[return false;
    ]    }
    
       %(#bbb529)[@Override
    ]    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
    
       }
    
     %(#808080)[/*  @Override
    ]%(#808080)[    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
    ]%(#808080)[        switch(type)
    ]%(#808080)[        {
    ]%(#808080)[            case EQUIPPED:
    ]%(#808080)[                return true;
    ]%(#808080)[            default:
    ]%(#808080)[                return false;
    ]%(#808080)[        }
    ]%(#808080)[    }
    ]
    %(#808080)[    @Override
    ]%(#808080)[    public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
    ]
    %(#808080)[        switch(type)
    ]%(#808080)[        {
    ]%(#808080)[            case EQUIPPED:
    ]%(#808080)[            {
    ]
    %(#808080)[            }
    ]%(#808080)[            default:
    ]%(#808080)[                break;
    ]%(#808080)[        }
    ]%(#808080)[    }*/
    ]
    }
    
    

    Ce que je voudrais (a peut près en remplacant la map par l'image de la carte d'identité)

    Ce que j'ai :

    En f5 :

    Merci de votre aide 😃



  • Tout d'abord utilise les renderHelper, ça te permettra d'avoir à faire moins de rotations qui vont embrouiller ton code, ensuite je ne suis pas sûr que tu ais compris à quoi servaient les fonctions : handleRenderType doit renvoyer true si tu va faire le rendu de l'item dans la configuration demandée et la fonction renderItem fait le rendu de ton item comme son nom l'indique donc ton code n'est pas au bon endroit



  • Merci de votre réponse j'ai modifié le code en suivant vos indication voici le nouveau code :


    Je n'est juste pas compris une choses, qu'esque que les [font=Ubuntu, sans-serifrenderHelper ? J'ai cherché dans cette ancien topic : https://www.minecraftforgefrance.fr/showthread.php?tid=130 mais rien trouvée, de plus il y a une image qui manque (le résultat final dans le topic) donc si qqn avait cette image, ou a des idée de comment faire. En suite, voici le résultat du changement de code, il se raproche du résultat que je voudrais faires au final ! Mais toujours bug :/]
    [font=Ubuntu, sans-serif[/font]]
    [font=Ubuntu, sans-serifMerci de votre aide =)]



  • Le RenderHelper permet d'effectuer toutes les rotations et translations nécessaires pour positionner plus ou moins correctement l'item en fonction du type de rendu



  • D'accord, merci, je viens de cherché aussi sur google ect.. pour mieux comprend et avoir des example sauf que j'ai très peux trouvée, dans mon cas il faut bien mettre du code dans shouldUseRenderHelper ? Mais quelle code?



  • shouldUseRenderHelper comme son nom l'indique doit retourner true si tu veux l'utiliser dans le type de rendu donné en paramètre et false si tu ne veux pas, dans ton cas vu que tu n'as pas l'air très expérimenté dans ce genre de rendu je te conseille de l'utiliser afin de simplifier ton code



  • Ok merci mais alors, pour faire comme avec une "MAP" je dois utilise renderItem ou shouldUseRenderHelper ?



  • Ré-explication :

    • shouldUseRenderHelper = fonction qui indique seulement si tu veux les rotations de bases (il est conseillé de toujours renvoyer vrai)
    • renderItem = fonction qui dessine l'Item, dans tous les cas ton rendu doit se faire ici


  • Bonjour, voila je reivent car j'ai plusieur problème :
    1er : Mon texte et a l'envers 😕
    2ème : Il s'affiche derière le joueur au lieux de devant, j'ai test casiment tout les nombres entre 50 et -50 en y et x
    3éme l'icon de l'item ne s'affiche plus
    Voici des screen pour les example des problème:


    Voici le code :

    
    [font=Courier Newpackage ]fr.ph1823.MyLife.Item%(#cc7832)[;
    ]
    import net.minecraft.client.Minecraft%(#cc7832)[;
    ]import net.minecraft.client.gui.FontRenderer%(#cc7832)[;
    ]import net.minecraft.client.gui.MapItemRenderer%(#cc7832)[;
    ]import net.minecraft.client.renderer.OpenGlHelper%(#cc7832)[;
    ]import net.minecraft.client.renderer.Tessellator%(#cc7832)[;
    ]import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[;
    ]import net.minecraft.item.ItemMap%(#cc7832)[;
    ]import net.minecraft.item.ItemStack%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagList%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagString%(#cc7832)[;
    ]import net.minecraft.util.ResourceLocation%(#cc7832)[;
    ]import net.minecraft.world.storage.MapData%(#cc7832)[;
    ]import net.minecraftforge.client.IItemRenderer%(#cc7832)[;
    ]import org.lwjgl.opengl.GL11%(#cc7832)[;
    ]
    import java.util.Random%(#cc7832)[;
    ]
    %(#629755)[*/**
    *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016.
    *]%(#629755)[* */
    *]public class IdentityTechneRender implements IItemRenderer {
       protected Identity model%(#cc7832)[;
    ]    private static RenderItem *renderItem *= new RenderItem()%(#cc7832)[;
    ]    private static DynamicTexture *dyn*%(#cc7832)[;
    ]
        private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[;
    ]
        protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card.png")%(#cc7832)[;
    ]
        public IdentityTechneRender()
       {
          %(#808080)[//this.getDynamicTextureLocation()
    ]        model = new Identity()%(#cc7832)[;
    ]        *dyn *= new DynamicTexture(16,16)%(#cc7832)[;
    ]        %(#808080)[//this.field_148241_e = this.field_148243_c.getTextureData();
    ]        *texture *= *manager*.getDynamicTextureLocation("plants:textures/items/card.png", *dyn*)%(#cc7832)[;
    ]
    
       }
    
       %(#bbb529)[@Override
    ]    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
    
          %(#808080)[/* switch(type)
    ]%(#808080)[        {
    ]%(#808080)[            case EQUIPPED:
    ]
    %(#808080)[                return true;
    ]%(#808080)[            default:
    ]%(#808080)[                return false;
    ]%(#808080)[        }*/
    ]
    
           %(#cc7832)[return true;
    ]    }
    
       %(#bbb529)[@Override
    ]    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
           %(#808080)[//helper.
    ]        %(#cc7832)[return true;
    ]    }
    
       %(#bbb529)[@Override
    ]    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
           %(#808080)[// Get icon index for the texture
    ]        String name = "Iconnue"%(#cc7832)[;
    ]        String surname = "Inconnue"%(#cc7832)[;
    ]
            int age = 0%(#cc7832)[;
    ]        NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[;
    ]
            if (nbt != null) {
               age = nbt.getInteger("age")%(#cc7832)[;
    ]            name = nbt.getString("name") != null ? nbt.getString("name") : name%(#cc7832)[;
    ]            surname = nbt.getString("surname") != null ? nbt.getString("surname") : surname%(#cc7832)[;
    ]           %(#808080)[/* name = nbt.getString("name");
    ]%(#808080)[            surname = nbt.getString("surname");*/
    ]        }
    
           *manager*.bindTexture(*texture*)%(#cc7832)[;
    ]        %(#808080)[/*net.minecraft.util.IIcon icon = item.getIconIndex();
    ]%(#808080)[// Use vanilla code to render the icon in a 16x16 square of inventory slot
    ]%(#808080)[        renderItem.renderIcon(0, 0, icon, 16, 16);*/
    ]%(#808080)[    //MapItemRenderer
    ]
    
           FontRenderer fontRenderer = Minecraft.*getMinecraft*().fontRenderer%(#cc7832)[;
    ]
           %(#808080)[//fontRenderer.FONT_HEIGHT = 1;
    ]
    %(#808080)[        //y = hauteur x= jsp mais lautre truc
    ]        fontRenderer.drawStringWithShadow("Prénom : " + surname,0,0, 0xFFFFFF)%(#cc7832)[;
    ]      %(#808080)[//  fontRenderer.drawStringWithShadow("Nom : " + name, 1, 5, 0xFFFFFF);
    ]%(#808080)[        //fontRenderer.drawStringWithShadow("Âge : " + age, 1, 10, 0xFFFFFF);
    ]
    
       }
    
    }
    
    

    Merci de vos réponse 😃



  • 1- fait un GL11.glRotatef(180, 1F, 0F, 0F) ou GL11.glRotatef(180, 0F, 0F, 1F) avant de dessiner le texte
    2- Rajoute ensuite un GL11.glTranslatef pour le positionner correctement (à placer avant la rotation il me semble)
    3- Normal dans la fonction handleRenderType tu renvois toujours vrai, or si tu veux que ce soit la texture de base il faut retourner faux pour le type correspondant



  • Re-Bonjour, j'ai encore un problème, je n'arrivé pas a le posionné devant la main du joueur, mais que lorsqu'il n'est en pas en f5 voici en concré :


    J'aimerais aussi rajouté l'image en background mais comment faire car avec l'incon ca donne un truc blanc ? le code :

    
    [font=Courier Newpackage ]fr.ph1823.MyLife.Item%(#cc7832)[;
    ]
    import cpw.mods.fml.client.FMLClientHandler%(#cc7832)[;
    ]import cpw.mods.fml.server.FMLServerHandler%(#cc7832)[;
    ]import net.minecraft.client.Minecraft%(#cc7832)[;
    ]import net.minecraft.client.gui.FontRenderer%(#cc7832)[;
    ]import net.minecraft.client.gui.MapItemRenderer%(#cc7832)[;
    ]import net.minecraft.client.renderer.OpenGlHelper%(#cc7832)[;
    ]import net.minecraft.client.renderer.Tessellator%(#cc7832)[;
    ]import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[;
    ]import net.minecraft.item.ItemMap%(#cc7832)[;
    ]import net.minecraft.item.ItemStack%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagList%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagString%(#cc7832)[;
    ]import net.minecraft.util.ChatComponentText%(#cc7832)[;
    ]import net.minecraft.util.ResourceLocation%(#cc7832)[;
    ]import net.minecraft.world.storage.MapData%(#cc7832)[;
    ]import net.minecraftforge.client.IItemRenderer%(#cc7832)[;
    ]import org.lwjgl.opengl.GL11%(#cc7832)[;
    ]
    import java.util.Random%(#cc7832)[;
    ]
    %(#629755)[*/**
    *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016.
    *]%(#629755)[* */
    *]public class IdentityTechneRender implements IItemRenderer {
       protected Identity model%(#cc7832)[;
    ]    private static RenderItem *renderItem *= new RenderItem()%(#cc7832)[;
    ]    private static DynamicTexture *dyn*%(#cc7832)[;
    ]
        private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[;
    ]
        protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card.png")%(#cc7832)[;
    ]
        public IdentityTechneRender()
       {
          %(#808080)[//this.getDynamicTextureLocation()
    ]        model = new Identity()%(#cc7832)[;
    ]        *dyn *= new DynamicTexture(16,16)%(#cc7832)[;
    ]        %(#808080)[//this.field_148241_e = this.field_148243_c.getTextureData();
    ]        *texture *= *manager*.getDynamicTextureLocation("plants:textures/items/card.png", *dyn*)%(#cc7832)[;
    ]
    
       }
    
       %(#bbb529)[@Override
    ]    public boolean handleRenderType(ItemStack item, ItemRenderType type)
       {
         Minecraft.*getMinecraft*().thePlayer.addChatComponentMessage(new ChatComponentText(type.name()))%(#cc7832)[;
    ]
    
            switch(type)
           {
               case *EQUIPPED_FIRST_PERSON*:
    
                   %(#cc7832)[return true;
    ]            case *EQUIPPED*:
                   %(#cc7832)[return true;
    ]            default:
                   %(#cc7832)[return false;
    ]        }
    
           %(#808080)[//return true;
    ]    }
    
       %(#bbb529)[@Override
    ]    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
           %(#808080)[//helper.
    ]        %(#cc7832)[return true;
    ]    }
    
       %(#bbb529)[@Override
    ]    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
           %(#808080)[// Get icon index for the texture
    ]        String name = "Iconnue"%(#cc7832)[;
    ]        String surname = "Inconnue"%(#cc7832)[;
    ]
            int age = 0%(#cc7832)[;
    ]        NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[;
    ]
            if (nbt != null) {
               age = nbt.getInteger("age")%(#cc7832)[;
    ]            name = nbt.getString("name") != null ? nbt.getString("name") : name%(#cc7832)[;
    ]            surname = nbt.getString("surname") != null ? nbt.getString("surname") : surname%(#cc7832)[;
    ]           %(#808080)[/* name = nbt.getString("name");
    ]%(#808080)[            surname = nbt.getString("surname");*/
    ]        }
    
           *manager*.bindTexture(*texture*)%(#cc7832)[;
    ]        GL11.*glRotatef*(180, 0F, 0F, 1F)%(#cc7832)[;
    ]        GL11.*glTranslatef*(0F,-1F,0F)%(#cc7832)[;
    ]        %(#808080)[/*net.minecraft.util.IIcon icon = item.getIconIndex();
    ]%(#808080)[// Use vanilla code to render the icon in a 16x16 square of inventory slot
    ]%(#808080)[        renderItem.renderIcon(0, 0, icon, 16, 16);*/
    ]%(#808080)[    //MapItemRenderer
    ]
    
           FontRenderer fontRenderer = Minecraft.*getMinecraft*().fontRenderer%(#cc7832)[;
    ]
           %(#808080)[//fontRenderer.FONT_HEIGHT = 1;
    ]
    %(#808080)[        //y = hauteur x= jsp mais lautre truc
    ]        fontRenderer.drawStringWithShadow("Prénom : " + surname,0,0, 0xFFFFFF)%(#cc7832)[;
    ]      %(#808080)[//  fontRenderer.drawStringWithShadow("Nom : " + name, 1, 5, 0xFFFFFF);
    ]%(#808080)[        //fontRenderer.drawStringWithShadow("Âge : " + age, 1, 10, 0xFFFFFF);
    ]
    
       }
    
    }
    
    

    Merci de votre aide 😃



  • Comme je te l'ai dit il faut modifier sa position jusqu'à trouver la bonne puis modifier sa taille avec GL11.glScalef, je vais essayer de trouver les bonnes valeurs de mon côté.

    PS : pense à supprimer le code de l'auteur chez qui tu l'as pris ça fera un peu plus professionnel 😉



  • Hey, de mon côté ces chiffres : GL11.glTranslatef(-10F,-5F,0F); en f5 faut pille sur mon personnage, après je sais pas comment le déplacé dans la 3D 😕 Faudrais le mettre vers le personne. Merci de votre aide!



  • Voici un code à peu près potable, il faut juste modifier quelques valeurs :

    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
    return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
    }
    
    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
    return type == ItemRenderType.EQUIPPED;
    }
    
    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object … data) {
    FontRenderer font = Minecraft.getMinecraft().fontRenderer;
    
    switch (type) {
    case EQUIPPED:
    GL11.glTranslatef(1F, -.5F, 0F);
    break;
    case EQUIPPED_FIRST_PERSON:
    GL11.glTranslatef(8F, 2F, 2F);
    GL11.glRotatef(20F, 0F, 0F, 1F);
    break;
    default:
    }
    GL11.glRotatef(180F, 0F, 0F, 1F);
    GL11.glScalef(0.1F, 0.1F, 0.1F);
    font.drawStringWithShadow("Prénom : Patrick", 0, 0, 0xFFFFFF);
    }
    

    PS : j'ai retiré le render helper pour le rendu à la première personne car ça rendait pas correctement



  • Ha merci 😃 J'ai encore une question, comment faire pour mettre les main du joueur comme sur la carte? Si c'est possible bien sur 😕



  • A ce moment là il faut changer le type de rendu pour faire comme une carte, je n'ai jamais fait ça : il doit y avoir quelque chose à specifier dans la classe de ton item pour ensuite changer le type de rendu



  • D'accord, merci je vais cherché et si je trouve la réponse je vous le dirais 😄



  • Bonjour, je me permet de faire ce up car je n'ai rien trovuée sur google >< mais aussi car j'ai une erreur avec "l'icon" que je veux mettre voici le code

    
    [font=Courier Newpackage ]fr.ph1823.MyLife.Item%(#cc7832)[;
    ]
    import net.minecraft.client.Minecraft%(#cc7832)[;
    ]import net.minecraft.client.gui.FontRenderer%(#cc7832)[;
    ]
    import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[;
    ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[;
    ]
    import net.minecraft.entity.item.EntityItem%(#cc7832)[;
    ]import net.minecraft.item.ItemStack%(#cc7832)[;
    ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[;
    ]
    import net.minecraft.util.ChatComponentText%(#cc7832)[;
    ]import net.minecraft.util.ResourceLocation%(#cc7832)[;
    ]
    import net.minecraftforge.client.IItemRenderer%(#cc7832)[;
    ]import org.lwjgl.opengl.GL11%(#cc7832)[;
    ]
    import java.util.Random%(#cc7832)[;
    ]
    %(#629755)[*/**
    *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016.
    *]%(#629755)[* */
    *]public class IdentityTechneRender implements IItemRenderer {
     protected Identity model%(#cc7832)[;
    ]    private static RenderItem *renderItem *= new RenderItem()%(#cc7832)[;
    ]   %(#808080)[// private static DynamicTexture dyn;
    ]
       private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[;
    ]
        protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card.png")%(#cc7832)[;
    ]
        public IdentityTechneRender()
    
       {
          %(#808080)[//this.getDynamicTextureLocation()
    ]        model = new Identity()%(#cc7832)[;
    ]       %(#808080)[// model.
    ]%(#808080)[       // dyn = new DynamicTexture(16,16);
    ]%(#808080)[        //this.field_148241_e = this.field_148243_c.getTextureData();
    ]%(#808080)[     //   texture = manager.getDynamicTextureLocation("plants:textures/items/card.png", dyn);
    ]
    
       }
    
       %(#bbb529)[@Override
    ]    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
           return type == ItemRenderType.*EQUIPPED *|| type == ItemRenderType.*EQUIPPED_FIRST_PERSON*%(#cc7832)[;
    ]    }
    
       %(#bbb529)[@Override
    ]    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
           return type == ItemRenderType.*EQUIPPED*%(#cc7832)[;
    ]    }
    
       %(#bbb529)[@Override
    ]    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
           %(#808080)[// Get icon index for the texture
    ]
    %(#808080)[      //  EntityItem entItem = new EntityItem(Minecraft.getMinecraft().theWorld, 0D, 0D, 0D, item);
    ]        String name = "Iconnue"%(#cc7832)[;
    ]        String surname = "Inconnue"%(#cc7832)[;
    ]
            int age = 0%(#cc7832)[;
    ]        NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[;
    ]
            if (nbt != null) {
               age = nbt.getInteger("age")%(#cc7832)[;
    ]            name = nbt.getString("name") != null ? nbt.getString("name") : name%(#cc7832)[;
    ]            surname = nbt.getString("surname") != null ? nbt.getString("surname") : surname%(#cc7832)[;
    ]    /
           }
    
           net.minecraft.util.IIcon icon = item.getIconIndex()%(#cc7832)[;
    ]
    
           FontRenderer font = Minecraft.*getMinecraft*().fontRenderer%(#cc7832)[;
    ]
            switch (type) {
               case *EQUIPPED*:
                   GL11.*glTranslatef*(1F, -.5F, 0F)%(#cc7832)[;
    ]%(#cc7832)[                break;
    ]            case *EQUIPPED_FIRST_PERSON*:
                   GL11.*glTranslatef*(8F, 2F, 2F)%(#cc7832)[;
    ]                GL11.*glRotatef*(-10F, 0F, 0F, 1F)%(#cc7832)[;
    ]%(#cc7832)[                break;
    ]            default:
           }
           GL11.*glRotatef*(180F, 0F, 0F, 1F)%(#cc7832)[;
    ]        GL11.*glScalef*(0.05F, 0.05F, 0.05F)%(#cc7832)[;
    ]
           font.drawStringWithShadow(surname,-5,5, 0xFFFFFF);%(#808080)[//Patrick
    ]%(#808080)[      //  fontRenderer.drawStringWithShadow("Nom : " + name, 1, 5, 0xFFFFFF);
    ]%(#808080)[        //fontRenderer.drawStringWithShadow("Âge : " + age, 1, 10, 0xFFFFFF)
    ]       *renderItem*.renderIcon(0,0,icon,64,64)%(#cc7832)[;
    ]
    
       }
    
    }
    
    

    et voila le résulta :

    Ca n'affiche pas l'icon vert alors que ca devrait je ne comprend pas pourquoi ;( merci de vos réponse.
    Merci de votre aide 😃



  • Où veux-tu faire le rendu de ton icon ?



  • Je voudrais le mettre derrièr le texte si c'est possible