Bläddra i källkod

Code improvements

Lortseam 4 år sedan
förälder
incheckning
5810853b16

+ 3 - 3
lib/src/main/java/me/lortseam/completeconfig/data/BaseCollection.java

@@ -5,7 +5,7 @@ import me.lortseam.completeconfig.api.ConfigContainer;
 import me.lortseam.completeconfig.api.ConfigGroup;
 import me.lortseam.completeconfig.data.structure.DataPart;
 import me.lortseam.completeconfig.data.structure.ParentDataPart;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.exception.IllegalAnnotationTargetException;
 import me.lortseam.completeconfig.util.ReflectionUtils;
 import net.minecraft.text.Text;
@@ -18,11 +18,11 @@ import java.util.Collections;
 
 abstract class BaseCollection implements ParentDataPart {
 
-    protected final TranslationIdentifier translation;
+    protected final TranslationKey translation;
     private final EntrySet entries;
     private final CollectionSet collections;
 
-    BaseCollection(TranslationIdentifier translation) {
+    BaseCollection(TranslationKey translation) {
         this.translation = translation;
         entries = new EntrySet(translation);
         collections = new CollectionSet(translation);

+ 7 - 7
lib/src/main/java/me/lortseam/completeconfig/data/BooleanEntry.java

@@ -2,7 +2,7 @@ package me.lortseam.completeconfig.data;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.data.entry.EntryOrigin;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import net.minecraft.text.Text;
 import org.apache.commons.lang3.StringUtils;
 
@@ -10,7 +10,7 @@ import java.util.function.Function;
 
 public class BooleanEntry extends Entry<Boolean> {
 
-    private final Function<Boolean, TranslationIdentifier> valueTranslationSupplier;
+    private final Function<Boolean, TranslationKey> valueTranslationSupplier;
 
     BooleanEntry(EntryOrigin origin) {
         super(origin);
@@ -18,12 +18,12 @@ public class BooleanEntry extends Entry<Boolean> {
             if (StringUtils.isBlank(annotation.trueTranslationKey()) && StringUtils.isBlank(annotation.falseTranslationKey())) {
                 return null;
             } else {
-                return (Function<Boolean, TranslationIdentifier>) value -> {
+                return (Function<Boolean, TranslationKey>) value -> {
                     String key = value ? annotation.trueTranslationKey() : annotation.falseTranslationKey();
                     if (!StringUtils.isBlank(key)) {
-                        return getTranslation().root().append(key);
+                        return translation.root().append(key);
                     }
-                    return getTranslation().append(value ? "true" : "false");
+                    return translation.append(value ? "true" : "false");
                 };
             }
         }).orElse(null);
@@ -33,8 +33,8 @@ public class BooleanEntry extends Entry<Boolean> {
         if (valueTranslationSupplier != null) {
             return bool -> valueTranslationSupplier.apply(bool).toText();
         }
-        TranslationIdentifier defaultTrueTranslation = getTranslation().append("true");
-        TranslationIdentifier defaultFalseTranslation = getTranslation().append("false");
+        TranslationKey defaultTrueTranslation = translation.append("true");
+        TranslationKey defaultFalseTranslation = translation.append("false");
         if (defaultTrueTranslation.exists() || defaultFalseTranslation.exists()) {
             return bool -> (bool ? defaultTrueTranslation : defaultFalseTranslation).toText();
         }

+ 6 - 6
lib/src/main/java/me/lortseam/completeconfig/data/Collection.java

@@ -3,7 +3,7 @@ package me.lortseam.completeconfig.data;
 import lombok.Getter;
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.data.structure.Identifiable;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import net.minecraft.text.Text;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -16,20 +16,20 @@ import java.util.Optional;
 public class Collection extends BaseCollection implements Identifiable {
 
     private final String id;
-    private final TranslationIdentifier[] customTooltipTranslation;
+    private final TranslationKey[] customTooltipTranslation;
     @Getter
     private final String comment;
 
-    Collection(String id, TranslationIdentifier translation, String[] customTooltipTranslationKeys, String comment) {
+    Collection(String id, TranslationKey translation, String[] customTooltipTranslationKeys, String comment) {
         super(translation);
         this.id = id;
-        customTooltipTranslation = ArrayUtils.isNotEmpty(customTooltipTranslationKeys) ? Arrays.stream(customTooltipTranslationKeys).map(key -> translation.root().append(key)).toArray(TranslationIdentifier[]::new) : null;
+        customTooltipTranslation = ArrayUtils.isNotEmpty(customTooltipTranslationKeys) ? Arrays.stream(customTooltipTranslationKeys).map(key -> translation.root().append(key)).toArray(TranslationKey[]::new) : null;
         this.comment = !StringUtils.isBlank(comment) ? comment : null;
     }
 
     public Optional<Text[]> getTooltipTranslation() {
         return (customTooltipTranslation != null ? Optional.of(customTooltipTranslation) : translation.appendTooltip()).map(lines -> {
-            return Arrays.stream(lines).map(TranslationIdentifier::toText).toArray(Text[]::new);
+            return Arrays.stream(lines).map(TranslationKey::toText).toArray(Text[]::new);
         });
     }
 
@@ -42,7 +42,7 @@ public class Collection extends BaseCollection implements Identifiable {
     }
 
     @Override
-    public String getID() {
+    public String getId() {
         return id;
     }
 

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

@@ -2,12 +2,12 @@ package me.lortseam.completeconfig.data;
 
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.api.ConfigGroup;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 
 @Log4j2(topic = "CompleteConfig")
 public class CollectionSet extends DataSet<Collection> {
 
-    protected CollectionSet(TranslationIdentifier translation) {
+    protected CollectionSet(TranslationKey translation) {
         super(translation);
     }
 

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

@@ -3,7 +3,7 @@ package me.lortseam.completeconfig.data;
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.api.ConfigContainer;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.io.ConfigSource;
 import net.fabricmc.loader.api.FabricLoader;
 import net.fabricmc.loader.api.metadata.ModMetadata;
@@ -43,7 +43,7 @@ public final class Config extends BaseCollection {
     private final ConfigSource source;
 
     private Config(ConfigSource source, ConfigContainer[] children) {
-        super(TranslationIdentifier.from(source));
+        super(TranslationKey.from(source));
         this.source = source;
         resolve(children);
     }
@@ -52,7 +52,7 @@ public final class Config extends BaseCollection {
         return FabricLoader.getInstance().getModContainer(source.getModID()).get().getMetadata();
     }
 
-    public TranslationIdentifier getTranslation(boolean includeBranch) {
+    public TranslationKey getTranslation(boolean includeBranch) {
         if (includeBranch) {
             return translation.append(source.getBranch());
         } else {

+ 3 - 3
lib/src/main/java/me/lortseam/completeconfig/data/DataSet.java

@@ -4,7 +4,7 @@ import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
 import me.lortseam.completeconfig.data.structure.DataPart;
 import me.lortseam.completeconfig.data.structure.Identifiable;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.AbstractSet;
@@ -16,7 +16,7 @@ import java.util.Map;
 abstract class DataSet<T extends DataPart & Identifiable> extends AbstractSet<T> {
 
     private final Map<String, T> map = new LinkedHashMap<>();
-    protected final TranslationIdentifier translation;
+    protected final TranslationKey translation;
 
     @Override
     public @NotNull Iterator<T> iterator() {
@@ -30,7 +30,7 @@ abstract class DataSet<T extends DataPart & Identifiable> extends AbstractSet<T>
 
     @Override
     public boolean add(T t) {
-        return map.put(t.getID(), t) != t;
+        return map.put(t.getId(), t) != t;
     }
 
 }

+ 40 - 60
lib/src/main/java/me/lortseam/completeconfig/data/Entry.java

@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
 import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NonNull;
+import lombok.experimental.Accessors;
 import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.CompleteConfig;
 import me.lortseam.completeconfig.api.ConfigContainer;
@@ -13,7 +14,7 @@ import me.lortseam.completeconfig.data.entry.Transformation;
 import me.lortseam.completeconfig.data.entry.Transformer;
 import me.lortseam.completeconfig.data.structure.DataPart;
 import me.lortseam.completeconfig.data.structure.Identifiable;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.exception.IllegalAnnotationParameterException;
 import me.lortseam.completeconfig.extensions.CompleteConfigExtension;
 import me.lortseam.completeconfig.util.ReflectionUtils;
@@ -24,9 +25,12 @@ import org.spongepowered.configurate.CommentedConfigurationNode;
 import org.spongepowered.configurate.serialize.SerializationException;
 
 import java.beans.IntrospectionException;
-import java.lang.reflect.*;
-import java.util.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
 import java.util.Collection;
+import java.util.*;
 import java.util.function.UnaryOperator;
 
 @Log4j2(topic = "CompleteConfig")
@@ -73,11 +77,11 @@ public class Entry<T> implements DataPart, Identifiable {
         }
     }
 
-    static Entry<?> of(Field field, ConfigContainer parentObject, TranslationIdentifier parentTranslation) {
+    static Entry<?> of(Field field, ConfigContainer parentObject, TranslationKey parentTranslation) {
         EntryOrigin origin = new EntryOrigin(field, parentObject, parentTranslation);
         Entry<?> entry = transformations.stream().filter(transformation -> transformation.test(origin)).findFirst().map(Transformation::getTransformer).orElse(DEFAULT_TRANSFORMER).transform(origin);
         if (!entries.add(entry)) {
-            throw new UnsupportedOperationException("Field " + field + " with parent object " + parentObject + " was already resolved");
+            throw new UnsupportedOperationException(entry + " was already resolved");
         }
         return entry;
     }
@@ -90,14 +94,16 @@ public class Entry<T> implements DataPart, Identifiable {
     private final Class<T> typeClass;
     @EqualsAndHashCode.Include
     private final ConfigContainer parentObject;
-    private String customID;
+    @Getter
+    private final String id;
     @Getter
     private final T defaultValue;
-    private final TranslationIdentifier parentTranslation;
-    private TranslationIdentifier customTranslation;
-    private TranslationIdentifier[] customTooltipTranslation;
-    private boolean requiresRestart;
-    private String comment;
+    protected final TranslationKey translation;
+    private final TranslationKey[] tooltipTranslation;
+    @Accessors(fluent = true)
+    @Getter
+    private final boolean requiresRestart;
+    private final String comment;
     private final UnaryOperator<T> valueModifier;
 
     protected Entry(EntryOrigin origin, UnaryOperator<T> valueModifier) {
@@ -105,12 +111,30 @@ public class Entry<T> implements DataPart, Identifiable {
         if (!field.isAccessible()) {
             field.setAccessible(true);
         }
-        type = ReflectionUtils.getFieldType(origin.getField());
+        type = origin.getType();
         typeClass = (Class<T>) ReflectionUtils.getTypeClass(type);
         parentObject = origin.getParentObject();
-        parentTranslation = origin.getParentTranslation();
         this.valueModifier = valueModifier;
         defaultValue = getValue();
+        ConfigEntry annotation = field.getDeclaredAnnotation(ConfigEntry.class);
+        id = annotation != null && !StringUtils.isBlank(annotation.value()) ? annotation.value() : field.getName();
+        if (annotation != null && !StringUtils.isBlank(annotation.translationKey())) {
+            translation = origin.getParentTranslation().append(annotation.translationKey());
+        } else {
+            translation = origin.getParentTranslation().append(id);
+        }
+        if (annotation != null && annotation.tooltipTranslationKeys().length > 0) {
+            tooltipTranslation = Arrays.stream(annotation.tooltipTranslationKeys()).map(key -> {
+                if (StringUtils.isBlank(key)) {
+                    throw new IllegalAnnotationParameterException("Tooltip translation key of entry " + this + " may not be blank");
+                }
+                return translation.root().append(key);
+            }).toArray(TranslationKey[]::new);
+        } else {
+            tooltipTranslation = translation.appendTooltip().orElse(null);
+        }
+        requiresRestart = annotation != null && annotation.requiresRestart();
+        comment = annotation != null && !StringUtils.isBlank(annotation.comment()) ? annotation.comment() : null;
     }
 
     protected Entry(EntryOrigin origin) {
@@ -164,60 +188,16 @@ public class Entry<T> implements DataPart, Identifiable {
         }
     }
 
-    @Override
-    public String getID() {
-        return customID != null ? customID : field.getName();
-    }
-
-    TranslationIdentifier getTranslation() {
-        return customTranslation != null ? customTranslation : parentTranslation.append(getID());
-    }
-
     public Text getText() {
-        return getTranslation().toText();
+        return translation.toText();
     }
 
     public Optional<Text[]> getTooltip() {
-        return (customTooltipTranslation != null ? Optional.of(customTooltipTranslation) : getTranslation().appendTooltip()).map(lines -> {
-            return Arrays.stream(lines).map(TranslationIdentifier::toText).toArray(Text[]::new);
+        return Optional.ofNullable(tooltipTranslation).map(lines -> {
+            return Arrays.stream(lines).map(TranslationKey::toText).toArray(Text[]::new);
         });
     }
 
-    public boolean requiresRestart() {
-        return requiresRestart;
-    }
-
-    void resolve(Field field) {
-        if (field.isAnnotationPresent(ConfigEntry.class)) {
-            ConfigEntry annotation = field.getDeclaredAnnotation(ConfigEntry.class);
-            String id = annotation.value();
-            if (!StringUtils.isBlank(id)) {
-                customID = id;
-            }
-            String customTranslationKey = annotation.translationKey();
-            if (!StringUtils.isBlank(customTranslationKey)) {
-                customTranslation = parentTranslation.root().append(customTranslationKey);
-            }
-            String[] customTooltipTranslationKeys = annotation.tooltipTranslationKeys();
-            if (customTooltipTranslationKeys.length > 0) {
-                if (Arrays.stream(customTooltipTranslationKeys).anyMatch(StringUtils::isBlank)) {
-
-                }
-                customTooltipTranslation = Arrays.stream(customTooltipTranslationKeys).map(key -> {
-                    if (StringUtils.isBlank(key)) {
-                        throw new IllegalAnnotationParameterException("Tooltip translation key of entry " + field + " may not be blank");
-                    }
-                    return parentTranslation.root().append(key);
-                }).toArray(TranslationIdentifier[]::new);
-            }
-            requiresRestart = annotation.requiresRestart();
-            String comment = annotation.comment();
-            if (!StringUtils.isBlank(comment)) {
-                this.comment = comment;
-            }
-        }
-    }
-
     @Override
     public void apply(CommentedConfigurationNode node) {
         try {

+ 3 - 5
lib/src/main/java/me/lortseam/completeconfig/data/EntrySet.java

@@ -4,7 +4,7 @@ import lombok.extern.log4j.Log4j2;
 import me.lortseam.completeconfig.api.ConfigContainer;
 import me.lortseam.completeconfig.api.ConfigEntries;
 import me.lortseam.completeconfig.api.ConfigEntry;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.exception.IllegalModifierException;
 
 import java.lang.reflect.Modifier;
@@ -13,7 +13,7 @@ import java.util.Arrays;
 @Log4j2(topic = "CompleteConfig")
 public class EntrySet extends DataSet<Entry> {
 
-    EntrySet(TranslationIdentifier translation) {
+    EntrySet(TranslationKey translation) {
         super(translation);
     }
 
@@ -31,9 +31,7 @@ public class EntrySet extends DataSet<Entry> {
                 if (Modifier.isFinal(field.getModifiers())) {
                     throw new IllegalModifierException("Entry field " + field + " must not be final");
                 }
-                Entry<?> entry = Entry.of(field, Modifier.isStatic(field.getModifiers()) ? null : container, translation);
-                entry.resolve(field);
-                return entry;
+                return Entry.of(field, Modifier.isStatic(field.getModifiers()) ? null : container, translation);
             }).forEach(this::add);
         }
     }

+ 1 - 1
lib/src/main/java/me/lortseam/completeconfig/data/EnumEntry.java

@@ -13,7 +13,7 @@ public class EnumEntry<T extends Enum<?>> extends Entry<T> {
     }
 
     public final Function<Enum, Text> getValueTextSupplier() {
-        return enumValue -> getTranslation().append(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, enumValue.name())).toText();
+        return enumValue -> translation.append(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, enumValue.name())).toText();
     }
 
 }

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

@@ -2,7 +2,7 @@ package me.lortseam.completeconfig.data;
 
 import me.lortseam.completeconfig.api.ConfigEntry;
 import me.lortseam.completeconfig.data.entry.EntryOrigin;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import net.minecraft.text.Text;
 import org.apache.commons.lang3.StringUtils;
 
@@ -10,13 +10,13 @@ import java.util.function.Function;
 
 public class SliderEntry<T extends Number> extends BoundedEntry<T> {
 
-    private final TranslationIdentifier valueTranslation;
+    private final TranslationKey valueTranslation;
 
     public SliderEntry(EntryOrigin origin, T min, T max) {
         super(origin, min, max);
         ConfigEntry.Slider slider = origin.getAnnotation(ConfigEntry.Slider.class);
         if (!StringUtils.isBlank(slider.valueTranslationKey())) {
-            valueTranslation = getTranslation().root().append(slider.valueTranslationKey());
+            valueTranslation = translation.root().append(slider.valueTranslationKey());
         } else {
             valueTranslation = null;
         }
@@ -26,7 +26,7 @@ public class SliderEntry<T extends Number> extends BoundedEntry<T> {
         if (valueTranslation != null) {
             return valueTranslation::toText;
         }
-        TranslationIdentifier defaultValueTranslation = getTranslation().append("value");
+        TranslationKey defaultValueTranslation = translation.append("value");
         if (defaultValueTranslation.exists()) {
             return defaultValueTranslation::toText;
         }

+ 2 - 2
lib/src/main/java/me/lortseam/completeconfig/data/entry/EntryOrigin.java

@@ -3,7 +3,7 @@ package me.lortseam.completeconfig.data.entry;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import me.lortseam.completeconfig.api.ConfigContainer;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.util.ReflectionUtils;
 
 import java.lang.annotation.Annotation;
@@ -19,7 +19,7 @@ public final class EntryOrigin {
     @Getter
     private final ConfigContainer parentObject;
     @Getter
-    private final TranslationIdentifier parentTranslation;
+    private final TranslationKey parentTranslation;
 
     public Type getType() {
         return ReflectionUtils.getFieldType(field);

+ 1 - 1
lib/src/main/java/me/lortseam/completeconfig/data/structure/Identifiable.java

@@ -2,6 +2,6 @@ package me.lortseam.completeconfig.data.structure;
 
 public interface Identifiable {
 
-    String getID();
+    String getId();
 
 }

+ 1 - 1
lib/src/main/java/me/lortseam/completeconfig/data/structure/ParentDataPart.java

@@ -21,7 +21,7 @@ public interface ParentDataPart<C extends DataPart & Identifiable> extends DataP
 
     default void propagateToChildren(Predicate<CommentedConfigurationNode> childNodeCondition, BiConsumer<C, CommentedConfigurationNode> function, CommentedConfigurationNode node) {
         for (C child : getChildren()) {
-            CommentedConfigurationNode childNode = node.node(child.getID());
+            CommentedConfigurationNode childNode = node.node(child.getId());
             if (!childNodeCondition.test(childNode)) {
                 continue;
             }

+ 14 - 14
lib/src/main/java/me/lortseam/completeconfig/data/text/TranslationIdentifier.java → lib/src/main/java/me/lortseam/completeconfig/data/text/TranslationKey.java

@@ -12,18 +12,18 @@ import java.util.List;
 import java.util.Optional;
 import java.util.regex.Pattern;
 
-public final class TranslationIdentifier {
+public final class TranslationKey {
 
     private static final String DELIMITER = ".";
 
-    public static TranslationIdentifier from(ConfigSource source) {
-        return new TranslationIdentifier("config" + DELIMITER + source.getModID());
+    public static TranslationKey from(ConfigSource source) {
+        return new TranslationKey("config" + DELIMITER + source.getModID());
     }
 
     private final String modKey;
     private final String[] keyParts;
 
-    private TranslationIdentifier(String modKey, String... keyParts) {
+    private TranslationKey(String modKey, String... keyParts) {
         this.modKey = modKey;
         this.keyParts = keyParts;
     }
@@ -37,8 +37,8 @@ public final class TranslationIdentifier {
         return builder.toString();
     }
 
-    public TranslationIdentifier root() {
-        return new TranslationIdentifier(modKey);
+    public TranslationKey root() {
+        return new TranslationKey(modKey);
     }
 
     public boolean exists() {
@@ -49,25 +49,25 @@ public final class TranslationIdentifier {
         return new TranslatableText(getKey(), args);
     }
 
-    public TranslationIdentifier append(String... subKeys) {
-        return new TranslationIdentifier(modKey, ArrayUtils.addAll(keyParts, Arrays.stream(subKeys).map(subKey -> {
+    public TranslationKey append(String... subKeys) {
+        return new TranslationKey(modKey, ArrayUtils.addAll(keyParts, Arrays.stream(subKeys).map(subKey -> {
             return subKey.split(Pattern.quote(DELIMITER));
         }).flatMap(Arrays::stream).toArray(String[]::new)));
     }
 
-    public Optional<TranslationIdentifier[]> appendTooltip() {
-        TranslationIdentifier baseTranslation = append("tooltip");
+    public Optional<TranslationKey[]> appendTooltip() {
+        TranslationKey baseTranslation = append("tooltip");
         if (baseTranslation.exists()) {
-            return Optional.of(new TranslationIdentifier[] {baseTranslation});
+            return Optional.of(new TranslationKey[] {baseTranslation});
         } else {
-            List<TranslationIdentifier> multiLineTranslation = new ArrayList<>();
+            List<TranslationKey> multiLineTranslation = new ArrayList<>();
             for(int i = 0;; i++) {
-                TranslationIdentifier key = baseTranslation.append(Integer.toString(i));
+                TranslationKey key = baseTranslation.append(Integer.toString(i));
                 if(key.exists()) {
                     multiLineTranslation.add(key);
                 } else {
                     if (!multiLineTranslation.isEmpty()) {
-                        return Optional.of(multiLineTranslation.toArray(new TranslationIdentifier[0]));
+                        return Optional.of(multiLineTranslation.toArray(new TranslationKey[0]));
                     }
                     break;
                 }

+ 2 - 2
lib/src/main/java/me/lortseam/completeconfig/gui/cloth/ClothConfigScreenBuilder.java

@@ -5,7 +5,7 @@ import lombok.NonNull;
 import me.lortseam.completeconfig.data.Collection;
 import me.lortseam.completeconfig.data.Config;
 import me.lortseam.completeconfig.data.Entry;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.gui.ConfigScreenBuilder;
 import me.shedaniel.clothconfig2.api.AbstractConfigListEntry;
 import me.shedaniel.clothconfig2.api.ConfigBuilder;
@@ -46,7 +46,7 @@ public final class ClothConfigScreenBuilder extends ConfigScreenBuilder {
         ConfigBuilder builder = supplier.get()
                 .setParentScreen(parentScreen)
                 .setSavingRunnable(config::save);
-        TranslationIdentifier customTitle = config.getTranslation(true).append("title");
+        TranslationKey customTitle = config.getTranslation(true).append("title");
         builder.setTitle(customTitle.exists() ? customTitle.toText() : new TranslatableText("completeconfig.gui.defaultTitle", config.getMod().getName()));
         if (!config.getEntries().isEmpty()) {
             ConfigCategory category = builder.getOrCreateCategory(config.getText());

+ 2 - 2
lib/src/test/java/me/lortseam/completeconfig/data/BaseCollectionTest.java

@@ -2,7 +2,7 @@ package me.lortseam.completeconfig.data;
 
 import com.google.common.collect.Iterables;
 import me.lortseam.completeconfig.api.ConfigContainer;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import me.lortseam.completeconfig.exception.IllegalAnnotationTargetException;
 import me.lortseam.completeconfig.test.data.containers.*;
 import me.lortseam.completeconfig.test.data.groups.EmptyGroup;
@@ -24,7 +24,7 @@ public class BaseCollectionTest {
 
     @BeforeEach
     public void beforeEach() {
-        baseCollection = new BaseCollection(mock(TranslationIdentifier.class)) {};
+        baseCollection = new BaseCollection(mock(TranslationKey.class)) {};
     }
 
     @AfterEach

+ 2 - 2
lib/src/test/java/me/lortseam/completeconfig/data/EntryTest.java

@@ -2,7 +2,7 @@ package me.lortseam.completeconfig.data;
 
 import me.lortseam.completeconfig.api.ConfigContainer;
 import me.lortseam.completeconfig.api.ConfigEntry;
-import me.lortseam.completeconfig.data.text.TranslationIdentifier;
+import me.lortseam.completeconfig.data.text.TranslationKey;
 import net.minecraft.text.TextColor;
 import org.junit.jupiter.api.Test;
 
@@ -37,7 +37,7 @@ public class EntryTest implements ConfigContainer {
 
     private <E extends Entry<?>> void assertTransformation(String fieldName, Class<E> entryType) {
         try {
-            assertTrue(entryType.isInstance(Entry.of(getClass().getDeclaredField((fieldName)), this, mock(TranslationIdentifier.class))));
+            assertTrue(entryType.isInstance(Entry.of(getClass().getDeclaredField((fieldName)), this, mock(TranslationKey.class))));
         } catch (NoSuchFieldException e) {
             throw new RuntimeException(e);
         }