diff --git a/gradle.properties b/gradle.properties index abcccdb..7f1a603 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,21 +1,18 @@ # Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G -# Fabric Properties -# check these on https://fabricmc.net/versions.html -# After making changes -# gradlew --refresh-dependencies -# To remap the mixin locations: -# gradlew migrateMappings --mappings "1.16.1+build.9" - -minecraft_version=1.19 -yarn_mappings=1.19+build.1 -loader_version=0.14.7 +minecraft_version=1.20 +yarn_mappings=1.20+build.1 +loader_version=0.14.21 #Fabric api -fabric_version=0.55.3+1.19 - +fabric_version=0.83.0+1.20 # Mod Properties -mod_version = 1.19-fabric-1 + + +# Dependencies +# check this on https://modmuss50.me/fabric.html +mod_version = 1.20-SNAPSHOT + maven_group = net.torocraft archives_base_name = flighthud \ No newline at end of file diff --git a/src/main/java/net/torocraft/flighthud/HudComponent.java b/src/main/java/net/torocraft/flighthud/HudComponent.java index 08be596..1a6c9f4 100644 --- a/src/main/java/net/torocraft/flighthud/HudComponent.java +++ b/src/main/java/net/torocraft/flighthud/HudComponent.java @@ -2,19 +2,13 @@ import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.DrawableHelper; -import net.minecraft.client.render.BufferBuilder; -import net.minecraft.client.render.BufferRenderer; -import net.minecraft.client.render.GameRenderer; -import net.minecraft.client.render.Tessellator; -import net.minecraft.client.render.VertexFormats; -import net.minecraft.client.render.VertexFormat; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.render.*; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.Vec3f; -import net.minecraft.util.math.Matrix4f; import net.torocraft.flighthud.config.HudConfig; +import org.joml.Matrix4f; -public abstract class HudComponent extends DrawableHelper { +public abstract class HudComponent{ public abstract void render(MatrixStack m, float partial, MinecraftClient client); @@ -27,9 +21,10 @@ protected int i(double d) { protected void drawPointer(MatrixStack m, float x, float y, float rot) { m.push(); m.translate(x, y, 0); - m.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(rot + 45)); - drawVerticalLine(m, 0, 0, 5, CONFIG.color); - drawHorizontalLine(m, 0, 5, 0, CONFIG.color); +// m.multiply(Vector3f.POSITIVE_Z.getDegreesQuaternion(rot + 45)); + m.multiply(new org.joml.Quaternionf().fromAxisAngleDeg(new org.joml.Vector3f(0, 0, 1),rot+45)); + drawVerticalLine(m, 0, 0, 5);//, CONFIG.color + drawHorizontalLine(m, 0, 5, 0);//, CONFIG.color m.pop(); } @@ -47,7 +42,17 @@ protected void drawFont(MinecraftClient mc, MatrixStack m, String s, float x, fl protected void drawFont(MinecraftClient mc, MatrixStack m, String s, float x, float y, int color) { - mc.textRenderer.draw(m, s, x, y, CONFIG.color); + mc.textRenderer.draw( + s, + x, + y, + color, + false, + m.peek().getPositionMatrix(), + mc.getBufferBuilders().getOutlineVertexConsumers(), + TextRenderer.TextLayerType.NORMAL, + 0, + 255);//, CONFIG.color//m, } protected void drawRightAlignedFont(MinecraftClient mc, MatrixStack m, String s, float x, @@ -129,16 +134,18 @@ private static void fill(Matrix4f matrix, float x1, float y1, float x2, float y2 float b = (float) (color & 255) / 255.0F; BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer(); RenderSystem.enableBlend(); - RenderSystem.disableTexture(); +// RenderSystem.disableTexture(); RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(GameRenderer::getPositionColorShader); +// RenderSystem.setShader(GameRenderer::getPositionColorShader); + RenderSystem.setShader(GameRenderer::getPositionColorProgram); bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); bufferBuilder.vertex(matrix, x1, y2, 0.0F).color(r, g, b, alpha).next(); bufferBuilder.vertex(matrix, x2, y2, 0.0F).color(r, g, b, alpha).next(); bufferBuilder.vertex(matrix, x2, y1, 0.0F).color(r, g, b, alpha).next(); bufferBuilder.vertex(matrix, x1, y1, 0.0F).color(r, g, b, alpha).next(); - BufferRenderer.drawWithShader(bufferBuilder.end()); - RenderSystem.enableTexture(); +// BufferRenderer.drawWithShader(bufferBuilder.end()); + BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); +// RenderSystem.enableTexture(); RenderSystem.disableBlend(); } } diff --git a/src/main/java/net/torocraft/flighthud/HudRenderer.java b/src/main/java/net/torocraft/flighthud/HudRenderer.java index aceaebc..2012740 100644 --- a/src/main/java/net/torocraft/flighthud/HudRenderer.java +++ b/src/main/java/net/torocraft/flighthud/HudRenderer.java @@ -53,7 +53,7 @@ public void render(MatrixStack m, float partial, MinecraftClient client) { m.push(); if (HudComponent.CONFIG.scale != 1d) { - float scale = 1 / (float) HudComponent.CONFIG.scale; + float scale = 1 / HudComponent.CONFIG.scale; m.scale(scale, scale, scale); } diff --git a/src/main/java/net/torocraft/flighthud/components/PitchIndicator.java b/src/main/java/net/torocraft/flighthud/components/PitchIndicator.java index d75ea9e..c8024c1 100644 --- a/src/main/java/net/torocraft/flighthud/components/PitchIndicator.java +++ b/src/main/java/net/torocraft/flighthud/components/PitchIndicator.java @@ -2,10 +2,10 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.Vec3f; import net.torocraft.flighthud.Dimensions; import net.torocraft.flighthud.FlightComputer; import net.torocraft.flighthud.HudComponent; +import org.joml.Vector3f; public class PitchIndicator extends HudComponent { private final Dimensions dim; @@ -32,7 +32,8 @@ public void render(MatrixStack m, float partial, MinecraftClient mc) { if (CONFIG.pitchLadder_showRoll) { m.push(); m.translate(b, a, 0); - m.multiply(Vec3f.POSITIVE_Z.getDegreesQuaternion(roll)); +// m.multiply(Vector3f.POSITIVE_Z.getDegreesQuaternion(roll)); + m.multiply(new org.joml.Quaternionf().fromAxisAngleDeg(new org.joml.Vector3f(0, 0, 1),roll)); m.translate(-b, -a, 0); } diff --git a/src/main/java/net/torocraft/flighthud/mixin/InGameHudMixin.java b/src/main/java/net/torocraft/flighthud/mixin/InGameHudMixin.java index 9b0d1b4..18d8ad0 100644 --- a/src/main/java/net/torocraft/flighthud/mixin/InGameHudMixin.java +++ b/src/main/java/net/torocraft/flighthud/mixin/InGameHudMixin.java @@ -1,8 +1,8 @@ package net.torocraft.flighthud.mixin; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.util.math.MatrixStack; import net.torocraft.flighthud.HudRenderer; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -23,7 +23,7 @@ public class InGameHudMixin { private MinecraftClient client; @Inject(method = "render", at = @At("RETURN")) - private void render(MatrixStack ms, float partial, CallbackInfo info) { - hud.render(ms, partial, client); + private void render(DrawContext context, float tickDelta, CallbackInfo ci) { + hud.render(context.getMatrices(), tickDelta, client); } } \ No newline at end of file