diff options
| author | shedaniel <daniel@shedaniel.me> | 2019-11-26 20:59:59 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2019-11-26 20:59:59 +0800 |
| commit | 516f882d348cd9535a963f3674597ca680c49909 (patch) | |
| tree | 95048c24b82274d0e7cfcce8143f5a39705937f7 /src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | |
| parent | 295dae46f8f3b717c914adacc023e7692b82bfc1 (diff) | |
| download | RoughlyEnoughItems-516f882d348cd9535a963f3674597ca680c49909.tar.gz RoughlyEnoughItems-516f882d348cd9535a963f3674597ca680c49909.tar.bz2 RoughlyEnoughItems-516f882d348cd9535a963f3674597ca680c49909.zip | |
3.2.12
Fixed #29
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java index c270166fc..128b414f3 100644 --- a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -7,7 +7,9 @@ package me.shedaniel.rei.impl; import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import me.sargunvohra.mcmods.autoconfig1u.gui.ConfigScreenProvider; +import me.sargunvohra.mcmods.autoconfig1u.gui.registry.GuiRegistry; import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer; +import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.ConfigManager; import me.shedaniel.rei.api.ConfigObject; @@ -17,8 +19,12 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resource.language.I18n; import net.minecraft.text.LiteralText; +import java.util.Collections; import java.util.List; +import static me.sargunvohra.mcmods.autoconfig1u.util.Utils.getUnsafely; +import static me.sargunvohra.mcmods.autoconfig1u.util.Utils.setUnsafely; + @Deprecated @Internal public class ConfigManagerImpl implements ConfigManager { @@ -28,6 +34,14 @@ public class ConfigManagerImpl implements ConfigManager { public ConfigManagerImpl() { this.craftableOnly = false; AutoConfig.register(ConfigObjectImpl.class, JanksonConfigSerializer::new); + GuiRegistry guiRegistry = AutoConfig.getGuiRegistry(ConfigObjectImpl.class); + //noinspection rawtypes + guiRegistry.registerAnnotationProvider((i13n, field, config, defaults, guiProvider) -> Collections.singletonList( + ConfigEntryBuilder.create().startEnumSelector(i13n, (Class) field.getType(), getUnsafely(field, config, null)) + .setDefaultValue(() -> getUnsafely(field, defaults)) + .setSaveConsumer(newValue -> setUnsafely(field, config, newValue)) + .build() + ), field -> field.getType().isEnum(), ConfigObject.UseEnumSelectorInstead.class); RoughlyEnoughItemsCore.LOGGER.info("[REI] Config is loaded."); } |
