Explorar el Código

Config refactor

Lortseam hace 4 años
padre
commit
3b3d784d66

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

@@ -0,0 +1,59 @@
+package me.lortseam.uglyscoreboardfix;
+
+import lombok.Getter;
+import me.lortseam.completeconfig.api.ConfigCategory;
+import net.minecraft.scoreboard.ScoreboardObjective;
+import net.minecraft.scoreboard.ScoreboardPlayerScore;
+
+public final class Config implements ConfigCategory {
+
+    @Getter
+    private Type type = Type.CONSECUTIVE_ORDER;
+    @Getter
+    private Hide hide = Hide.SCORES;
+
+    @Override
+    public boolean isConfigPOJO() {
+        return true;
+    }
+
+    public enum Hide {
+
+        SIDEBAR, SCORES
+
+    }
+
+    public enum Type {
+
+        ALWAYS() {
+            @Override
+            boolean test(ScoreboardObjective objective) {
+                return true;
+            }
+        },
+        CONSECUTIVE_ORDER() {
+            @Override
+            boolean test(ScoreboardObjective objective) {
+                int[] scores = objective.getScoreboard().getAllPlayerScores(objective).stream().mapToInt(ScoreboardPlayerScore::getScore).toArray();
+                if (scores.length >= 2) {
+                    for (int i = 1; i < scores.length; i++) {
+                        if (scores[i - 1] + 1 != scores[i]) {
+                            return false;
+                        }
+                    }
+                }
+                return true;
+            }
+        },
+        DISABLED() {
+            @Override
+            boolean test(ScoreboardObjective objective) {
+                return false;
+            }
+        };
+
+        abstract boolean test(ScoreboardObjective objective);
+
+    }
+
+}

+ 0 - 7
src/main/java/me/lortseam/uglyscoreboardfix/Hide.java

@@ -1,7 +0,0 @@
-package me.lortseam.uglyscoreboardfix;
-
-public enum Hide {
-
-    SIDEBAR, SCORES
-
-}

+ 0 - 37
src/main/java/me/lortseam/uglyscoreboardfix/Type.java

@@ -1,37 +0,0 @@
-package me.lortseam.uglyscoreboardfix;
-
-import net.minecraft.scoreboard.ScoreboardObjective;
-import net.minecraft.scoreboard.ScoreboardPlayerScore;
-
-public enum Type {
-
-    ALWAYS() {
-        @Override
-        boolean test(ScoreboardObjective objective) {
-            return true;
-        }
-    },
-    CONSECUTIVE_ORDER() {
-        @Override
-        boolean test(ScoreboardObjective objective) {
-            int[] scores = objective.getScoreboard().getAllPlayerScores(objective).stream().mapToInt(ScoreboardPlayerScore::getScore).toArray();
-            if (scores.length >= 2) {
-                for (int i = 1; i < scores.length; i++) {
-                    if (scores[i - 1] + 1 != scores[i]) {
-                        return false;
-                    }
-                }
-            }
-            return true;
-        }
-    },
-    DISABLED() {
-        @Override
-        boolean test(ScoreboardObjective objective) {
-            return false;
-        }
-    };
-
-    abstract boolean test(ScoreboardObjective objective);
-
-}

+ 6 - 9
src/main/java/me/lortseam/uglyscoreboardfix/UglyScoreboardFix.java

@@ -12,24 +12,21 @@ import net.fabricmc.api.Environment;
 import net.minecraft.scoreboard.ScoreboardObjective;
 
 @Environment(EnvType.CLIENT)
-public class UglyScoreboardFix implements ConfigOwner, ConfigCategory, ModMenuApi {
+public class UglyScoreboardFix implements ConfigOwner, ModMenuApi {
 
+    private static Config config = new Config();
     private static ConfigHandler configHandler;
-    @ConfigEntry
-    private static Type type = Type.CONSECUTIVE_ORDER;
-    @ConfigEntry
-    private static Hide hide = Hide.SCORES;
 
-    public static Hide getHide(ScoreboardObjective objective) {
-        if (!type.test(objective)) {
+    public static Config.Hide determineFix(ScoreboardObjective objective) {
+        if (!config.getType().test(objective)) {
             return null;
         }
-        return hide;
+        return config.getHide();
     }
 
     @Override
     public void onInitializeClientConfig(ConfigBuilder builder) {
-        configHandler = builder.add(this).finish();
+        configHandler = builder.add(config).finish();
     }
 
     @Override

+ 5 - 5
src/main/java/me/lortseam/uglyscoreboardfix/mixin/MixinInGameHud.java

@@ -1,6 +1,6 @@
 package me.lortseam.uglyscoreboardfix.mixin;
 
-import me.lortseam.uglyscoreboardfix.Hide;
+import me.lortseam.uglyscoreboardfix.Config;
 import me.lortseam.uglyscoreboardfix.UglyScoreboardFix;
 import net.minecraft.client.font.TextRenderer;
 import net.minecraft.client.gui.hud.InGameHud;
@@ -18,24 +18,24 @@ public abstract class MixinInGameHud {
 
     @Inject(method = "renderScoreboardSidebar", at = @At("HEAD"), cancellable = true)
     private void uglyscoreboardfix$modifySidebar(MatrixStack matrices, ScoreboardObjective objective, CallbackInfo ci) {
-        if (UglyScoreboardFix.getHide(objective) == Hide.SIDEBAR) {
+        if (UglyScoreboardFix.determineFix(objective) == Config.Hide.SIDEBAR) {
             ci.cancel();
         }
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE"))
     private String uglyscoreboardfix$modifyScore(String score, MatrixStack matrices, ScoreboardObjective objective) {
-        return UglyScoreboardFix.getHide(objective) == Hide.SCORES ? "" : score;
+        return UglyScoreboardFix.determineFix(objective) == Config.Hide.SCORES ? "" : score;
     }
 
     @ModifyVariable(method = "renderScoreboardSidebar", at = @At(value = "STORE"), ordinal = 2)
     private int uglyscoreboardfix$modifySeperatorWidth(int seperatorWidth, MatrixStack matrices, ScoreboardObjective objective) {
-        return UglyScoreboardFix.getHide(objective) == Hide.SCORES ? 0 : seperatorWidth;
+        return UglyScoreboardFix.determineFix(objective) == Config.Hide.SCORES ? 0 : seperatorWidth;
     }
 
     @Redirect(method = "renderScoreboardSidebar", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;getWidth(Ljava/lang/String;)I", ordinal = 1))
     private int uglyscoreboardfix$modifyScoreWidth(TextRenderer textRenderer, String score, MatrixStack matrices, ScoreboardObjective objective) {
-        return UglyScoreboardFix.getHide(objective) == Hide.SCORES ? 0 : textRenderer.getWidth(score);
+        return UglyScoreboardFix.determineFix(objective) == Config.Hide.SCORES ? 0 : textRenderer.getWidth(score);
     }
 
 }

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

@@ -1,10 +1,10 @@
 {
   "config.uglyscoreboardfix.title": "Ugly Scoreboard Fix Konfiguration",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide": "Verstecke",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide.scores": "Punkte",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide.sidebar": "Sidebar",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type": "Typ",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.always": "Immer",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.consecutiveOrder": "Aufeinanderfolgende Reihenfolge",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.disabled": "Deaktiviert"
+  "config.uglyscoreboardfix.config.hide": "Verstecke",
+  "config.uglyscoreboardfix.config.hide.scores": "Punkte",
+  "config.uglyscoreboardfix.config.hide.sidebar": "Sidebar",
+  "config.uglyscoreboardfix.config.type": "Typ",
+  "config.uglyscoreboardfix.config.type.always": "Immer",
+  "config.uglyscoreboardfix.config.type.consecutiveOrder": "Aufeinanderfolgende Reihenfolge",
+  "config.uglyscoreboardfix.config.type.disabled": "Deaktiviert"
 }

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

@@ -1,10 +1,10 @@
 {
   "config.uglyscoreboardfix.title": "Ugly Scoreboard Fix Configuration",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide": "Hide",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide.scores": "Scores",
-  "config.uglyscoreboardfix.uglyScoreboardFix.hide.sidebar": "Sidebar",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type": "Type",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.always": "Always",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.consecutiveOrder": "Consecutive order",
-  "config.uglyscoreboardfix.uglyScoreboardFix.type.disabled": "Disabled"
+  "config.uglyscoreboardfix.config.hide": "Hide",
+  "config.uglyscoreboardfix.config.hide.scores": "Scores",
+  "config.uglyscoreboardfix.config.hide.sidebar": "Sidebar",
+  "config.uglyscoreboardfix.config.type": "Type",
+  "config.uglyscoreboardfix.config.type.always": "Always",
+  "config.uglyscoreboardfix.config.type.consecutiveOrder": "Consecutive order",
+  "config.uglyscoreboardfix.config.type.disabled": "Disabled"
 }