aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2019-11-26 20:59:59 +0800
committershedaniel <daniel@shedaniel.me>2019-11-26 20:59:59 +0800
commit516f882d348cd9535a963f3674597ca680c49909 (patch)
tree95048c24b82274d0e7cfcce8143f5a39705937f7 /src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
parent295dae46f8f3b717c914adacc023e7692b82bfc1 (diff)
downloadRoughlyEnoughItems-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.java14
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.");
}