aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-01-27 22:01:13 +0800
committershedaniel <daniel@shedaniel.me>2022-01-27 22:01:13 +0800
commitc35205ac0559d93eb92b80ad94fd98ee7087ecd2 (patch)
treeebd7da71b5d2d3081646bfdb124e68e97d923a1d /runtime/src/main/java
parent3ca59503b1f18d46c729d9605d3c2159795aea9d (diff)
downloadRoughlyEnoughItems-c35205ac0559d93eb92b80ad94fd98ee7087ecd2.tar.gz
RoughlyEnoughItems-c35205ac0559d93eb92b80ad94fd98ee7087ecd2.tar.bz2
RoughlyEnoughItems-c35205ac0559d93eb92b80ad94fd98ee7087ecd2.zip
Fix #671
Diffstat (limited to 'runtime/src/main/java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java4
3 files changed, 11 insertions, 2 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
index 688ac17ee..4f58e1a9d 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
@@ -382,6 +382,11 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
return functionality.allowInventoryHighlighting;
}
+ @Override
+ public ItemCheatingMode getItemCheatingMode() {
+ return functionality.itemCheatingMode;
+ }
+
@ApiStatus.Experimental
@Override
public double getHorizontalEntriesBoundariesPercentage() {
@@ -542,6 +547,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
@Comment("Declares whether REI should remove the recipe book.") private boolean disableRecipeBook = false;
@Comment("Declares whether subsets is enabled.") private boolean isSubsetsEnabled = false;
private boolean allowInventoryHighlighting = true;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) private ItemCheatingMode itemCheatingMode = ItemCheatingMode.REI_LIKE;
}
public static class Advanced {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java
index f2ee1dd83..e7b046bdd 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java
@@ -27,6 +27,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import me.shedaniel.math.Point;
import me.shedaniel.rei.api.client.ClientHelper;
import me.shedaniel.rei.api.client.config.ConfigObject;
+import me.shedaniel.rei.api.client.gui.config.ItemCheatingMode;
import me.shedaniel.rei.api.client.gui.screen.DisplayScreen;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
@@ -83,7 +84,7 @@ public abstract class EntryListEntryWidget extends EntryWidget {
entry = cheatsAs.isEmpty() ? entry : cheatsAs;
}
if (entry.getValueType() == ItemStack.class)
- entry.<ItemStack>castValue().setCount(button != 1 && !Screen.hasShiftDown() ? 1 : entry.<ItemStack>castValue().getMaxStackSize());
+ entry.<ItemStack>castValue().setCount(button != 1 && !Screen.hasShiftDown() == (ConfigObject.getInstance().getItemCheatingMode() == ItemCheatingMode.REI_LIKE) ? 1 : entry.<ItemStack>castValue().getMaxStackSize());
return ClientHelper.getInstance().tryCheatingEntry(entry);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
index 43527c4af..ef9e97562 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java
@@ -31,10 +31,12 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.RoughlyEnoughItemsCoreClient;
import me.shedaniel.rei.api.client.ClientHelper;
import me.shedaniel.rei.api.client.REIRuntime;
+import me.shedaniel.rei.api.client.config.ConfigObject;
import me.shedaniel.rei.api.client.favorites.FavoriteEntry;
import me.shedaniel.rei.api.client.favorites.FavoriteEntryType;
import me.shedaniel.rei.api.client.gui.AbstractRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
+import me.shedaniel.rei.api.client.gui.config.ItemCheatingMode;
import me.shedaniel.rei.api.client.gui.drag.DraggableStackProviderWidget;
import me.shedaniel.rei.api.client.gui.drag.DraggableStackVisitorWidget;
import me.shedaniel.rei.api.client.gui.screen.DisplayScreen;
@@ -226,7 +228,7 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
entry = cheatsAs.isEmpty() ? entry : cheatsAs;
}
if (entry.getType() == VanillaEntryTypes.ITEM)
- entry.<ItemStack>castValue().setCount(button != 1 && !Screen.hasShiftDown() ? 1 : entry.<ItemStack>castValue().getMaxStackSize());
+ entry.<ItemStack>castValue().setCount(button != 1 && !Screen.hasShiftDown() == (ConfigObject.getInstance().getItemCheatingMode() == ItemCheatingMode.REI_LIKE) ? 1 : entry.<ItemStack>castValue().getMaxStackSize());
return ClientHelper.getInstance().tryCheatingEntry(entry);
}