Răsfoiți Sursa

We don't really need config specific type serializers

Lortseam 4 ani în urmă
părinte
comite
3b52acd4db

+ 0 - 4
src/main/java/me/lortseam/completeconfig/ModController.java

@@ -1,7 +1,6 @@
 package me.lortseam.completeconfig;
 
 import lombok.Getter;
-import me.lortseam.completeconfig.data.Config;
 import me.lortseam.completeconfig.util.TypeUtils;
 import net.fabricmc.loader.api.FabricLoader;
 import net.fabricmc.loader.api.ModContainer;
@@ -68,9 +67,6 @@ public final class ModController {
     /**
      * Registers custom type serializers, applied to all following mod configs.
      *
-     * <p>To register type serializers for a specific config only, use
-     * {@link Config.Builder#registerTypeSerializers(TypeSerializerCollection)}.
-     *
      * @param typeSerializers the type serializers
      */
     public void registerTypeSerializers(TypeSerializerCollection typeSerializers) {

+ 3 - 19
src/main/java/me/lortseam/completeconfig/data/Config.java

@@ -2,11 +2,10 @@ package me.lortseam.completeconfig.data;
 
 import me.lortseam.completeconfig.ConfigHandler;
 import me.lortseam.completeconfig.ModController;
-import me.lortseam.completeconfig.gui.GuiBuilder;
-import me.lortseam.completeconfig.io.ConfigSource;
 import me.lortseam.completeconfig.api.ConfigGroup;
 import me.lortseam.completeconfig.data.text.TranslationIdentifier;
-import me.lortseam.completeconfig.util.TypeUtils;
+import me.lortseam.completeconfig.gui.GuiBuilder;
+import me.lortseam.completeconfig.io.ConfigSource;
 import net.fabricmc.api.EnvType;
 import net.fabricmc.api.Environment;
 import org.apache.logging.log4j.LogManager;
@@ -62,7 +61,6 @@ public class Config extends CollectionMap {
         private final String modID;
         private String[] branch = new String[0];
         private final List<ConfigGroup> topLevelGroups = new ArrayList<>();
-        private TypeSerializerCollection typeSerializers;
         private GuiBuilder guiBuilder;
 
         private Builder(String modID) {
@@ -94,20 +92,6 @@ public class Config extends CollectionMap {
             return this;
         }
 
-        /**
-         * Registers custom type serializers, applied only to this config.
-         *
-         * <p>To register type serializers for every config of your mod, use
-         * {@link ModController#registerTypeSerializers(TypeSerializerCollection)}.
-         *
-         * @param typeSerializers the type serializers
-         * @return this builder
-         */
-        public Builder registerTypeSerializers(TypeSerializerCollection typeSerializers) {
-            this.typeSerializers = TypeUtils.mergeSerializers(this.typeSerializers, Objects.requireNonNull(typeSerializers));
-            return this;
-        }
-
         /**
          * Sets a custom client GUI builder for the config.
          *
@@ -130,7 +114,7 @@ public class Config extends CollectionMap {
                 LOGGER.warn("[CompleteConfig] Mod " + modID + " tried to create an empty config!");
                 return null;
             }
-            return new ConfigHandler(new Config(new ConfigSource(ModController.of(modID), branch, typeSerializers), topLevelGroups), guiBuilder);
+            return new ConfigHandler(new Config(new ConfigSource(ModController.of(modID), branch), topLevelGroups), guiBuilder);
         }
 
     }

+ 2 - 8
src/main/java/me/lortseam/completeconfig/io/ConfigSource.java

@@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger;
 import org.spongepowered.configurate.CommentedConfigurationNode;
 import org.spongepowered.configurate.ConfigurateException;
 import org.spongepowered.configurate.hocon.HoconConfigurationLoader;
-import org.spongepowered.configurate.serialize.TypeSerializerCollection;
 
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -29,7 +28,7 @@ public final class ConfigSource {
     private final String[] branch;
     private final HoconConfigurationLoader loader;
 
-    public ConfigSource(ModController mod, String[] branch, TypeSerializerCollection typeSerializers) {
+    public ConfigSource(ModController mod, String[] branch) {
         this.modID = mod.getID();
         this.branch = branch;
         if (!sources.add(this)) {
@@ -40,12 +39,7 @@ public final class ConfigSource {
         Path filePath = Paths.get(FabricLoader.getInstance().getConfigDir().toString(), subPath);
         loader = HoconConfigurationLoader.builder()
                 .path(filePath)
-                .defaultOptions(options -> options.serializers(builder -> {
-                    builder.registerAll(mod.getTypeSerializers());
-                    if (typeSerializers != null) {
-                        builder.registerAll(typeSerializers);
-                    }
-                }))
+                .defaultOptions(options -> options.serializers(builder -> builder.registerAll(mod.getTypeSerializers())))
                 .build();
     }