浏览代码

Code improvements

Lortseam 4 年之前
父节点
当前提交
377ec04f63

+ 4 - 5
lib/src/main/java/me/lortseam/completeconfig/api/ConfigContainer.java

@@ -1,13 +1,11 @@
 package me.lortseam.completeconfig.api;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -15,7 +13,7 @@ import java.util.List;
  */
 public interface ConfigContainer {
 
-    default List<Class<? extends ConfigContainer>> getConfigClasses() {
+    default Iterable<Class<? extends ConfigContainer>> getConfigClasses() {
         List<Class<? extends ConfigContainer>> classes = new ArrayList<>();
         Class<? extends ConfigContainer> clazz = getClass();
         while (clazz != null) {
@@ -25,7 +23,8 @@ public interface ConfigContainer {
             }
             clazz = (Class<? extends ConfigContainer>) clazz.getSuperclass();
         }
-        return Lists.reverse(ImmutableList.copyOf(classes));
+        Collections.reverse(classes);
+        return classes;
     }
 
     /**

+ 4 - 2
lib/src/main/java/me/lortseam/completeconfig/data/Config.java

@@ -1,6 +1,5 @@
 package me.lortseam.completeconfig.data;
 
-import lombok.Getter;
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.api.ConfigContainer;
@@ -13,7 +12,6 @@ import java.util.*;
 @Log4j2
 public class Config extends Node {
 
-    @Getter
     private static final Map<String, Config> mainConfigs = new HashMap<>();
     private static final Set<Config> saveOnExitConfigs = new HashSet<>();
 
@@ -25,6 +23,10 @@ public class Config extends Node {
         }));
     }
 
+    public static Map<String, Config> getMainConfigs() {
+        return Collections.unmodifiableMap(mainConfigs);
+    }
+
     /**
      * Creates a new config builder for the specified mod.
      *

+ 1 - 1
lib/src/main/java/me/lortseam/completeconfig/gui/ModMenuIntegration.java

@@ -14,7 +14,7 @@ public final class ModMenuIntegration implements ModMenuApi {
 
     @Override
     public Map<String, ConfigScreenFactory<?>> getProvidedConfigScreenFactories() {
-        return Maps.transformValues(Config.getMainConfigs(), config -> screen -> screenBuilder.build(screen, config));
+        return Maps.transformValues(Config.getMainConfigs(), config -> parentScreen -> screenBuilder.build(parentScreen, config));
     }
 
 }