diff options
Diffstat (limited to 'src/main/java/me/shedaniel')
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)); |
