diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-02-12 15:02:10 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-02-12 15:02:10 +0800 |
| commit | 79373573c6e0c891d2722022f7fec2c9635baca8 (patch) | |
| tree | 554306c6889ececf282f79a5bddefbf2df5ca994 /src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | |
| parent | aeae0f26a7312ef1c8450484db6156d85f6d89f1 (diff) | |
| download | RoughlyEnoughItems-79373573c6e0c891d2722022f7fec2c9635baca8.tar.gz RoughlyEnoughItems-79373573c6e0c891d2722022f7fec2c9635baca8.tar.bz2 RoughlyEnoughItems-79373573c6e0c891d2722022f7fec2c9635baca8.zip | |
FilteringEntry
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java | 9 |
1 files changed, 9 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 e201fd7b7..f0c376053 100644 --- a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -33,6 +33,8 @@ import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.gui.ConfigReloadingScreen; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.config.RecipeScreenType; +import me.shedaniel.rei.gui.config.entry.FilteringEntry; +import me.shedaniel.rei.gui.config.entry.NoFilteringEntry; import me.shedaniel.rei.gui.config.entry.RecipeScreenTypeEntry; import me.shedaniel.rei.gui.credits.CreditsScreen; import net.fabricmc.loader.api.FabricLoader; @@ -48,6 +50,7 @@ import net.minecraft.client.util.Window; import net.minecraft.util.math.MathHelper; import org.jetbrains.annotations.ApiStatus; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -99,6 +102,12 @@ public class ConfigManagerImpl implements ConfigManager { guiRegistry.registerAnnotationProvider((i13n, field, config, defaults, guiProvider) -> Collections.singletonList(new RecipeScreenTypeEntry(220, i13n, getUnsafely(field, config, RecipeScreenType.UNSET), getUnsafely(field, defaults), type -> setUnsafely(field, config, type))) , (field) -> field.getType() == RecipeScreenType.class, ConfigObjectImpl.UseSpecialRecipeTypeScreen.class); + guiRegistry.registerAnnotationProvider((i13n, field, config, defaults, guiProvider) -> + ScreenHelper.getLastContainerScreenHooks() == null || MinecraftClient.getInstance().getNetworkHandler() == null || MinecraftClient.getInstance().getNetworkHandler().getRecipeManager() == null ? + Collections.singletonList(new NoFilteringEntry(getUnsafely(field, config, new ArrayList<>()), getUnsafely(field, defaults), list -> setUnsafely(field, config, list))) + : + Collections.singletonList(new FilteringEntry(getUnsafely(field, config, new ArrayList<>()), getUnsafely(field, defaults), list -> setUnsafely(field, config, list))) + , (field) -> field.getType() == List.class, ConfigObjectImpl.UseFilteringScreen.class); saveConfig(); RoughlyEnoughItemsCore.LOGGER.info("[REI] Config is loaded."); } |
