aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2019-11-23 17:28:16 +0800
committershedaniel <daniel@shedaniel.me>2019-11-23 17:28:16 +0800
commitf8f2ffab63792a8ccd02b8627c0d2c0b2fad71fd (patch)
tree0a838a2d32528e535117615d440e2b7dd1609efd /src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
parentf1980316ccd614258d98d8b7f906809c12a2c217 (diff)
downloadRoughlyEnoughItems-f8f2ffab63792a8ccd02b8627c0d2c0b2fad71fd.tar.gz
RoughlyEnoughItems-f8f2ffab63792a8ccd02b8627c0d2c0b2fad71fd.tar.bz2
RoughlyEnoughItems-f8f2ffab63792a8ccd02b8627c0d2c0b2fad71fd.zip
3.2.10
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java257
1 files changed, 257 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
new file mode 100644
index 000000000..a4d89f58d
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
@@ -0,0 +1,257 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
+package me.shedaniel.rei.impl;
+
+import me.sargunvohra.mcmods.autoconfig1u.ConfigData;
+import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
+import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry;
+import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
+import me.shedaniel.rei.api.ConfigObject;
+import me.shedaniel.rei.api.annotations.Internal;
+import me.shedaniel.rei.gui.config.*;
+
+@Deprecated
+@Internal
+@Config(name = "roughlyenoughitems/config")
+public class ConfigObjectImpl implements ConfigObject, ConfigData {
+
+ @ConfigEntry.Category("!general")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
+ private General general = new General();
+
+ @ConfigEntry.Category("appearance")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
+ private Appearance appearance = new Appearance();
+
+ @ConfigEntry.Category("modules")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
+ private Modules modules = new Modules();
+
+ @ConfigEntry.Category("technical")
+ @ConfigEntry.Gui.TransitiveObject
+ @DontApplyFieldName
+ private Technical technical = new Technical();
+
+ @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 doesRenderEntryExtraOverlay() {
+ return appearance.renderEntryExtraOverlay;
+ }
+
+ @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;
+ }
+
+ public static class General {
+ @Comment("Declares whether cheating mode is on.")
+ private boolean cheating = false;
+ @Comment("Declares whether REI is visible.")
+ @ConfigEntry.Gui.Excluded
+ private boolean overlayVisible = true;
+ }
+
+ public static class Appearance {
+ @Comment("The ordering of the items on the item panel.")
+ private ItemListOrderingConfig itemListOrdering = ItemListOrderingConfig.REGISTRY_ASCENDING;
+ @Comment("Declares the appearance of REI windows.")
+ private boolean darkTheme = false;
+ @Comment("Whether REI should render entry's overlay.\nExample: Enchantment Glint")
+ private boolean renderEntryExtraOverlay = true;
+ @Comment("The ordering of the items on the item panel.")
+ private RecipeScreenType recipeScreenType = RecipeScreenType.UNSET;
+ @Comment("Declares the position of the search field.")
+ private SearchFieldLocation searchFieldLocation = SearchFieldLocation.CENTER;
+ @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;
+ @Comment("Declares whether REI should lighten the button if hovered.")
+ private boolean lighterButtonHover = true;
+ private boolean clickableRecipeArrows = true;
+ 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;
+ }
+
+ 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;
+ @Comment("Declares the command used to change gamemode.")
+ 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}";
+ private boolean registerRecipesInAnotherThread = true;
+ }
+
+ 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 REI should fix closing container with tab.")
+ private boolean fixTabCloseContainer = false;
+ }
+}