aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-01-27 22:01:13 +0800
committershedaniel <daniel@shedaniel.me>2022-01-27 22:06:00 +0800
commitc6b9a9ac32da50f9af309c553e3c5594d5ec0cbf (patch)
tree71c3f48f68e82ba39fc609f16b917ab31afaa690 /runtime/src/main/java/me/shedaniel
parent68161d044d2206de8193e67014bb86aae60551b8 (diff)
downloadRoughlyEnoughItems-c6b9a9ac32da50f9af309c553e3c5594d5ec0cbf.tar.gz
RoughlyEnoughItems-c6b9a9ac32da50f9af309c553e3c5594d5ec0cbf.tar.bz2
RoughlyEnoughItems-c6b9a9ac32da50f9af309c553e3c5594d5ec0cbf.zip
Fix #671
Diffstat (limited to 'runtime/src/main/java/me/shedaniel')
-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/runtime/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 c71a3a769..4fe37ff72 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
@@ -383,6 +383,11 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
return functionality.allowInventoryHighlighting;
}
+ @Override
+ public ItemCheatingMode getItemCheatingMode() {
+ return functionality.itemCheatingMode;
+ }
+
@ApiStatus.Experimental
@Override
public double getHorizontalEntriesBoundariesPercentage() {
@@ -544,6 +549,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
@Comment("Declares whether mob effects should be on the left side instead of the right side.") private boolean leftSideMobEffects = 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 07146d995..85cbc89f7 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/runtime/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
index 6121a95fc..9101f7648 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
@@ -32,10 +32,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);
}