Movable image renderer

This commit is contained in:
Frank 2022-08-16 22:30:08 +02:00
parent 49aa696e67
commit 82703fe992
2 changed files with 23 additions and 10 deletions

View file

@ -432,10 +432,12 @@ public class WorldSetupScreen extends LayoutScreen {
); );
int size = IconState.lerp(t, endOn.size, endOff.size); int size = IconState.lerp(t, endOn.size, endOff.size);
RenderHelper.renderImage( RenderHelper.renderImage(
poseStack, size, size, poseStack, 0, 0,
size,
size,
WelcomeScreen.ICON_BETTEREND, WelcomeScreen.ICON_BETTEREND,
new Rectangle(0, 0, 32, 32), Size.of(32), new Rectangle(0, 0, 32, 32),
Size.of(32), 1 (float) 1
); );
poseStack.popPose(); poseStack.popPose();
} }
@ -457,10 +459,12 @@ public class WorldSetupScreen extends LayoutScreen {
); );
int size = IconState.lerp(t, netherOff.size, netherOn.size); int size = IconState.lerp(t, netherOff.size, netherOn.size);
RenderHelper.renderImage( RenderHelper.renderImage(
poseStack, size, size, poseStack, 0, 0,
size,
size,
WelcomeScreen.ICON_BETTERNETHER, WelcomeScreen.ICON_BETTERNETHER,
new Rectangle(0, 0, 32, 32), Size.of(32), new Rectangle(0, 0, 32, 32),
Size.of(32), 1 (float) 1
); );
poseStack.popPose(); poseStack.popPose();
} }

View file

@ -87,10 +87,19 @@ public class RenderHelper {
public static void renderImage( public static void renderImage(
PoseStack stack, PoseStack stack,
int width, int height, int left, int top,
ResourceLocation location, ResourceLocation location,
Rectangle uvRect, Size resourceSize, Rectangle uvRect,
Size resourceSize, 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 float alpha
) { ) {
RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShader(GameRenderer::getPositionTexShader);
@ -103,7 +112,7 @@ public class RenderHelper {
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, alpha); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, alpha);
GuiComponent.blit( GuiComponent.blit(
stack, stack,
0, 0, width, height, left, top, width, height,
uvRect.left, uvRect.left,
uvRect.top, uvRect.top,
uvRect.width, uvRect.width,