Posted July 28, 20205 yr I have been working on a custom overlay for my mod. It looks like this: but when I open the escape menu it looks like this: My code is this: @OnlyIn(value = Dist.CLIENT) public class ForcePowersOverlay { private Minecraft minecraft; private static final ResourceLocation tex = new ResourceLocation(Reference.MOD_ID, "textures/gui/mod_widgets.png"); public ForcePowersOverlay() { minecraft = Minecraft.getInstance(); } @SubscribeEvent public void renderOverlay(RenderGameOverlayEvent.Post event) { if(event.getType() == RenderGameOverlayEvent.ElementType.ALL) { renderCustomOverlay(); } } private void renderCustomOverlay(){ PlayerEntity player = (PlayerEntity)this.minecraft.getRenderViewEntity(); if (player != null) { IForceSensitive data = player.getCapability(ModCapabilities.FORCE_CAPABILITY).orElseThrow(IllegalStateException::new); int slotX = data.getSlot() * 20; int scaledWidth = this.minecraft.getMainWindow().getScaledWidth(); int scaledHeight = this.minecraft.getMainWindow().getScaledHeight(); RenderSystem.pushMatrix(); RenderSystem.pushTextureAttributes(); RenderSystem.enableAlphaTest(); RenderSystem.enableBlend(); RenderSystem.color4f(1F, 1F, 1F, 1F); minecraft.getTextureManager().bindTexture(tex); //Slots minecraft.ingameGUI.blit(40, scaledHeight - 22, 0, 0, 62, 21); //SelectedSlot minecraft.ingameGUI.blit(40 + slotX, scaledHeight - 23, 62, 0, 24, 22); //Push minecraft.ingameGUI.blit(44, scaledHeight - 18, 4, 25, 15, 15); //Epicenter minecraft.ingameGUI.blit(64, scaledHeight - 18, 23, 25, 15, 15); //Heal minecraft.ingameGUI.blit(84, scaledHeight - 18, 42, 25, 15, 15); //minecraft.getRenderManager().getFontRenderer().drawString(data.getSide().getName(), 8.0f, 6.0f, 410752); minecraft.getTextureManager().bindTexture(AbstractGui.BACKGROUND_LOCATION); RenderSystem.popAttributes(); RenderSystem.popMatrix(); } } Any help would be great thanks.
July 28, 20205 yr 1 hour ago, Syconn said: if(event.getType() == RenderGameOverlayEvent.ElementType.ALL) { You're saying "for every element that gets drawn on the screen, draw my GUI." Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
July 28, 20205 yr 2 hours ago, Draco18s said: You're saying "for every element that gets drawn on the screen, draw my GUI." Isn't it "Render this before/after all elements are drawn"? Edited July 28, 20205 yr by poopoodice
July 28, 20205 yr 54 minutes ago, poopoodice said: Isn't it "Render this before all elements are drawn"? You're right, my mistake. My next guess would be that the bound texture is getting messed up, but OP's rebinding it to a vanilla one and the one that's being rendered mistakenly doesn't look like a vanilla one... Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
July 29, 20205 yr Can I ask why you set the BACKGROUND_LOCATIONS at the end? Also not sure if its helpful or not but the first screenshot in the controls menu is rendering the default "textures/gui/icons.png" texture in the background, which oddly enough is the file next to the BACKGROUND_LOCATIONS(textures/gui/options_background.png") file alphabetically in the default resources. They are also both declared as finals in AbstractGui. In the second controls menu the rendered background looks like it could possiblly be the STATS_ICON_LOCATION resource from AbstracGui as well
July 30, 20205 yr Author 4 hours ago, Mr_Zylr said: Can I ask why you set the BACKGROUND_LOCATIONS at the end? Also not sure if its helpful or not but the first screenshot in the controls menu is rendering the default "textures/gui/icons.png" texture in the background, which oddly enough is the file next to the BACKGROUND_LOCATIONS(textures/gui/options_background.png") file alphabetically in the default resources. They are also both declared as finals in AbstractGui. In the second controls menu the rendered background looks like it could possiblly be the STATS_ICON_LOCATION resource from AbstracGui as well I thought I had to rebind the texture
July 30, 20205 yr You don't have to worry about it since they will rebind the texture before they render, like you do.
July 30, 20205 yr Author 14 hours ago, poopoodice said: You don't have to worry about it since they will rebind the texture before they render, like you do. But then it renders all the mc widgets in one space in the escape menu and it makes it unable to type by changing the text Edited July 30, 20205 yr by Syconn
August 1, 20205 yr I solved it this way: https://github.com/CAS-ual-TY/YgoDuelingMod/blob/7486e325beef23462248371b028b552080f7b450/src/main/java/de/cas_ual_ty/ydm/client/ClientProxy.java#L131 I had similar problems and switched to this. Basically you could only render when player!=null and screen==null. Just a last resort "solution". I will follow this thread in case there is a better one. https://github.com/CAS-ual-TY/Visibilis [1.14] How to Villagers, Trades, Professions, Fix Trades https://minecraft.curseforge.com/projects/gun-customization-infinity / https://github.com/CAS-ual-TY/GunCus https://minecraft.curseforge.com/projects/ygo-dueling-mod https://minecraft.curseforge.com/projects/mundus-magicus https://minecraft.curseforge.com/projects/deuf-duplicate-entity-uuid-fix
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.