Problème Invetory + Item comme une map
-
-
Essaie de changer les valeurs du glScalef dans handleRenderType(…)
Ensuite tu ajusteras sa position dans le slot de l’inventaire du joueur, avec le glTranslatef -
Bon, je suis un peux nul je crois, car j’ai pris les même valeur que MapItemRenderer voici mon code :
%(#a9b7c6)[[font=Courier New]package ]fr.ph1823.MyLife.Item%(#cc7832)[; ] %(#cc7832)[import ]net.minecraft.client.Minecraft%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.gui.FontRenderer%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.gui.MapItemRenderer%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.renderer.Tessellator%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.renderer.entity.RenderItem%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.renderer.texture.DynamicTexture%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.item.ItemMap%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.item.ItemStack%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.nbt.NBTTagCompound%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.nbt.NBTTagList%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.nbt.NBTTagString%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.util.ResourceLocation%(#cc7832)[; ]%(#cc7832)[import ]net.minecraft.world.storage.MapData%(#cc7832)[; ]%(#cc7832)[import ]net.minecraftforge.client.IItemRenderer%(#cc7832)[; ]%(#cc7832)[import ]org.lwjgl.opengl.GL11%(#cc7832)[; ] %(#629755)[*/** *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016. *]%(#629755)[* */ *]%(#cc7832)[public class ]IdentityTechneRender %(#cc7832)[implements ]IItemRenderer { %(#cc7832)[protected ]Identity %(#9876aa)[model]%(#cc7832)[; ]%(#cc7832)[ private static ]RenderItem %(#9876aa)[*renderItem *]= %(#cc7832)[new ]RenderItem()%(#cc7832)[; ]%(#cc7832)[ private static ]DynamicTexture %(#9876aa)[*dyn*]%(#cc7832)[; ] %(#cc7832)[ private static ]TextureManager %(#9876aa)[*manager *]= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[; ] %(#cc7832)[ protected static ]ResourceLocation %(#9876aa)[*texture *]= %(#cc7832)[new ]ResourceLocation(%(#6a8759)["plants:textures/items/card.png"])%(#cc7832)[; ] %(#cc7832)[ public ]IdentityTechneRender() { %(#808080)[// this.getDynamicTextureLocation() ]%(#808080)[ //model = new Identity(); ] %(#9876aa)[*dyn *]= %(#cc7832)[new ]DynamicTexture(%(#6897bb)[64]%(#cc7832)[,]%(#6897bb)[64])%(#cc7832)[; ] %(#808080)[// this.field_148241_e = this.field_148243_c.getTextureData(); ] %(#9876aa)[*texture *]= %(#9876aa)[*manager*].getDynamicTextureLocation(%(#6a8759)["plants:textures/items/card.png"]%(#cc7832)[, ]%(#9876aa)[*dyn*])%(#cc7832)[; ] } %(#bbb529)[@Override ] %(#cc7832)[public boolean ]%(#ffc66d)[handleRenderType](ItemStack item%(#cc7832)[, ]ItemRenderType type) { %(#808080)[// Get icon index for the texture ] String text= %(#6a8759)["texte par default"]%(#cc7832)[; ] NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[; ]%(#cc7832)[ if ](nbt != %(#cc7832)[null]) { NBTTagCompound disp = nbt.getCompoundTag(%(#6a8759)["display"])%(#cc7832)[; ]%(#cc7832)[ if ](disp != %(#cc7832)[null]) { NBTTagList lore = disp.getTagList(%(#6a8759)["Lore"]%(#cc7832)[, ]%(#6897bb)[8])%(#cc7832)[; ]%(#cc7832)[ if ](lore != %(#cc7832)[null]) { %(#808080)[// text = lore.getStringTagAt(0); ] } } } %(#9876aa)[*manager*].bindTexture(%(#9876aa)[*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)[ // ]%(#808080)[// Set drawing mode (see first tutorial link above). ]%(#808080)[ /* GL11.glBegin(GL11.GL_QUADS); ]%(#808080)[// Set semi-transparent black color ]%(#808080)[ GL11.glColor4f(0F, 0F, 0F, 0.5F); ] %(#808080)[// Draw a 8x8 square ]%(#808080)[ GL11.glVertex3d(0, 0, 0); ]%(#808080)[ GL11.glVertex3d(0, 8, 0); ]%(#808080)[ GL11.glVertex3d(8, 8, 0); ]%(#808080)[ GL11.glVertex3d(8, 0, 0);*/ ] %(#808080)[// GL11.glEnd(); ] %(#cc7832)[byte ]b0 = %(#6897bb)[0]%(#cc7832)[; ]%(#cc7832)[ byte ]b1 = %(#6897bb)[0]%(#cc7832)[; ] Tessellator tessellator = Tessellator.%(#9876aa)[*instance*]%(#cc7832)[; ]%(#cc7832)[ float ]f = %(#6897bb)[0.0F]%(#cc7832)[; ]%(#808080)[// Set drawing mode. Tessellator should support most drawing modes. ]%(#808080)[ // tessellator.startDrawing(GL11.GL_QUADS); ]%(#808080)[// Set semi-transparent black color ] tessellator.startDrawingQuads()%(#cc7832)[; ] tessellator.addVertexWithUV((%(#cc7832)[double])((%(#cc7832)[float])(b0 + %(#6897bb)[0]) + f)%(#cc7832)[, ](%(#cc7832)[double])((%(#cc7832)[float])(b1 + %(#6897bb)[128]) - f)%(#cc7832)[, ]-%(#6897bb)[0.009999999776482582D]%(#cc7832)[, ]%(#6897bb)[0.0D]%(#cc7832)[, ]%(#6897bb)[1.0D])%(#cc7832)[; ] tessellator.addVertexWithUV((%(#cc7832)[double])((%(#cc7832)[float])(b0 + %(#6897bb)[128]) - f)%(#cc7832)[, ](%(#cc7832)[double])((%(#cc7832)[float])(b1 + %(#6897bb)[128]) - f)%(#cc7832)[, ]-%(#6897bb)[0.009999999776482582D]%(#cc7832)[, ]%(#6897bb)[1.0D]%(#cc7832)[, ]%(#6897bb)[1.0D])%(#cc7832)[; ] tessellator.addVertexWithUV((%(#cc7832)[double])((%(#cc7832)[float])(b0 + %(#6897bb)[128]) - f)%(#cc7832)[, ](%(#cc7832)[double])((%(#cc7832)[float])(b1 + %(#6897bb)[0]) + f)%(#cc7832)[, ]-%(#6897bb)[0.009999999776482582D]%(#cc7832)[, ]%(#6897bb)[1.0D]%(#cc7832)[, ]%(#6897bb)[0.0D])%(#cc7832)[; ] tessellator.addVertexWithUV((%(#cc7832)[double])((%(#cc7832)[float])(b0 + %(#6897bb)[0]) + f)%(#cc7832)[, ](%(#cc7832)[double])((%(#cc7832)[float])(b1 + %(#6897bb)[0]) + f)%(#cc7832)[, ]-%(#6897bb)[0.009999999776482582D]%(#cc7832)[, ]%(#6897bb)[0.0D]%(#cc7832)[, ]%(#6897bb)[0.0D])%(#cc7832)[; ] tessellator.draw()%(#cc7832)[; ] FontRenderer fontRenderer = Minecraft.*getMinecraft*().%(#9876aa)[fontRenderer]%(#cc7832)[; ] GL11.*glEnable*(GL11.%(#9876aa)[*GL_ALPHA_TEST*])%(#cc7832)[; ] GL11.*glDisable*(GL11.%(#9876aa)[*GL_BLEND*])%(#cc7832)[; ] %(#808080)[// Enable texturing, because Minecraft text font is actually a texture ]%(#808080)[ //GL11.glEnable(GL11.GL_TEXTURE_2D); ]%(#808080)[// Get our text value ] %(#808080)[// Draw our text at (1, 1) with white color ] fontRenderer.drawStringWithShadow(text%(#cc7832)[, ]%(#6897bb)[1]%(#cc7832)[, ]%(#6897bb)[1]%(#cc7832)[, ]%(#6897bb)[0xFFFFFF])%(#cc7832)[; ] %(#808080)[// MapItemRenderer ]%(#808080)[//ItemMap ] GL11.*glPushMatrix*()%(#cc7832)[; ] %(#808080)[//GL11.glTranslatef((float)b0 + (float)mapcoord.centerX / 2.0F + 64.0F, (float)b1 + (float)mapcoord.centerZ / 2.0F + 64.0F, -0.02F); ]%(#808080)[ //GL11.glRotatef((float)(mapcoord.iconRotation * 360) / 16.0F, 0.0F, 0.0F, 1.0F); ] GL11.*glScalef*(%(#6897bb)[4.0F]%(#cc7832)[, ]%(#6897bb)[4.0F]%(#cc7832)[, ]%(#6897bb)[3.0F])%(#cc7832)[; ] GL11.*glTranslatef*(-%(#6897bb)[0.125F]%(#cc7832)[, ]%(#6897bb)[0.125F]%(#cc7832)[, ]%(#6897bb)[0.0F])%(#cc7832)[; ] GL11.*glPopMatrix*()%(#cc7832)[; ]%(#cc7832)[ switch](type) { %(#cc7832)[case ]%(#9876aa)[*FIRST_PERSON_MAP*]: %(#cc7832)[return true; ]%(#cc7832)[ default]: %(#cc7832)[return false; ] } %(#808080)[// return false; ] } %(#bbb529)[@Override ] %(#cc7832)[public boolean ]%(#ffc66d)[shouldUseRenderHelper](ItemRenderType type%(#cc7832)[, ]ItemStack item%(#cc7832)[, ]ItemRendererHelper helper) { %(#cc7832)[switch](type) { %(#cc7832)[case ]%(#9876aa)[*FIRST_PERSON_MAP*]: %(#cc7832)[return true; ]%(#cc7832)[ default]: %(#cc7832)[return false; ] } } %(#bbb529)[@Override ] %(#cc7832)[public void ]%(#ffc66d)[renderItem](ItemRenderType type%(#cc7832)[, ]ItemStack item%(#cc7832)[, ]Object… data) { %(#cc7832)[switch](type) { %(#cc7832)[case ]%(#9876aa)[*FIRST_PERSON_MAP*]: { } %(#cc7832)[default]: %(#cc7832)[break; ] } } }
Merci de vos réponse.
-
Problème résolu du coup ?
-
Ha mince, en mettant ce message j’avais crue mettre bien exprimé, justement non, cela fait la même chose que avec l’ancien code, et le même bug que dans l’image Comment pourais-je faire ?
-
Essaie de recopier une fonction pour dessiner, la tesselation est compliquée et elle fait souvent n’importe quoi
-
Bonjoours, recopier quelle fonction? Une fonction de MapItemRender? Merci de votre aide.
-
Le problème vient bien de là ?
tessellator.startDrawingQuads(); tessellator.addVertexWithUV((double)((float)(b0 + 0) + f), (double)((float)(b1 + 128) - f), -0.009999999776482582D, 0.0D, 1.0D); tessellator.addVertexWithUV((double)((float)(b0 + 128) - f), (double)((float)(b1 + 128) - f), -0.009999999776482582D, 1.0D, 1.0D); tessellator.addVertexWithUV((double)((float)(b0 + 128) - f), (double)((float)(b1 + 0) + f), -0.009999999776482582D, 1.0D, 0.0D); tessellator.addVertexWithUV((double)((float)(b0 + 0) + f), (double)((float)(b1 + 0) + f), -0.009999999776482582D, 0.0D, 0.0D); tessellator.draw();
Pour tester mets en commentaire par exemple