From 76dd1fe0a424a830c7e49c534727f2b249da81e1 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Fri, 25 Apr 2025 09:45:57 -0500 Subject: [PATCH] name icon colors --- gradle.properties | 2 +- .../saturnclient/mixin/NameTagMixin.java | 26 ++++++++++++++++++- .../saturnclient/mixin/TabListMixin.java | 22 ++++++++++++++-- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index f37aaf1..1f20bc4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.16.10 # Mod Properties - mod_version = 0.0.1-alpha0 + mod_version = 0.0.1-alpha1 maven_group = me.iipho3nix archives_base_name = saturnclient diff --git a/src/main/java/org/saturnclient/saturnclient/mixin/NameTagMixin.java b/src/main/java/org/saturnclient/saturnclient/mixin/NameTagMixin.java index e315656..01dda4a 100644 --- a/src/main/java/org/saturnclient/saturnclient/mixin/NameTagMixin.java +++ b/src/main/java/org/saturnclient/saturnclient/mixin/NameTagMixin.java @@ -10,6 +10,7 @@ import net.minecraft.client.render.entity.state.EntityRenderState; import net.minecraft.client.render.entity.state.PlayerEntityRenderState; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; import net.minecraft.util.math.Vec3d; import org.saturnclient.saturnclient.SaturnClientConfig; @@ -35,7 +36,7 @@ public abstract class NameTagMixin { private void onRenderLabelIfPresent(S state, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) { if (isSaturn(state)) { - renderLabel(state, Text.literal(SaturnClientConfig.getSaturnIndicator()).append(text), matrices, + renderLabel(state, Text.literal(SaturnClientConfig.getSaturnIndicator()).formatted(getIconColor(state)).append(text.copy().withColor(-1)), matrices, vertexConsumers, light); ci.cancel(); } @@ -50,6 +51,29 @@ public abstract class NameTagMixin { return false; } + /* + * Gets the icon color of a specific individual, here are the different colors + * + * - Owner: Dark Red + * - Admin: Red + * - Partners: Gold + * - Contributor: Aqua + * - Other/player: White + */ + private Formatting getIconColor(S state) { + if (state instanceof PlayerEntityRenderState) { + PlayerEntityRenderState playerState = ((PlayerEntityRenderState) state); + + if (playerState.name == "HexLeo") { + return Formatting.DARK_RED; // Owner + } else { + return Formatting.WHITE; + } + } + + return Formatting.WHITE; + } + private void renderLabel(S state, Text text, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light) { Vec3d vec3d = state.nameLabelPos; diff --git a/src/main/java/org/saturnclient/saturnclient/mixin/TabListMixin.java b/src/main/java/org/saturnclient/saturnclient/mixin/TabListMixin.java index 1eadb68..6c0c874 100644 --- a/src/main/java/org/saturnclient/saturnclient/mixin/TabListMixin.java +++ b/src/main/java/org/saturnclient/saturnclient/mixin/TabListMixin.java @@ -2,6 +2,8 @@ package org.saturnclient.saturnclient.mixin; import net.minecraft.client.network.PlayerListEntry; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + import org.jetbrains.annotations.Nullable; import org.saturnclient.saturnclient.SaturnClientConfig; import org.saturnclient.saturnclient.auth.Auth; @@ -29,7 +31,23 @@ public abstract class TabListMixin { String name = profile.getName(); String uuid = profile.getId().toString().replaceAll("-", ""); - return Text.literal( - Auth.players.containsKey(uuid) ? SaturnClientConfig.getSaturnIndicator() + name : name); + return Auth.players.containsKey(uuid) ? Text.literal(SaturnClientConfig.getSaturnIndicator()).formatted(getIconColor(name)).append(Text.literal(name).withColor(-1)) : Text.literal(name); + } + + /* + * Gets the icon color of a specific individual, here are the different colors + * + * - Owner: Dark Red + * - Admin: Red + * - Partners: Gold + * - Contributor: Aqua + * - Other/player: White + */ + private Formatting getIconColor(String name) { + if (name == "HexLeo") { + return Formatting.DARK_RED; // Owner + } else { + return Formatting.WHITE; + } } }