diff --git a/src/main/java/com/replaymod/simplepathing/InterpolatorType.java b/src/main/java/com/replaymod/simplepathing/InterpolatorType.java index 1c02f201..bc35910e 100644 --- a/src/main/java/com/replaymod/simplepathing/InterpolatorType.java +++ b/src/main/java/com/replaymod/simplepathing/InterpolatorType.java @@ -14,6 +14,7 @@ public enum InterpolatorType { CUBIC("cubic", CubicSplineInterpolator.class, CubicSplineInterpolator::new), LINEAR("linear", LinearInterpolator.class, LinearInterpolator::new); + @Getter private String localizationKey; @Getter diff --git a/src/main/java/com/replaymod/simplepathing/Setting.java b/src/main/java/com/replaymod/simplepathing/Setting.java index 328714b5..79e432b2 100644 --- a/src/main/java/com/replaymod/simplepathing/Setting.java +++ b/src/main/java/com/replaymod/simplepathing/Setting.java @@ -2,22 +2,24 @@ package com.replaymod.simplepathing; import com.replaymod.core.SettingsRegistry; -import java.util.ArrayList; +import java.util.Arrays; +import java.util.stream.Collectors; public final class Setting extends SettingsRegistry.SettingKeys { public static final Setting PATH_PREVIEW = make("pathpreview", "pathpreview", true); - public static final SettingsRegistry.MultipleChoiceSettingKeys DEFAULT_INTERPOLATION = - new SettingsRegistry.MultipleChoiceSettingKeys<>( - "simplepathing", "interpolator", "replaymod.gui.settings.interpolator", - "replaymod.gui.editkeyframe.interpolator.cubic.name"); + public static final SettingsRegistry.MultipleChoiceSettingKeys DEFAULT_INTERPOLATION; static { - DEFAULT_INTERPOLATION.setChoices(new ArrayList() { - { - add("replaymod.gui.editkeyframe.interpolator.cubic.name"); - add("replaymod.gui.editkeyframe.interpolator.linear.name"); - } - }); + String format = "replaymod.gui.editkeyframe.interpolator.%s.name"; + DEFAULT_INTERPOLATION = new SettingsRegistry.MultipleChoiceSettingKeys<>( + "simplepathing", "interpolator", "replaymod.gui.settings.interpolator", + String.format(format, InterpolatorType.fromString("invalid returns default").getLocalizationKey()) + ); + DEFAULT_INTERPOLATION.setChoices( + Arrays.stream(InterpolatorType.values()).filter(i -> i != InterpolatorType.DEFAULT) + .map(i -> String.format(format, i.getLocalizationKey())) + .collect(Collectors.toList()) + ); } private static Setting make(String key, String displayName, T defaultValue) {