diff --git a/resources/lang/en.json b/resources/lang/en.json
index da3ae5706..afc4e8bf0 100644
--- a/resources/lang/en.json
+++ b/resources/lang/en.json
@@ -923,6 +923,10 @@
"name_scale_label": "Name Scale",
"name_cull_label": "Minimum name size",
"name_cull_desc": "Hide names smaller than this size",
+ "colored_names_label": "Name color",
+ "colored_names_desc": "Show player names in their player color or in black",
+ "colored": "Colored",
+ "black": "Black",
"reset_label": "Reset to defaults",
"reset_desc": "Clear all graphics overrides"
},
diff --git a/src/client/hud/layers/GraphicsSettingsModal.ts b/src/client/hud/layers/GraphicsSettingsModal.ts
index 969691edb..7219e0dde 100644
--- a/src/client/hud/layers/GraphicsSettingsModal.ts
+++ b/src/client/hud/layers/GraphicsSettingsModal.ts
@@ -137,6 +137,17 @@ export class GraphicsSettingsModal extends LitElement implements Controller {
this.patchName({ cullThreshold: value });
}
+ private currentDarkNames(): boolean {
+ return (
+ this.userSettings.graphicsOverrides().name?.darkNames ??
+ !renderDefaults.name.fillUsePlayerColor
+ );
+ }
+
+ private onToggleNamesColored() {
+ this.patchName({ darkNames: !this.currentDarkNames() });
+ }
+
private onResetClick() {
this.userSettings.setGraphicsOverrides({});
this.requestUpdate();
@@ -147,6 +158,7 @@ export class GraphicsSettingsModal extends LitElement implements Controller {
const nameScale = this.currentNameScale();
const nameCull = this.currentNameCull();
+ const namesColored = !this.currentDarkNames();
return html`
+
+