diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-09-26 05:13:24 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2024-04-16 00:38:18 +0900 |
| commit | 51d84c0f80e6a459b933add343fc07e9e36a8a7f (patch) | |
| tree | 1d1a1ec8e1c43b2704424d4daa3f2b5e010bb9b3 | |
| parent | 15d945b7dfc1667965fb07823cb37b5a5062bb75 (diff) | |
| download | RoughlyEnoughItems-51d84c0f80e6a459b933add343fc07e9e36a8a7f.tar.gz RoughlyEnoughItems-51d84c0f80e6a459b933add343fc07e9e36a8a7f.tar.bz2 RoughlyEnoughItems-51d84c0f80e6a459b933add343fc07e9e36a8a7f.zip | |
Add the options
7 files changed, 307 insertions, 37 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/config/FavoriteAddWidgetMode.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/config/FavoriteAddWidgetMode.java index 9218f6d6e..cdbba8b7f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/config/FavoriteAddWidgetMode.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/config/FavoriteAddWidgetMode.java @@ -35,6 +35,6 @@ public enum FavoriteAddWidgetMode { @Override public String toString() { - return I18n.get("config.roughlyenoughitems.layout.favoriteAddWidgetMode." + name().toLowerCase(Locale.ROOT)); + return I18n.get("config.rei.value.favorites.new_favorites_button_visibility." + name().toLowerCase(Locale.ROOT)); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java index d4be3dfe0..ceb0ed302 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java @@ -628,6 +628,8 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData { } public static class KeyBindings { + @ConfigEntry.Gui.Excluded + public boolean useNativeKeybinds; public ModifierKeyCode recipeKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_R), Modifier.none()); public ModifierKeyCode usageKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_U), Modifier.none()); public ModifierKeyCode hideKeybind = ModifierKeyCode.of(InputConstants.Type.KEYSYM.getOrCreate(InputConstants.KEY_O), Modifier.of(false, true, false)); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigCategories.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigCategories.java index 1e9d03e9c..ee44e733d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigCategories.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigCategories.java @@ -28,6 +28,7 @@ import net.minecraft.resources.ResourceLocation; import java.util.List; +import static me.shedaniel.rei.impl.client.gui.config.options.AllREIConfigGroups.*; import static me.shedaniel.rei.impl.client.gui.config.options.ConfigUtils.translatable; public interface AllREIConfigCategories { @@ -37,19 +38,41 @@ public interface AllREIConfigCategories { } OptionCategory APPEARANCE = make("appearance") - .add(AllREIConfigGroups.INTERFACE); - OptionCategory KEYBINDS = make("keybinds"); - OptionCategory CHEATS = make("cheats"); - OptionCategory LAYOUT = make("layout"); - OptionCategory ACCESSIBILITY = make("accessibility"); - OptionCategory FAVORITES = make("favorites"); - OptionCategory PERFORMANCE = make("performance"); - OptionCategory SEARCH = make("search"); - OptionCategory FILTERING = make("filtering"); - OptionCategory LIST = make("list"); - OptionCategory DEBUG = make("debug"); + .add(APPEARANCE_INTERFACE) + .add(APPEARANCE_TOOLTIPS); + OptionCategory KEYBINDS = make("keybinds") + .add(KEYBINDS_KEYBINDS) + .add(KEYBINDS_ADVANCED); + OptionCategory CHEATS = make("cheats") + .add(CHEATS_CHEATS) + .add(CHEATS_ADVANCED); + OptionCategory LAYOUT = make("layout") + .add(LAYOUT_WIDGETS) + .add(LAYOUT_PANEL); + OptionCategory ACCESSIBILITY = make("accessibility") + .add(ACCESSIBILITY_DISPLAY) + .add(ACCESSIBILITY_WIDGETS); + OptionCategory FAVORITES = make("favorites") + .add(FAVORITES_FAVORITES) + .add(FAVORITES_ADVANCED); + OptionCategory PERFORMANCE = make("performance") + .add(PERFORMANCE_RENDERING) + .add(PERFORMANCE_RELOAD); + OptionCategory SEARCH = make("search") + .add(SEARCH_APPEARANCE) + .add(SEARCH_FILTERS) + .add(SEARCH_ADVANCED); + OptionCategory FILTERING = make("filtering") + .add(FILTERING_FILTERING) + .add(FILTERING_ADVANCED); + OptionCategory LIST = make("list") + .add(LIST_ENTRIES); + OptionCategory DEBUG = make("debug") + .add(DEBUG_PERFORMANCE); OptionCategory FLAGS = make("flags"); - OptionCategory RESET = make("reset"); + OptionCategory RESET = make("reset") + .add(RESET_RELOAD) + .add(RESET_RESET); List<OptionCategory> CATEGORIES = ImmutableList.of( APPEARANCE, KEYBINDS, diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigGroups.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigGroups.java index 3c5bd7bf1..60a78a657 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigGroups.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigGroups.java @@ -23,6 +23,7 @@ package me.shedaniel.rei.impl.client.gui.config.options; +import static me.shedaniel.rei.impl.client.gui.config.options.AllREIConfigOptions.*; import static me.shedaniel.rei.impl.client.gui.config.options.ConfigUtils.translatable; interface AllREIConfigGroups { @@ -30,5 +31,67 @@ interface AllREIConfigGroups { return new OptionGroup(translatable("config.rei.options.groups." + id)); } - OptionGroup INTERFACE = make("interface"); + OptionGroup APPEARANCE_INTERFACE = make("appearance.interface") + .add(THEME) + .add(RECIPE_BORDER) + .add(REDUCED_MOTION) + .add(RECIPE_LOOKUP_STYLE); + OptionGroup APPEARANCE_TOOLTIPS = make("appearance.tooltips") + .add(APPEND_MOD_NAMES) + .add(APPEND_FAVORITES_HINT); + OptionGroup KEYBINDS_KEYBINDS = make("keybinds.keybinds"); + OptionGroup KEYBINDS_ADVANCED = make("keybinds.advanced") + .add(USE_NATIVE_KEYBINDS); + OptionGroup CHEATS_CHEATS = make("cheats.cheats") + .add(CHEATS_MODE) + .add(CHEATS_METHOD) + .add(CHEATS_AMOUNT); + OptionGroup CHEATS_ADVANCED = make("cheats.advanced") + .add(GIVE_COMMAND); + OptionGroup LAYOUT_WIDGETS = make("layout.widgets") + .add(SEARCH_FIELD_LOCATION) + .add(CONFIG_BUTTON_LOCATION) + .add(CRAFTABLE_FILTER); + OptionGroup LAYOUT_PANEL = make("layout.panel") + .add(BOUNDARIES); + OptionGroup ACCESSIBILITY_DISPLAY = make("accessibility.display") + .add(LARGER_TABS) + .add(LARGER_ARROW_BUTTONS); + OptionGroup ACCESSIBILITY_WIDGETS = make("accessibility.widgets") + .add(SCROLLBAR_VISIBILITY) + .add(CLICKABLE_RECIPE_ARROWS); + OptionGroup FAVORITES_FAVORITES = make("favorites.favorites") + .add(FAVORITES_MODE) + .add(NEW_FAVORITES_BUTTON_VISIBILITY); + OptionGroup FAVORITES_ADVANCED = make("favorites.advanced") + .add(GAME_MODE_COMMAND) + .add(TIME_COMMAND) + .add(WEATHER_COMMAND); + OptionGroup PERFORMANCE_RENDERING = make("performance.rendering") + .add(BATCHED_RENDERING) + .add(CACHED_RENDERING); + OptionGroup PERFORMANCE_RELOAD = make("performance.reload") + .add(RELOAD_THREAD) + .add(CACHED_DISPLAY_LOOKUP); + OptionGroup SEARCH_APPEARANCE = make("search.appearance") + .add(SYNTAX_HIGHLIGHTING); + OptionGroup SEARCH_FILTERS = make("search.filters") + .add(MOD_SEARCH) + .add(TOOLTIP_SEARCH) + .add(TAG_SEARCH) + .add(IDENTIFIER_SEARCH); + OptionGroup SEARCH_ADVANCED = make("search.advanced"); + OptionGroup FILTERING_FILTERING = make("filtering.filtering"); + OptionGroup FILTERING_ADVANCED = make("filtering.advanced") + .add(FILTER_DISPLAYS); + OptionGroup LIST_ENTRIES = make("list.entries") + .add(DISPLAY_MODE) + .add(ORDERING) + .add(ZOOM) + .add(FOCUS_MODE); + OptionGroup DEBUG_PERFORMANCE = make("debug.performance") + .add(SEARCH_PERFORMANCE) + .add(ENTRY_LIST_PERFORMANCE); + OptionGroup RESET_RELOAD = make("reset.reload"); + OptionGroup RESET_RESET = make("reset.reset"); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigOptions.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigOptions.java index 86442fafc..706d41200 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigOptions.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigOptions.java @@ -38,22 +38,86 @@ interface AllREIConfigOptions { translatable("config.rei.options." + id + ".desc"), bind); } - CompositeOption<CheatingMode> CHEATING_MODE = make("cheating_mode", i -> i.basics.cheating, (i, v) -> i.basics.cheating = v) + CompositeOption<AppearanceTheme> THEME = make("appearance.theme", i -> i.appearance.theme, (i, v) -> i.appearance.theme = v) .enumOptions(); - CompositeOption<Boolean> FAVORITES = make("favorites", i -> i.basics.favoritesEnabled, (i, v) -> i.basics.favoritesEnabled = v) + CompositeOption<RecipeBorderType> RECIPE_BORDER = make("appearance.recipe_border", i -> i.appearance.recipeBorder, (i, v) -> i.appearance.recipeBorder = v) + .enumOptions(); + CompositeOption<Boolean> REDUCED_MOTION = make("appearance.reduced_motion", i -> i.basics.reduceMotion, (i, v) -> i.basics.reduceMotion = v) + .enabledDisabled(); + CompositeOption<DisplayScreenType> RECIPE_LOOKUP_STYLE = make("appearance.recipe_lookup_style", i -> i.appearance.recipeScreenType, (i, v) -> i.appearance.recipeScreenType = v) + .enumOptions(); + CompositeOption<Boolean> APPEND_MOD_NAMES = make("appearance.append_mod_names", i -> i.advanced.tooltips.appendModNames, (i, v) -> i.advanced.tooltips.appendModNames = v) + .enabledDisabled(); + CompositeOption<Boolean> APPEND_FAVORITES_HINT = make("appearance.append_favorites_hint", i -> i.advanced.tooltips.displayFavoritesTooltip, (i, v) -> i.advanced.tooltips.displayFavoritesTooltip = v) + .enabledDisabled(); + // TODO: NATIVE KEYBINDS + CompositeOption<Boolean> USE_NATIVE_KEYBINDS = make("keybinds.use_native_keybinds", i -> i.basics.keyBindings.useNativeKeybinds, (i, v) -> i.basics.keyBindings.useNativeKeybinds = v) + .enabledDisabled(); + CompositeOption<CheatingMode> CHEATS_MODE = make("cheats.cheats", i -> i.basics.cheating, (i, v) -> i.basics.cheating = v) + .enumOptions(); + CompositeOption<ItemCheatingStyle> CHEATS_METHOD = make("cheats.method", i -> i.basics.cheatingStyle, (i, v) -> i.basics.cheatingStyle = v) + .enumOptions(); + CompositeOption<ItemCheatingMode> CHEATS_AMOUNT = make("cheats.amount", i -> i.functionality.itemCheatingMode, (i, v) -> i.functionality.itemCheatingMode = v) + .enumOptions(); + CompositeOption<String> GIVE_COMMAND = make("cheats.give_command", i -> i.advanced.commands.giveCommand, (i, v) -> i.advanced.commands.giveCommand = v); + CompositeOption<SearchFieldLocation> SEARCH_FIELD_LOCATION = make("layout.search_field_location", i -> i.appearance.layout.searchFieldLocation, (i, v) -> i.appearance.layout.searchFieldLocation = v) + .enumOptions(); + CompositeOption<ConfigButtonPosition> CONFIG_BUTTON_LOCATION = make("layout.config_button_location", i -> i.appearance.layout.configButtonLocation, (i, v) -> i.appearance.layout.configButtonLocation = v) + .enumOptions(); + CompositeOption<Boolean> CRAFTABLE_FILTER = make("layout.craftable_filter", i -> i.appearance.layout.showCraftableOnlyButton, (i, v) -> i.appearance.layout.showCraftableOnlyButton = v) .enabledDisabled(); - CompositeOption<Boolean> REDUCED_MOTION = make("reduced_motion", i -> i.basics.reduceMotion, (i, v) -> i.basics.reduceMotion = v) - .trueFalse(); - CompositeOption<ItemCheatingStyle> CHEATING_STYLE = make("cheating_style", i -> i.basics.cheatingStyle, (i, v) -> i.basics.cheatingStyle = v) + // TODO: BOUNDARIES + CompositeOption<Boolean> BOUNDARIES = make("layout.boundaries", i -> true, (i, v) -> { + }); + CompositeOption<Boolean> LARGER_TABS = make("accessibility.larger_tabs", i -> !i.advanced.accessibility.useCompactTabs, (i, v) -> i.advanced.accessibility.useCompactTabs = !v) + .enabledDisabled(); + CompositeOption<Boolean> LARGER_ARROW_BUTTONS = make("accessibility.larger_arrow_buttons", i -> !i.advanced.accessibility.useCompactTabButtons, (i, v) -> i.advanced.accessibility.useCompactTabButtons = !v) + .enabledDisabled(); + CompositeOption<Boolean> SCROLLBAR_VISIBILITY = make("accessibility.scrollbar_visibility", i -> i.advanced.accessibility.compositeScrollBarPermanent, (i, v) -> i.advanced.accessibility.compositeScrollBarPermanent = v) + .ofBoolean(translatable("config.rei.value.accessibility.scrollbar_visibility.when_scrolling"), translatable("config.rei.value.accessibility.scrollbar_visibility.always")); + CompositeOption<Boolean> CLICKABLE_RECIPE_ARROWS = make("accessibility.clickable_recipe_arrows", i -> i.advanced.miscellaneous.clickableRecipeArrows, (i, v) -> i.advanced.miscellaneous.clickableRecipeArrows = v) + .enabledDisabled(); + CompositeOption<Boolean> FAVORITES_MODE = make("favorites.mode", i -> i.basics.favoritesEnabled, (i, v) -> i.basics.favoritesEnabled = v) + .enabledDisabled(); + CompositeOption<FavoriteAddWidgetMode> NEW_FAVORITES_BUTTON_VISIBILITY = make("favorites.new_favorites_button_visibility", i -> i.advanced.layout.favoriteAddWidgetMode, (i, v) -> i.advanced.layout.favoriteAddWidgetMode = v) .enumOptions(); - CompositeOption<DisplayScreenType> DISPLAY_SCREEN_TYPE = make("display_screen_type", i -> i.appearance.recipeScreenType, (i, v) -> i.appearance.recipeScreenType = v) + CompositeOption<String> GAME_MODE_COMMAND = make("favorites.game_mode_command", i -> i.advanced.commands.gamemodeCommand, (i, v) -> i.advanced.commands.gamemodeCommand = v); + CompositeOption<String> TIME_COMMAND = make("favorites.time_command", i -> i.advanced.commands.timeCommand, (i, v) -> i.advanced.commands.timeCommand = v); + CompositeOption<String> WEATHER_COMMAND = make("favorites.weather_command", i -> i.advanced.commands.weatherCommand, (i, v) -> i.advanced.commands.weatherCommand = v); + CompositeOption<Boolean> BATCHED_RENDERING = make("performance.batched_rendering", i -> i.advanced.miscellaneous.newFastEntryRendering, (i, v) -> i.advanced.miscellaneous.newFastEntryRendering = v) + .enabledDisabled(); + CompositeOption<Boolean> CACHED_RENDERING = make("performance.cached_rendering", i -> i.advanced.miscellaneous.cachingFastEntryRendering, (i, v) -> i.advanced.miscellaneous.cachingFastEntryRendering = v) + .enabledDisabled(); + CompositeOption<Boolean> RELOAD_THREAD = make("performance.reload_thread", i -> i.advanced.miscellaneous.registerRecipesInAnotherThread, (i, v) -> i.advanced.miscellaneous.registerRecipesInAnotherThread = v) + .ofBoolean(translatable("config.rei.values.performance.reload_thread.main_thread"), translatable("config.rei.values.performance.reload_thread.rei_thread")); + CompositeOption<Boolean> CACHED_DISPLAY_LOOKUP = make("performance.cached_display_lookup", i -> i.advanced.miscellaneous.cachingDisplayLookup, (i, v) -> i.advanced.miscellaneous.cachingDisplayLookup = v) + .enabledDisabled(); + CompositeOption<SyntaxHighlightingMode> SYNTAX_HIGHLIGHTING = make("search.syntax_highlighting", i -> i.appearance.syntaxHighlightingMode, (i, v) -> i.appearance.syntaxHighlightingMode = v) + .enumOptions(); + CompositeOption<SearchMode> MOD_SEARCH = make("search.mod_search", i -> i.advanced.search.modSearch, (i, v) -> i.advanced.search.modSearch = v) .enumOptions(); - CompositeOption<AppearanceTheme> THEME = make("theme", i -> i.appearance.theme, (i, v) -> i.appearance.theme = v) + CompositeOption<SearchMode> TOOLTIP_SEARCH = make("search.tooltip_search", i -> i.advanced.search.tooltipSearch, (i, v) -> i.advanced.search.tooltipSearch = v) .enumOptions(); - CompositeOption<SearchFieldLocation> SEARCH_FIELD_LOCATION = make("search_field_location", i -> i.appearance.layout.searchFieldLocation, (i, v) -> i.appearance.layout.searchFieldLocation = v) + CompositeOption<SearchMode> TAG_SEARCH = make("search.tag_search", i -> i.advanced.search.tagSearch, (i, v) -> i.advanced.search.tagSearch = v) .enumOptions(); - CompositeOption<ConfigButtonPosition> CONFIG_BUTTON_LOCATION = make("config_button_location", i -> i.appearance.layout.configButtonLocation, (i, v) -> i.appearance.layout.configButtonLocation = v) + CompositeOption<SearchMode> IDENTIFIER_SEARCH = make("search.identifier_search", i -> i.advanced.search.identifierSearch, (i, v) -> i.advanced.search.identifierSearch = v) .enumOptions(); - CompositeOption<Boolean> CRAFTABLE_FILTER = make("craftable_filter", i -> i.appearance.layout.showCraftableOnlyButton, (i, v) -> i.appearance.layout.showCraftableOnlyButton = v) + // TODO: ASYNC_SEARCH + // TODO: CUSTOMIZED_FILTERING + CompositeOption<Boolean> FILTER_DISPLAYS = make("filtering.filter_displays", i -> i.advanced.filtering.shouldFilterDisplays, (i, v) -> i.advanced.filtering.shouldFilterDisplays = v) + .enabledDisabled(); + CompositeOption<Boolean> DISPLAY_MODE = make("list.display_mode", i -> i.appearance.scrollingEntryListWidget, (i, v) -> i.appearance.scrollingEntryListWidget = v) + .ofBoolean(translatable("config.rei.value.list.display_mode.paginated"), translatable("config.rei.value.list.display_mode.scrolled")); + CompositeOption<EntryPanelOrderingConfig> ORDERING = make("list.ordering", i -> i.advanced.layout.entryPanelOrdering, (i, v) -> i.advanced.layout.entryPanelOrdering = v) + .enumOptions(); + CompositeOption<Double> ZOOM = make("list.zoom", i -> i.advanced.accessibility.entrySize, (i, v) -> i.advanced.accessibility.entrySize = v); + CompositeOption<Boolean> FOCUS_MODE = make("list.focus_mode", i -> i.appearance.isFocusModeZoomed, (i, v) -> i.appearance.isFocusModeZoomed = v) + .ofBoolean(translatable("config.rei.value.list.focus_mode.highlighted"), translatable("config.rei.value.list.focus_mode.zoomed")); + // TODO: PLUGINS_PERFORMANCE + CompositeOption<Boolean> SEARCH_PERFORMANCE = make("debug.search_performance", i -> i.advanced.search.debugSearchTimeRequired, (i, v) -> i.advanced.search.debugSearchTimeRequired = v) + .enabledDisabled(); + CompositeOption<Boolean> ENTRY_LIST_PERFORMANCE = make("debug.entry_list_performance", i -> i.advanced.layout.debugRenderTimeRequired, (i, v) -> i.advanced.layout.debugRenderTimeRequired = v) .enabledDisabled(); + // TODO: RELOAD + // TODO: RESET } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/OptionGroup.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/OptionGroup.java index 75eb304fa..f0ea512aa 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/OptionGroup.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/OptionGroup.java @@ -30,13 +30,13 @@ import java.util.List; public class OptionGroup { private final Component groupName; - private final List<CompositeOption> options = new ArrayList<>(); + private final List<CompositeOption<?>> options = new ArrayList<>(); public OptionGroup(Component groupName) { this.groupName = groupName; } - public OptionGroup add(CompositeOption option) { + public OptionGroup add(CompositeOption<?> option) { this.options.add(option); return this; } diff --git a/runtime/src/main/resources/assets/roughlyenoughitems/lang/en_us.json b/runtime/src/main/resources/assets/roughlyenoughitems/lang/en_us.json index 97ac6e6b2..1d91875ad 100755 --- a/runtime/src/main/resources/assets/roughlyenoughitems/lang/en_us.json +++ b/runtime/src/main/resources/assets/roughlyenoughitems/lang/en_us.json @@ -243,17 +243,135 @@ "config.rei.categories.debug": "Debug", "config.rei.categories.flags": "Feature Flags", "config.rei.categories.reset": "Reload & Reset", - "config.rei.options.cheating_mode": "Cheating Mode", - "config.rei.options.favorites": "Favorites", - "config.rei.options.reduced_motion": "Reduced Motion", - "config.rei.options.reduced_motion.desc": "Disables animation for transitions, menus, hover states, to minimize discomfort caused by vestibular motion triggers.", - "config.rei.options.cheating_style": "Cheating Style", - "config.rei.options.display_screen_type": "Display Screen Style", - "config.rei.options.theme": "Theme", - "config.rei.options.theme.desc": "The global theme of Roughly Enough Items. This will be applied everywhere, including background, buttons, etc.", - "config.rei.options.search_field_location": "Search Field", - "config.rei.options.config_button_location": "Config Button", - "config.rei.options.craftable_filter": "Craftable Filter", + "config.rei.options.groups.appearance.interface": "Interface", + "config.rei.options.appearance.theme": "Theme", + "config.rei.options.appearance.theme.desc": "The global theme of Roughly Enough Items. This will be applied everywhere, including background, buttons, etc.", + "config.rei.options.appearance.recipe_border": "Recipe Border", + "config.rei.options.appearance.recipe_border.desc": "The border of each recipe. Default is the preferred REI look.", + "config.rei.options.appearance.reduced_motion": "Reduced Motion", + "config.rei.options.appearance.reduced_motion.desc": "Disables animation for transitions, menus, hover states, to minimize discomfort caused by vestibular motion triggers.", + "config.rei.options.appearance.recipe_lookup_style": "Recipe Lookup Style", + "config.rei.options.appearance.recipe_lookup_style.desc": "The style of how recipes are displayed. Default is for the more classic look, while Composite is for the more informative, villger-like look.", + "config.rei.options.groups.appearance.tooltips": "Tooltips", + "config.rei.options.appearance.append_mod_names": "Append Mod Names", + "config.rei.options.appearance.append_mod_names.desc": "Appends the containing namespace for entries. The appended line will be in italisised light blue.", + "config.rei.options.appearance.append_favorites_hint": "Append Favorites Hint", + "config.rei.options.appearance.append_favorites_hint.desc": "Shows a hint on how to favorite an entry, or a recipe.", + "config.rei.options.groups.keybinds.keybinds": "Keybinds", + "config.rei.options.groups.keybinds.advanced": "Advanced", + "config.rei.options.keybinds.use_native_keybinds": "Use Native Keybinds", + "config.rei.options.keybinds.use_native_keybinds.desc": "Instead of listing the keybindings in this configuration menu, create vanilla Minecraft-like keybinds in the Controls screen. Restarting Minecraft is required to disable this option.\nNote that Minecraft-like keybinds suffer from conflicts and lack of support for modifier keys (Fabric).", + "config.rei.options.groups.cheats.cheats": "Cheats", + "config.rei.options.cheats.mode": "Mode", + "config.rei.options.cheats.mode.desc": "Cheats mode allows you to grab items from the side. This requires operator permission. The /give command would be used as a fallback if REI is not installed on the server.", + "config.rei.options.cheats.method": "Method", + "config.rei.options.cheats.method.desc": "The way how cheating is achieved. Grab mode places the cheated item at your cursor, while give mode places the cheated item in your inventory.", + "config.rei.options.cheats.amount": "Amount", + "config.rei.options.cheats.amount.desc": "The amount of items cheated. By default, REI cheats 1 item and a stack when clicked with shift.", + "config.rei.options.groups.cheats.advanced": "Advanced", + "config.rei.options.cheats.give_command": "Give Command", + "config.rei.options.cheats.give_command.desc": "The command invoked to cheat items when REI is not installed on the server. This may be useful if the server replaced the default /give command. Available placeholders: {item_name}, {item_identifier}, {count} and {player_name}.", + "config.rei.options.groups.layout.widgets": "Widgets", + "config.rei.options.layout.search_field_location": "Search Field Location", + "config.rei.options.layout.search_field_location.desc": "The location of the search field. By default, the search field is placed at the bottom center, which automatically moves to the side to make way for tall container screens.", + "config.rei.options.layout.config_button_location": "Config Button Location", + "config.rei.options.layout.config_button_location.desc": "The location of the configuration button. By default, it is placed next to the search field. However, this can be changed to look like the legacy versions of REI, where it is placed on the top side of the screen.", + "config.rei.options.layout.craftable_filter": "Craftable Filter", + "config.rei.options.layout.craftable_filter.desc": "Craftable Filter allows you to view stacks currently craftable with the ingredients in your inventory. This can be useful alongside the Ctrl+Click quick craft feature to craft quickly.", + "config.rei.options.groups.layout.panel": "Panel", + "config.rei.options.layout.boundaries": "Boundaries", + "config.rei.options.layout.boundaries.desc": "Declare the boundaries of the panel. Useful to limit the columns / rows displayed on screen.", + "config.rei.options.groups.accessibility.display": "Display", + "config.rei.options.accessibility.larger_tabs": "Larger Tabs", + "config.rei.options.accessibility.larger_tabs.desc": "Increase the size of tabs in recipe viewing screens.", + "config.rei.options.accessibility.larger_arrow_buttons": "Larger Arrow Buttons", + "config.rei.options.accessibility.larger_arrow_buttons.desc": "Increase the size of pages switching buttons next to tabs in recipe viewing screens.", + "config.rei.options.groups.accessibility.widgets": "Widgets", + "config.rei.options.accessibility.scrollbar_visibility": "Scrollbar Visibility", + "config.rei.value.accessibility.scrollbar_visibility.always": "Always Visible", + "config.rei.value.accessibility.scrollbar_visibility.when_scrolling": "When Scrolling", + "config.rei.value.accessibility.scrollbar_visibility.never": "Always Invisible", + "config.rei.options.accessibility.clickable_recipe_arrows": "Clickable Recipe Arrows", + "config.rei.options.accessibility.clickable_recipe_arrows.desc": "Click on recipe arrows to see all recipes in the target category.", + "config.rei.options.groups.favorites.favorites": "Favorites", + "config.rei.options.favorites.mode": "Mode", + "config.rei.options.favorites.mode.desc": "Favorite different entries on the opposite side of the entry panel. The favorites are persistent across reloads, and act as a quick access to things you are working on.\nSimply press \"A\", or drag and drop entries to add / remove an entry from favorites.", + "config.rei.options.favorites.new_favorites_button_visibility": "New Favorites Button Visibility", + "config.rei.options.favorites.new_favorites_button_visibility.desc": "The visibility of the new favorites button on the bottom side of the panel.", + "config.rei.value.favorites.new_favorites_button_visibility.always_visible": "Always Visible", + "config.rei.value.favorites.new_favorites_button_visibility.auto_hide": "When Active", + "config.rei.value.favorites.new_favorites_button_visibility.always_invisible": "Always Invisible", + "config.rei.options.groups.favorites.advanced": "Advanced", + "config.rei.options.favorites.game_mode_command": "Game Mode Command", + "config.rei.options.favorites.game_mode_command.desc": "The command invoked to change the gamemode. This may be useful if the server replaced the default /gamemode command. Available placeholders: {gamemode}.", + "config.rei.options.favorites.time_command": "Time Command", + "config.rei.options.favorites.time_command.desc": "The command invoked to change the time. This may be useful if the server replaced the default /time command. Available placeholders: {time}.", + "config.rei.options.favorites.weather_command": "Weather Command", + "config.rei.options.favorites.weather_command.desc": "The command invoked to change the weather. This may be useful if the server replaced the default /weather command. Available placeholders: {weather}.", + "config.rei.options.groups.performance.rendering": "Rendering", + "config.rei.options.performance.batched_rendering": "Batched Rendering", + "config.rei.options.performance.batched_rendering.desc": "Batched Rendering decreases the amount of individual calls, and improves performances where many entries are visible at one time.", + "config.rei.options.performance.cached_rendering": "Cached Rendering", + "config.rei.options.performance.cached_rendering.desc": "Cached Rendering pre-renders entries and avoids rendering the entries again. This will make animated entries appear static, but will drastically improve performance by 3x-5x.", + "config.rei.options.groups.performance.reload": "Reload", + "config.rei.options.performance.reload_thread": "Reload Thread", + "config.rei.options.performance.reload_thread.desc": "By using its own thread by default for reloading, this prevents soft-locking the game until everything is loaded in.", + "config.rei.values.performance.reload_thread.main_thread": "Main Thread (Blocking)", + "config.rei.values.performance.reload_thread.rei_thread": "REI Thread", + "config.rei.options.performance.cached_display_lookup": "Cached Display Lookup", + "config.rei.options.performance.cached_display_lookup.desc": "Cached Display Lookup reduces the time when looking up a display. This stores the inputs and outputs of a display ahead of time.", + "config.rei.options.groups.search.appearance": "Appearance", + "config.rei.options.search.syntax_highlighting": "Syntax Highlighting", + "config.rei.options.search.syntax_highlighting.desc": "Displays different search filters in different colors for easier identification.", + "config.rei.options.groups.search.filters": "Filters", + "config.rei.options.search.mod_search": "Mod Search", + "config.rei.options.search.mod_search.desc": "Filter entries by its containing mod §l%s§r.", + "config.rei.options.search.tooltip_search": "Tooltip Search", + "config.rei.options.search.tooltip_search.desc": "Filter entries by contents of its tooltip §l%s§r. This is useful for searching through details of the entry, for example, enchantments.", + "config.rei.options.search.tag_search": "Tag Search", + "config.rei.options.search.tag_search.desc": "Filter entries by the tags it is contained in §l%s§r.", + "config.rei.options.search.identifier_search": "Identifier Search", + "config.rei.options.search.identifier_search.desc": "Filter entries by its identifier §l%s§r.", + "config.rei.options.groups.search.advanced": "Advanced", + "config.rei.options.search.async_search": "Async Search", + "config.rei.options.search.async_search.desc": "Parallelize search with multiple threads. This usually improves performance and \"snappiness\" of search.", + "config.rei.options.search.async_search.mode": "Mode", + "config.rei.options.search.async_search.partition_size": "Partition Size", + "config.rei.options.search.async_search.patch_thread_crash": "Patch Thread Crash", + "config.rei.options.groups.filtering.filtering": "Filtering", + "config.rei.options.filtering.customized_filtering": "Customized Filtering", + "config.rei.options.filtering.customized_filtering.desc": "Create filtering rules to hide / show specific entries from the entry list.", + "config.rei.options.groups.filtering.advanced": "Advanced", + "config.rei.options.filtering.filter_displays": "Filter Displays", + "config.rei.options.filtering.filter_displays.desc": "Apply filtering rules to determine the visibility of displays. Displays with all entries filtered will be hidden.", + "config.rei.options.groups.list.entries": "Entries", + "config.rei.options.list.display_mode": "Display Mode", + "config.rei.options.list.display_mode.desc": "The way entries are laid out. Paginated mode displays entries in pages, where there are buttons to traverse the different pages. Scrolled mode displays entries in a vertical list.", + "config.rei.value.list.display_mode.scrolled": "Scrolled", + "config.rei.value.list.display_mode.paginated": "Paginated", + "config.rei.options.list.ordering": "Ordering", + "config.rei.options.list.ordering.desc": "The method the entries are sorted by. By default, REI follows the order in which entries are registered into the game. This can be changed to mimic the creative tabs or the direction of the sorting.", + "config.rei.options.list.zoom": "Zoom", + "config.rei.options.list.zoom.desc": "The size of the entries. Increasing the zoom amount may also improve performance as less entries are on the screen at the same time.", + "config.rei.options.list.focus_mode": "Focus Mode", + "config.rei.options.list.focus_mode.desc": "How the focus state of the entries will be presented. By default, REI follows vanilla and highlights the slot.", + "config.rei.value.list.focus_mode.highlighted": "Highlighted", + "config.rei.value.list.focus_mode.zoomed": "Zoomed", + "config.rei.options.groups.debug.performance": "Performance", + "config.rei.options.debug.plugins_performance": "Plugins Performance", + "config.rei.options.debug.plugins_performance.desc": "Detailed break-down of plugins' reload times. This is very useful in debugging the performance after loaded into a world.", + "config.rei.options.debug.search_performance": "Search Performance", + "config.rei.options.debug.search_performance.desc": "Verbose console print out for analysing search performance.", + "config.rei.options.debug.entry_list_performance": "Entry List Performance", + "config.rei.options.debug.entry_list_performance.desc": "Display the time used to render entries on the entry list.", + "config.rei.options.groups.reset.reload": "Reload", + "config.rei.options.reset.reload_plugins": "Reload Plugins", + "config.rei.options.reset.reload_plugins.desc": "Resets the current loaded data and reload all data and plugins.", + "config.rei.options.reset.reload_search": "Reload Search", + "config.rei.options.reset.reload_search.desc": "Resets all cache around search. The search cache will rebuild before the first search after reloading.", + "config.rei.options.groups.reset.reset": "Reset", + "config.rei.options.reset.reset_all_options": "Reset All Options", + "config.rei.options.reset.reset_all_options.desc": "This is an extremely destructive operation. This resets all REI options as the factory state, and cannot be reversed.", "config.rei.value.trueFalse.false": "False", "config.rei.value.trueFalse.true": "True", "config.rei.value.enabledDisabled.false": "Disabled", |
