diff options
Diffstat (limited to 'src/main/java/me')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java | 9 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/EntryStack.java | 3 |
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 { |
