From 1b65bf320cfa21ec9b3e9b2d6c0f89c6beeacbbe Mon Sep 17 00:00:00 2001 From: cattyn Date: Fri, 2 May 2025 19:54:05 +0300 Subject: [PATCH] 1.21.5 --- build.gradle | 2 +- gradle.properties | 9 ++- gradle/wrapper/gradle-wrapper.properties | 2 +- src/main/java/me/alpha432/oyvey/OyVey.java | 2 - .../oyvey/features/gui/Component.java | 3 +- .../gui/items/buttons/BindButton.java | 2 +- .../gui/items/buttons/BooleanButton.java | 2 +- .../features/gui/items/buttons/Button.java | 2 +- .../gui/items/buttons/EnumButton.java | 2 +- .../features/gui/items/buttons/Slider.java | 2 +- .../gui/items/buttons/StringButton.java | 3 +- .../modules/render/BlockHighlight.java | 2 +- .../oyvey/manager/PositionManager.java | 2 +- .../alpha432/oyvey/manager/SpeedManager.java | 8 +-- .../alpha432/oyvey/mixin/MixinInGameHud.java | 14 +---- .../oyvey/mixin/MixinRenderTickCounter.java | 8 +-- .../oyvey/mixin/MixinWorldRenderer.java | 6 +- .../alpha432/oyvey/util/InteractionUtil.java | 4 +- .../java/me/alpha432/oyvey/util/MathUtil.java | 6 +- .../me/alpha432/oyvey/util/render/Layers.java | 40 +++++++++++++ .../alpha432/oyvey/util/render/Pipelines.java | 29 ++++++++++ .../oyvey/util/{ => render}/RenderUtil.java | 57 ++----------------- src/main/resources/oyvey.mixins.json | 2 +- 23 files changed, 106 insertions(+), 103 deletions(-) create mode 100644 src/main/java/me/alpha432/oyvey/util/render/Layers.java create mode 100644 src/main/java/me/alpha432/oyvey/util/render/Pipelines.java rename src/main/java/me/alpha432/oyvey/util/{ => render}/RenderUtil.java (85%) diff --git a/build.gradle b/build.gradle index 244d3f2..ceef4d8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.8-SNAPSHOT' + id 'fabric-loom' version '1.10-SNAPSHOT' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index a512fde..58cd8a0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.4 -yarn_mappings=1.21.4+build.8 -loader_version=0.16.10 - +minecraft_version=1.21.5 +yarn_mappings=1.21.5+build.1 +loader_version=0.16.14 # Mod Properties mod_version = 1.0-SNAPSHOT @@ -15,4 +14,4 @@ loader_version=0.16.10 # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.118.5+1.21.4 +fabric_version=0.121.0+1.21.5 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 707e499..18362b7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/me/alpha432/oyvey/OyVey.java b/src/main/java/me/alpha432/oyvey/OyVey.java index a9c364c..42540e5 100644 --- a/src/main/java/me/alpha432/oyvey/OyVey.java +++ b/src/main/java/me/alpha432/oyvey/OyVey.java @@ -26,7 +26,6 @@ public class OyVey implements ModInitializer, ClientModInitializer { public static ModuleManager moduleManager; public static ConfigManager configManager; - @Override public void onInitialize() { eventManager = new EventManager(); serverManager = new ServerManager(); @@ -40,7 +39,6 @@ public class OyVey implements ModInitializer, ClientModInitializer { holeManager = new HoleManager(); } - @Override public void onInitializeClient() { eventManager.init(); moduleManager.init(); diff --git a/src/main/java/me/alpha432/oyvey/features/gui/Component.java b/src/main/java/me/alpha432/oyvey/features/gui/Component.java index 4058a4e..9c12838 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/Component.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/Component.java @@ -1,12 +1,11 @@ package me.alpha432.oyvey.features.gui; -import me.alpha432.oyvey.OyVey; import me.alpha432.oyvey.features.Feature; import me.alpha432.oyvey.features.gui.items.Item; import me.alpha432.oyvey.features.gui.items.buttons.Button; import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.util.ColorUtil; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BindButton.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BindButton.java index 13802f3..86865ad 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BindButton.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BindButton.java @@ -6,7 +6,7 @@ import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.features.settings.Bind; import me.alpha432.oyvey.features.settings.Setting; import me.alpha432.oyvey.util.ColorUtil; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BooleanButton.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BooleanButton.java index 9bba0ba..2a1165c 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BooleanButton.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/BooleanButton.java @@ -5,7 +5,7 @@ import me.alpha432.oyvey.OyVey; import me.alpha432.oyvey.features.gui.OyVeyGui; import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.features.settings.Setting; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Button.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Button.java index d0868ac..5590e45 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Button.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Button.java @@ -5,7 +5,7 @@ import me.alpha432.oyvey.features.gui.Component; import me.alpha432.oyvey.features.gui.OyVeyGui; import me.alpha432.oyvey.features.gui.items.Item; import me.alpha432.oyvey.features.modules.client.ClickGui; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/EnumButton.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/EnumButton.java index 1e483f9..ed29548 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/EnumButton.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/EnumButton.java @@ -5,7 +5,7 @@ import me.alpha432.oyvey.OyVey; import me.alpha432.oyvey.features.gui.OyVeyGui; import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.features.settings.Setting; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Slider.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Slider.java index 31616de..7c36eda 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Slider.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/Slider.java @@ -5,7 +5,7 @@ import me.alpha432.oyvey.features.gui.Component; import me.alpha432.oyvey.features.gui.OyVeyGui; import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.features.settings.Setting; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.client.gui.DrawContext; import net.minecraft.util.Formatting; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/StringButton.java b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/StringButton.java index f20fae6..ed6e864 100644 --- a/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/StringButton.java +++ b/src/main/java/me/alpha432/oyvey/features/gui/items/buttons/StringButton.java @@ -4,9 +4,8 @@ import me.alpha432.oyvey.OyVey; import me.alpha432.oyvey.features.gui.OyVeyGui; import me.alpha432.oyvey.features.modules.client.ClickGui; import me.alpha432.oyvey.features.settings.Setting; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import me.alpha432.oyvey.util.models.Timer; -import net.minecraft.SharedConstants; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvents; diff --git a/src/main/java/me/alpha432/oyvey/features/modules/render/BlockHighlight.java b/src/main/java/me/alpha432/oyvey/features/modules/render/BlockHighlight.java index 4072ce0..4d01032 100644 --- a/src/main/java/me/alpha432/oyvey/features/modules/render/BlockHighlight.java +++ b/src/main/java/me/alpha432/oyvey/features/modules/render/BlockHighlight.java @@ -3,7 +3,7 @@ package me.alpha432.oyvey.features.modules.render; import com.google.common.eventbus.Subscribe; import me.alpha432.oyvey.event.impl.Render3DEvent; import me.alpha432.oyvey.features.modules.Module; -import me.alpha432.oyvey.util.RenderUtil; +import me.alpha432.oyvey.util.render.RenderUtil; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.Box; import net.minecraft.util.shape.VoxelShape; diff --git a/src/main/java/me/alpha432/oyvey/manager/PositionManager.java b/src/main/java/me/alpha432/oyvey/manager/PositionManager.java index 4c2ff2b..fe19ed2 100644 --- a/src/main/java/me/alpha432/oyvey/manager/PositionManager.java +++ b/src/main/java/me/alpha432/oyvey/manager/PositionManager.java @@ -21,7 +21,7 @@ public class PositionManager @Subscribe public void onUpdateWalkingPlayer(UpdateWalkingPlayerEvent event) { if (event.getStage() == Stage.POST) return; - double diff = mc.player.prevY - mc.player.getY(); + double diff = mc.player.lastY - mc.player.getY(); if (mc.player.isOnGround() || diff <= 0) { fallDistance = 0; } else { diff --git a/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java b/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java index 3c14607..2511c64 100644 --- a/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java +++ b/src/main/java/me/alpha432/oyvey/manager/SpeedManager.java @@ -35,8 +35,8 @@ public class SpeedManager } public void updateValues() { - double distTraveledLastTickX = mc.player.getX() - mc.player.prevX; - double distTraveledLastTickZ = mc.player.getZ() - mc.player.prevZ; + double distTraveledLastTickX = mc.player.getX() - mc.player.lastX; + double distTraveledLastTickZ = mc.player.getZ() - mc.player.lastZ; this.speedometerCurrentSpeed = distTraveledLastTickX * distTraveledLastTickX + distTraveledLastTickZ * distTraveledLastTickZ; if (didJumpThisTick && (!mc.player.isOnGround() || isJumping)) { if (didJumpThisTick && !this.didJumpLastTick) { @@ -59,8 +59,8 @@ public class SpeedManager for (PlayerEntity player : mc.world.getPlayers()) { if (!(mc.player.distanceTo(player) < distancer)) continue; - double distTraveledLastTickX = player.getX() - player.prevX; - double distTraveledLastTickZ = player.getZ() - player.prevZ; + double distTraveledLastTickX = player.getX() - player.lastX; + double distTraveledLastTickZ = player.getZ() - player.lastZ; double playerSpeed = distTraveledLastTickX * distTraveledLastTickX + distTraveledLastTickZ * distTraveledLastTickZ; this.playerSpeeds.put(player, playerSpeed); } diff --git a/src/main/java/me/alpha432/oyvey/mixin/MixinInGameHud.java b/src/main/java/me/alpha432/oyvey/mixin/MixinInGameHud.java index 57427fe..bbbae27 100644 --- a/src/main/java/me/alpha432/oyvey/mixin/MixinInGameHud.java +++ b/src/main/java/me/alpha432/oyvey/mixin/MixinInGameHud.java @@ -22,20 +22,8 @@ public class MixinInGameHud { if (MinecraftClient.getInstance().inGameHud.getDebugHud().shouldShowDebugHud()) return; RenderSystem.setShaderColor(1, 1, 1, 1); - RenderSystem.disableDepthTest(); - RenderSystem.enableBlend(); - RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - RenderSystem.disableCull(); - GL11.glEnable(GL11.GL_LINE_SMOOTH); - - - Render2DEvent event = new Render2DEvent(context, tickCounter.getTickDelta(true)); + Render2DEvent event = new Render2DEvent(context, tickCounter.getTickProgress(true)); EVENT_BUS.post(event); - - RenderSystem.enableDepthTest(); - GL11.glDisable(GL11.GL_LINE_SMOOTH); - } } diff --git a/src/main/java/me/alpha432/oyvey/mixin/MixinRenderTickCounter.java b/src/main/java/me/alpha432/oyvey/mixin/MixinRenderTickCounter.java index 1f8ec1b..1e3628d 100644 --- a/src/main/java/me/alpha432/oyvey/mixin/MixinRenderTickCounter.java +++ b/src/main/java/me/alpha432/oyvey/mixin/MixinRenderTickCounter.java @@ -8,13 +8,13 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -@Mixin( RenderTickCounter.Dynamic.class ) +@Mixin(RenderTickCounter.Dynamic.class) public class MixinRenderTickCounter { @Shadow - private float lastFrameDuration; + private float dynamicDeltaTicks; - @Inject(method = "beginRenderTick(J)I", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/RenderTickCounter$Dynamic;prevTimeMillis:J")) + @Inject(method = "beginRenderTick(J)I", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/RenderTickCounter$Dynamic;lastTimeMillis:J")) public void beginRenderTick(long timeMillis, CallbackInfoReturnable cir) { - this.lastFrameDuration *= OyVey.TIMER; + this.dynamicDeltaTicks *= OyVey.TIMER; } } \ No newline at end of file diff --git a/src/main/java/me/alpha432/oyvey/mixin/MixinWorldRenderer.java b/src/main/java/me/alpha432/oyvey/mixin/MixinWorldRenderer.java index f0917c0..fa79bc4 100644 --- a/src/main/java/me/alpha432/oyvey/mixin/MixinWorldRenderer.java +++ b/src/main/java/me/alpha432/oyvey/mixin/MixinWorldRenderer.java @@ -1,16 +1,12 @@ package me.alpha432.oyvey.mixin; import com.llamalad7.mixinextras.sugar.Local; -import com.mojang.blaze3d.systems.RenderSystem; import me.alpha432.oyvey.event.impl.Render3DEvent; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.*; -import net.minecraft.client.util.Handle; import net.minecraft.client.util.ObjectAllocator; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.RotationAxis; import net.minecraft.util.profiler.Profiler; import org.joml.Matrix4f; -import org.lwjgl.opengl.GL11; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -32,7 +28,7 @@ public class MixinWorldRenderer { profiler.push("oyvey-render-3d"); - Render3DEvent event = new Render3DEvent(stack, tickCounter.getTickDelta(true)); + Render3DEvent event = new Render3DEvent(stack, tickCounter.getTickProgress(true)); EVENT_BUS.post(event); stack.pop(); profiler.pop(); diff --git a/src/main/java/me/alpha432/oyvey/util/InteractionUtil.java b/src/main/java/me/alpha432/oyvey/util/InteractionUtil.java index d08e0f6..43140c7 100644 --- a/src/main/java/me/alpha432/oyvey/util/InteractionUtil.java +++ b/src/main/java/me/alpha432/oyvey/util/InteractionUtil.java @@ -103,7 +103,7 @@ public class InteractionUtil implements Util { } public static double getBlockBreakingSpeed(int slot, BlockState block) { - double speed = mc.player.getInventory().main.get(slot).getMiningSpeedMultiplier(block); + double speed = mc.player.getInventory().getMainStacks().get(slot).getMiningSpeedMultiplier(block); if (speed > 1) { ItemStack tool = mc.player.getInventory().getStack(slot); @@ -139,7 +139,7 @@ public class InteractionUtil implements Util { float hardness = block.getHardness(null, null); if (hardness == -1) return 0; - speed /= hardness / (!block.isToolRequired() || mc.player.getInventory().main.get(slot).isSuitableFor(block) ? 30 : 100); + speed /= hardness / (!block.isToolRequired() || mc.player.getInventory().getMainStacks().get(slot).isSuitableFor(block) ? 30 : 100); float ticks = ( float ) (Math.floor(1.0f / speed) + 1.0f); diff --git a/src/main/java/me/alpha432/oyvey/util/MathUtil.java b/src/main/java/me/alpha432/oyvey/util/MathUtil.java index 367fe74..94e2001 100644 --- a/src/main/java/me/alpha432/oyvey/util/MathUtil.java +++ b/src/main/java/me/alpha432/oyvey/util/MathUtil.java @@ -139,9 +139,9 @@ public class MathUtil } public static double[] directionSpeed(double speed) { - float forward = MathUtil.mc.player.input.movementForward; - float side = MathUtil.mc.player.input.movementSideways; - float yaw = MathUtil.mc.player.prevYaw + (MathUtil.mc.player.getYaw() - MathUtil.mc.player.prevYaw) * mc.getRenderTickCounter().getTickDelta(false); + float forward = MathUtil.mc.player.input.getMovementInput().y; + float side = MathUtil.mc.player.input.getMovementInput().x; + float yaw = MathUtil.mc.player.lastYaw + (MathUtil.mc.player.getYaw() - MathUtil.mc.player.lastYaw) * mc.getRenderTickCounter().getTickProgress(false); if (forward != 0.0f) { if (side > 0.0f) { yaw += (float) (forward > 0.0f ? -45 : 45); diff --git a/src/main/java/me/alpha432/oyvey/util/render/Layers.java b/src/main/java/me/alpha432/oyvey/util/render/Layers.java new file mode 100644 index 0000000..f7df371 --- /dev/null +++ b/src/main/java/me/alpha432/oyvey/util/render/Layers.java @@ -0,0 +1,40 @@ +package me.alpha432.oyvey.util.render; + +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.RenderPhase; +import net.minecraft.util.Util; + +import java.util.OptionalDouble; +import java.util.function.Function; + +import static me.alpha432.oyvey.util.render.Pipelines.*; + +public class Layers { + private static final RenderLayer GLOBAL_QUADS; + private static final Function GLOBAL_LINES; + + public static RenderLayer getGlobalLines(double width) { + return GLOBAL_LINES.apply(width); + } + + public static RenderLayer getGlobalQuads() { + return GLOBAL_QUADS; + } + + private static RenderLayer.MultiPhaseParameters.Builder builder() { + return RenderLayer.MultiPhaseParameters.builder(); + } + + private static RenderLayer.MultiPhaseParameters empty() { + return builder().build(false); + } + + static { + GLOBAL_QUADS = RenderLayer.of("global_fill", 156, GLOBAL_QUADS_PIPELINE, empty()); + + GLOBAL_LINES = Util.memoize(l -> { + RenderPhase.LineWidth width = new RenderPhase.LineWidth(OptionalDouble.of(l)); + return RenderLayer.of("global_lines", 156, GLOBAL_LINES_PIPELINE, builder().lineWidth(width).build(false)); + }); + } +} diff --git a/src/main/java/me/alpha432/oyvey/util/render/Pipelines.java b/src/main/java/me/alpha432/oyvey/util/render/Pipelines.java new file mode 100644 index 0000000..b8917c2 --- /dev/null +++ b/src/main/java/me/alpha432/oyvey/util/render/Pipelines.java @@ -0,0 +1,29 @@ +package me.alpha432.oyvey.util.render; + +import com.mojang.blaze3d.pipeline.BlendFunction; +import com.mojang.blaze3d.pipeline.RenderPipeline; +import com.mojang.blaze3d.platform.DepthTestFunction; +import com.mojang.blaze3d.vertex.VertexFormat; +import net.minecraft.client.render.VertexFormats; + +import static net.minecraft.client.gl.RenderPipelines.POSITION_COLOR_SNIPPET; +import static net.minecraft.client.gl.RenderPipelines.RENDERTYPE_LINES_SNIPPET; + +class Pipelines { + static final RenderPipeline GLOBAL_QUADS_PIPELINE = RenderPipeline.builder(POSITION_COLOR_SNIPPET) + .withLocation("pipeline/global_fill_pipeline") + .withVertexFormat(VertexFormats.POSITION_COLOR, VertexFormat.DrawMode.QUADS) + .withDepthTestFunction(DepthTestFunction.NO_DEPTH_TEST) + .withBlend(BlendFunction.TRANSLUCENT) + .withDepthWrite(false) + .withCull(false) + .build(); + + static final RenderPipeline GLOBAL_LINES_PIPELINE = RenderPipeline.builder(RENDERTYPE_LINES_SNIPPET) + .withLocation("pipeline/global_lines_pipeline") + .withDepthTestFunction(DepthTestFunction.NO_DEPTH_TEST) + .withBlend(BlendFunction.TRANSLUCENT) + .withDepthWrite(false) + .withCull(false) + .build(); +} diff --git a/src/main/java/me/alpha432/oyvey/util/RenderUtil.java b/src/main/java/me/alpha432/oyvey/util/render/RenderUtil.java similarity index 85% rename from src/main/java/me/alpha432/oyvey/util/RenderUtil.java rename to src/main/java/me/alpha432/oyvey/util/render/RenderUtil.java index a351da0..978aaea 100644 --- a/src/main/java/me/alpha432/oyvey/util/RenderUtil.java +++ b/src/main/java/me/alpha432/oyvey/util/render/RenderUtil.java @@ -1,8 +1,7 @@ -package me.alpha432.oyvey.util; +package me.alpha432.oyvey.util.render; -import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.VertexFormat; import me.alpha432.oyvey.util.traits.Util; -import net.minecraft.client.gl.ShaderProgramKeys; import net.minecraft.client.render.*; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.math.BlockPos; @@ -83,9 +82,6 @@ public class RenderUtil implements Util { float g = (float) (color >> 16 & 255) / 255.0F; float h = (float) (color >> 8 & 255) / 255.0F; float j = (float) (color & 255) / 255.0F; - RenderSystem.enableBlend(); - RenderSystem.defaultBlendFunc(); - RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR); BufferBuilder bufferBuilder = Tessellator.getInstance() .begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); @@ -94,13 +90,10 @@ public class RenderUtil implements Util { bufferBuilder.vertex(matrix.peek().getPositionMatrix(), x2, y1, 0.0F).color(g, h, j, f); bufferBuilder.vertex(matrix.peek().getPositionMatrix(), x1, y1, 0.0F).color(g, h, j, f); - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); - RenderSystem.disableBlend(); + Layers.getGlobalQuads().draw(bufferBuilder.end()); } // 3d - - public static void drawBoxFilled(MatrixStack stack, Box box, Color c) { float minX = (float) (box.minX - mc.getEntityRenderDispatcher().camera.getPos().getX()); float minY = (float) (box.minY - mc.getEntityRenderDispatcher().camera.getPos().getY()); @@ -109,14 +102,8 @@ public class RenderUtil implements Util { float maxY = (float) (box.maxY - mc.getEntityRenderDispatcher().camera.getPos().getY()); float maxZ = (float) (box.maxZ - mc.getEntityRenderDispatcher().camera.getPos().getZ()); - Tessellator tessellator = Tessellator.getInstance(); - - setup3D(); - RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR); - BufferBuilder bufferBuilder = Tessellator.getInstance() .begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); - bufferBuilder.vertex(stack.peek().getPositionMatrix(), minX, minY, minZ).color(c.getRGB()); bufferBuilder.vertex(stack.peek().getPositionMatrix(), maxX, minY, minZ).color(c.getRGB()); bufferBuilder.vertex(stack.peek().getPositionMatrix(), maxX, minY, maxZ).color(c.getRGB()); @@ -147,8 +134,7 @@ public class RenderUtil implements Util { bufferBuilder.vertex(stack.peek().getPositionMatrix(), minX, maxY, maxZ).color(c.getRGB()); bufferBuilder.vertex(stack.peek().getPositionMatrix(), minX, maxY, minZ).color(c.getRGB()); - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); - clean3D(); + Layers.getGlobalQuads().draw(bufferBuilder.end()); } public static void drawBoxFilled(MatrixStack stack, Vec3d vec, Color c) { @@ -167,20 +153,13 @@ public class RenderUtil implements Util { float maxY = (float) (box.maxY - mc.getEntityRenderDispatcher().camera.getPos().getY()); float maxZ = (float) (box.maxZ - mc.getEntityRenderDispatcher().camera.getPos().getZ()); - setup3D(); - RenderSystem.lineWidth(( float ) lineWidth); - RenderSystem.setShader(ShaderProgramKeys.RENDERTYPE_LINES); - - RenderSystem.defaultBlendFunc(); - BufferBuilder bufferBuilder = Tessellator.getInstance() - .begin(VertexFormat.DrawMode.LINES, VertexFormats.LINES); + .begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR_NORMAL); VertexRendering.drawBox(stack, bufferBuilder, minX, minY, minZ, maxX, maxY, maxZ, c.getRed() / 255f, c.getGreen() / 255f, c.getBlue() / 255f, c.getAlpha() / 255f); - BufferRenderer.drawWithGlobalProgram(bufferBuilder.end()); - clean3D(); + Layers.getGlobalLines(lineWidth).draw(bufferBuilder.end()); } public static void drawBox(MatrixStack stack, Vec3d vec, Color c, double lineWidth) { @@ -199,28 +178,4 @@ public class RenderUtil implements Util { matrices.translate(pos.getX() - camera.getPos().x, pos.getY() - camera.getPos().y, pos.getZ() - camera.getPos().z); return matrices; } - - public static void setup() { - RenderSystem.enableBlend(); - RenderSystem.defaultBlendFunc(); - } - - public static void setup3D() { - setup(); - RenderSystem.disableDepthTest(); - RenderSystem.depthMask(false); - RenderSystem.disableCull(); - } - - public static void clean() { - RenderSystem.disableBlend(); - } - - public static void clean3D() { - clean(); - RenderSystem.enableDepthTest(); - RenderSystem.depthMask(true); - RenderSystem.enableCull(); - } - } diff --git a/src/main/resources/oyvey.mixins.json b/src/main/resources/oyvey.mixins.json index fd4434e..9bb9584 100644 --- a/src/main/resources/oyvey.mixins.json +++ b/src/main/resources/oyvey.mixins.json @@ -2,7 +2,7 @@ "required": true, "minVersion": "0.8", "package": "me.alpha432.oyvey.mixin", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "mixins": [ "MixinClientConnection" ],