Rank in TabList

This commit is contained in:
Patrick
2026-07-12 20:23:47 +02:00
parent e2aa9b79e1
commit 7f004c9932
3 changed files with 36 additions and 3 deletions
@@ -23,8 +23,6 @@ public abstract class PlayerNametagMixin<T extends Entity> {
if (entity instanceof Player player) {
UUID uuid = player.getUUID();
// TODO Check if player is online with client
String iconChar = RankHelper.getRankIcon(uuid);
if (!iconChar.trim().isEmpty()) {
MutableComponent icon = Component.literal(iconChar).setStyle(Style.EMPTY.withFont(
@@ -0,0 +1,34 @@
package de.fullrisk.citrusDev.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import de.fullrisk.citrusDev.helper.RankHelper;
import net.minecraft.client.gui.components.PlayerTabOverlay;
import net.minecraft.client.multiplayer.PlayerInfo;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FontDescription;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.Style;
import net.minecraft.resources.Identifier;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(PlayerTabOverlay.class)
public abstract class TablistMixin {
@ModifyReturnValue(method = "getNameForDisplay", at = @At("RETURN"))
private Component citrusDev$addRankIcon(Component original, PlayerInfo info) {
String iconChar = RankHelper.getRankIcon(info.getProfile().id());
if (!iconChar.trim().isEmpty()) {
MutableComponent icon = Component.literal(iconChar).setStyle(Style.EMPTY.withFont(
new FontDescription.Resource(Identifier.fromNamespaceAndPath("citrus-dev", "icon_font"))
));
MutableComponent nameWithSpace = Component.literal("")
.append(original)
.setStyle(Style.EMPTY.withFont(new FontDescription.Resource(Identifier.fromNamespaceAndPath("minecraft", "default"))));
return icon.append(nameWithSpace);
}
return original;
}
}