Posted August 12, 201510 yr I have a class called ArrowCount which creates a string of text to render on the screen. It renders fine, but when I try to reposition it, the text moves when changing the gui size in the Minecraft settings. Here's my class: public class ArrowCount { private static Minecraft mc = Minecraft.getMinecraft(); public static int arrowCount = 20; public static void renderToHud() { if((mc.inGameHasFocus) || (mc.currentScreen != null) && (mc.currentScreen instanceof GuiChat) && !mc.gameSettings.showDebugInfo) { ScaledResolution res = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); FontRenderer fontRender = mc.fontRendererObj; int width = res.getScaledWidth(); int height = res.getScaledHeight(); int arrows = arrowCount; String arrowCount = "Arrows: " + arrows; int x = width / 2; int y = (height / 2) + 82; int color = 0xffffff; mc.fontRendererObj.drawStringWithShadow(arrowCount, x, y, color); } } } I thought about this, and I'm pretty sure that because in the integer y, when I added 82, it always displays it in the same spot because 82 is static and will not change. Does anyone know how I can have the text in the same spot no matter what size the gui is? Thanks
August 13, 201510 yr Few things 1st: 1. Event gives you resolution, use that, m8. @SubscribeEvent public void onRenderOvelay(RenderGameOverlayEvent.Pre event) { int w = event.resolution.getScaledWidth(); int h = event.resolution.getScaledHeight(); 2. private static Minecraft mc = Minecraft.getMinecraft(); I don't think it can be static, Minecraft.class needs to be initialized (it's null on startup), so does your object (ArrowCount), after Minecraft. But I might be wrong. 3. int x = width / 2; int y = (height / 2) + 82; This will cause your arrow count to ALWAYS render with 82 offset from exact center - the 82 value is dependent to gui size - thus with different gui size it will be different offset. Use e.g: int x = width / 2; int y = height - 50; 1.7.10 is no longer supported by forge, you are on your own.
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.