diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-08-02 17:25:57 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-08-18 18:17:59 +0800 |
commit | 5ab2838f463d80d87ddf00540d68f6e61186832e (patch) | |
tree | 81fa4bbb5c427bbeec1a787a7049d2a5f287487f /src/main/java/me/xmrvizzy/skyblocker/utils/render | |
parent | 872372876716ac9be20c47224f567940da64ef92 (diff) | |
download | Skyblocker-5ab2838f463d80d87ddf00540d68f6e61186832e.tar.gz Skyblocker-5ab2838f463d80d87ddf00540d68f6e61186832e.tar.bz2 Skyblocker-5ab2838f463d80d87ddf00540d68f6e61186832e.zip |
Refactor RenderHelper
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/render')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java index 4b9d5aa4..18d9b28a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java @@ -30,7 +30,7 @@ import java.awt.*; public class RenderHelper { private static final Vec3d ONE = new Vec3d(1, 1, 1); private static final int MAX_OVERWORLD_BUILD_HEIGHT = 319; - private static final MinecraftClient CLIENT = MinecraftClient.getInstance(); + private static final MinecraftClient client = MinecraftClient.getInstance(); public static void renderFilledThroughWallsWithBeaconBeam(WorldRenderContext context, BlockPos pos, float[] colorComponents, float alpha) { renderFilledThroughWalls(context, pos, colorComponents, alpha); @@ -61,7 +61,7 @@ public class RenderHelper { Vec3d camera = context.camera().getPos(); matrices.push(); - matrices.translate(pos.getX() - camera.x, pos.getY() - camera.y, pos.getZ() - camera.z); + matrices.translate(pos.getX() - camera.getX(), pos.getY() - camera.getY(), pos.getZ() - camera.getZ()); Tessellator tessellator = RenderSystem.renderThreadTesselator(); BufferBuilder buffer = tessellator.getBuffer(); @@ -92,7 +92,7 @@ public class RenderHelper { RenderSystem.enableDepthTest(); matrices.push(); - matrices.translate(-camera.x, -camera.y, -camera.z); + matrices.translate(-camera.getX(), -camera.getY(), -camera.getZ()); buffer.begin(DrawMode.LINES, VertexFormats.LINES); WorldRenderer.drawBox(matrices, buffer, box, colorComponents[0] * 255f, colorComponents[1] * 255f, colorComponents[2] * 255f, 1f); @@ -162,7 +162,7 @@ public class RenderHelper { RenderSystem.defaultBlendFunc(); RenderSystem.enableCull(); RenderSystem.disableDepthTest(); - } + } /** * Renders text in the world space. @@ -170,33 +170,32 @@ public class RenderHelper { * @param seeThrough Whether the text should be able to be seen through walls or not. */ public static void renderText(WorldRenderContext context, Vec3d pos, OrderedText text, float scale, boolean seeThrough) { - Vec3d camera = context.camera().getPos(); - MatrixStack matrices = context.matrixStack(); - TextRenderer textRenderer = CLIENT.textRenderer; + MatrixStack matrices = context.matrixStack(); + Vec3d camera = context.camera().getPos(); + TextRenderer textRenderer = client.textRenderer; - Vec3d transformedPosition = pos.subtract(camera); - scale = 0.025f * scale; + scale *= 0.025f; - matrices.push(); - matrices.translate(transformedPosition.x, transformedPosition.y, transformedPosition.z); - matrices.peek().getPositionMatrix().mul(RenderSystem.getModelViewMatrix()); - matrices.multiply(context.camera().getRotation()); - matrices.scale(-scale, -scale, scale); + matrices.push(); + matrices.translate(pos.getX() - camera.getX(), pos.getY() - camera.getY(), pos.getZ() - camera.getZ()); + matrices.peek().getPositionMatrix().mul(RenderSystem.getModelViewMatrix()); + matrices.multiply(context.camera().getRotation()); + matrices.scale(-scale, -scale, scale); - Matrix4f positionMatrix = matrices.peek().getPositionMatrix(); - float h = -textRenderer.getWidth(text) / 2f; + Matrix4f positionMatrix = matrices.peek().getPositionMatrix(); + float xOffset = -textRenderer.getWidth(text) / 2f; - Tessellator tessellator = RenderSystem.renderThreadTesselator(); - BufferBuilder buffer = tessellator.getBuffer(); - VertexConsumerProvider.Immediate consumers = VertexConsumerProvider.immediate(buffer); + Tessellator tessellator = RenderSystem.renderThreadTesselator(); + BufferBuilder buffer = tessellator.getBuffer(); + VertexConsumerProvider.Immediate consumers = VertexConsumerProvider.immediate(buffer); - RenderSystem.depthFunc(seeThrough ? GL11.GL_ALWAYS : GL11.GL_LEQUAL); + RenderSystem.depthFunc(seeThrough ? GL11.GL_ALWAYS : GL11.GL_LEQUAL); - textRenderer.draw(text, h, 0, 0xFFFFFFFF, false, positionMatrix, consumers, TextLayerType.SEE_THROUGH, 0, LightmapTextureManager.MAX_LIGHT_COORDINATE); - consumers.draw(); + textRenderer.draw(text, xOffset, 0, 0xFFFFFFFF, false, positionMatrix, consumers, TextLayerType.SEE_THROUGH, 0, LightmapTextureManager.MAX_LIGHT_COORDINATE); + consumers.draw(); - RenderSystem.depthFunc(GL11.GL_LEQUAL); - matrices.pop(); + RenderSystem.depthFunc(GL11.GL_LEQUAL); + matrices.pop(); } /** |