Lortseam 4 жил өмнө
parent
commit
05c1d4fca3

+ 2 - 2
gradle.properties

@@ -2,7 +2,7 @@ org.gradle.jvmargs=-Xmx1G
 
 # Fabric Properties
 minecraft_version=1.16.5
-yarn_mappings=1.16.5+build.1
+yarn_mappings=1.16.5+build.3
 loader_version=0.11.1
 
 # Mod Properties
@@ -12,6 +12,6 @@ archives_base_name=uglyscoreboardfix
 
 # Dependencies
 modmenu_version=1.14.13+build.19
-completeconfig_version=0.10.1
+completeconfig_version=0.11.0
 cloth_config_version=4.8.3
 lombok_version=1.18.16

+ 19 - 17
src/main/java/me/lortseam/uglyscoreboardfix/config/Config.java

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.NoArgsConstructor;
 import me.lortseam.completeconfig.ConfigHandler;
 import me.lortseam.completeconfig.api.ConfigEntry;
+import me.lortseam.completeconfig.api.ConfigEntryContainer;
 import me.lortseam.completeconfig.api.ConfigGroup;
 import me.lortseam.uglyscoreboardfix.HidePart;
 import me.lortseam.uglyscoreboardfix.SidebarPosition;
@@ -15,28 +16,29 @@ import net.minecraft.text.TextColor;
 import net.minecraft.util.Formatting;
 
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class Config {
+public final class Config implements ConfigEntryContainer {
 
     @Getter(AccessLevel.PACKAGE)
+    @ConfigEntry.Ignore
     private static ConfigHandler handler;
-    public static final Sidebar sidebar = new Sidebar();
 
     public static void register() {
         handler = me.lortseam.completeconfig.data.Config.builder(UglyScoreboardFix.MOD_ID)
-                .add(sidebar)
+                .add(new Config())
                 .build();
     }
 
+    @Override
+    public boolean isConfigPOJO() {
+        return true;
+    }
+
     @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();
-
         @Getter
         @ConfigEntry(comment = "RIGHT (default) or LEFT")
-        private SidebarPosition position = SidebarPosition.RIGHT;
+        private static SidebarPosition position = SidebarPosition.RIGHT;
 
         @Override
         public boolean isConfigPOJO() {
@@ -47,11 +49,11 @@ public final class Config {
         public static final class Text implements ConfigGroup {
 
             @Getter
-            private TextColor headingColor = TextColor.fromFormatting(Formatting.WHITE);
+            private static TextColor headingColor = TextColor.fromFormatting(Formatting.WHITE);
             @Getter
-            private TextColor color = TextColor.fromFormatting(Formatting.WHITE);
+            private static TextColor color = TextColor.fromFormatting(Formatting.WHITE);
             @Getter
-            private TextColor scoreColor = TextColor.fromFormatting(Formatting.RED);
+            private static TextColor scoreColor = TextColor.fromFormatting(Formatting.RED);
 
             @Override
             public boolean isConfigPOJO() {
@@ -65,10 +67,10 @@ public final class Config {
 
             @Getter
             @ConfigEntry.Color(alphaMode = true)
-            private int headingColor = 1711276032;
+            private static int headingColor = 1711276032;
             @Getter
             @ConfigEntry.Color(alphaMode = true)
-            private int color = 1275068416;
+            private static int color = 1275068416;
 
             @Override
             public boolean isConfigPOJO() {
@@ -81,12 +83,12 @@ public final class Config {
         public static final class Hiding implements ConfigGroup {
 
             @ConfigEntry(comment = "ENABLED or DISABLED or AUTO (only enabled when scores are in consecutive order)")
-            private State state = State.AUTO;
+            private static State state = State.AUTO;
             @ConfigEntry(comment = "SCORES or SIDEBAR")
-            private HidePart hidePart = HidePart.SCORES;
+            private static HidePart hidePart = HidePart.SCORES;
 
-            public boolean shouldHide(HidePart hidePart, ScoreboardObjective objective) {
-                return hidePart == this.hidePart && state.test(objective);
+            public static boolean shouldHide(HidePart part, ScoreboardObjective objective) {
+                return part == hidePart && state.test(objective);
             }
 
             @Override

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

@@ -21,29 +21,29 @@ public abstract class InGameHudMixin {
 
     @Inject(method = "renderScoreboardSidebar", at = @At("HEAD"), cancellable = true)
     private void uglyscoreboardfix$hide(MatrixStack matrices, ScoreboardObjective objective, CallbackInfo ci) {
-        if (Config.sidebar.hiding.shouldHide(HidePart.SIDEBAR, objective)) {
+        if (Config.Sidebar.Hiding.shouldHide(HidePart.SIDEBAR, objective)) {
             ci.cancel();
         }
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At("STORE"))
     private String uglyscoreboardfix$modifyScore(String score, MatrixStack matrices, ScoreboardObjective objective) {
-        return Config.sidebar.hiding.shouldHide(HidePart.SCORES, objective) ? "" : score;
+        return Config.Sidebar.Hiding.shouldHide(HidePart.SCORES, objective) ? "" : score;
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At("STORE"), ordinal = 2)
     private int uglyscoreboardfix$modifySeperatorWidth(int seperatorWidth, MatrixStack matrices, ScoreboardObjective objective) {
-        return Config.sidebar.hiding.shouldHide(HidePart.SCORES, objective) ? 0 : seperatorWidth;
+        return Config.Sidebar.Hiding.shouldHide(HidePart.SCORES, objective) ? 0 : seperatorWidth;
     }
 
     @Redirect(method = "renderScoreboardSidebar", slice = @Slice(from = @At(value = "INVOKE", target = "Ljava/util/Iterator;hasNext()Z")), at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;getWidth(Ljava/lang/String;)I", ordinal = 0))
     private int uglyscoreboardfix$modifyScoreWidth(TextRenderer textRenderer, String score, MatrixStack matrices, ScoreboardObjective objective) {
-        return Config.sidebar.hiding.shouldHide(HidePart.SCORES, objective) ? 0 : textRenderer.getWidth(score);
+        return Config.Sidebar.Hiding.shouldHide(HidePart.SCORES, objective) ? 0 : textRenderer.getWidth(score);
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE", ordinal = 0), ordinal = 5)
     private int uglyscoreboardfix$modifyX1(int x1) {
-        if (Config.sidebar.getPosition() == SidebarPosition.LEFT) {
+        if (Config.Sidebar.getPosition() == SidebarPosition.LEFT) {
             xShift = x1;
             return 2;
         }
@@ -52,7 +52,7 @@ public abstract class InGameHudMixin {
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE", ordinal = 0), ordinal = 11)
     private int uglyscoreboardfix$modifyX2(int x2) {
-        if (Config.sidebar.getPosition() == SidebarPosition.LEFT) {
+        if (Config.Sidebar.getPosition() == SidebarPosition.LEFT) {
             return x2 - xShift;
         }
         return x2;
@@ -60,27 +60,27 @@ public abstract class InGameHudMixin {
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE", ordinal = 0), ordinal = 8)
     private int uglyscoreboardfix$modifyHeadingBackgroundColor(int color) {
-        return Config.sidebar.background.getHeadingColor();
+        return Config.Sidebar.Background.getHeadingColor();
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE", ordinal = 0), ordinal = 7)
     private int uglyscoreboardfix$modifyBackgroundColor(int color) {
-        return Config.sidebar.background.getColor();
+        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();
+        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();
+        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());
+        return textRenderer.draw(matrices, Formatting.strip(text), x, y, Config.Sidebar.Text.getScoreColor().getRgb());
     }
 
 }