@Override public boolean isMouseInBounds(int mouseX, int mouseY) { int x = mouseX - screen.getGuiRootLeft() + screen.getOverlayOffsetXLeft(); int y = mouseY - screen.getGuiRootTop(); if (bounds.contains(x, y)) { return true; } return false; }
@Override public void init(@Nonnull IGuiScreen screenIn) { this.screen = screenIn; renderer = new IoConfigRenderer<E>(coords) { @Override protected @Nonnull String getLabelForMode(@Nonnull IoMode mode) { return GuiOverlayIoConfig.this.getLabelForMode(mode); } }; renderer.init(); bounds = new Rectangle(screenIn.getOverlayOffsetXLeft() + 5, screenIn.getGuiYSize() - height - 5, screenIn.getGuiXSize() - screenIn.getOverlayOffsetXRight() - 10, height); }
@Override public void draw(int mouseX, int mouseY, float partialTick) { RenderUtil.renderQuad2D(bounds.x, bounds.y, 0, bounds.width, bounds.height, ColorUtil.getRGB(Color.black)); Minecraft mc = Minecraft.getMinecraft(); ScaledResolution scaledresolution = new ScaledResolution(mc); int vpx = ((screen.getGuiRootLeft() + screen.getOverlayOffsetXLeft() + 5) * scaledresolution.getScaleFactor()); int vpy = (screen.getGuiRootTop() + 4) * scaledresolution.getScaleFactor(); int w = bounds.width * scaledresolution.getScaleFactor(); int h = bounds.height * scaledresolution.getScaleFactor(); renderer.drawScreen(mouseX, mouseY, partialTick, new Rectangle(vpx, vpy, w, h), bounds); }