From 5e2eccadbd91171c01cdb209d1338bcfb7786b1c Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 2 Jan 2020 14:31:16 +0800 Subject: 3.3 Fix #58 Close #134 Close #158 Fix #227 --- .../java/me/shedaniel/rei/api/ConfigObject.java | 133 +++++++++++++-------- 1 file changed, 82 insertions(+), 51 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/api/ConfigObject.java') diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java index ac807ec03..ca3adc5a2 100644 --- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java +++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java @@ -5,10 +5,12 @@ package me.shedaniel.rei.api; +import me.shedaniel.clothconfig2.api.ModifierKeyCode; import me.shedaniel.rei.gui.config.ItemCheatingMode; import me.shedaniel.rei.gui.config.ItemListOrdering; import me.shedaniel.rei.gui.config.RecipeScreenType; import me.shedaniel.rei.gui.config.SearchFieldLocation; +import me.shedaniel.rei.impl.ConfigObjectImpl; import net.minecraft.client.util.InputUtil; import java.lang.annotation.ElementType; @@ -17,108 +19,137 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public interface ConfigObject { - + @SuppressWarnings("deprecation") static ConfigObject getInstance() { return ConfigManager.getInstance().getConfig(); } - + boolean isLighterButtonHover(); - + void setLighterButtonHover(boolean lighterButtonHover); - + boolean isOverlayVisible(); - + void setOverlayVisible(boolean overlayVisible); - + boolean isCheating(); - + void setCheating(boolean cheating); - + ItemListOrdering getItemListOrdering(); - + boolean isItemListAscending(); - + boolean isUsingDarkTheme(); - + boolean isToastDisplayedOnCopyIdentifier(); - + @Deprecated default boolean doesRenderEntryExtraOverlay() { return doesRenderEntryEnchantmentGlint(); } - + boolean doesRenderEntryEnchantmentGlint(); - + boolean isEntryListWidgetScrolled(); - + boolean shouldAppendModNames(); - + RecipeScreenType getRecipeScreenType(); - + void setRecipeScreenType(RecipeScreenType recipeScreenType); - + boolean isLoadingDefaultPlugin(); - + SearchFieldLocation getSearchFieldLocation(); - + boolean isLeftHandSidePanel(); - + boolean isCraftableFilterEnabled(); - + String getGamemodeCommand(); - + String getGiveCommand(); - + String getWeatherCommand(); - + int getMaxRecipePerPage(); - + boolean doesShowUtilsButtons(); - + boolean doesDisableRecipeBook(); - + boolean doesFixTabCloseContainer(); - + boolean areClickableRecipeArrowsEnabled(); - + ItemCheatingMode getItemCheatingMode(); - + boolean isUsingLightGrayRecipeBorder(); - + boolean doesVillagerScreenHavePermanentScrollBar(); - + boolean doesRegisterRecipesInAnotherThread(); - + boolean doesSnapToRows(); - + boolean isFavoritesEnabled(); - + boolean doDisplayFavoritesTooltip(); - + boolean doDisplayFavoritesOnTheLeft(); - + boolean doesFastEntryRendering(); - + boolean doDebugRenderTimeRequired(); - + boolean doSearchFavorites(); - - InputUtil.KeyCode getFavoriteKeybind(); - + + @Deprecated + default InputUtil.KeyCode getFavoriteKeybind() { + return getFavoriteKeyCode().getKeyCode(); + } + + ModifierKeyCode getFavoriteKeyCode(); + + ModifierKeyCode getRecipeKeybind(); + + ModifierKeyCode getUsageKeybind(); + + ModifierKeyCode getHideKeybind(); + + ModifierKeyCode getPreviousPageKeybind(); + + ModifierKeyCode getNextPageKeybind(); + + ModifierKeyCode getFocusSearchFieldKeybind(); + + ModifierKeyCode getCopyRecipeIdentifierKeybind(); + + double getEntrySize(); + + @Deprecated + abstract ConfigObjectImpl.General getGeneral(); + @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) - public @interface AddInFrontKeyCode { - } - + @interface AddInFrontKeyCode {} + @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) - public @interface DontApplyFieldName { - } - + @interface DontApplyFieldName {} + @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) - public @interface UseEnumSelectorInstead { + @interface UseEnumSelectorInstead {} + + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.FIELD}) + @interface UsePercentage { + double min(); + + double max(); } - + } -- cgit