Résolu Bug spam console GL
-
[16:43:38] [Client thread/ERROR]: ########## GL ERROR ##########
[16:43:38] [Client thread/ERROR]: @ Post render
[16:43:38] [Client thread/ERROR]: 1284: Stack underflowVoilà sinon tout est dans le titre et c’est depuis quelques jours quand je fais des ModelCustomBlock.
-
Bah il n’y a rien de grave xD
-
Sans le code ça va être difficile …
-
Oui mais je vous envoie tout mon src ou quoi parce que je ne sais pas du tout c’est lequel qui fait plante… Et ça ne me dérange pas beaucoup mais voilà c’est dur de voir des messages de la console après :S
-
Depuis combien de temps ce bug arrive-t-il? Qu’as-tu ajouté depuis?
-
3 jours je dirais et des models de block custom surtout ou des GUI etc
-
Envoies le code de toutes tes classes en rapport avec le rendu que tu ajoutés récemment.
-
package fr.altiscraft.altiscraft.common; import org.lwjgl.opengl.GL11; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiTextField; import net.minecraft.util.ResourceLocation; public class GuiMod extends GuiScreen { int guiWidth = 250; int guiHeight = 250; @Override public void drawScreen(int x, int y, float ticks) { int guix = (width - guiWidth) / 2; int guiy = (height - guiHeight) / 2; GL11.glColor4f(1, 1, 1, 1); drawDefaultBackground(); mc.renderEngine.bindTexture(new ResourceLocation(ModAltisCraft.MODID, "textures/gui/Carte.png")); drawTexturedModalRect(guix, guiy, 0, 0, guiWidth, guiHeight); fontRendererObj.drawString("Carte d'Altis", guix + 90, guiy - 10, 0x99999); super.drawScreen(x, y, ticks); } @Override public boolean doesGuiPauseGame() { return false; } }
package fr.altiscraft.altiscraft.proxy; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent; import fr.altiscraft.altiscraft.common.EntityMobBenjaminLoison; import fr.altiscraft.altiscraft.common.GuiInv; import fr.altiscraft.altiscraft.common.GuiMod; import fr.altiscraft.altiscraft.common.RenderMobBenjaminLoison; import fr.altiscraft.altiscraft.common.TileEntityATM; import fr.altiscraft.altiscraft.common.TileEntityBarriereFerme; import fr.altiscraft.altiscraft.common.TileEntityBarriereOuverte; import fr.altiscraft.altiscraft.common.TileEntityCoco; import fr.altiscraft.altiscraft.common.TileEntityLampadaire; import fr.altiscraft.altiscraft.common.TileEntityPanneauInterdit; import fr.altiscraft.altiscraft.common.TileEntityPanneauSTOP; import fr.altiscraft.altiscraft.common.TileEntityPoubelle; import fr.altiscraft.altiscraft.common.TileEntityVLampadaire; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.settings.KeyBinding; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StringUtils; public class ClientProxy extends CommonProxy { Minecraft mc = Minecraft.getMinecraft(); public static int tesrRenderId; public void registerRender() { FMLCommonHandler.instance().bus().register(this); System.out.println("Méthode côté client"); RenderingRegistry.registerEntityRenderingHandler(EntityMobBenjaminLoison.class, new RenderMobBenjaminLoison(new ModelBiped())); ClientRegistry.registerKeyBinding(keyBindInv); ClientRegistry.registerKeyBinding(keyBindCarte); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityATM.class, new TileEntityATMSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoco.class, new TileEntityCocoSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLampadaire.class, new TileEntityLampadaireSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVLampadaire.class, new TileEntityVLampadaireSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPoubelle.class, new TileEntityPoubelleSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarriereFerme.class, new TileEntityBarriereFermeSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarriereOuverte.class, new TileEntityBarriereOuverteSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPanneauSTOP.class, new TileEntityPanneauSTOPSpecialRenderer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPanneauInterdit.class, new TileEntityPanneauInterditSpecialRenderer()); tesrRenderId = RenderingRegistry.getNextAvailableRenderId(); RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer()); } private static KeyBinding keyBindInv = new KeyBinding("Inventaire d'AltisCraft", 21, "key.categories.inventory"); private static KeyBinding keyBindCarte = new KeyBinding("Carte", 50, "key.categories.inventory"); // @SubscribeEvent @SideOnly(cpw.mods.fml.relauncher.Side.CLIENT) public void onTick(TickEvent.ClientTickEvent event) {Minecraft mc = FMLClientHandler.instance().getClient();GuiScreen currentScreen = mc.currentScreen;if ((mc.currentScreen != null) && (mc.currentScreen.getClass().equals(GuiMainMenu.class))){mc.displayGuiScreen(new GuiCustomMainMenu());}} @SubscribeEvent public void onEvent1(InputEvent.KeyInputEvent event) { if (keyBindInv.isPressed()) { keyInvTyped(); } } @SubscribeEvent public void onEvent2(InputEvent.KeyInputEvent event) { if (keyBindCarte.isPressed()) { keyCarteTyped(); } } private void keyInvTyped() { Minecraft.getMinecraft().thePlayer.sendChatMessage("/inventaire"); Minecraft.getMinecraft().displayGuiScreen(new GuiInv()); Minecraft.getMinecraft(); } private void keyCarteTyped() { // Minecraft.getMinecraft().displayGuiScreen(new GuiMod()); Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("altiscraft", "secrets.ogg"), 1.0F)); Minecraft.getMinecraft(); } public static ResourceLocation getLocationSkin(String Skin) { return new ResourceLocation("skins/" + StringUtils.stripControlCodes(Skin)); } }
package fr.altiscraft.altiscraft.proxy; import org.lwjgl.opengl.GL11; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import fr.altiscraft.altiscraft.common.ModAltisCraft; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler { public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { if (block == ModAltisCraft.BlocATM) { GL11.glPushMatrix(); GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityATMSpecialRenderer.texture); TileEntityATMSpecialRenderer.model.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocVLampadaire) { GL11.glPushMatrix(); GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityVLampadaireSpecialRenderer.texturev); TileEntityVLampadaireSpecialRenderer.modelv.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocPoubelle) { GL11.glPushMatrix(); GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityPoubelleSpecialRenderer.texturep); TileEntityPoubelleSpecialRenderer.modelp.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocCoco) { GL11.glPushMatrix(); GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityCocoSpecialRenderer.textures); TileEntityCocoSpecialRenderer.models.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocLampadaire) { GL11.glPushMatrix(); GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityCocoSpecialRenderer.texturesb); TileEntityCocoSpecialRenderer.modelsb.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocBarriereOuverte) { GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager() .bindTexture(TileEntityBarriereOuverteSpecialRenderer.texturesbo); TileEntityBarriereOuverteSpecialRenderer.modelsbo.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocBarriereFerme) { GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityBarriereFermeSpecialRenderer.texturesbf); TileEntityBarriereFermeSpecialRenderer.modelsbf.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocPanneauSTOP) { GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityPanneauSTOPSpecialRenderer.textureps); TileEntityPanneauSTOPSpecialRenderer.modelps.renderAll(); GL11.glPopMatrix(); } else if (block == ModAltisCraft.BlocPanneauInterdit) { GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -1.0F, 0.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityPanneauInterditSpecialRenderer.texturepi); TileEntityPanneauInterditSpecialRenderer.modelpi.renderAll(); GL11.glPopMatrix(); } } public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { return false; } public int getRenderId() { return ClientProxy.tesrRenderId; } public boolean shouldRender3DInInventory(int modelId) { return true; } }
package fr.altiscraft.altiscraft.proxy; import org.lwjgl.opengl.GL11; import fr.altiscraft.altiscraft.client.ModelBlockBarriereFerme; import fr.altiscraft.altiscraft.common.TileEntityBarriereFerme; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class TileEntityBarriereFermeSpecialRenderer extends TileEntitySpecialRenderer { public static ModelBlockBarriereFerme modelsbf = new ModelBlockBarriereFerme(); public static ResourceLocation texturesbf = new ResourceLocation("altiscraft", "textures/models/blocks/ModelBlockBarriereFerme.png"); public TileEntityBarriereFermeSpecialRenderer() { func_147497_a(TileEntityRendererDispatcher.instance); } public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick) { renderTileEntityBarriereFermeAt((TileEntityBarriereFerme) tile, x, y, z, partialRenderTick); } private void renderTileEntityBarriereFermeAt(TileEntityBarriereFerme tile, double x, double y, double z, float partialRenderTick) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F * tile.getDirection() + 180.0F, 0.0F, 1.0F, 0.0F); bindTexture(texturesbf); modelsbf.renderAll(); GL11.glPopMatrix(); } }
package fr.altiscraft.altiscraft.proxy; import org.lwjgl.opengl.GL11; import fr.altiscraft.altiscraft.client.ModelBlockBarriereOuverte; import fr.altiscraft.altiscraft.common.TileEntityBarriereOuverte; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class TileEntityBarriereOuverteSpecialRenderer extends TileEntitySpecialRenderer { public static ModelBlockBarriereOuverte modelsbo = new ModelBlockBarriereOuverte(); public static ResourceLocation texturesbo = new ResourceLocation("altiscraft", "textures/models/blocks/ModelBlockBarriereOuverte.png"); public TileEntityBarriereOuverteSpecialRenderer() { func_147497_a(TileEntityRendererDispatcher.instance); } public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick) { renderTileEntityBarriereOuverteAt((TileEntityBarriereOuverte) tile, x, y, z, partialRenderTick); } private void renderTileEntityBarriereOuverteAt(TileEntityBarriereOuverte tile, double x, double y, double z, float partialRenderTick) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F * tile.getDirection() + 180.0F, 0.0F, 1.0F, 0.0F); bindTexture(texturesbo); modelsbo.renderAll(); GL11.glPopMatrix(); } }
package fr.altiscraft.altiscraft.proxy; import org.lwjgl.opengl.GL11; import fr.altiscraft.altiscraft.client.ModelBlockPanneauInterdit; import fr.altiscraft.altiscraft.common.TileEntityPanneauInterdit; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class TileEntityPanneauInterditSpecialRenderer extends TileEntitySpecialRenderer { public static ModelBlockPanneauInterdit modelpi = new ModelBlockPanneauInterdit(); public static ResourceLocation texturepi = new ResourceLocation("altiscraft", "textures/models/blocks/ModelBlockPanneauInterdit.png"); public TileEntityPanneauInterditSpecialRenderer() { func_147497_a(TileEntityRendererDispatcher.instance); } public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick) { renderTileEntityPanneauInterditAt((TileEntityPanneauInterdit) tile, x, y, z, partialRenderTick); } private void renderTileEntityPanneauInterditAt(TileEntityPanneauInterdit tile, double x, double y, double z, float partialRenderTick) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F * tile.getDirection() + 180.0F, 0.0F, 1.0F, 0.0F); bindTexture(texturepi); modelpi.renderAll(); GL11.glPopMatrix(); } }
-
Je t’ai envoyé un PM
-
Le problème vient de ta classe TESRInventoryRenderer dans la fonction renderInventoryBlock pour les 4 dernières blocs tu ferme une matrix open gl mais tu ne l’ouvre jamais.
(il te manque la ligne GL11.glPushMatrix(); après la condition) -
Résolu ?
-
Oui merci