Faire un rendue a peut près comme un me map
-
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
-
Il faut d’abord bind la texture de l’item :
Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); itemRenderer.renderIcon(0, 0, icon, 16, 16);Et mettre 16,16 dans les derniers paramètres sinon tu vas faire le rendu de plusieurs items. Ensuite il faudra toujours modifier la taille et la position de ton item
-
Merci, mais quand je fais GL11.glScalef(1F, 1F, 1F); ce ne l’agrandit pas, quelle est la fonction pour l’agrandir?
-
Normal, si tu scale à 1, 1, 1 ça veux dire qu’il fera 1 fois la taille qu’il faisait, donc exactement la même
-
J’ai testé en remplant 1 par 10 et même resultat :
Avec 10:

Sans 10:

Merci de vis réponse. -
Envoi le code
-
Le voici ;
[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.client.renderer.texture.TextureMap%(#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) ]%(#808080)[ //renderItem.renderIcon(0,0,icon,64,64); ] Minecraft.*getMinecraft*().renderEngine.bindTexture(TextureMap.*locationItemsTexture*)%(#cc7832)[; ] *renderItem*.renderIcon(0, 0, icon, 16, 16)%(#cc7832)[; ] GL11.*glScalef*(10F, 10F, 10F)%(#cc7832)[; ] } } -
Petit rappel de comment fonction l’open gl :
- ouverture d’une matrice
- modification de la matrice
- rendu avec la matrice
- fermeture de la matrice
Sauf que toi tu modifies la matrice APRES le rendu donc ça n’a aucun effet.
-
Étonnant que ça n’a pas agrandi autre chose du jeu.
En général quand on met des GL11 n’importe où ça fait des bugs de rendu amusant
-
Bonjour, je me demandé comment on pouvé changé l’image icon par un autre plus grande, merci de vos réponse
-
“l’image icon” pardon ?
Tu peux toujours agrandir la taille de l’item avec GL11.glscalef comme on l’a dit plus haut, après si tu veux utiliser une autre texture c’est simple : tu ajoutes un ResourceLocation dans ta classe et tu fais un bind de texture avec, en revanche après il faut faire le rendu ce qui est plus complexe