aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/dulkirfabric
diff options
context:
space:
mode:
authoringlettronald <inglettronald@gmail.com>2023-07-23 08:28:08 -0500
committeringlettronald <inglettronald@gmail.com>2023-07-23 08:28:08 -0500
commit6028973423c664e4a4626c577f4884cc4d92cbe0 (patch)
treed09fa6974290af6cac621e4a33d77a334cb2456d /src/main/java/com/dulkirfabric
parent4e8e3ae91f8be1906c298bf7b0aceb1b39d083d3 (diff)
downloadDulkirMod-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.java8
-rw-r--r--src/main/java/com/dulkirfabric/mixin/render/WorldRendererMixin.java60
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);
- }
}