aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigCategories.java47
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigGroups.java65
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/AllREIConfigOptions.java84
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/OptionGroup.java4
5 files changed, 177 insertions, 25 deletions
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;
}