diff --git a/src/main/java/de/ellpeck/prettypipes/packets/PacketRequest.java b/src/main/java/de/ellpeck/prettypipes/packets/PacketRequest.java index c2088f1..03bc0c9 100644 --- a/src/main/java/de/ellpeck/prettypipes/packets/PacketRequest.java +++ b/src/main/java/de/ellpeck/prettypipes/packets/PacketRequest.java @@ -20,7 +20,8 @@ public class PacketRequest { public PacketRequest(BlockPos pos, ItemStack stack, int amount) { this.pos = pos; this.stack = stack; - this.nbtHash = stack.getTag().hashCode(); + if (stack.hasTag()) + this.nbtHash = stack.getTag().hashCode(); this.amount = amount; } diff --git a/src/main/java/de/ellpeck/prettypipes/terminal/ItemTerminalBlockEntity.java b/src/main/java/de/ellpeck/prettypipes/terminal/ItemTerminalBlockEntity.java index ae67e5b..76f7bf9 100644 --- a/src/main/java/de/ellpeck/prettypipes/terminal/ItemTerminalBlockEntity.java +++ b/src/main/java/de/ellpeck/prettypipes/terminal/ItemTerminalBlockEntity.java @@ -160,7 +160,7 @@ public class ItemTerminalBlockEntity extends BlockEntity implements IPipeConnect stack = this.networkItems.values().stream() .map(NetworkItem::asStack) // don't compare with nbt equality here or the whole hashing thing is pointless - .filter(s -> ItemEquality.compareItems(s, filter) && s.getTag().hashCode() == nbtHash) + .filter(s -> ItemEquality.compareItems(s, filter) && s.hasTag() && s.getTag().hashCode() == nbtHash) .findFirst().orElse(filter); } var requested = this.requestItemImpl(stack, onItemUnavailable(player, false));