aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/render
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-08-31 20:21:30 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-08-31 20:40:44 -0400
commitaa2abcf644bf58adb3330e87d870ce56a09ce3f5 (patch)
treef9e9114f9b0031ce61dcfba05a030453f540d6b1 /src/main/java/me/xmrvizzy/skyblocker/utils/render
parentfea919794608128b6c436f1a64d1be38e935241d (diff)
parent1370097922f19815e14bdfd8c9e606cde2bc8f39 (diff)
downloadSkyblocker-aa2abcf644bf58adb3330e87d870ce56a09ce3f5.tar.gz
Skyblocker-aa2abcf644bf58adb3330e87d870ce56a09ce3f5.tar.bz2
Skyblocker-aa2abcf644bf58adb3330e87d870ce56a09ce3f5.zip
Merge branch 'master' into utils-cleanup
# Conflicts: # src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java # src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java # src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java # src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java # src/main/java/me/xmrvizzy/skyblocker/utils/RenderHelper.java
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/render')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java24
1 files changed, 18 insertions, 6 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 18d9b28a..aaf92d68 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java
@@ -11,12 +11,12 @@ import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.font.TextRenderer.TextLayerType;
import net.minecraft.client.render.*;
import net.minecraft.client.render.VertexFormat.DrawMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.OrderedText;
+import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Vec3d;
@@ -164,17 +164,29 @@ public class RenderHelper {
RenderSystem.disableDepthTest();
}
+ public static void renderText(WorldRenderContext context, Text text, Vec3d pos, boolean seeThrough) {
+ renderText(context, text, pos, 1, seeThrough);
+ }
+
+ public static void renderText(WorldRenderContext context, Text text, Vec3d pos, float scale, boolean seeThrough) {
+ renderText(context, text, pos, scale, 0, seeThrough);
+ }
+
+ public static void renderText(WorldRenderContext context, Text text, Vec3d pos, float scale, float yOffset, boolean seeThrough) {
+ renderText(context, text.asOrderedText(), pos, scale, yOffset, seeThrough);
+ }
+
/**
* Renders text in the world space.
*
* @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) {
+ public static void renderText(WorldRenderContext context, OrderedText text, Vec3d pos, float scale, float yOffset, boolean seeThrough) {
MatrixStack matrices = context.matrixStack();
Vec3d camera = context.camera().getPos();
- TextRenderer textRenderer = client.textRenderer;
+ TextRenderer textRenderer = client.textRenderer;
- scale *= 0.025f;
+ scale *= 0.025f;
matrices.push();
matrices.translate(pos.getX() - camera.getX(), pos.getY() - camera.getY(), pos.getZ() - camera.getZ());
@@ -183,7 +195,7 @@ public class RenderHelper {
matrices.scale(-scale, -scale, scale);
Matrix4f positionMatrix = matrices.peek().getPositionMatrix();
- float xOffset = -textRenderer.getWidth(text) / 2f;
+ float xOffset = -textRenderer.getWidth(text) / 2f;
Tessellator tessellator = RenderSystem.renderThreadTesselator();
BufferBuilder buffer = tessellator.getBuffer();
@@ -191,7 +203,7 @@ public class RenderHelper {
RenderSystem.depthFunc(seeThrough ? GL11.GL_ALWAYS : GL11.GL_LEQUAL);
- textRenderer.draw(text, xOffset, 0, 0xFFFFFFFF, false, positionMatrix, consumers, TextLayerType.SEE_THROUGH, 0, LightmapTextureManager.MAX_LIGHT_COORDINATE);
+ textRenderer.draw(text, xOffset, yOffset, 0xFFFFFFFF, false, positionMatrix, consumers, TextRenderer.TextLayerType.SEE_THROUGH, 0, LightmapTextureManager.MAX_LIGHT_COORDINATE);
consumers.draw();
RenderSystem.depthFunc(GL11.GL_LEQUAL);