Fix hiding of player nametags on 1.21.9+

This commit is contained in:
Jonas Herzig
2025-12-16 15:26:44 +01:00
parent dad0ac18a3
commit a5dec5db25
3 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
package com.replaymod.render.mixin;
import net.minecraft.client.render.entity.PlayerEntityRenderer;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(PlayerEntityRenderer.class)
public abstract class Mixin_HideNameTags_PlayerEntity {
// 1.21.9 and above
}

View File

@@ -23,6 +23,7 @@
"Mixin_ForceChunkLoading", "Mixin_ForceChunkLoading",
"Mixin_HideNameTags", "Mixin_HideNameTags",
"Mixin_HideNameTags_LivingEntity", "Mixin_HideNameTags_LivingEntity",
"Mixin_HideNameTags_PlayerEntity",
"Mixin_Omnidirectional_Camera", "Mixin_Omnidirectional_Camera",
"Mixin_Omnidirectional_Rotation", "Mixin_Omnidirectional_Rotation",
"Mixin_PreserveDepthDuringGuiRendering", "Mixin_PreserveDepthDuringGuiRendering",

View File

@@ -0,0 +1,20 @@
package com.replaymod.render.mixin;
import com.replaymod.core.versions.MCVer;
import com.replaymod.render.hooks.EntityRendererHandler;
import net.minecraft.client.render.entity.PlayerEntityRenderer;
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(PlayerEntityRenderer.class)
public abstract class Mixin_HideNameTags_PlayerEntity {
@Inject(method = "renderLabelIfPresent(Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", at = @At("HEAD"), cancellable = true)
private void replayModRender_areAllNamesHidden(CallbackInfo ci) {
EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MCVer.getMinecraft().gameRenderer).replayModRender_getHandler();
if (handler != null && !handler.getSettings().isRenderNameTags()) {
ci.cancel();
}
}
}