From 82703fe9929336c461d5939b23828187d1d26523 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 16 Aug 2022 22:30:08 +0200 Subject: [PATCH] Movable image renderer --- .../client/gui/screens/WorldSetupScreen.java | 16 ++++++++++------ .../layout/components/render/RenderHelper.java | 17 +++++++++++++---- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java index 4d928435..a2e09292 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java @@ -432,10 +432,12 @@ public class WorldSetupScreen extends LayoutScreen { ); int size = IconState.lerp(t, endOn.size, endOff.size); RenderHelper.renderImage( - poseStack, size, size, + poseStack, 0, 0, + size, + size, WelcomeScreen.ICON_BETTEREND, - new Rectangle(0, 0, 32, 32), - Size.of(32), 1 + Size.of(32), new Rectangle(0, 0, 32, 32), + (float) 1 ); poseStack.popPose(); } @@ -457,10 +459,12 @@ public class WorldSetupScreen extends LayoutScreen { ); int size = IconState.lerp(t, netherOff.size, netherOn.size); RenderHelper.renderImage( - poseStack, size, size, + poseStack, 0, 0, + size, + size, WelcomeScreen.ICON_BETTERNETHER, - new Rectangle(0, 0, 32, 32), - Size.of(32), 1 + Size.of(32), new Rectangle(0, 0, 32, 32), + (float) 1 ); poseStack.popPose(); } diff --git a/src/main/java/org/betterx/ui/layout/components/render/RenderHelper.java b/src/main/java/org/betterx/ui/layout/components/render/RenderHelper.java index e697abaf..d5a3f565 100644 --- a/src/main/java/org/betterx/ui/layout/components/render/RenderHelper.java +++ b/src/main/java/org/betterx/ui/layout/components/render/RenderHelper.java @@ -87,10 +87,19 @@ public class RenderHelper { public static void renderImage( PoseStack stack, - int width, int height, + int left, int top, ResourceLocation location, - Rectangle uvRect, - Size resourceSize, + Size resourceSize, Rectangle uvRect, + float alpha + ) { + renderImage(stack, left, top, uvRect.width, uvRect.height, location, resourceSize, uvRect, alpha); + } + + public static void renderImage( + PoseStack stack, + int left, int top, int width, int height, + ResourceLocation location, + Size resourceSize, Rectangle uvRect, float alpha ) { RenderSystem.setShader(GameRenderer::getPositionTexShader); @@ -103,7 +112,7 @@ public class RenderHelper { RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, alpha); GuiComponent.blit( stack, - 0, 0, width, height, + left, top, width, height, uvRect.left, uvRect.top, uvRect.width,