Parcourir la source

Change text color

Lortseam il y a 4 ans
Parent
commit
59a12b80aa

+ 20 - 0
src/main/java/me/lortseam/uglyscoreboardfix/config/Config.java

@@ -11,6 +11,8 @@ import me.lortseam.uglyscoreboardfix.SidebarPosition;
 import me.lortseam.uglyscoreboardfix.UglyScoreboardFix;
 import net.minecraft.scoreboard.ScoreboardObjective;
 import net.minecraft.scoreboard.ScoreboardPlayerScore;
+import net.minecraft.text.TextColor;
+import net.minecraft.util.Formatting;
 
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class Config {
@@ -28,6 +30,7 @@ public final class Config {
     @NoArgsConstructor(access = AccessLevel.PRIVATE)
     public static final class Sidebar implements ConfigGroup {
 
+        public final Text text = new Text();
         public final Background background = new Background();
         public final Hiding hiding = new Hiding();
 
@@ -40,6 +43,23 @@ public final class Config {
             return true;
         }
 
+        @NoArgsConstructor(access = AccessLevel.PRIVATE)
+        public static final class Text implements ConfigGroup {
+
+            @Getter
+            private TextColor headingColor = TextColor.fromFormatting(Formatting.WHITE);
+            @Getter
+            private TextColor color = TextColor.fromFormatting(Formatting.WHITE);
+            @Getter
+            private TextColor scoreColor = TextColor.fromFormatting(Formatting.RED);
+
+            @Override
+            public boolean isConfigPOJO() {
+                return true;
+            }
+
+        }
+
         @NoArgsConstructor(access = AccessLevel.PRIVATE)
         public static final class Background implements ConfigGroup {
 

+ 17 - 1
src/main/java/me/lortseam/uglyscoreboardfix/mixin/InGameHudMixin.java

@@ -7,6 +7,7 @@ import net.minecraft.client.font.TextRenderer;
 import net.minecraft.client.gui.hud.InGameHud;
 import net.minecraft.client.util.math.MatrixStack;
 import net.minecraft.scoreboard.ScoreboardObjective;
+import net.minecraft.util.Formatting;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Unique;
 import org.spongepowered.asm.mixin.injection.*;
@@ -58,7 +59,7 @@ public abstract class InGameHudMixin {
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE", ordinal = 0), ordinal = 8)
-    private int uglyscoreboardfix$modifyBackgroundHeadingColor(int color) {
+    private int uglyscoreboardfix$modifyHeadingBackgroundColor(int color) {
         return Config.sidebar.background.getHeadingColor();
     }
 
@@ -67,4 +68,19 @@ public abstract class InGameHudMixin {
         return Config.sidebar.background.getColor();
     }
 
+    @ModifyArg(method = "renderScoreboardSidebar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/text/Text;FFI)I", ordinal = 1), index = 4)
+    private int uglyscoreboardfix$modifyHeadingColor(int color) {
+        return Config.sidebar.text.getHeadingColor().getRgb();
+    }
+
+    @ModifyArg(method = "renderScoreboardSidebar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/text/Text;FFI)I", ordinal = 0), index = 4)
+    private int uglyscoreboardfix$modifyTextColor(int color) {
+        return Config.sidebar.text.getColor().getRgb();
+    }
+
+    @Redirect(method = "renderScoreboardSidebar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/client/util/math/MatrixStack;Ljava/lang/String;FFI)I", ordinal = 0))
+    private int uglyscoreboardfix$modifyScoreColor(TextRenderer textRenderer, MatrixStack matrices, String text, float x, float y, int color) {
+        return textRenderer.draw(matrices, Formatting.strip(text), x, y, Config.sidebar.text.getScoreColor().getRgb());
+    }
+
 }

+ 6 - 2
src/main/resources/assets/uglyscoreboardfix/lang/de_de.json

@@ -16,7 +16,11 @@
   "config.uglyscoreboardfix.sidebar.position": "Position der Sidebar",
   "config.uglyscoreboardfix.sidebar.position.right": "Rechts",
   "config.uglyscoreboardfix.sidebar.position.left": "Links",
+  "config.uglyscoreboardfix.sidebar.text": "Text",
+  "config.uglyscoreboardfix.sidebar.text.headingColor": "Farbe der Überschrift",
+  "config.uglyscoreboardfix.sidebar.text.color": "Textfarbe",
+  "config.uglyscoreboardfix.sidebar.text.scoreColor": "Farbe der Punkte",
   "config.uglyscoreboardfix.sidebar.background": "Hintegrund",
-  "config.uglyscoreboardfix.sidebar.background.headingColor": "Farbe der Überschrift",
-  "config.uglyscoreboardfix.sidebar.background.color": "Farbe"
+  "config.uglyscoreboardfix.sidebar.background.headingColor": "Hintergrundfarbe der Überschrift",
+  "config.uglyscoreboardfix.sidebar.background.color": "Hintergrundfarbe"
 }

+ 6 - 2
src/main/resources/assets/uglyscoreboardfix/lang/en_us.json

@@ -16,7 +16,11 @@
   "config.uglyscoreboardfix.sidebar.position": "Sidebar position",
   "config.uglyscoreboardfix.sidebar.position.right": "Right",
   "config.uglyscoreboardfix.sidebar.position.left": "Left",
+  "config.uglyscoreboardfix.sidebar.text": "Text",
+  "config.uglyscoreboardfix.sidebar.text.headingColor": "Heading color",
+  "config.uglyscoreboardfix.sidebar.text.color": "Text color",
+  "config.uglyscoreboardfix.sidebar.text.scoreColor": "Score color",
   "config.uglyscoreboardfix.sidebar.background": "Background",
-  "config.uglyscoreboardfix.sidebar.background.headingColor": "Heading color",
-  "config.uglyscoreboardfix.sidebar.background.color": "Color"
+  "config.uglyscoreboardfix.sidebar.background.headingColor": "Heading background color",
+  "config.uglyscoreboardfix.sidebar.background.color": "Background color"
 }