diff options
author | inglettronald <inglettronald@gmail.com> | 2023-07-23 08:28:08 -0500 |
---|---|---|
committer | inglettronald <inglettronald@gmail.com> | 2023-07-23 08:28:08 -0500 |
commit | 6028973423c664e4a4626c577f4884cc4d92cbe0 (patch) | |
tree | d09fa6974290af6cac621e4a33d77a334cb2456d /src/main/java/com/dulkirfabric | |
parent | 4e8e3ae91f8be1906c298bf7b0aceb1b39d083d3 (diff) | |
download | DulkirMod-Fabric-6028973423c664e4a4626c577f4884cc4d92cbe0.tar.gz DulkirMod-Fabric-6028973423c664e4a4626c577f4884cc4d92cbe0.tar.bz2 DulkirMod-Fabric-6028973423c664e4a4626c577f4884cc4d92cbe0.zip |
performance improvements
Diffstat (limited to 'src/main/java/com/dulkirfabric')
-rw-r--r-- | src/main/java/com/dulkirfabric/mixin/render/LivingEntityMixin.java | 8 | ||||
-rw-r--r-- | src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java | 60 |
2 files changed, 2 insertions, 66 deletions
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); - } } |