aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-07-02 19:53:30 +0800
committershedaniel <daniel@shedaniel.me>2020-07-02 19:53:30 +0800
commitaf1b3f780d8edb361c00421cdd991f3f2b86849c (patch)
tree65b830ac6ffb8ed82945bc820182fdc35ca5fb14 /src/main/java
parent98beb62fabe45c72da5ab5a95a0628caaf902ca1 (diff)
downloadRoughlyEnoughItems-af1b3f780d8edb361c00421cdd991f3f2b86849c.tar.gz
RoughlyEnoughItems-af1b3f780d8edb361c00421cdd991f3f2b86849c.tar.bz2
RoughlyEnoughItems-af1b3f780d8edb361c00421cdd991f3f2b86849c.zip
Fix crash on server
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java9
-rw-r--r--src/main/java/me/shedaniel/rei/api/EntryStack.java3
2 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index c71b371ec..bf8d57f1d 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -27,7 +27,6 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import io.netty.buffer.Unpooled;
import me.shedaniel.math.api.Executor;
-import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.server.InputSlotCrafter;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
@@ -97,15 +96,15 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer {
PlayerInventory inventory = player.inventory;
ItemStack itemStack = packetByteBuf.readItemStack();
- EntryStack stack = EntryStack.create(itemStack.copy());
- if (!inventory.getCursorStack().isEmpty() && EntryStack.create(inventory.getCursorStack()).equalsIgnoreAmount(stack)) {
- stack.setAmount(MathHelper.clamp(stack.getAmount() + inventory.getCursorStack().getCount(), 1, stack.getItemStack().getMaxCount()));
+ ItemStack stack = itemStack.copy();
+ if (!inventory.getCursorStack().isEmpty() && ItemStack.areItemsEqual(inventory.getCursorStack(), stack) && ItemStack.areTagsEqual(inventory.getCursorStack(), stack)) {
+ stack.setCount(MathHelper.clamp(stack.getCount() + inventory.getCursorStack().getCount(), 1, stack.getMaxCount()));
} else if (!inventory.getCursorStack().isEmpty()) {
inventory.setCursorStack(ItemStack.EMPTY);
player.updateCursorStack();
return;
}
- inventory.setCursorStack(stack.getItemStack().copy());
+ inventory.setCursorStack(stack.copy());
player.updateCursorStack();
ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new PacketByteBuf(Unpooled.buffer()).writeItemStack(itemStack.copy()).writeString(player.getEntityName(), 32767));
});
diff --git a/src/main/java/me/shedaniel/rei/api/EntryStack.java b/src/main/java/me/shedaniel/rei/api/EntryStack.java
index 9db7dca58..3f2c3490d 100644
--- a/src/main/java/me/shedaniel/rei/api/EntryStack.java
+++ b/src/main/java/me/shedaniel/rei/api/EntryStack.java
@@ -33,6 +33,8 @@ import me.shedaniel.rei.impl.EmptyEntryStack;
import me.shedaniel.rei.impl.FluidEntryStack;
import me.shedaniel.rei.impl.ItemEntryStack;
import me.shedaniel.rei.utils.CollectionUtils;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.fluid.Fluid;
@@ -56,6 +58,7 @@ import java.util.Optional;
import java.util.function.Function;
import java.util.function.Supplier;
+@Environment(EnvType.CLIENT)
@SuppressWarnings("deprecation")
public interface EntryStack extends TextRepresentable {