aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl/client
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-12-16 19:23:54 +0800
committershedaniel <daniel@shedaniel.me>2021-12-16 19:28:49 +0800
commita9bea650261caebb991743412a950581e471cd13 (patch)
tree948d5878e1ebc688829b05e43c5b7d28431a84cd /runtime/src/main/java/me/shedaniel/rei/impl/client
parent59b680b3d695acef0e356844e2c28186c5c89010 (diff)
downloadRoughlyEnoughItems-a9bea650261caebb991743412a950581e471cd13.tar.gz
RoughlyEnoughItems-a9bea650261caebb991743412a950581e471cd13.tar.bz2
RoughlyEnoughItems-a9bea650261caebb991743412a950581e471cd13.zip
Adds EntryDefinition.cheatsAs
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/client')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java21
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java9
2 files changed, 10 insertions, 20 deletions
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 4ab46773c..2da340fb0 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
@@ -24,16 +24,15 @@
package me.shedaniel.rei.impl.client.gui.widget;
import com.mojang.blaze3d.vertex.PoseStack;
-import dev.architectury.fluid.FluidStack;
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.screen.DisplayScreen;
import me.shedaniel.rei.api.common.entry.EntryStack;
+import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.util.EntryStacks;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
-import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
public abstract class EntryListEntryWidget extends EntryWidget {
@@ -79,12 +78,9 @@ public abstract class EntryListEntryWidget extends EntryWidget {
if (!(ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen))) return false;
EntryStack<?> entry = getCurrentEntry().copy();
if (!entry.isEmpty()) {
- if (entry.getValueType() == FluidStack.class) {
- FluidStack value = (FluidStack) entry.getValue();
- Item bucketItem = value.getFluid().getBucket();
- if (bucketItem != null) {
- entry = EntryStacks.of(bucketItem);
- }
+ if (entry.getType() != VanillaEntryTypes.ITEM) {
+ EntryStack<ItemStack> cheatsAs = entry.cheatsAs();
+ entry = cheatsAs.isEmpty() ? entry : cheatsAs;
}
if (entry.getValueType() == ItemStack.class)
entry.<ItemStack>castValue().setCount(button != 1 && !Screen.hasShiftDown() ? 1 : entry.<ItemStack>castValue().getMaxStackSize());
@@ -101,12 +97,9 @@ public abstract class EntryListEntryWidget extends EntryWidget {
if (ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen)) {
EntryStack<?> entry = getCurrentEntry().copy();
if (!entry.isEmpty()) {
- if (entry.getValueType() == FluidStack.class) {
- FluidStack value = (FluidStack) entry.getValue();
- Item bucketItem = value.getFluid().getBucket();
- if (bucketItem != null) {
- entry = EntryStacks.of(bucketItem);
- }
+ if (entry.getType() != VanillaEntryTypes.ITEM) {
+ EntryStack<ItemStack> cheatsAs = entry.cheatsAs();
+ entry = cheatsAs.isEmpty() ? entry : cheatsAs;
}
return EntryStacks.equalsExact(entry, stack);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
index 2faf558d6..4796da9d5 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java
@@ -29,7 +29,6 @@ import com.google.common.collect.Lists;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.Tesselator;
import com.mojang.math.Matrix4f;
-import dev.architectury.fluid.FluidStack;
import me.shedaniel.clothconfig2.ClothConfigInitializer;
import me.shedaniel.clothconfig2.api.ScissorsHandler;
import me.shedaniel.clothconfig2.api.ScrollingContainer;
@@ -323,11 +322,9 @@ public class EntryListWidget extends WidgetWithBounds implements OverlayListWidg
if (containsChecked(mouseX, mouseY) && ClientHelper.getInstance().isCheating() && !(Minecraft.getInstance().screen instanceof DisplayScreen) && !minecraft.player.containerMenu.getCarried().isEmpty() && ClientHelperImpl.getInstance().canDeleteItems()) {
EntryStack<?> stack = EntryStacks.of(minecraft.player.containerMenu.getCarried().copy());
- if (stack.getValueType() == FluidStack.class) {
- Item bucketItem = ((FluidStack) stack.getValue()).getFluid().getBucket();
- if (bucketItem != null) {
- stack = EntryStacks.of(bucketItem);
- }
+ if (stack.getType() != VanillaEntryTypes.ITEM) {
+ EntryStack<ItemStack> cheatsAs = stack.cheatsAs();
+ stack = cheatsAs.isEmpty() ? stack : cheatsAs;
}
for (Widget child : children()) {
if (child.containsMouse(mouseX, mouseY) && child instanceof EntryWidget widget) {