aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ItemCheatingMode.java5
-rw-r--r--src/main/java/me/shedaniel/rei/client/ConfigObject.java3
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java8
-rw-r--r--src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java4
6 files changed, 21 insertions, 3 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ItemCheatingMode.java b/src/main/java/me/shedaniel/rei/api/ItemCheatingMode.java
new file mode 100644
index 000000000..ba9f73b77
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/ItemCheatingMode.java
@@ -0,0 +1,5 @@
+package me.shedaniel.rei.api;
+
+public enum ItemCheatingMode {
+ REI_LIKE, JEI_LIKE;
+}
diff --git a/src/main/java/me/shedaniel/rei/client/ConfigObject.java b/src/main/java/me/shedaniel/rei/client/ConfigObject.java
index 2eeff84fc..1d07f4ef3 100644
--- a/src/main/java/me/shedaniel/rei/client/ConfigObject.java
+++ b/src/main/java/me/shedaniel/rei/client/ConfigObject.java
@@ -1,6 +1,7 @@
package me.shedaniel.rei.client;
import blue.endless.jankson.Comment;
+import me.shedaniel.rei.api.ItemCheatingMode;
import me.shedaniel.rei.api.RelativePoint;
public class ConfigObject {
@@ -51,6 +52,8 @@ public class ConfigObject {
@Comment("Force enable 2019 REI April Fools' joke")
public boolean aprilFoolsFish2019 = false;
+ public ItemCheatingMode itemCheatingMode = ItemCheatingMode.REI_LIKE;
+
@Comment("The location of choose page dialog")
public RelativePoint choosePageDialogPoint = new RelativePoint(.5, .5);
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
index 03c8a0b96..2431ca5e1 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
@@ -123,7 +123,7 @@ public abstract class ButtonWidget extends HighlightableWidget {
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
- if (this.enabled) {
+ if (this.enabled && focused) {
if (int_1 != 257 && int_1 != 32 && int_1 != 335) {
return false;
} else {
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
index 4f2656557..4b1e7b1a7 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
@@ -48,7 +48,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
@Override
public boolean keyPressed(int int_1, int int_2, int int_3) {
- if (!clickable)
+ if (!clickable || !focused)
return false;
if (int_1 != 257 && int_1 != 32 && int_1 != 335)
return false;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
index f0f12fd66..f65e6de56 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -4,6 +4,7 @@ import com.google.common.collect.Lists;
import me.shedaniel.cloth.api.ClientUtils;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.DisplayHelper;
+import me.shedaniel.rei.api.ItemCheatingMode;
import me.shedaniel.rei.api.RecipeHelper;
import me.shedaniel.rei.client.ClientHelper;
import me.shedaniel.rei.client.ItemListOrdering;
@@ -106,7 +107,12 @@ public class ItemListOverlay extends Widget {
if (ClientHelper.isCheating()) {
if (getCurrentStack() != null && !getCurrentStack().isEmpty()) {
ItemStack cheatedStack = getCurrentStack().copy();
- cheatedStack.setAmount(button == 0 ? 1 : button == 1 ? cheatedStack.getMaxAmount() : cheatedStack.getAmount());
+ if (RoughlyEnoughItemsCore.getConfigManager().getConfig().itemCheatingMode == ItemCheatingMode.REI_LIKE)
+ cheatedStack.setAmount(button != 1 ? 1 : cheatedStack.getMaxAmount());
+ else if (RoughlyEnoughItemsCore.getConfigManager().getConfig().itemCheatingMode == ItemCheatingMode.JEI_LIKE)
+ cheatedStack.setAmount(button != 0 ? 1 : cheatedStack.getMaxAmount());
+ else
+ cheatedStack.setAmount(1);
return ClientHelper.tryCheatingStack(cheatedStack);
}
} else if (button == 0)
diff --git a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
index 90ebc8fac..85d1866db 100644
--- a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
+++ b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
@@ -7,6 +7,7 @@ import me.shedaniel.cloth.gui.entries.EnumListEntry;
import me.shedaniel.cloth.gui.entries.IntegerSliderEntry;
import me.shedaniel.cloth.gui.entries.StringListEntry;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
+import me.shedaniel.rei.api.ItemCheatingMode;
import me.shedaniel.rei.gui.config.ItemListOrderingConfig;
import me.shedaniel.rei.gui.credits.CreditsScreen;
import net.minecraft.client.MinecraftClient;
@@ -62,6 +63,9 @@ public class ClothScreenRegistry {
}
});
appearance.addOption(new IntegerSliderEntry("text.rei.config.max_recipes_per_page", 2, 99, RoughlyEnoughItemsCore.getConfigManager().getConfig().maxRecipePerPage, "text.cloth-config.reset_value", () -> 3, i -> RoughlyEnoughItemsCore.getConfigManager().getConfig().maxRecipePerPage = i));
+ appearance.addOption(new EnumListEntry<>("text.rei.config.item_cheating_mode", ItemCheatingMode.class, RoughlyEnoughItemsCore.getConfigManager().getConfig().itemCheatingMode, "text.cloth-config.reset_value", () -> ItemCheatingMode.REI_LIKE, i -> RoughlyEnoughItemsCore.getConfigManager().getConfig().itemCheatingMode = i, anEnum -> {
+ return I18n.translate("text.rei.config.item_cheating_mode." + anEnum.name().toLowerCase());
+ }));
ConfigScreenBuilder.CategoryBuilder modules = builder.addCategory("text.rei.config.modules");
modules.addOption(new BooleanListEntry("text.rei.config.enable_craftable_only", RoughlyEnoughItemsCore.getConfigManager().getConfig().enableCraftableOnlyButton, "text.cloth-config.reset_value", () -> true, bool -> RoughlyEnoughItemsCore.getConfigManager().getConfig().enableCraftableOnlyButton = bool));
modules.addOption(new BooleanListEntry("text.rei.config.enable_util_buttons", RoughlyEnoughItemsCore.getConfigManager().getConfig().showUtilsButtons, "text.cloth-config.reset_value", () -> false, bool -> RoughlyEnoughItemsCore.getConfigManager().getConfig().showUtilsButtons = bool));