123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- /*
- * 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;
- }
-
- @Override
- public boolean doesSnapToRows() {
- return appearance.snapToRows;
- }
-
- 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.")
- @UseEnumSelectorInstead
- 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.")
- @UseEnumSelectorInstead
- private RecipeScreenType recipeScreenType = RecipeScreenType.UNSET;
- @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 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;
- @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;
- private boolean snapToRows = 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;
- }
- }
|