From dc7a2124dd4c704a4a09f9f9d60132a7cfdfe986 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Tue, 4 Jul 2023 11:35:58 -0500 Subject: [PATCH] Convert more direct RenderSystem calls to GuiGraphics calls where appropriate --- .../element/button/ReactorLogicButton.java | 4 +- .../java/mekanism/client/gui/GuiMekanism.java | 2 +- .../client/gui/GuiRadialSelector.java | 20 ++++----- .../java/mekanism/client/gui/GuiUtils.java | 8 ++-- .../client/gui/element/GuiElement.java | 4 +- .../client/gui/element/GuiSideHolder.java | 10 ++--- .../gui/element/bar/GuiChemicalBar.java | 5 ++- .../bar/GuiDynamicHorizontalRateBar.java | 4 +- .../client/gui/element/bar/GuiFluidBar.java | 5 ++- .../client/gui/element/bar/GuiTankBar.java | 6 +-- .../gui/element/button/BasicColorButton.java | 6 +-- .../gui/element/button/ColorButton.java | 2 +- .../element/button/FilterSelectButton.java | 2 +- .../element/button/MovableFilterButton.java | 2 +- .../gui/element/button/TranslationButton.java | 6 +-- .../element/custom/GuiDictionaryTarget.java | 8 ++-- .../gui/element/custom/GuiResizeControls.java | 4 +- .../gui/element/gauge/GuiChemicalGauge.java | 7 ++-- .../gui/element/gauge/GuiFluidGauge.java | 5 ++- .../client/gui/element/gauge/GuiGauge.java | 6 +-- .../gui/element/gauge/GuiHybridGauge.java | 7 ++-- .../gauge/GuiMergedChemicalTankGauge.java | 5 ++- .../gui/element/gauge/GuiMergedTankGauge.java | 5 ++- .../client/gui/element/graph/GuiGraph.java | 10 +++-- .../gui/element/progress/GuiProgress.java | 2 +- .../element/scroll/GuiModuleScrollList.java | 2 +- .../scroll/GuiRobitSkinSelectScroll.java | 2 +- .../gui/element/scroll/GuiSlotScroll.java | 4 +- .../element/scroll/GuiUpgradeScrollList.java | 4 +- .../client/gui/element/slot/GuiSlot.java | 6 +-- .../gui/element/tab/GuiAmplifierTab.java | 4 +- .../gui/element/tab/GuiConfigTypeTab.java | 4 +- .../element/tab/GuiContainerEditModeTab.java | 4 +- .../gui/element/tab/GuiQIOFrequencyTab.java | 4 +- .../element/tab/GuiRedstoneControlTab.java | 4 +- .../gui/element/tab/GuiSecurityTab.java | 4 +- .../client/gui/element/tab/GuiSortingTab.java | 6 +-- .../gui/element/tab/GuiTabElementType.java | 4 +- .../client/gui/element/tab/GuiVisualsTab.java | 4 +- .../tab/window/GuiCraftingWindowTab.java | 4 +- .../tab/window/GuiSideConfigurationTab.java | 4 +- .../tab/window/GuiTransporterConfigTab.java | 4 +- .../tab/window/GuiUpgradeWindowTab.java | 4 +- .../client/gui/element/text/GuiTextField.java | 2 +- .../client/gui/element/window/GuiWindow.java | 9 ++-- .../client/gui/item/GuiSeismicReader.java | 6 +-- .../client/gui/robit/GuiRobitRepair.java | 4 +- .../client/jei/ChemicalStackRenderer.java | 6 +-- .../mekanism/client/render/HUDRenderer.java | 8 ++-- .../client/render/IFancyFontRenderer.java | 4 +- .../client/render/MekanismRenderer.java | 41 +++++++++---------- .../lookingat/ChemicalElement.java | 5 ++- .../integration/lookingat/FluidElement.java | 5 ++- .../lookingat/LookingAtElement.java | 10 ++--- 54 files changed, 164 insertions(+), 153 deletions(-) diff --git a/src/generators/java/mekanism/generators/client/gui/element/button/ReactorLogicButton.java b/src/generators/java/mekanism/generators/client/gui/element/button/ReactorLogicButton.java index 8b5b4c88f55..f567d328977 100644 --- a/src/generators/java/mekanism/generators/client/gui/element/button/ReactorLogicButton.java +++ b/src/generators/java/mekanism/generators/client/gui/element/button/ReactorLogicButton.java @@ -57,9 +57,9 @@ private ReactorLogicButton(IGuiWrapper gui, int x, int y, int index, @NotNull IR public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { TYPE mode = modeSupplier.get(); if (mode != null) { - MekanismRenderer.color(mode.getColor()); + MekanismRenderer.color(guiGraphics, mode.getColor()); guiGraphics.blit(TEXTURE, getButtonX(), getButtonY(), 0, mode == tile.getMode() ? 22 : 0, getButtonWidth(), getButtonHeight(), 128, 44); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/gui/GuiMekanism.java b/src/main/java/mekanism/client/gui/GuiMekanism.java index 3e49c35f665..60de0a36def 100644 --- a/src/main/java/mekanism/client/gui/GuiMekanism.java +++ b/src/main/java/mekanism/client/gui/GuiMekanism.java @@ -551,7 +551,7 @@ protected ItemStack checkValidity(int slotIndex) { protected void renderBg(@NotNull GuiGraphics guiGraphics, float partialTick, int mouseX, int mouseY) { //Ensure the GL color is white as mods adding an overlay (such as JEI for bookmarks), might have left // it in an unexpected state. - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); if (width < 8 || height < 8) { Mekanism.logger.warn("Gui: {}, was too small to draw the background of. Unable to draw a background for a gui smaller than 8 by 8.", getClass().getSimpleName()); return; diff --git a/src/main/java/mekanism/client/gui/GuiRadialSelector.java b/src/main/java/mekanism/client/gui/GuiRadialSelector.java index 1df086679fd..433a16b07e2 100644 --- a/src/main/java/mekanism/client/gui/GuiRadialSelector.java +++ b/src/main/java/mekanism/client/gui/GuiRadialSelector.java @@ -103,7 +103,7 @@ private void render(@NotNull GuiGraphics guiGraphics, // other bits may be drawn by hovering or current selection, it is not practical to do so due // to floating point precision causing some values to have gaps in the torus, and also the light // colors occasionally being harder to see without the added back layer torus - RenderSystem.setShaderColor(0.3F, 0.3F, 0.3F, 0.5F); + guiGraphics.setColor(0.3F, 0.3F, 0.3F, 0.5F); drawTorus(guiGraphics, 0, 360); MODE current = getCurrent(radialData); @@ -119,9 +119,9 @@ private void render(@NotNull GuiGraphics guiGraphics, // draw current selected if any is selected EnumColor color = current.color(); if (color == null) { - RenderSystem.setShaderColor(0.4F, 0.4F, 0.4F, 0.7F); + guiGraphics.setColor(0.4F, 0.4F, 0.4F, 0.7F); } else { - MekanismRenderer.color(color, 0.3F); + MekanismRenderer.color(guiGraphics, color, 0.3F); } float startAngle = -90F + 360F * (-0.5F + section) / activeModes; drawTorus(guiGraphics, startAngle, angleSize); @@ -135,7 +135,7 @@ private void render(@NotNull GuiGraphics guiGraphics, // draw mouse selection highlight float angle = (float) (Mth.RAD_TO_DEG * Mth.atan2(yDiff, xDiff)); float modeSize = 180F / activeModes; - RenderSystem.setShaderColor(0.8F, 0.8F, 0.8F, 0.3F); + guiGraphics.setColor(0.8F, 0.8F, 0.8F, 0.3F); drawTorus(guiGraphics, angle - modeSize, angleSize); float selectionAngle = StatUtils.wrapDegrees(angle + modeSize + 90F); @@ -143,7 +143,7 @@ private void render(@NotNull GuiGraphics guiGraphics, selection = modes.get(selectionDrawnPos); // draw hovered selection - RenderSystem.setShaderColor(0.6F, 0.6F, 0.6F, 0.7F); + guiGraphics.setColor(0.6F, 0.6F, 0.6F, 0.7F); drawTorus(guiGraphics, -90F + 360F * (-0.5F + selectionDrawnPos) / activeModes, angleSize); } else { selection = null; @@ -155,12 +155,12 @@ record PositionedText(float x, float y, Component text) {} if (!parents.isEmpty()) { overBackButton = distanceFromCenter <= SELECT_RADIUS_WITH_PARENT; if (overBackButton) { - RenderSystem.setShaderColor(0.8F, 0.8F, 0.8F, 0.3F); + guiGraphics.setColor(0.8F, 0.8F, 0.8F, 0.3F); } else { - RenderSystem.setShaderColor(0.3F, 0.3F, 0.3F, 0.5F); + guiGraphics.setColor(0.3F, 0.3F, 0.3F, 0.5F); } drawTorus(guiGraphics, 0, 360, 0, SELECT_RADIUS_WITH_PARENT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); // draw icon guiGraphics.blit(MekanismUtils.getResource(ResourceType.GUI_RADIAL, "back.png"), -12, -18, 24, 24, 0, 0, 18, 18, 18, 18); textToDraw.add(new PositionedText(0, 0, MekanismLang.BACK.translate())); @@ -168,7 +168,7 @@ record PositionedText(float x, float y, Component text) {} overBackButton = false; } - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); // Icons int position = 0; @@ -197,7 +197,7 @@ record PositionedText(float x, float y, Component text) {} pose.popPose(); } - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); pose.popPose(); } diff --git a/src/main/java/mekanism/client/gui/GuiUtils.java b/src/main/java/mekanism/client/gui/GuiUtils.java index 3c2b8bd100d..6e826e8bf02 100644 --- a/src/main/java/mekanism/client/gui/GuiUtils.java +++ b/src/main/java/mekanism/client/gui/GuiUtils.java @@ -177,12 +177,12 @@ public static void drawBackdrop(GuiGraphics guiGraphics, Minecraft minecraft, in } } - public static void drawTiledSprite(PoseStack matrix, int xPosition, int yPosition, int yOffset, int desiredWidth, int desiredHeight, TextureAtlasSprite sprite, + public static void drawTiledSprite(GuiGraphics guiGraphics, int xPosition, int yPosition, int yOffset, int desiredWidth, int desiredHeight, TextureAtlasSprite sprite, int textureWidth, int textureHeight, int zLevel, TilingDirection tilingDirection) { - drawTiledSprite(matrix, xPosition, yPosition, yOffset, desiredWidth, desiredHeight, sprite, textureWidth, textureHeight, zLevel, tilingDirection, true); + drawTiledSprite(guiGraphics, xPosition, yPosition, yOffset, desiredWidth, desiredHeight, sprite, textureWidth, textureHeight, zLevel, tilingDirection, true); } - public static void drawTiledSprite(PoseStack matrix, int xPosition, int yPosition, int yOffset, int desiredWidth, int desiredHeight, TextureAtlasSprite sprite, + public static void drawTiledSprite(GuiGraphics guiGraphics, int xPosition, int yPosition, int yOffset, int desiredWidth, int desiredHeight, TextureAtlasSprite sprite, int textureWidth, int textureHeight, int zLevel, TilingDirection tilingDirection, boolean blend) { if (desiredWidth == 0 || desiredHeight == 0 || textureWidth == 0 || textureHeight == 0) { return; @@ -205,7 +205,7 @@ public static void drawTiledSprite(PoseStack matrix, int xPosition, int yPositio } BufferBuilder vertexBuffer = Tesselator.getInstance().getBuilder(); vertexBuffer.begin(Mode.QUADS, DefaultVertexFormat.POSITION_TEX); - Matrix4f matrix4f = matrix.last().pose(); + Matrix4f matrix4f = guiGraphics.pose().last().pose(); for (int xTile = 0; xTile <= xTileCount; xTile++) { int width = (xTile == xTileCount) ? xRemainder : textureWidth; if (width == 0) { diff --git a/src/main/java/mekanism/client/gui/element/GuiElement.java b/src/main/java/mekanism/client/gui/element/GuiElement.java index 98a459fd634..1a95bce2851 100644 --- a/src/main/java/mekanism/client/gui/element/GuiElement.java +++ b/src/main/java/mekanism/client/gui/element/GuiElement.java @@ -480,7 +480,7 @@ protected int getButtonTextureY(boolean hoveredOrFocused) { protected void drawButton(GuiGraphics guiGraphics, int mouseX, int mouseY) { if (resetColorBeforeRender()) { //TODO: Support alpha like super? Is there a point - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } //TODO: Convert this to being two different 16x48 images, one for with border and one for buttons without a black border? // And then make it so that they can stretch out to be any size (make this make use of the renderExtendedTexture method @@ -546,7 +546,7 @@ private static void playClickSound(@NotNull SoundManager soundHandler, @NotNull protected void drawTiledSprite(GuiGraphics guiGraphics, int xPosition, int yPosition, int yOffset, int desiredWidth, int desiredHeight, TextureAtlasSprite sprite, TilingDirection tilingDirection) { - GuiUtils.drawTiledSprite(guiGraphics.pose(), xPosition, yPosition, yOffset, desiredWidth, desiredHeight, sprite, 16, 16, 0, tilingDirection); + GuiUtils.drawTiledSprite(guiGraphics, xPosition, yPosition, yOffset, desiredWidth, desiredHeight, sprite, 16, 16, 0, tilingDirection); } @Override diff --git a/src/main/java/mekanism/client/gui/element/GuiSideHolder.java b/src/main/java/mekanism/client/gui/element/GuiSideHolder.java index b1a21bbe8a2..86139fdf4cf 100644 --- a/src/main/java/mekanism/client/gui/element/GuiSideHolder.java +++ b/src/main/java/mekanism/client/gui/element/GuiSideHolder.java @@ -19,8 +19,8 @@ public static GuiSideHolder armorHolder(IGuiWrapper gui) { public static GuiSideHolder create(IGuiWrapper gui, int x, int y, int height, boolean left, boolean slotHolder, ColorRegistryObject tabColor) { return new GuiSideHolder(gui, x, y, height, left, slotHolder) { @Override - protected void colorTab() { - MekanismRenderer.color(tabColor); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, tabColor); } }; } @@ -43,7 +43,7 @@ protected GuiSideHolder(IGuiWrapper gui, int x, int y, int height, boolean left, } } - protected abstract void colorTab(); + protected abstract void colorTab(GuiGraphics guiGraphics); @Override public void renderWidget(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { @@ -63,7 +63,7 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou } private void draw(@NotNull GuiGraphics guiGraphics) { - colorTab(); + colorTab(guiGraphics); //Top guiGraphics.blit(getResource(), relativeX, relativeY, 0, 0, width, 4, TEXTURE_WIDTH, TEXTURE_HEIGHT); //Middle @@ -73,6 +73,6 @@ private void draw(@NotNull GuiGraphics guiGraphics) { } //Bottom guiGraphics.blit(getResource(), relativeX, relativeY + 4 + middleHeight, 0, 5, width, 4, TEXTURE_WIDTH, TEXTURE_HEIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/element/bar/GuiChemicalBar.java b/src/main/java/mekanism/client/gui/element/bar/GuiChemicalBar.java index a5c54c09714..9f8b166c41a 100644 --- a/src/main/java/mekanism/client/gui/element/bar/GuiChemicalBar.java +++ b/src/main/java/mekanism/client/gui/element/bar/GuiChemicalBar.java @@ -15,6 +15,7 @@ import mekanism.common.util.ChemicalUtil; import mekanism.common.util.text.TextUtils; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; @@ -55,8 +56,8 @@ protected List getTooltip(STACK stack) { } @Override - protected void applyRenderColor(STACK stack) { - MekanismRenderer.color(stack); + protected void applyRenderColor(GuiGraphics guiGraphics, STACK stack) { + MekanismRenderer.color(guiGraphics, stack); } @Override diff --git a/src/main/java/mekanism/client/gui/element/bar/GuiDynamicHorizontalRateBar.java b/src/main/java/mekanism/client/gui/element/bar/GuiDynamicHorizontalRateBar.java index 6f6dbb62170..1201049754a 100644 --- a/src/main/java/mekanism/client/gui/element/bar/GuiDynamicHorizontalRateBar.java +++ b/src/main/java/mekanism/client/gui/element/bar/GuiDynamicHorizontalRateBar.java @@ -32,7 +32,7 @@ protected void renderBarOverlay(GuiGraphics guiGraphics, int mouseX, int mouseY, if (displayInt > 0) { for (int i = 0; i < displayInt; i++) { float level = i / (float) (width - 2); - MekanismRenderer.color(colorFunction.getColor(level)); + MekanismRenderer.color(guiGraphics, colorFunction.getColor(level)); if (i == 0) { guiGraphics.blit(getResource(), relativeX + 1, relativeY + 1, 0, 0, 1, texHeight, texWidth, texHeight); } else if (i == displayInt - 1) { @@ -41,7 +41,7 @@ protected void renderBarOverlay(GuiGraphics guiGraphics, int mouseX, int mouseY, guiGraphics.blit(getResource(), relativeX + 1 + i, relativeY + 1, 1, 0, 1, texHeight, texWidth, texHeight); } } - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/element/bar/GuiFluidBar.java b/src/main/java/mekanism/client/gui/element/bar/GuiFluidBar.java index f2c47a7c4bb..2206c6fdddf 100644 --- a/src/main/java/mekanism/client/gui/element/bar/GuiFluidBar.java +++ b/src/main/java/mekanism/client/gui/element/bar/GuiFluidBar.java @@ -8,6 +8,7 @@ import mekanism.common.MekanismLang; import mekanism.common.network.to_server.PacketDropperUse.TankType; import mekanism.common.util.text.TextUtils; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraftforge.fluids.FluidStack; @@ -30,8 +31,8 @@ protected TankType getType(FluidStack stack) { } @Override - protected void applyRenderColor(FluidStack stack) { - MekanismRenderer.color(stack); + protected void applyRenderColor(GuiGraphics guiGraphics, FluidStack stack) { + MekanismRenderer.color(guiGraphics, stack); } @Override diff --git a/src/main/java/mekanism/client/gui/element/bar/GuiTankBar.java b/src/main/java/mekanism/client/gui/element/bar/GuiTankBar.java index 924fc71735f..ce15157ab04 100644 --- a/src/main/java/mekanism/client/gui/element/bar/GuiTankBar.java +++ b/src/main/java/mekanism/client/gui/element/bar/GuiTankBar.java @@ -55,7 +55,7 @@ protected List getTooltip(STACK stack) { return tooltips; } - protected abstract void applyRenderColor(STACK stack); + protected abstract void applyRenderColor(GuiGraphics guiGraphics, STACK stack); protected abstract TextureAtlasSprite getIcon(STACK stack); @@ -65,14 +65,14 @@ protected void renderBarOverlay(GuiGraphics guiGraphics, int mouseX, int mouseY, if (!isEmpty(stored)) { int displayInt = (int) (handlerLevel * ((horizontal ? width : height) - 2)); if (displayInt > 0) { - applyRenderColor(stored); + applyRenderColor(guiGraphics, stored); TextureAtlasSprite icon = getIcon(stored); if (horizontal) { drawTiledSprite(guiGraphics, relativeX + 1, relativeY + 1, height - 2, displayInt, height - 2, icon, TilingDirection.DOWN_RIGHT); } else { drawTiledSprite(guiGraphics, relativeX + 1, relativeY + 1, height - 2, width - 2, displayInt, icon, TilingDirection.DOWN_RIGHT); } - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } diff --git a/src/main/java/mekanism/client/gui/element/button/BasicColorButton.java b/src/main/java/mekanism/client/gui/element/button/BasicColorButton.java index 6070819c1c6..25fdcefd55c 100644 --- a/src/main/java/mekanism/client/gui/element/button/BasicColorButton.java +++ b/src/main/java/mekanism/client/gui/element/button/BasicColorButton.java @@ -41,13 +41,13 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou double[] hsv = c.hsvArray(); hsv[1] = Math.max(0, hsv[1] - 0.25F); hsv[2] = Math.min(1, hsv[2] + 0.4F); - MekanismRenderer.color(Color.hsv(hsv[0], hsv[1], hsv[2])); + MekanismRenderer.color(guiGraphics, Color.hsv(hsv[0], hsv[1], hsv[2])); } else { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } super.drawBackground(guiGraphics, mouseX, mouseY, partialTicks); if (doColor) { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/gui/element/button/ColorButton.java b/src/main/java/mekanism/client/gui/element/button/ColorButton.java index 308ba6401f5..2954fd80507 100644 --- a/src/main/java/mekanism/client/gui/element/button/ColorButton.java +++ b/src/main/java/mekanism/client/gui/element/button/ColorButton.java @@ -31,7 +31,7 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou EnumColor color = colorSupplier.get(); if (color != null) { guiGraphics.fill(getButtonX(), getButtonY(), getButtonX() + getButtonWidth(), getButtonY() + getButtonHeight(), MekanismRenderer.getColorARGB(color, 1)); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/element/button/FilterSelectButton.java b/src/main/java/mekanism/client/gui/element/button/FilterSelectButton.java index b1b8a9b0864..662af51a3bd 100644 --- a/src/main/java/mekanism/client/gui/element/button/FilterSelectButton.java +++ b/src/main/java/mekanism/client/gui/element/button/FilterSelectButton.java @@ -27,7 +27,7 @@ public FilterSelectButton(IGuiWrapper gui, int x, int y, boolean down, @NotNull @Override public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { if (resetColorBeforeRender()) { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); diff --git a/src/main/java/mekanism/client/gui/element/button/MovableFilterButton.java b/src/main/java/mekanism/client/gui/element/button/MovableFilterButton.java index d36ac5096a3..bd374204e94 100644 --- a/src/main/java/mekanism/client/gui/element/button/MovableFilterButton.java +++ b/src/main/java/mekanism/client/gui/element/button/MovableFilterButton.java @@ -112,7 +112,7 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou } if (color != null) { GuiUtils.fill(guiGraphics, getButtonX(), getButtonY(), getButtonWidth(), getButtonHeight(), MekanismRenderer.getColorARGB(color, 0.5F)); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } updateButtonVisibility(); //Render our sub buttons and our slot diff --git a/src/main/java/mekanism/client/gui/element/button/TranslationButton.java b/src/main/java/mekanism/client/gui/element/button/TranslationButton.java index 73e6feb4d6d..e972a79cd1f 100644 --- a/src/main/java/mekanism/client/gui/element/button/TranslationButton.java +++ b/src/main/java/mekanism/client/gui/element/button/TranslationButton.java @@ -27,13 +27,13 @@ public TranslationButton(IGuiWrapper gui, int x, int y, int width, int height, I @Override public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { if (colorSupplier == null) { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); super.drawBackground(guiGraphics, mouseX, mouseY, partialTicks); return; } - MekanismRenderer.color(colorSupplier.get()); + MekanismRenderer.color(guiGraphics, colorSupplier.get()); super.drawBackground(guiGraphics, mouseX, mouseY, partialTicks); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } @Override diff --git a/src/main/java/mekanism/client/gui/element/custom/GuiDictionaryTarget.java b/src/main/java/mekanism/client/gui/element/custom/GuiDictionaryTarget.java index 289bfc4ed59..727a61a65f5 100644 --- a/src/main/java/mekanism/client/gui/element/custom/GuiDictionaryTarget.java +++ b/src/main/java/mekanism/client/gui/element/custom/GuiDictionaryTarget.java @@ -74,13 +74,13 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou if (target instanceof ItemStack stack) { gui().renderItem(guiGraphics, stack, relativeX, relativeY); } else if (target instanceof FluidStack stack) { - MekanismRenderer.color(stack); + MekanismRenderer.color(guiGraphics, stack); drawTiledSprite(guiGraphics, relativeX, relativeY, height, width, height, MekanismRenderer.getFluidTexture(stack, FluidTextureType.STILL), TilingDirection.DOWN_RIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } else if (target instanceof ChemicalStack stack) { - MekanismRenderer.color(stack); + MekanismRenderer.color(guiGraphics, stack); drawTiledSprite(guiGraphics, relativeX, relativeY, height, width, height, MekanismRenderer.getChemicalTexture(stack.getType()), TilingDirection.DOWN_RIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/gui/element/custom/GuiResizeControls.java b/src/main/java/mekanism/client/gui/element/custom/GuiResizeControls.java index 75ccdda0d98..7cac868e02a 100644 --- a/src/main/java/mekanism/client/gui/element/custom/GuiResizeControls.java +++ b/src/main/java/mekanism/client/gui/element/custom/GuiResizeControls.java @@ -66,8 +66,8 @@ public void onClick(double mouseX, double mouseY, int button) { } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_RESIZE_CONTROLS); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_RESIZE_CONTROLS); } private void handleResize(ResizeType type) { diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiChemicalGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiChemicalGauge.java index d207e2d9a88..7a59d19dbb4 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiChemicalGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiChemicalGauge.java @@ -17,6 +17,7 @@ import mekanism.common.util.ChemicalUtil; import mekanism.common.util.text.TextUtils; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; @@ -106,11 +107,11 @@ public List getTooltipText() { } @Override - protected void applyRenderColor() { + protected void applyRenderColor(GuiGraphics guiGraphics) { if (dummy || getTank() == null) { - MekanismRenderer.color(dummyType); + MekanismRenderer.color(guiGraphics, dummyType); } else { - MekanismRenderer.color(getTank().getStack()); + MekanismRenderer.color(guiGraphics, getTank().getStack()); } } diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiFluidGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiFluidGauge.java index 4df96f3c4c8..ddd15779a1b 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiFluidGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiFluidGauge.java @@ -13,6 +13,7 @@ import mekanism.common.lib.transmitter.TransmissionType; import mekanism.common.network.to_server.PacketDropperUse.TankType; import mekanism.common.util.text.TextUtils; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; @@ -114,8 +115,8 @@ public List getTooltipText() { } @Override - protected void applyRenderColor() { - MekanismRenderer.color(dummy || getTank() == null ? dummyType : getTank().getFluid()); + protected void applyRenderColor(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, dummy || getTank() == null ? dummyType : getTank().getFluid()); } @Override diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiGauge.java index c7ae95245bf..02da4fa45b9 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiGauge.java @@ -66,7 +66,7 @@ protected GaugeInfo getGaugeColor() { return gaugeType.getGaugeInfo(); } - protected void applyRenderColor() { + protected void applyRenderColor(GuiGraphics guiGraphics) { } @Override @@ -89,9 +89,9 @@ public void renderContents(GuiGraphics guiGraphics) { int scale = getScaledLevel(); TextureAtlasSprite icon = getIcon(); if (scale > 0 && icon != null) { - applyRenderColor(); + applyRenderColor(guiGraphics); drawTiledSprite(guiGraphics, relativeX + 1, relativeY + 1, height - 2, width - 2, scale, icon, TilingDirection.UP_RIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); if (warning && (scale / (double) (height - 2)) > 0.98) { //If we have a warning and the gauge is entirely filled (or almost completely filled, > 95%), draw a warning vertically next to it int halfWidth = (width - 2) / 2; diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiHybridGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiHybridGauge.java index 16e278c6ee7..9b2373f6ee5 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiHybridGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiHybridGauge.java @@ -9,6 +9,7 @@ import mekanism.client.gui.element.GuiElement; import mekanism.client.jei.interfaces.IJEIIngredientHelper; import mekanism.common.lib.transmitter.TransmissionType; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; @@ -54,9 +55,9 @@ public GuiElement mouseClickedNested(double mouseX, double mouseY, int button) { } @Override - protected void applyRenderColor() { - gasGauge.applyRenderColor(); - fluidGauge.applyRenderColor(); + protected void applyRenderColor(GuiGraphics guiGraphics) { + gasGauge.applyRenderColor(guiGraphics); + fluidGauge.applyRenderColor(guiGraphics); } @Override diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiMergedChemicalTankGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiMergedChemicalTankGauge.java index da42b30bb0a..0944844db84 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiMergedChemicalTankGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiMergedChemicalTankGauge.java @@ -12,6 +12,7 @@ import mekanism.common.capabilities.chemical.dynamic.IPigmentTracker; import mekanism.common.capabilities.chemical.dynamic.ISlurryTracker; import mekanism.common.lib.transmitter.TransmissionType; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; @@ -76,10 +77,10 @@ public GuiElement mouseClickedNested(double mouseX, double mouseY, int button) { } @Override - protected void applyRenderColor() { + protected void applyRenderColor(GuiGraphics guiGraphics) { GuiTankGauge currentGauge = getCurrentGaugeNoFallback(); if (currentGauge != null) { - currentGauge.applyRenderColor(); + currentGauge.applyRenderColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/gui/element/gauge/GuiMergedTankGauge.java b/src/main/java/mekanism/client/gui/element/gauge/GuiMergedTankGauge.java index 31f4b45bb1e..0d105ef3326 100644 --- a/src/main/java/mekanism/client/gui/element/gauge/GuiMergedTankGauge.java +++ b/src/main/java/mekanism/client/gui/element/gauge/GuiMergedTankGauge.java @@ -13,6 +13,7 @@ import mekanism.common.capabilities.chemical.dynamic.ISlurryTracker; import mekanism.common.capabilities.merged.MergedTank; import mekanism.common.lib.transmitter.TransmissionType; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.Rect2i; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; @@ -76,10 +77,10 @@ public GuiElement mouseClickedNested(double mouseX, double mouseY, int button) { } @Override - protected void applyRenderColor() { + protected void applyRenderColor(GuiGraphics guiGraphics) { GuiTankGauge currentGauge = getCurrentGaugeNoFallback(); if (currentGauge != null) { - currentGauge.applyRenderColor(); + currentGauge.applyRenderColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/gui/element/graph/GuiGraph.java b/src/main/java/mekanism/client/gui/element/graph/GuiGraph.java index 92306af8926..5287ae507ec 100644 --- a/src/main/java/mekanism/client/gui/element/graph/GuiGraph.java +++ b/src/main/java/mekanism/client/gui/element/graph/GuiGraph.java @@ -50,18 +50,20 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou RenderSystem.enableBlend(); RenderSystem.blendFunc(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); - RenderSystem.setShaderColor(1, 1, 1, 0.2F + 0.8F * i / size); + guiGraphics.setColor(1, 1, 1, 0.2F + 0.8F * i / size); guiGraphics.blit(texture, x + i, y + height - relativeHeight, 1, 0, 1, relativeHeight, TEXTURE_WIDTH, TEXTURE_HEIGHT); int hoverIndex = mouseX - getButtonX(); if (hoverIndex == i && mouseY >= getButtonY() && mouseY < getButtonY() + height) { - RenderSystem.setShaderColor(1, 1, 1, 0.5F); + guiGraphics.setColor(1, 1, 1, 0.5F); guiGraphics.blit(texture, x + i, y, 2, 0, 1, height, TEXTURE_WIDTH, TEXTURE_HEIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); guiGraphics.blit(texture, x + i, y + height - relativeHeight, 0, 1, 1, 1, TEXTURE_WIDTH, TEXTURE_HEIGHT); + } else { + //Note: We can skip resetting the color if we enter the above if as it will reset it already + MekanismRenderer.resetColor(guiGraphics); } - MekanismRenderer.resetColor(); RenderSystem.disableBlend(); } } diff --git a/src/main/java/mekanism/client/gui/element/progress/GuiProgress.java b/src/main/java/mekanism/client/gui/element/progress/GuiProgress.java index c4ed05244ad..4228f1be976 100644 --- a/src/main/java/mekanism/client/gui/element/progress/GuiProgress.java +++ b/src/main/java/mekanism/client/gui/element/progress/GuiProgress.java @@ -191,7 +191,7 @@ private void blit(GuiGraphics guiGraphics, ResourceLocation resource, int x, int tessellator.end(); //Reset blit and fill gradient states RenderSystem.disableBlend(); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } public interface ColorDetails { diff --git a/src/main/java/mekanism/client/gui/element/scroll/GuiModuleScrollList.java b/src/main/java/mekanism/client/gui/element/scroll/GuiModuleScrollList.java index f64f05f3095..599b62575ee 100644 --- a/src/main/java/mekanism/client/gui/element/scroll/GuiModuleScrollList.java +++ b/src/main/java/mekanism/client/gui/element/scroll/GuiModuleScrollList.java @@ -151,7 +151,7 @@ public void renderElements(GuiGraphics guiGraphics, int mouseX, int mouseY, floa j = 0; } guiGraphics.blit(MODULE_SELECTION, relativeX + 1, relativeY + 1 + multipliedElement, 0, elementHeight * j, TEXTURE_WIDTH, elementHeight, TEXTURE_WIDTH, TEXTURE_HEIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); }); //Note: This needs to be in its own loop as rendering the items is likely to cause the texture manager to be bound to a different texture // and thus would make the selection area background get all screwed up diff --git a/src/main/java/mekanism/client/gui/element/scroll/GuiRobitSkinSelectScroll.java b/src/main/java/mekanism/client/gui/element/scroll/GuiRobitSkinSelectScroll.java index ea68dadf943..f26a873c6e8 100644 --- a/src/main/java/mekanism/client/gui/element/scroll/GuiRobitSkinSelectScroll.java +++ b/src/main/java/mekanism/client/gui/element/scroll/GuiRobitSkinSelectScroll.java @@ -115,7 +115,7 @@ public void renderForeground(GuiGraphics guiGraphics, int mouseX, int mouseY) { int slot = (slotY + scrollBar.getCurrentSelection()) * SLOT_COUNT + slotX; if (checkWindows(mouseX, mouseY, slot < skins.size())) { guiGraphics.fill(RenderType.guiOverlay(), slotStartX, slotStartY, slotStartX + SLOT_DIMENSIONS, slotStartY + SLOT_DIMENSIONS, 0x70FFEA00); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } diff --git a/src/main/java/mekanism/client/gui/element/scroll/GuiSlotScroll.java b/src/main/java/mekanism/client/gui/element/scroll/GuiSlotScroll.java index fc7fdcf4240..652d7803e92 100644 --- a/src/main/java/mekanism/client/gui/element/scroll/GuiSlotScroll.java +++ b/src/main/java/mekanism/client/gui/element/scroll/GuiSlotScroll.java @@ -81,7 +81,7 @@ public void renderForeground(GuiGraphics guiGraphics, int mouseX, int mouseY) { int slotStartX = relativeX + slotX * 18 + 1, slotStartY = relativeY + slotY * 18 + 1; if (xAxis >= slotStartX && xAxis < slotStartX + 16 && yAxis >= slotStartY && yAxis < slotStartY + 16 && checkWindows(mouseX, mouseY)) { guiGraphics.fill(RenderType.guiOverlay(), slotStartX, slotStartY, slotStartX + 16, slotStartY + 16, GuiSlot.DEFAULT_HOVER_COLOR); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } @@ -175,7 +175,7 @@ private boolean isSlotEmpty(IScrollableSlot slot) { private void renderSlotText(GuiGraphics guiGraphics, String text, int x, int y) { PoseStack pose = guiGraphics.pose(); pose.pushPose(); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); float scale = 0.6F; int width = getFont().width(text); //If we need a lower scale due to having a lot of text, calculate it diff --git a/src/main/java/mekanism/client/gui/element/scroll/GuiUpgradeScrollList.java b/src/main/java/mekanism/client/gui/element/scroll/GuiUpgradeScrollList.java index d16020b4234..3616ba88b56 100644 --- a/src/main/java/mekanism/client/gui/element/scroll/GuiUpgradeScrollList.java +++ b/src/main/java/mekanism/client/gui/element/scroll/GuiUpgradeScrollList.java @@ -106,9 +106,9 @@ public void renderElements(GuiGraphics guiGraphics, int mouseX, int mouseY, floa } else if (mouseX >= getX() + 1 && mouseX < getX() + barXShift - 1 && mouseY >= shiftedY && mouseY < shiftedY + elementHeight) { j = 0; } - MekanismRenderer.color(upgrade.getColor()); + MekanismRenderer.color(guiGraphics, upgrade.getColor()); guiGraphics.blit(UPGRADE_SELECTION, relativeX + 1, relativeY + 1 + multipliedElement, 0, elementHeight * j, TEXTURE_WIDTH, elementHeight, TEXTURE_WIDTH, TEXTURE_HEIGHT); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); }); //Note: This needs to be in its own loop as rendering the items is likely to cause the texture manager to be bound to a different texture // and thus would make the selection area background get all screwed up diff --git a/src/main/java/mekanism/client/gui/element/slot/GuiSlot.java b/src/main/java/mekanism/client/gui/element/slot/GuiSlot.java index 66ea035632f..a7db0e682e3 100644 --- a/src/main/java/mekanism/client/gui/element/slot/GuiSlot.java +++ b/src/main/java/mekanism/client/gui/element/slot/GuiSlot.java @@ -155,7 +155,7 @@ protected void drawContents(@NotNull GuiGraphics guiGraphics) { int xPos = relativeX + 1; int yPos = relativeY + 1; guiGraphics.fill(xPos, yPos, xPos + 16, yPos + 16, INVALID_SLOT_COLOR); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); gui().renderItem(guiGraphics, invalid, xPos, yPos); } } else if (storedStackSupplier != null) { @@ -173,13 +173,13 @@ public void renderForeground(GuiGraphics guiGraphics, int mouseX, int mouseY) { int xPos = relativeX + 1; int yPos = relativeY + 1; guiGraphics.fill(RenderType.guiOverlay(), xPos, yPos, xPos + 16, yPos + 16, DEFAULT_HOVER_COLOR); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } if (overlayColorSupplier != null) { int xPos = relativeX + 1; int yPos = relativeY + 1; guiGraphics.fill(RenderType.guiOverlay(), xPos, yPos, xPos + 16, yPos + 16, overlayColorSupplier.getAsInt()); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } if (hovered) { //TODO: Should it pass it the proper mouseX and mouseY. Probably, though buttons may have to be redone slightly then diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiAmplifierTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiAmplifierTab.java index c9f5f7fa5bb..7d551548cb3 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiAmplifierTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiAmplifierTab.java @@ -52,7 +52,7 @@ public boolean isValidClickButton(int button) { } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_LASER_AMPLIFIER); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_LASER_AMPLIFIER); } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiConfigTypeTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiConfigTypeTab.java index cb65466485f..c2b57676eb0 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiConfigTypeTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiConfigTypeTab.java @@ -33,8 +33,8 @@ public TransmissionType getTransmissionType() { } @Override - protected void colorTab() { - MekanismRenderer.color(switch (transmission) { + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, switch (transmission) { case ENERGY -> SpecialColors.TAB_ENERGY_CONFIG; case FLUID -> SpecialColors.TAB_FLUID_CONFIG; case GAS -> SpecialColors.TAB_GAS_CONFIG; diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiContainerEditModeTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiContainerEditModeTab.java index 82e3419e5f9..01175cfb7f3 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiContainerEditModeTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiContainerEditModeTab.java @@ -52,7 +52,7 @@ public boolean isValidClickButton(int button) { } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_CONTAINER_EDIT_MODE); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_CONTAINER_EDIT_MODE); } } diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiQIOFrequencyTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiQIOFrequencyTab.java index 9d719f1c283..61419b72099 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiQIOFrequencyTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiQIOFrequencyTab.java @@ -36,8 +36,8 @@ public GuiQIOFrequencyTab(IGuiWrapper gui, InteractionHand hand) { } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_QIO_FREQUENCY); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_QIO_FREQUENCY); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiRedstoneControlTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiRedstoneControlTab.java index a3b4f699e6d..cae7f08e5d3 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiRedstoneControlTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiRedstoneControlTab.java @@ -53,8 +53,8 @@ protected ResourceLocation getOverlay() { } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_REDSTONE_CONTROL); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_REDSTONE_CONTROL); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiSecurityTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiSecurityTab.java index ab52085b146..1541155aa66 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiSecurityTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiSecurityTab.java @@ -57,8 +57,8 @@ private GuiSecurityTab(IGuiWrapper gui, Supplier provider, } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_SECURITY); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_SECURITY); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiSortingTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiSortingTab.java index 88d97c847f6..aceedd6f8fd 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiSortingTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiSortingTab.java @@ -25,7 +25,7 @@ public GuiSortingTab(IGuiWrapper gui, TileEntityFactory tile) { public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { super.drawBackground(guiGraphics, mouseX, mouseY, partialTicks); drawTextScaledBound(guiGraphics, OnOff.of(dataSource.isSorting()).getTextComponent(), relativeX + 3, relativeY + 24, titleTextColor(), 21); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } @Override @@ -35,8 +35,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_FACTORY_SORT); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_FACTORY_SORT); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiTabElementType.java b/src/main/java/mekanism/client/gui/element/tab/GuiTabElementType.java index d908c3d9aa9..e0d685f3e28 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiTabElementType.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiTabElementType.java @@ -28,7 +28,7 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(tabType.getTabColor()); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, tabType.getTabColor()); } } \ No newline at end of file diff --git a/src/main/java/mekanism/client/gui/element/tab/GuiVisualsTab.java b/src/main/java/mekanism/client/gui/element/tab/GuiVisualsTab.java index d9a55d994bc..d5eceb61bb0 100644 --- a/src/main/java/mekanism/client/gui/element/tab/GuiVisualsTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/GuiVisualsTab.java @@ -32,8 +32,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_VISUALS); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_VISUALS); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/window/GuiCraftingWindowTab.java b/src/main/java/mekanism/client/gui/element/tab/window/GuiCraftingWindowTab.java index 8f65c4ca8d2..beb4e0a1fb8 100644 --- a/src/main/java/mekanism/client/gui/element/tab/window/GuiCraftingWindowTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/window/GuiCraftingWindowTab.java @@ -33,8 +33,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_CRAFTING_WINDOW.get()); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_CRAFTING_WINDOW.get()); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/window/GuiSideConfigurationTab.java b/src/main/java/mekanism/client/gui/element/tab/window/GuiSideConfigurationTab.java index 8135c1f424a..dee1f011e55 100644 --- a/src/main/java/mekanism/client/gui/element/tab/window/GuiSideConfigurationTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/window/GuiSideConfigurationTab.java @@ -27,8 +27,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_CONFIGURATION); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_CONFIGURATION); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/window/GuiTransporterConfigTab.java b/src/main/java/mekanism/client/gui/element/tab/window/GuiTransporterConfigTab.java index 5b59dc94159..69b8f9ff711 100644 --- a/src/main/java/mekanism/client/gui/element/tab/window/GuiTransporterConfigTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/window/GuiTransporterConfigTab.java @@ -27,8 +27,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_TRANSPORTER); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_TRANSPORTER); } @Override diff --git a/src/main/java/mekanism/client/gui/element/tab/window/GuiUpgradeWindowTab.java b/src/main/java/mekanism/client/gui/element/tab/window/GuiUpgradeWindowTab.java index a854670bf9d..f07a33f7a44 100644 --- a/src/main/java/mekanism/client/gui/element/tab/window/GuiUpgradeWindowTab.java +++ b/src/main/java/mekanism/client/gui/element/tab/window/GuiUpgradeWindowTab.java @@ -26,8 +26,8 @@ public void renderToolTip(@NotNull GuiGraphics guiGraphics, int mouseX, int mous } @Override - protected void colorTab() { - MekanismRenderer.color(SpecialColors.TAB_UPGRADE); + protected void colorTab(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, SpecialColors.TAB_UPGRADE); } @Override diff --git a/src/main/java/mekanism/client/gui/element/text/GuiTextField.java b/src/main/java/mekanism/client/gui/element/text/GuiTextField.java index cf3d06aa14e..4976c36e37a 100644 --- a/src/main/java/mekanism/client/gui/element/text/GuiTextField.java +++ b/src/main/java/mekanism/client/gui/element/text/GuiTextField.java @@ -215,7 +215,7 @@ public void drawBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mou textField.render(guiGraphics, mouseX, mouseY, partialTicks); } pose.popPose(); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); if (iconType != null) { guiGraphics.blit(iconType.getIcon(), relativeX + 2, relativeY + (height / 2) - (int) Math.ceil(iconType.getHeight() / 2F), 0, 0, iconType.getWidth(), iconType.getHeight(), iconType.getWidth(), iconType.getHeight()); } diff --git a/src/main/java/mekanism/client/gui/element/window/GuiWindow.java b/src/main/java/mekanism/client/gui/element/window/GuiWindow.java index 122a5b11995..078b3b69014 100644 --- a/src/main/java/mekanism/client/gui/element/window/GuiWindow.java +++ b/src/main/java/mekanism/client/gui/element/window/GuiWindow.java @@ -153,11 +153,11 @@ public void renderBackgroundOverlay(GuiGraphics guiGraphics, int mouseX, int mou if (isFocusOverlay()) { MekanismRenderer.renderColorOverlay(guiGraphics, -getX(), -getY(), OVERLAY_COLOR.rgba()); } else { - RenderSystem.setShaderColor(1, 1, 1, 0.75F); + guiGraphics.setColor(1, 1, 1, 0.75F); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); GuiUtils.renderBackgroundTexture(guiGraphics, GuiMekanism.SHADOW, 4, 4, relativeX - 3, relativeY - 3, width + 6, height + 6, 256, 256); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } renderBackgroundTexture(guiGraphics, getResource(), 4, 4); } @@ -192,11 +192,12 @@ public void resize(int prevLeft, int prevTop, int left, int top) { } public void renderBlur(GuiGraphics guiGraphics) { - RenderSystem.setShaderColor(1, 1, 1, 0.3F); + guiGraphics.setColor(1, 1, 1, 0.3F); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); + //TODO - 1.20: Fix this as it doesn't blur over the items like I think it used to GuiUtils.renderBackgroundTexture(guiGraphics, GuiMekanism.BLUR, 4, 4, relativeX, relativeY, width, height, 256, 256); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } public void close() { diff --git a/src/main/java/mekanism/client/gui/item/GuiSeismicReader.java b/src/main/java/mekanism/client/gui/item/GuiSeismicReader.java index f94a9c6a90b..1b177c7597d 100644 --- a/src/main/java/mekanism/client/gui/item/GuiSeismicReader.java +++ b/src/main/java/mekanism/client/gui/item/GuiSeismicReader.java @@ -114,10 +114,10 @@ protected void drawForegroundText(@NotNull GuiGraphics guiGraphics, int mouseX, } IClientFluidTypeExtensions properties = IClientFluidTypeExtensions.of(fluid); renderTarget = (graphics, x, y) -> { - MekanismRenderer.color(properties.getTintColor()); + MekanismRenderer.color(guiGraphics, properties.getTintColor()); TextureAtlasSprite texture = MekanismRenderer.getSprite(properties.getStillTexture()); guiGraphics.blit(x, y, 0, 16, 16, texture); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); }; } else { renderTarget = (graphics, x, y) -> renderItem(graphics, stack, x, y); @@ -150,7 +150,7 @@ protected void drawForegroundText(@NotNull GuiGraphics guiGraphics, int mouseX, frequency = frequencies.computeIfAbsent(block, b -> (int) blockList.stream().filter(blockState -> b == blockState.getBlock()).count()); } drawTextScaledBound(guiGraphics, MekanismLang.ABUNDANCY.translate(frequency), 10, 26, screenTextColor(), 57); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); super.drawForegroundText(guiGraphics, mouseX, mouseY); } diff --git a/src/main/java/mekanism/client/gui/robit/GuiRobitRepair.java b/src/main/java/mekanism/client/gui/robit/GuiRobitRepair.java index c749a2bbc14..01c17773f39 100644 --- a/src/main/java/mekanism/client/gui/robit/GuiRobitRepair.java +++ b/src/main/java/mekanism/client/gui/robit/GuiRobitRepair.java @@ -88,7 +88,7 @@ protected void drawForegroundText(@NotNull GuiGraphics guiGraphics, int mouseX, int width = imageWidth - 8 - getStringWidth(component) - 2; guiGraphics.fill(width - 2, 67, imageWidth - 8, 79, 0x4F000000); guiGraphics.drawString(getFont(), component, width, 69, k); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } drawString(guiGraphics, playerInventoryTitle, inventoryLabelX, inventoryLabelY, titleTextColor()); @@ -102,7 +102,7 @@ protected boolean shouldOpenGui(RobitGuiType guiType) { @Override protected void renderBg(@NotNull GuiGraphics guiGraphics, float partialTick, int mouseX, int mouseY) { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); guiGraphics.blit(ANVIL_RESOURCE, leftPos, topPos, 0, 0, imageWidth, imageHeight); guiGraphics.blit(ANVIL_RESOURCE, leftPos + 59, topPos + 20, 0, imageHeight + (menu.getSlot(0).hasItem() ? 0 : 16), 110, 16); if ((menu.getSlot(0).hasItem() || menu.getSlot(1).hasItem()) && !menu.getSlot(2).hasItem()) { diff --git a/src/main/java/mekanism/client/jei/ChemicalStackRenderer.java b/src/main/java/mekanism/client/jei/ChemicalStackRenderer.java index 4e9b3030e47..5c8c986c2ba 100644 --- a/src/main/java/mekanism/client/jei/ChemicalStackRenderer.java +++ b/src/main/java/mekanism/client/jei/ChemicalStackRenderer.java @@ -61,12 +61,12 @@ public void render(@NotNull GuiGraphics guiGraphics, @NotNull STACK stack) { desiredHeight = height; } Chemical chemical = stack.getType(); - MekanismRenderer.color(chemical); + MekanismRenderer.color(guiGraphics, chemical); //Tile upwards and to the right as the majority of things we render are gauges which look better when tiling upwards //Note: Blend is handled by JEI - GuiUtils.drawTiledSprite(guiGraphics.pose(), 0, 0, height, width, desiredHeight, MekanismRenderer.getSprite(chemical.getIcon()), + GuiUtils.drawTiledSprite(guiGraphics, 0, 0, height, width, desiredHeight, MekanismRenderer.getSprite(chemical.getIcon()), TEXTURE_SIZE, TEXTURE_SIZE, 100, TilingDirection.UP_RIGHT, false); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } diff --git a/src/main/java/mekanism/client/render/HUDRenderer.java b/src/main/java/mekanism/client/render/HUDRenderer.java index b9ac56428a0..8ec53b77a13 100644 --- a/src/main/java/mekanism/client/render/HUDRenderer.java +++ b/src/main/java/mekanism/client/render/HUDRenderer.java @@ -142,9 +142,9 @@ private void renderMekaSuitModuleIcons(Player player, Font font, GuiGraphics gui private void renderHUDElement(Font font, GuiGraphics guiGraphics, int x, int y, IHUDElement element, int color, boolean iconRight) { RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - MekanismRenderer.color(color); + MekanismRenderer.color(guiGraphics, color); guiGraphics.blit(element.getIcon(), iconRight ? x + font.width(element.getText()) + 2 : x, y, 0, 0, 16, 16, 16, 16); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); guiGraphics.drawString(font, element.getText(), iconRight ? x : x + 18, y + 5, element.getColor(), false); } @@ -170,13 +170,13 @@ private void renderCompass(Player player, Font font, GuiGraphics guiGraphics, fl pose.mulPose(Axis.ZP.rotationDegrees(angle)); RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); - MekanismRenderer.color(color); + MekanismRenderer.color(guiGraphics, color); guiGraphics.blit(COMPASS, -50, -50, 100, 100, 0, 0, 256, 256, 256, 256); rotateStr(font, guiGraphics, MekanismLang.NORTH_SHORT, angle, 0, color); rotateStr(font, guiGraphics, MekanismLang.EAST_SHORT, angle, 90, color); rotateStr(font, guiGraphics, MekanismLang.SOUTH_SHORT, angle, 180, color); rotateStr(font, guiGraphics, MekanismLang.WEST_SHORT, angle, 270, color); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); pose.popPose(); pose.popPose(); } diff --git a/src/main/java/mekanism/client/render/IFancyFontRenderer.java b/src/main/java/mekanism/client/render/IFancyFontRenderer.java index 81761dc38fd..b2b56a36f80 100644 --- a/src/main/java/mekanism/client/render/IFancyFontRenderer.java +++ b/src/main/java/mekanism/client/render/IFancyFontRenderer.java @@ -110,7 +110,7 @@ default void drawTextScaledBound(GuiGraphics guiGraphics, Component component, f drawTextWithScale(guiGraphics, component, x, y, color, maxLength / length); } //Make sure the color does not leak from having drawn the string - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } default void drawScaledTextScaledBound(GuiGraphics guiGraphics, Component text, float x, float y, int color, float maxX, float textScale) { @@ -131,7 +131,7 @@ default void prepTextScale(GuiGraphics guiGraphics, Consumer runnab pose.scale(scale, scale, scale); runnable.accept(guiGraphics); pose.popPose(); - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } /** diff --git a/src/main/java/mekanism/client/render/MekanismRenderer.java b/src/main/java/mekanism/client/render/MekanismRenderer.java index 4dd7a19275e..b90ae4d84fd 100644 --- a/src/main/java/mekanism/client/render/MekanismRenderer.java +++ b/src/main/java/mekanism/client/render/MekanismRenderer.java @@ -1,6 +1,5 @@ package mekanism.client.render; -import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; @@ -157,8 +156,8 @@ public static void renderValves(PoseStack matrix, VertexConsumer buffer, Set chemicalStack) { + public static void color(GuiGraphics guiGraphics, @NotNull ChemicalStack chemicalStack) { if (!chemicalStack.isEmpty()) { - color(chemicalStack.getType()); + color(guiGraphics, chemicalStack.getType()); } } - public static void color(@NotNull Chemical chemical) { + public static void color(GuiGraphics guiGraphics, @NotNull Chemical chemical) { if (!chemical.isEmptyType()) { int color = chemical.getTint(); - RenderSystem.setShaderColor(getRed(color), getGreen(color), getBlue(color), 1); + guiGraphics.setColor(getRed(color), getGreen(color), getBlue(color), 1); } } - public static void color(@NotNull BaseTier tier) { - color(tier.getColor()); + public static void color(GuiGraphics guiGraphics, @NotNull BaseTier tier) { + color(guiGraphics, tier.getColor()); } - public static void color(@Nullable EnumColor color) { - color(color, 1.0F); + public static void color(GuiGraphics guiGraphics, @Nullable EnumColor color) { + color(guiGraphics, color, 1.0F); } - public static void color(@Nullable EnumColor color, float alpha) { + public static void color(GuiGraphics guiGraphics, @Nullable EnumColor color, float alpha) { if (color != null) { - RenderSystem.setShaderColor(color.getColor(0), color.getColor(1), color.getColor(2), alpha); + guiGraphics.setColor(color.getColor(0), color.getColor(1), color.getColor(2), alpha); } } diff --git a/src/main/java/mekanism/common/integration/lookingat/ChemicalElement.java b/src/main/java/mekanism/common/integration/lookingat/ChemicalElement.java index d306a898eef..aea9c402615 100644 --- a/src/main/java/mekanism/common/integration/lookingat/ChemicalElement.java +++ b/src/main/java/mekanism/common/integration/lookingat/ChemicalElement.java @@ -6,6 +6,7 @@ import mekanism.client.render.MekanismRenderer; import mekanism.common.MekanismLang; import mekanism.common.util.text.TextUtils; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import org.jetbrains.annotations.NotNull; @@ -58,8 +59,8 @@ public Component getText() { } @Override - protected boolean applyRenderColor() { - MekanismRenderer.color(stored.getType()); + protected boolean applyRenderColor(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, stored.getType()); return true; } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/integration/lookingat/FluidElement.java b/src/main/java/mekanism/common/integration/lookingat/FluidElement.java index 23bd9dbf6a1..af3cdb06bbe 100644 --- a/src/main/java/mekanism/common/integration/lookingat/FluidElement.java +++ b/src/main/java/mekanism/common/integration/lookingat/FluidElement.java @@ -5,6 +5,7 @@ import mekanism.client.render.MekanismRenderer.FluidTextureType; import mekanism.common.MekanismLang; import mekanism.common.util.text.TextUtils; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraftforge.fluids.FluidStack; @@ -54,8 +55,8 @@ public Component getText() { } @Override - protected boolean applyRenderColor() { - MekanismRenderer.color(stored); + protected boolean applyRenderColor(GuiGraphics guiGraphics) { + MekanismRenderer.color(guiGraphics, stored); return true; } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/integration/lookingat/LookingAtElement.java b/src/main/java/mekanism/common/integration/lookingat/LookingAtElement.java index a1770c8aee3..330eb2e308e 100644 --- a/src/main/java/mekanism/common/integration/lookingat/LookingAtElement.java +++ b/src/main/java/mekanism/common/integration/lookingat/LookingAtElement.java @@ -32,11 +32,11 @@ public void render(@NotNull GuiGraphics guiGraphics, int x, int y) { if (icon != null) { int scale = getScaledLevel(width - 2); if (scale > 0) { - boolean colored = applyRenderColor(); - GuiUtils.drawTiledSprite(guiGraphics.pose(), x + 1, y + 1, height - 2, scale, height - 2, icon, + boolean colored = applyRenderColor(guiGraphics); + GuiUtils.drawTiledSprite(guiGraphics, x + 1, y + 1, height - 2, scale, height - 2, icon, 16, 16, 0, TilingDirection.DOWN_RIGHT); if (colored) { - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } } @@ -58,7 +58,7 @@ public int getHeight() { public abstract Component getText(); - protected boolean applyRenderColor() { + protected boolean applyRenderColor(GuiGraphics guiGraphics) { return false; } @@ -77,6 +77,6 @@ public static void renderScaledText(Minecraft mc, @NotNull GuiGraphics guiGraphi pose.popPose(); } //Make sure the color does not leak from having drawn the string - MekanismRenderer.resetColor(); + MekanismRenderer.resetColor(guiGraphics); } } \ No newline at end of file