Faire un rendue a peut près comme un me map
-
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
-
Voila, c’est le rendue que j’aimerais savoir comment on fait , désoler de m’être mal exprimé

-
Je te conseille de copier la fonction utiliser dans la classe Gui pour faire un rendu facilement
-
Bonjour quelle fonction? Il y a aucune avec “background”
-
Pourquoi est-ce qu’il y aurait background dedans ?
-
Car ca paraissait plus logique >< mais j’ai trouvée ca a la palce : drawTexturedModelRectFromIcon sauf qu’aucune variable contient les ressource
il ya juste ca :Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMaxV()); tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMaxV()); tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMinV()); tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMinV()); tessellator.draw(); -
Oui, c’est cette fonction qui dessine effectivement, il n’y a pas de question de resources car ta texture doit être appliquée avant comme avant de dessiner ton item
-
Par contre pour le getMinU() comment je fait vue que c’est avec un icon ou alors ils faut load avec une fonction spécifique l’icon?
voici le code actuel :Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV((double)(0), (double)(16), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMaxV()); tessellator.addVertexWithUV((double)(16), (double)(16), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMaxV()); tessellator.addVertexWithUV((double)(16), (double)(0), (double)this.zLevel, (double)p_94065_3_.getMaxU(), (double)p_94065_3_.getMinV()); tessellator.addVertexWithUV((double)(0), (double)(0), (double)this.zLevel, (double)p_94065_3_.getMinU(), (double)p_94065_3_.getMinV()); tessellator.draw();Merci de vos réponse.
-
u correspond à x sur ta texture et v correspond à y, donc remplace les getMinU() et les truc semblables car les valeurs dont tu as besoin.
-
Avant d’utiliser un tesselator il faut bind la texture.
Les textures des items et des blocs se trouvent tous sur une image commune, la fonction getMinU/V et getMaxU/V permet d’avoir les coordonnées de la texture du bloc / item sur cette image commune. -
Bonjour, je viens de testé plusieur valeur en 0 et 16 et rien
(de mon côté) voic 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.Gui%(#cc7832)[; ]import net.minecraft.client.gui.MapItemRenderer%(#cc7832)[; ]import net.minecraft.client.renderer.Tessellator%(#cc7832)[; ]import net.minecraft.client.renderer.WorldRenderer%(#cc7832)[; ]import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[; ]import net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[; ]import net.minecraft.client.renderer.texture.TextureAtlasSprite%(#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.IIcon%(#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; ] protected float zLevel%(#cc7832)[; ] private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[; ] protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card1.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); ]%(#808080)[//Gui.class ] } %(#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); ]%(#808080)[ //GL11.glScalef(2F, 2F, 2F); ] *manager*.bindTexture(*texture*)%(#cc7832)[; ] Tessellator tessellator = Tessellator.*instance*%(#cc7832)[; ] tessellator.startDrawingQuads()%(#cc7832)[; ] tessellator.addVertexWithUV((double)(0), (double)(16), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(16), (double)(16), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(16), (double)(0), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(0), (double)(0), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.draw()%(#cc7832)[; ] %(#808080)[//renderItem.renderIcon(0, 0, icon, 16, 16); ] } }merci de vos réponse

-
J’ai pas tout suivi là durant ces 4 pages…Et puis faut dire que ton code n’aide pas beaucoup, je te conseille de retirer les commentaires ou les vieux bouts de codes qui traînent, ça facilitera la lecture.
Réexplique moi stp, ce que tu souhaites faire, car l’interface IItemRenderer est pourtant très facile à utiliser, je ne vois pas où tu peux bloquer ^^’ -
Voici le code sans les vieux morceau :
[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.Tessellator%(#cc7832)[; ]import net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[; ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[; ] import net.minecraft.item.ItemStack%(#cc7832)[; ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[; ]import net.minecraft.util.ResourceLocation%(#cc7832)[; ]import net.minecraftforge.client.IItemRenderer%(#cc7832)[; ] import org.lwjgl.opengl.GL11%(#cc7832)[; ] %(#629755)[*/** *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016. *]%(#629755)[* */ *]public class IdentityTechneRender implements IItemRenderer { protected Identity model%(#cc7832)[; ] protected float zLevel%(#cc7832)[; ] private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[; ] protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card1.png")%(#cc7832)[; ] public IdentityTechneRender() { model = new Identity()%(#cc7832)[; ] } %(#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) { 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)%(#cc7832)[; ] *manager*.bindTexture(*texture*)%(#cc7832)[; ] Tessellator tessellator = Tessellator.*instance*%(#cc7832)[; ] tessellator.startDrawingQuads()%(#cc7832)[; ] tessellator.addVertexWithUV((double)(0), (double)(16), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(16), (double)(16), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(16), (double)(0), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.addVertexWithUV((double)(0), (double)(0), (double)this.zLevel, (double)0, (double)16)%(#cc7832)[; ] tessellator.draw()%(#cc7832)[; ] } }Ce que jaimerais faire : c’est le même rendue que l’item MAP, (ItemMapRender) mais pour ma carte d’indentité, maintenant il ne me manque plus que me “background” que j’aimerais changé car j’ai l’icon de l’item mais “le background” et plus grand pour que cela sois plus lisible, et j’aimerais aussi ajouté si possible “les main” comme dans la map . Merci de vos réponse.
-
Malheureusement pour faire ça il faut que ton Item soit extends ItemMap
-
D’accord, mais puor le problème du “background” ?
-
Je vois pas ce que tu appelles background
-
L’image de font que je tente de render avec mon tessellator.