This commit is contained in:
cattyn
2025-05-02 19:54:05 +03:00
parent e83733e145
commit 1b65bf320c
23 changed files with 106 additions and 103 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '1.8-SNAPSHOT'
id 'fabric-loom' version '1.10-SNAPSHOT'
id 'maven-publish'
}
+4 -5
View File
@@ -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
+1 -1
View File
@@ -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
@@ -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();
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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 {
@@ -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);
}
@@ -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);
}
}
@@ -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<Integer> cir) {
this.lastFrameDuration *= OyVey.TIMER;
this.dynamicDeltaTicks *= OyVey.TIMER;
}
}
@@ -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();
@@ -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);
@@ -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);
@@ -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<Double, RenderLayer> 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));
});
}
}
@@ -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();
}
@@ -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();
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
"required": true,
"minVersion": "0.8",
"package": "me.alpha432.oyvey.mixin",
"compatibilityLevel": "JAVA_17",
"compatibilityLevel": "JAVA_21",
"mixins": [
"MixinClientConnection"
],