From 6028973423c664e4a4626c577f4884cc4d92cbe0 Mon Sep 17 00:00:00 2001 From: inglettronald Date: Sun, 23 Jul 2023 08:28:08 -0500 Subject: performance improvements --- .../mixin/render/LivingEntityMixin.java | 8 +-- .../mixin/render/WorldRendererMixin.java | 60 +--------------------- 2 files changed, 2 insertions(+), 66 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/dulkirfabric/mixin/render/LivingEntityMixin.java b/src/main/java/com/dulkirfabric/mixin/render/LivingEntityMixin.java index b615136..8c5f48c 100644 --- a/src/main/java/com/dulkirfabric/mixin/render/LivingEntityMixin.java +++ b/src/main/java/com/dulkirfabric/mixin/render/LivingEntityMixin.java @@ -34,10 +34,9 @@ public class LivingEntityMixin implements GlowingEntityInterface { private boolean shouldESP_DulkirMod; @Override - public void setDulkirEntityGlow(boolean shouldGlow, @NotNull Color glowColor, boolean shouldESP) { + public void setDulkirEntityGlow(boolean shouldGlow, @NotNull Color glowColor) { this.shouldGlow_DulkirMod = shouldGlow; this.glowColor_DulkirMod = glowColor; - this.shouldESP_DulkirMod = shouldESP; } @Override @@ -51,11 +50,6 @@ public class LivingEntityMixin implements GlowingEntityInterface { return glowColor_DulkirMod; } - @Override - public boolean shouldDulkirEntityESP() { - return shouldESP_DulkirMod; - } - @Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;tickNewAi()V", shift = At.Shift.AFTER)) public void onWhatever(CallbackInfo ci) { diff --git a/src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java b/src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java index 03ffbd0..a843de0 100644 --- a/src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java +++ b/src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java @@ -3,40 +3,14 @@ package com.dulkirfabric.mixin.render; import com.dulkirfabric.util.GlowingEntityInterface; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gl.Framebuffer; -import net.minecraft.client.gl.SimpleFramebuffer; -import net.minecraft.client.render.*; -import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.client.render.WorldRenderer; import net.minecraft.entity.Entity; -import org.jetbrains.annotations.Nullable; -import org.joml.Matrix4f; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import static com.dulkirfabric.DulkirModFabric.mc; @Mixin(WorldRenderer.class) public class WorldRendererMixin { - @Shadow - private @Nullable Framebuffer entityOutlinesFramebuffer; - @Shadow - @Final - public BufferBuilderStorage bufferBuilders; - @Shadow @Final private MinecraftClient client; - @Unique - boolean shouldRenderOutlinesDirect = false; - - @Unique - Framebuffer defaultEntityOutlineBuffer; - @ModifyExpressionValue(method = "render(Lnet/minecraft/client/util/math/MatrixStack;FJZLnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/GameRenderer;Lnet/minecraft/client/render/LightmapTextureManager;Lorg/joml/Matrix4f;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getTeamColorValue()I")) public int getGlowColor(int existing, @Local Entity entity) { @@ -48,36 +22,4 @@ public class WorldRendererMixin { return existing; } - @Inject(method = "onResized", at = @At("HEAD")) - public void onResized(int width, int height, CallbackInfo ci) { - if (defaultEntityOutlineBuffer == null) { - defaultEntityOutlineBuffer = new SimpleFramebuffer(width, height, true, false); - defaultEntityOutlineBuffer.setClearColor(0, 0, 0, 0); - } else { - defaultEntityOutlineBuffer.resize(width, height, false); - } - } - - @Inject(method = "render(Lnet/minecraft/client/util/math/MatrixStack;FJZLnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/GameRenderer;Lnet/minecraft/client/render/LightmapTextureManager;Lorg/joml/Matrix4f;)V", - at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/BufferBuilderStorage;getEntityVertexConsumers()Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;", shift = At.Shift.AFTER)) - public void saveDefaultBufferESP(MatrixStack matrices, float tickDelta, long limitTime, boolean renderBlockOutline, Camera camera, GameRenderer gameRenderer, LightmapTextureManager lightmapTextureManager, Matrix4f positionMatrix, CallbackInfo ci) { - if (defaultEntityOutlineBuffer != null) { - defaultEntityOutlineBuffer.copyDepthFrom(this.entityOutlinesFramebuffer); - } - } - - @Inject(method = "render(Lnet/minecraft/client/util/math/MatrixStack;FJZLnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/GameRenderer;Lnet/minecraft/client/render/LightmapTextureManager;Lorg/joml/Matrix4f;)V", - at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/EntityRenderDispatcher;shouldRender(Lnet/minecraft/entity/Entity;Lnet/minecraft/client/render/Frustum;DDD)Z")) - public void setOutlineESP(MatrixStack matrices, float tickDelta, long limitTime, boolean renderBlockOutline, Camera camera, GameRenderer gameRenderer, LightmapTextureManager lightmapTextureManager, Matrix4f positionMatrix, CallbackInfo ci, @Local Entity entity) { - this.bufferBuilders.getEntityVertexConsumers().drawCurrentLayer(); - if (entity instanceof GlowingEntityInterface dEntity && dEntity.shouldDulkirEntityGlow() && !dEntity.shouldDulkirEntityESP()) { - if (this.entityOutlinesFramebuffer != null) - this.entityOutlinesFramebuffer.copyDepthFrom(mc.getFramebuffer()); - } else { - // give esp back here - if (this.entityOutlinesFramebuffer != null) - this.entityOutlinesFramebuffer.copyDepthFrom(defaultEntityOutlineBuffer); - } - this.client.getFramebuffer().beginWrite(false); - } } -- cgit