Ver código fonte

Make Mod Menu and the config GUI optional

Lortseam 4 anos atrás
pai
commit
89a61aa7b2

+ 4 - 4
gradle.properties

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

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

@@ -1,26 +1,18 @@
 package me.lortseam.uglyscoreboardfix;
 package me.lortseam.uglyscoreboardfix;
 
 
-import io.github.prospector.modmenu.api.ConfigScreenFactory;
-import io.github.prospector.modmenu.api.ModMenuApi;
-import me.lortseam.completeconfig.ConfigBuilder;
-import me.lortseam.completeconfig.ConfigHandler;
-import me.lortseam.completeconfig.api.ConfigOwner;
+import me.lortseam.uglyscoreboardfix.config.Config;
+import net.fabricmc.api.ClientModInitializer;
 import net.fabricmc.api.EnvType;
 import net.fabricmc.api.EnvType;
 import net.fabricmc.api.Environment;
 import net.fabricmc.api.Environment;
 
 
 @Environment(EnvType.CLIENT)
 @Environment(EnvType.CLIENT)
-public class UglyScoreboardFix implements ConfigOwner, ModMenuApi {
+public class UglyScoreboardFix implements ClientModInitializer {
 
 
-    private static ConfigHandler configHandler;
+    public static final String MOD_ID = "uglyscoreboardfix";
 
 
     @Override
     @Override
-    public void onInitializeClientConfig(ConfigBuilder builder) {
-        configHandler = builder.add(Config.SIDEBAR).finish();
-    }
-
-    @Override
-    public ConfigScreenFactory<?> getModConfigScreenFactory() {
-        return parent -> configHandler.buildScreen(parent);
+    public void onInitializeClient() {
+        Config.register();
     }
     }
 
 
 }
 }

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

@@ -1,23 +1,37 @@
-package me.lortseam.uglyscoreboardfix;
+package me.lortseam.uglyscoreboardfix.config;
 
 
 import lombok.AccessLevel;
 import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
-import me.lortseam.completeconfig.api.ConfigCategory;
+import me.lortseam.completeconfig.ConfigHandler;
+import me.lortseam.completeconfig.api.ConfigEntry;
+import me.lortseam.completeconfig.api.ConfigGroup;
+import me.lortseam.uglyscoreboardfix.HidePart;
+import me.lortseam.uglyscoreboardfix.SidebarPosition;
+import me.lortseam.uglyscoreboardfix.UglyScoreboardFix;
 import net.minecraft.scoreboard.ScoreboardObjective;
 import net.minecraft.scoreboard.ScoreboardObjective;
 import net.minecraft.scoreboard.ScoreboardPlayerScore;
 import net.minecraft.scoreboard.ScoreboardPlayerScore;
 
 
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class Config {
 public final class Config {
 
 
+    @Getter(AccessLevel.PACKAGE)
+    private static ConfigHandler handler;
     public static final Sidebar SIDEBAR = new Sidebar();
     public static final Sidebar SIDEBAR = new Sidebar();
 
 
+    public static void register() {
+        handler = me.lortseam.completeconfig.data.Config.builder(UglyScoreboardFix.MOD_ID)
+                .add(SIDEBAR)
+                .build();
+    }
+
     @NoArgsConstructor(access = AccessLevel.PRIVATE)
     @NoArgsConstructor(access = AccessLevel.PRIVATE)
-    public static final class Sidebar implements ConfigCategory {
+    public static final class Sidebar implements ConfigGroup {
 
 
         public final Hiding HIDING = new Hiding();
         public final Hiding HIDING = new Hiding();
 
 
         @Getter
         @Getter
+        @ConfigEntry(comment = "RIGHT (default) or LEFT")
         private SidebarPosition position = SidebarPosition.RIGHT;
         private SidebarPosition position = SidebarPosition.RIGHT;
 
 
         @Override
         @Override
@@ -26,9 +40,11 @@ public final class Config {
         }
         }
 
 
         @NoArgsConstructor(access = AccessLevel.PRIVATE)
         @NoArgsConstructor(access = AccessLevel.PRIVATE)
-        public static final class Hiding implements ConfigCategory {
+        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 State state = State.AUTO;
+            @ConfigEntry(comment = "SCORES or SIDEBAR")
             private HidePart hidePart = HidePart.SCORES;
             private HidePart hidePart = HidePart.SCORES;
 
 
             public boolean shouldHide(HidePart hidePart, ScoreboardObjective objective) {
             public boolean shouldHide(HidePart hidePart, ScoreboardObjective objective) {

+ 13 - 0
src/main/java/me/lortseam/uglyscoreboardfix/config/ModMenuIntegration.java

@@ -0,0 +1,13 @@
+package me.lortseam.uglyscoreboardfix.config;
+
+import io.github.prospector.modmenu.api.ConfigScreenFactory;
+import io.github.prospector.modmenu.api.ModMenuApi;
+
+public class ModMenuIntegration implements ModMenuApi {
+
+    @Override
+    public ConfigScreenFactory<?> getModConfigScreenFactory() {
+        return parent -> Config.getHandler().buildScreen(parent);
+    }
+
+}

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

@@ -1,6 +1,6 @@
 package me.lortseam.uglyscoreboardfix.mixin;
 package me.lortseam.uglyscoreboardfix.mixin;
 
 
-import me.lortseam.uglyscoreboardfix.Config;
+import me.lortseam.uglyscoreboardfix.config.Config;
 import me.lortseam.uglyscoreboardfix.HidePart;
 import me.lortseam.uglyscoreboardfix.HidePart;
 import me.lortseam.uglyscoreboardfix.SidebarPosition;
 import me.lortseam.uglyscoreboardfix.SidebarPosition;
 import net.minecraft.client.font.TextRenderer;
 import net.minecraft.client.font.TextRenderer;

+ 5 - 3
src/main/resources/fabric.mod.json

@@ -15,11 +15,11 @@
   "license": "Apache-2.0",
   "license": "Apache-2.0",
   "environment": "client",
   "environment": "client",
   "entrypoints": {
   "entrypoints": {
-    "completeconfig": [
+    "client": [
       "me.lortseam.uglyscoreboardfix.UglyScoreboardFix"
       "me.lortseam.uglyscoreboardfix.UglyScoreboardFix"
     ],
     ],
     "modmenu": [
     "modmenu": [
-      "me.lortseam.uglyscoreboardfix.UglyScoreboardFix"
+      "me.lortseam.uglyscoreboardfix.config.ModMenuIntegration"
     ]
     ]
   },
   },
   "mixins": [
   "mixins": [
@@ -29,7 +29,9 @@
     }
     }
   ],
   ],
   "depends": {
   "depends": {
-    "fabricloader": ">=0.7.4",
+    "fabricloader": ">=0.7.4"
+  },
+  "suggests": {
     "modmenu": "*"
     "modmenu": "*"
   }
   }
 }
 }