aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2019-12-24 11:31:40 +0800
committershedaniel <daniel@shedaniel.me>2019-12-24 11:31:40 +0800
commit08d80d588a36598114087a79917e36e9d2cc97c3 (patch)
tree95cde698bbf1eca2f83143d39fd206cf2dc803f2 /src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
parent7d438f554c4173880a407a6bb8fc80b8a4723845 (diff)
downloadRoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.gz
RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.bz2
RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.zip
Finishing workstation usage and close #220
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java170
1 files changed, 103 insertions, 67 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
index 607422f63..8bc0dc542 100644
--- a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
+++ b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
@@ -21,241 +21,273 @@ import java.util.List;
@Internal
@Config(name = "roughlyenoughitems/config")
public class ConfigObjectImpl implements ConfigObject, ConfigData {
-
- @ConfigEntry.Category("!general") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName
+
+ @ConfigEntry.Category("!general")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
public General general = new General();
- @ConfigEntry.Category("appearance") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName
+ @ConfigEntry.Category("appearance")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
private Appearance appearance = new Appearance();
- @ConfigEntry.Category("modules") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName
+ @ConfigEntry.Category("modules")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
private Modules modules = new Modules();
- @ConfigEntry.Category("technical") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName
+ @ConfigEntry.Category("technical")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
private Technical technical = new Technical();
- @ConfigEntry.Category("performance") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName
+ @ConfigEntry.Category("performance")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
private Performance performance = new Performance();
-
+
@Override
public boolean isLighterButtonHover() {
return appearance.lighterButtonHover;
}
-
+
@Override
public void setLighterButtonHover(boolean lighterButtonHover) {
appearance.lighterButtonHover = lighterButtonHover;
}
-
+
@Override
public boolean isOverlayVisible() {
return general.overlayVisible;
}
-
+
@Override
public void setOverlayVisible(boolean overlayVisible) {
general.overlayVisible = overlayVisible;
}
-
+
@Override
public boolean isCheating() {
return general.cheating;
}
-
+
@Override
public void setCheating(boolean cheating) {
general.cheating = cheating;
}
-
+
@Override
public ItemListOrdering getItemListOrdering() {
return appearance.itemListOrdering.getOrdering();
}
-
+
@Override
public boolean isItemListAscending() {
return appearance.itemListOrdering.isAscending();
}
-
+
@Override
public boolean isUsingDarkTheme() {
return appearance.darkTheme;
}
-
+
@Override
public boolean isToastDisplayedOnCopyIdentifier() {
return modules.toastDisplayedOnCopyIdentifier;
}
-
+
@Override
public boolean doesRenderEntryEnchantmentGlint() {
return performance.renderEntryEnchantmentGlint;
}
-
+
@Override
public boolean isEntryListWidgetScrolled() {
return appearance.scrollingEntryListWidget;
}
-
+
@Override
public boolean shouldAppendModNames() {
return appearance.appendModNames;
}
-
+
@Override
public RecipeScreenType getRecipeScreenType() {
return appearance.recipeScreenType;
}
-
+
@Override
public void setRecipeScreenType(RecipeScreenType recipeScreenType) {
appearance.recipeScreenType = recipeScreenType;
}
-
+
@Override
public boolean isLoadingDefaultPlugin() {
return technical.loadDefaultPlugin;
}
-
+
@Override
public SearchFieldLocation getSearchFieldLocation() {
return appearance.searchFieldLocation;
}
-
+
@Override
public boolean isLeftHandSidePanel() {
return appearance.mirrorItemPanel;
}
-
+
@Override
public boolean isCraftableFilterEnabled() {
return modules.enableCraftableOnlyButton;
}
-
+
@Override
public String getGamemodeCommand() {
return technical.gamemodeCommand;
}
-
+
@Override
public String getGiveCommand() {
return technical.giveCommand;
}
-
+
@Override
public String getWeatherCommand() {
return technical.weatherCommand;
}
-
+
@Override
public int getMaxRecipePerPage() {
return appearance.maxRecipePerPage;
}
-
+
@Override
public boolean doesShowUtilsButtons() {
return modules.showUtilsButtons;
}
-
+
@Override
public boolean doesDisableRecipeBook() {
return modules.disableRecipeBook;
}
-
+
@Override
public boolean doesFixTabCloseContainer() {
return modules.fixTabCloseContainer;
}
-
+
@Override
public boolean areClickableRecipeArrowsEnabled() {
return appearance.clickableRecipeArrows;
}
-
+
@Override
public ItemCheatingMode getItemCheatingMode() {
return appearance.itemCheatingMode;
}
-
+
@Override
public boolean isUsingLightGrayRecipeBorder() {
return appearance.lightGrayRecipeBorder;
}
-
+
@Override
public boolean doesVillagerScreenHavePermanentScrollBar() {
return appearance.villagerScreenPermanentScrollBar;
}
-
+
@Override
public boolean doesRegisterRecipesInAnotherThread() {
return technical.registerRecipesInAnotherThread;
}
-
+
@Override
public boolean doesSnapToRows() {
return appearance.snapToRows;
}
-
+
@Override
public boolean isFavoritesEnabled() {
return general.favoritesEnabled;
}
-
+
@Override
public boolean doDisplayFavoritesTooltip() {
return isFavoritesEnabled() && appearance.displayFavoritesTooltip;
}
-
+
@Override
public boolean doDisplayFavoritesOnTheLeft() {
return appearance.displayFavoritesOnTheLeft;
}
-
+
@Override
public boolean doesFastEntryRendering() {
return performance.fastEntryRendering;
}
-
+
@Override
public boolean doDebugRenderTimeRequired() {
return technical.debugRenderTimeRequired;
}
-
+
+ @Override
+ public boolean doSearchFavorites() {
+ return appearance.searchFavorites;
+ }
+
@Override
public InputUtil.KeyCode getFavoriteKeybind() {
return general.favoriteKeybind == null ? InputUtil.UNKNOWN_KEYCODE : general.favoriteKeybind;
}
-
+
public static class General {
- @ConfigEntry.Gui.Excluded public List<String> favorites = new ArrayList<>();
- @Comment("Declares whether cheating mode is on.") private boolean cheating = false;
- @Comment("Declares whether REI is visible.") @ConfigEntry.Gui.Excluded private boolean overlayVisible = true;
+ @ConfigEntry.Gui.Excluded
+ public List<String> favorites = new ArrayList<>();
+ @Comment("Declares whether cheating mode is on.")
+ private boolean cheating = false;
+ @Comment("Declares whether REI is visible.")
+ @ConfigEntry.Gui.Excluded
+ private boolean overlayVisible = true;
private boolean favoritesEnabled = true;
- @AddInFrontKeyCode private InputUtil.KeyCode favoriteKeybind = InputUtil.Type.KEYSYM.createFromCode(65);
+ @AddInFrontKeyCode
+ private InputUtil.KeyCode favoriteKeybind = InputUtil.Type.KEYSYM.createFromCode(65);
}
-
+
public static class Appearance {
- @Comment("The ordering of the items on the item panel.") @UseEnumSelectorInstead
+ @Comment("The ordering of the items on the item panel.")
+ @UseEnumSelectorInstead
private ItemListOrderingConfig itemListOrdering = ItemListOrderingConfig.REGISTRY_ASCENDING;
- @Comment("Declares the appearance of REI windows.") private boolean darkTheme = false;
- @Comment("The ordering of the items on the item panel.") @UseEnumSelectorInstead
+ @Comment("Declares the appearance of REI windows.")
+ private boolean darkTheme = false;
+ @Comment("The ordering of the items on the item panel.")
+ @UseEnumSelectorInstead
private RecipeScreenType recipeScreenType = RecipeScreenType.UNSET;
- @Comment("Declares the position of the search field.") @UseEnumSelectorInstead
+ @Comment("Declares the position of the search field.")
+ @UseEnumSelectorInstead
private SearchFieldLocation searchFieldLocation = SearchFieldLocation.CENTER;
- @Comment("Declares the position of the item list panel.") private boolean mirrorItemPanel = false;
+ @Comment("Declares the position of the item list panel.")
+ private boolean mirrorItemPanel = false;
@Comment("Declares the maximum amount of recipes displayed in a page if possible.")
- @ConfigEntry.BoundedDiscrete(min = 2, max = 99) private int maxRecipePerPage = 3;
+ @ConfigEntry.BoundedDiscrete(min = 2, max = 99)
+ private int maxRecipePerPage = 3;
@Comment("Declares whether REI should lighten the button if hovered.")
private boolean lighterButtonHover = true;
private boolean clickableRecipeArrows = true;
- @UseEnumSelectorInstead private ItemCheatingMode itemCheatingMode = ItemCheatingMode.REI_LIKE;
- @Comment("Declares the appearance of recipe's border.") private boolean lightGrayRecipeBorder = false;
- @Comment("Declares whether REI should append mod names to item stacks.") private boolean appendModNames = true;
+ @UseEnumSelectorInstead
+ private ItemCheatingMode itemCheatingMode = ItemCheatingMode.REI_LIKE;
+ @Comment("Declares the appearance of recipe's border.")
+ private boolean lightGrayRecipeBorder = false;
+ @Comment("Declares whether REI should append mod names to item stacks.")
+ private boolean appendModNames = true;
@Comment("Declares how the scrollbar in villager screen should act.")
private boolean villagerScreenPermanentScrollBar = false;
- @Comment("Declares whether if entry list widget is scrolled.") private boolean scrollingEntryListWidget = false;
+ @Comment("Declares whether entry list widget is scrolled.")
+ private boolean scrollingEntryListWidget = false;
private boolean snapToRows = false;
private boolean displayFavoritesOnTheLeft = true;
private boolean displayFavoritesTooltip = true;
+ @Comment("Declares whether favorites will be searched.")
+ private boolean searchFavorites = true;
}
-
+
public static class Technical {
@Comment("To disable REI's default plugin.\nDon't change this unless you understand what you are doing!")
private boolean loadDefaultPlugin = true;
@@ -263,24 +295,28 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
private String gamemodeCommand = "/gamemode {gamemode}";
@Comment("Declares the command used in servers to cheat items.")
private String giveCommand = "/give {player_name} {item_identifier}{nbt} {count}";
- @Comment("Declares the command used to change weather.") private String weatherCommand = "/weather {weather}";
+ @Comment("Declares the command used to change weather.")
+ private String weatherCommand = "/weather {weather}";
private boolean registerRecipesInAnotherThread = true;
private boolean debugRenderTimeRequired = false;
}
-
+
public static class Modules {
@Comment("Declares whether the craftable filter button is enabled.")
private boolean enableCraftableOnlyButton = true;
private boolean toastDisplayedOnCopyIdentifier = true;
- @Comment("Declares whether the utils buttons are shown.") private boolean showUtilsButtons = false;
- @Comment("Declares whether REI should remove the recipe book.") private boolean disableRecipeBook = false;
+ @Comment("Declares whether the utils buttons are shown.")
+ private boolean showUtilsButtons = false;
+ @Comment("Declares whether REI should remove the recipe book.")
+ private boolean disableRecipeBook = false;
@Comment("Declares whether REI should fix closing container with tab.")
private boolean fixTabCloseContainer = false;
}
-
+
public static class Performance {
@Comment("Whether REI should render entry's enchantment glint")
private boolean renderEntryEnchantmentGlint = true;
- @ConfigEntry.Gui.Excluded private boolean fastEntryRendering = false;
+ @ConfigEntry.Gui.Excluded
+ private boolean fastEntryRendering = false;
}
}