aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-02-29 21:45:26 +0800
committershedaniel <daniel@shedaniel.me>2020-02-29 21:51:27 +0800
commit2c56475ec7f2b5190b8198ab5fd98b1a927d6250 (patch)
tree68a67bbc4f06b8220c0210560b43ed59829be28e /src/main/java
parent08054321b753791342d7de8ab38ffb3def9577c2 (diff)
downloadRoughlyEnoughItems-2c56475ec7f2b5190b8198ab5fd98b1a927d6250.tar.gz
RoughlyEnoughItems-2c56475ec7f2b5190b8198ab5fd98b1a927d6250.tar.bz2
RoughlyEnoughItems-2c56475ec7f2b5190b8198ab5fd98b1a927d6250.zip
change border
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ConfigObject.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/config/RecipeBorderType.java36
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java3
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java6
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java16
5 files changed, 58 insertions, 8 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
index 6e6490022..09566c873 100644
--- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java
+++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
@@ -25,6 +25,7 @@ package me.shedaniel.rei.api;
import me.shedaniel.clothconfig2.api.ModifierKeyCode;
import me.shedaniel.rei.gui.config.ItemListOrdering;
+import me.shedaniel.rei.gui.config.RecipeBorderType;
import me.shedaniel.rei.gui.config.RecipeScreenType;
import me.shedaniel.rei.gui.config.SearchFieldLocation;
import me.shedaniel.rei.impl.ConfigManagerImpl;
@@ -89,8 +90,12 @@ public interface ConfigObject {
boolean areClickableRecipeArrowsEnabled();
+ @ApiStatus.ScheduledForRemoval
+ @Deprecated
boolean isUsingLightGrayRecipeBorder();
+ RecipeBorderType getRecipeBorderType();
+
boolean doesVillagerScreenHavePermanentScrollBar();
boolean doesRegisterRecipesInAnotherThread();
diff --git a/src/main/java/me/shedaniel/rei/gui/config/RecipeBorderType.java b/src/main/java/me/shedaniel/rei/gui/config/RecipeBorderType.java
new file mode 100644
index 000000000..32c3b96aa
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/config/RecipeBorderType.java
@@ -0,0 +1,36 @@
+package me.shedaniel.rei.gui.config;
+
+import net.minecraft.client.resource.language.I18n;
+
+import java.util.Locale;
+
+public enum RecipeBorderType {
+ DEFAULT(66),
+ LIGHTER(0),
+ NONE(0, false);
+
+ private int offset;
+ private boolean render;
+
+ RecipeBorderType(int offset) {
+ this(offset, true);
+ }
+
+ RecipeBorderType(int offset, boolean render) {
+ this.offset = offset;
+ this.render = render;
+ }
+
+ public int getYOffset() {
+ return offset;
+ }
+
+ public boolean isRendering() {
+ return render;
+ }
+
+ @Override
+ public String toString() {
+ return I18n.translate("config.roughlyenoughitems.recipeBorder." + name().toLowerCase(Locale.ROOT));
+ }
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java
index 457d99519..8b6108d56 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java
@@ -26,6 +26,7 @@ package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.systems.RenderSystem;
import me.shedaniel.math.api.Rectangle;
import me.shedaniel.rei.api.ConfigObject;
+import me.shedaniel.rei.gui.config.RecipeBorderType;
import me.shedaniel.rei.gui.config.RecipeScreenType;
import me.shedaniel.rei.impl.ScreenHelper;
import net.minecraft.util.Identifier;
@@ -121,7 +122,7 @@ public class PanelWidget extends WidgetWithBounds {
}
protected int getYTextureOffset() {
- return ConfigObject.getInstance().isUsingLightGrayRecipeBorder() ? 0 : 66;
+ return RecipeBorderType.DEFAULT.getYOffset();
}
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
index 055e859c8..7d4af047a 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
@@ -34,7 +34,11 @@ public class RecipeBaseWidget extends PanelWidget {
@Override
protected int getYTextureOffset() {
- return ConfigObject.getInstance().isUsingLightGrayRecipeBorder() ? 0 : 66;
+ return ConfigObject.getInstance().getRecipeBorderType().getYOffset();
}
+ @Override
+ protected boolean isRendering() {
+ return super.isRendering() && ConfigObject.getInstance().getRecipeBorderType().isRendering();
+ }
}
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
index 3db0210fe..287042bc1 100644
--- a/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
+++ b/src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
@@ -31,10 +31,7 @@ import me.shedaniel.clothconfig2.api.Modifier;
import me.shedaniel.clothconfig2.api.ModifierKeyCode;
import me.shedaniel.rei.api.ConfigObject;
import me.shedaniel.rei.api.EntryStack;
-import me.shedaniel.rei.gui.config.ItemListOrdering;
-import me.shedaniel.rei.gui.config.ItemListOrderingConfig;
-import me.shedaniel.rei.gui.config.RecipeScreenType;
-import me.shedaniel.rei.gui.config.SearchFieldLocation;
+import me.shedaniel.rei.gui.config.*;
import net.minecraft.client.util.InputUtil;
import org.jetbrains.annotations.ApiStatus;
@@ -182,8 +179,15 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
}
@Override
+ @ApiStatus.ScheduledForRemoval
+ @Deprecated
public boolean isUsingLightGrayRecipeBorder() {
- return appearance.lightGrayRecipeBorder;
+ return appearance.recipeBorder == RecipeBorderType.LIGHTER;
+ }
+
+ @Override
+ public RecipeBorderType getRecipeBorderType() {
+ return appearance.recipeBorder;
}
@Override
@@ -376,7 +380,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
@Comment("Declares the maximum amount of recipes displayed in a page if possible.") @ConfigEntry.BoundedDiscrete(min = 2, max = 99)
private int maxRecipePerPage = 3;
private boolean clickableRecipeArrows = true;
- @Comment("Declares the appearance of recipe's border.") private boolean lightGrayRecipeBorder = false;
+ @Comment("Declares the appearance of recipe's border.") @UseEnumSelectorInstead private RecipeBorderType recipeBorder = RecipeBorderType.DEFAULT;
@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 entry list widget is scrolled.") private boolean scrollingEntryListWidget = false;