Ver Fonte

[WIP] Entrypoint initialization

Lortseam há 4 anos atrás
pai
commit
1a2198f128

+ 2 - 2
src/main/java/me/lortseam/completeconfig/ClientConfigManager.java → src/main/java/me/lortseam/completeconfig/ClientConfigHandler.java

@@ -7,11 +7,11 @@ import net.minecraft.client.gui.screen.Screen;
 
 import java.util.Objects;
 
-public final class ClientConfigManager extends ConfigManager {
+public final class ClientConfigHandler extends ConfigHandler {
 
     private GuiBuilder guiBuilder;
 
-    ClientConfigManager(String modID) {
+    ClientConfigHandler(String modID) {
         super(modID);
     }
 

+ 8 - 8
src/main/java/me/lortseam/completeconfig/CompleteConfig.java

@@ -11,11 +11,11 @@ import java.util.Optional;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class CompleteConfig {
 
-    private static final HashMap<String, ConfigManager> MANAGERS = new HashMap<>();
+    private static final HashMap<String, ConfigHandler> MANAGERS = new HashMap<>();
 
     static {
         Runtime.getRuntime().addShutdownHook(new Thread(() -> {
-            for (ConfigManager manager : MANAGERS.values()) {
+            for (ConfigHandler manager : MANAGERS.values()) {
                 manager.save();
             }
         }));
@@ -25,21 +25,21 @@ public final class CompleteConfig {
      * Registers a mod.
      *
      * @param modID      The ID of the mod
-     * @return The {@link ConfigManager} for the newly registered mod
+     * @return The {@link ConfigHandler} for the newly registered mod
      */
-    public static ConfigManager register(String modID) {
+    public static ConfigHandler register(String modID) {
         Objects.requireNonNull(modID);
         if (MANAGERS.containsKey(modID)) {
             throw new IllegalArgumentException("A manager with this mod ID is already registered");
         }
-        ConfigManager manager;
+        ConfigHandler manager;
         switch (FabricLoader.getInstance().getEnvironmentType()) {
             case CLIENT:
-                manager = new ClientConfigManager(modID);
+                manager = new ClientConfigHandler(modID);
                 break;
 
             case SERVER:
-                manager = new ServerConfigManager(modID);
+                manager = new ServerConfigHandler(modID);
                 break;
 
             default:
@@ -49,7 +49,7 @@ public final class CompleteConfig {
         return manager;
     }
 
-    static Optional<ConfigManager> getManager(String modID) {
+    static Optional<ConfigHandler> getManager(String modID) {
         return Optional.ofNullable(MANAGERS.get(modID));
     }
 

+ 32 - 0
src/main/java/me/lortseam/completeconfig/ConfigCreator.java

@@ -0,0 +1,32 @@
+package me.lortseam.completeconfig;
+
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
+import net.fabricmc.loader.api.FabricLoader;
+
+public final class ConfigCreator {
+
+    @Environment(EnvType.CLIENT)
+    public ClientConfigHandler clientConfig() {
+
+    }
+
+    @Environment(EnvType.SERVER)
+    public ServerConfigHandler serverConfig() {
+
+    }
+
+    public ConfigHandler config() {
+        switch (FabricLoader.getInstance().getEnvironmentType()) {
+            case CLIENT:
+                return clientConfig();
+
+            case SERVER:
+                return serverConfig();
+
+            default:
+                //TODO
+        }
+    }
+
+}

+ 13 - 13
src/main/java/me/lortseam/completeconfig/ConfigManager.java → src/main/java/me/lortseam/completeconfig/ConfigHandler.java

@@ -22,7 +22,7 @@ import java.util.Optional;
 /**
  * Main interaction class for using the CompleteConfig API. References a single mod.
  */
-public abstract class ConfigManager {
+public abstract class ConfigHandler {
 
     private static final Gson GSON = new GsonBuilder()
             .registerTypeAdapter(CollectionSerializer.TYPE, new CollectionSerializer())
@@ -36,38 +36,38 @@ public abstract class ConfigManager {
     protected final Config config;
 
     /**
-     * Gets the {@link ConfigManager} for the specified mod if that mod was registered before.
+     * Gets the {@link ConfigHandler} for the specified mod if that mod was registered before.
      *
      * @param modID The ID of the mod
-     * @return The {@link ConfigManager} if one was found or else an empty result
+     * @return The {@link ConfigHandler} if one was found or else an empty result
      */
-    public static Optional<ConfigManager> of(String modID) {
+    public static Optional<ConfigHandler> of(String modID) {
         return CompleteConfig.getManager(modID);
     }
 
     /**
-     * Gets the {@link ClientConfigManager} for the specified mod if that mod was registered before.
+     * Gets the {@link ClientConfigHandler} for the specified mod if that mod was registered before.
      *
      * @param modID The ID of the mod
-     * @return The {@link ClientConfigManager} if one was found or else an empty result
+     * @return The {@link ClientConfigHandler} if one was found or else an empty result
      */
     @Environment(EnvType.CLIENT)
-    public static Optional<ClientConfigManager> ofClient(String modID) {
-        return of(modID).map(manager -> (ClientConfigManager) manager);
+    public static Optional<ClientConfigHandler> ofClient(String modID) {
+        return of(modID).map(manager -> (ClientConfigHandler) manager);
     }
 
     /**
-     * Gets the {@link ServerConfigManager} for the specified mod if that mod was registered before.
+     * Gets the {@link ServerConfigHandler} for the specified mod if that mod was registered before.
      *
      * @param modID The ID of the mod
-     * @return The {@link ServerConfigManager} if one was found or else an empty result
+     * @return The {@link ServerConfigHandler} if one was found or else an empty result
      */
     @Environment(EnvType.SERVER)
-    public static Optional<ServerConfigManager> ofServer(String modID) {
-        return of(modID).map(manager -> (ServerConfigManager) manager);
+    public static Optional<ServerConfigHandler> ofServer(String modID) {
+        return of(modID).map(manager -> (ServerConfigHandler) manager);
     }
 
-    ConfigManager(String modID) {
+    ConfigHandler(String modID) {
         this.modID = modID;
         jsonPath = Paths.get(FabricLoader.getInstance().getConfigDir().toString(), modID + ".json");
         config = new Config(modID, load());

+ 9 - 0
src/main/java/me/lortseam/completeconfig/ServerConfigHandler.java

@@ -0,0 +1,9 @@
+package me.lortseam.completeconfig;
+
+public final class ServerConfigHandler extends ConfigHandler {
+
+    ServerConfigHandler(String modID) {
+        super(modID);
+    }
+
+}

+ 0 - 9
src/main/java/me/lortseam/completeconfig/ServerConfigManager.java

@@ -1,9 +0,0 @@
-package me.lortseam.completeconfig;
-
-public final class ServerConfigManager extends ConfigManager {
-
-    ServerConfigManager(String modID) {
-        super(modID);
-    }
-
-}

+ 9 - 0
src/main/java/me/lortseam/completeconfig/api/ConfigHolder.java

@@ -0,0 +1,9 @@
+package me.lortseam.completeconfig.api;
+
+public interface ConfigHolder {
+
+    default void createClientConfig() {
+
+    }
+
+}