Skip to content

Commit

Permalink
better nametag detection to make sure essential indicator draws on pl…
Browse files Browse the repository at this point in the history
…ayer's name
  • Loading branch information
ImToggle committed Jul 24, 2024
1 parent 517e745 commit 0d0fc1f
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 12 deletions.
4 changes: 0 additions & 4 deletions src/dummy/java/gg/essential/handlers/OnlineIndicator.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,4 @@ public class OnlineIndicator {
public static void drawNametagIndicator(UMatrixStack matrixStack, Entity entity, String str, int light) {
}

public static boolean currentlyDrawingEntityName() {
return false;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.polyfrost.polynametag.PolyNametag;
import org.polyfrost.polynametag.config.ModConfig;
import org.polyfrost.polynametag.render.NametagRenderingKt;
import org.polyfrost.polynametag.util.DummyUtilsKt;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
Expand Down Expand Up @@ -93,7 +92,8 @@ private void drawBG(Entity entityIn, String str, double x, double y, double z, i
@Inject(method = "renderLivingLabel", at = @At("HEAD"), cancellable = true)
private void move(Entity entityIn, String str, double x, double y, double z, int maxDistance, CallbackInfo ci) {
if (!ModConfig.INSTANCE.enabled) return;
PolyNametag.INSTANCE.setShouldDrawIndicator(DummyUtilsKt.currentlyDrawingEntityName() && NametagRenderingKt.canDrawIndicator(entityIn));
PolyNametag.INSTANCE.setShouldDrawIndicator(PolyNametag.INSTANCE.getDrawingPlayerName() && NametagRenderingKt.canDrawIndicator(entityIn));
PolyNametag.INSTANCE.setDrawingPlayerName(false);
if (!PolyNametag.INSTANCE.getDrawingTags() && PolyNametag.INSTANCE.getDrawingWorld()) {
PolyNametag.INSTANCE.getNametags().add(new PolyNametag.LabelInfo((Render<Entity>) (Object) this, entityIn, str, x, y, z, maxDistance));
ci.cancel();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.polyfrost.polynametag.mixin;

import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.renderer.entity.RenderPlayer;
import org.polyfrost.polynametag.PolyNametag;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

@Mixin(RenderPlayer.class)
public class RenderPlayerMixin {

@Inject(method = "renderOffsetLivingLabel(Lnet/minecraft/client/entity/AbstractClientPlayer;DDDLjava/lang/String;FD)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/RendererLivingEntity;renderOffsetLivingLabel(Lnet/minecraft/entity/Entity;DDDLjava/lang/String;FD)V"))
private void preEssential(AbstractClientPlayer entityIn, double x, double y, double z, String str, float p_177069_9_, double p_177069_10_, CallbackInfo ci) {
PolyNametag.INSTANCE.setDrawingPlayerName(true);
}
}
1 change: 1 addition & 0 deletions src/main/kotlin/org/polyfrost/polynametag/PolyNametag.kt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ object PolyNametag {

var nametags = ArrayList<Any>()

var drawingPlayerName = false
var drawingTags = false
var drawingWorld = false
var drawingInventory = false
Expand Down
6 changes: 0 additions & 6 deletions src/main/kotlin/org/polyfrost/polynametag/util/DummyUtils.kt

This file was deleted.

1 change: 1 addition & 0 deletions src/main/resources/mixins.polynametag.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"RenderAccessor",
"RendererLivingEntityMixin",
"RenderMixin",
"RenderPlayerMixin",
"essential.OnlineIndicatorMixin",
"levelhead.AboveHeadRenderMixin",
"levelhead.AboveHeadRenderMixin_ModifyArgs",
Expand Down

0 comments on commit 0d0fc1f

Please sign in to comment.