aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-04-19 18:06:46 -0400
committerGitHub <noreply@github.com>2024-04-19 18:06:46 -0400
commit89039bbfbc4d186e97c1fee6eb809d75b4e4bd3a (patch)
treee6126a48b9526eeeb96cb88d6a213edec5969f28 /src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
parentfac81da70944ac33f4c8d095445da1f04e3db76a (diff)
downloadSkyblocker-89039bbfbc4d186e97c1fee6eb809d75b4e4bd3a.tar.gz
Skyblocker-89039bbfbc4d186e97c1fee6eb809d75b4e4bd3a.tar.bz2
Skyblocker-89039bbfbc4d186e97c1fee6eb809d75b4e4bd3a.zip
Prevent teammates glow during Livid (#652)
Add DungeonBoss and prevent teammates glow during Livid
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java b/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
index 42601546..b0829942 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/WorldRendererMixin.java
@@ -1,5 +1,6 @@
package de.hysky.skyblocker.mixin;
+import de.hysky.skyblocker.skyblock.dungeon.LividColor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@@ -12,17 +13,22 @@ import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef;
import de.hysky.skyblocker.skyblock.entity.MobGlow;
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.entity.Entity;
+import org.spongepowered.asm.mixin.injection.Slice;
@Mixin(WorldRenderer.class)
public class WorldRendererMixin {
@ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;hasOutline(Lnet/minecraft/entity/Entity;)Z"))
private boolean skyblocker$shouldMobGlow(boolean original, @Local Entity entity, @Share("hasCustomGlow") LocalBooleanRef hasCustomGlow) {
+ boolean allowGlow = LividColor.allowGlow();
boolean shouldGlow = MobGlow.shouldMobGlow(entity);
hasCustomGlow.set(shouldGlow);
- return original || shouldGlow;
+ return allowGlow && original || shouldGlow;
}
- @ModifyVariable(method = "render", at = @At("STORE"), ordinal = 0)
+ @ModifyVariable(method = "render",
+ slice = @Slice(from = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;hasOutline(Lnet/minecraft/entity/Entity;)Z"), to = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/OutlineVertexConsumerProvider;setColor(IIII)V")),
+ at = @At("STORE"), ordinal = 0
+ )
private int skyblocker$modifyGlowColor(int color, @Local Entity entity, @Share("hasCustomGlow") LocalBooleanRef hasCustomGlow) {
return hasCustomGlow.get() ? MobGlow.getGlowColor(entity) : color;
}