aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-02-12 01:55:38 +0800
committershedaniel <daniel@shedaniel.me>2020-02-12 02:03:30 +0800
commit620b7b47c9c2a3d7e1f54c5a8c82113acaff7438 (patch)
treedde7882dac52864c84167799db97cb6f72db90e0 /src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
parent5cb938a76b4f93c9f58bc725a1543e511c760aa9 (diff)
downloadRoughlyEnoughItems-620b7b47c9c2a3d7e1f54c5a8c82113acaff7438.tar.gz
RoughlyEnoughItems-620b7b47c9c2a3d7e1f54c5a8c82113acaff7438.tar.bz2
RoughlyEnoughItems-620b7b47c9c2a3d7e1f54c5a8c82113acaff7438.zip
fix favorites saving
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
index 2ffdc004c..00657be20 100644
--- a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
+++ b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
@@ -20,6 +20,10 @@ import me.shedaniel.rei.gui.config.SearchFieldLocation;
import net.minecraft.client.util.InputUtil;
import org.jetbrains.annotations.ApiStatus;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
import java.util.ArrayList;
import java.util.List;
@@ -27,12 +31,36 @@ import java.util.List;
@Config(name = "roughlyenoughitems/config")
public class ConfigObjectImpl implements ConfigObject, ConfigData {
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target({ElementType.FIELD})
+ @interface DontApplyFieldName {}
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target({ElementType.FIELD})
+ @interface UseEnumSelectorInstead {}
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target({ElementType.FIELD})
+ @interface UseSpecialRecipeTypeScreen {}
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target({ElementType.FIELD})
+ @interface UseFilteringScreen {}
+
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target({ElementType.FIELD})
+ @interface UsePercentage {
+ double min();
+
+ double max();
+ }
+
@ConfigEntry.Category("!general") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName public 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();
@ConfigEntry.Category("performance") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName private Performance performance = new Performance();
- // @ConfigEntry.Category("filtering") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName private Filtering filtering = new Filtering();
+ @ConfigEntry.Category("filtering") @ConfigEntry.Gui.TransitiveObject @DontApplyFieldName private Filtering filtering = new Filtering();
@Override
public boolean isOverlayVisible() {
@@ -280,6 +308,11 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
return general.favorites;
}
+ @Override
+ public List<EntryStack> getFilteredStacks() {
+ return filtering.filteredStacks;
+ }
+
public static class General {
@ConfigEntry.Gui.Excluded public List<EntryStack> favorites = new ArrayList<>();
@Comment("Declares whether cheating mode is on.") private boolean cheating = false;
@@ -343,6 +376,6 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
}
public static class Filtering {
- private List<EntryStack> filteredStacks = new ArrayList<>();
+ @UseFilteringScreen private List<EntryStack> filteredStacks = new ArrayList<>();
}
}