diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/compat/ItemStorageItemHandler.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/compat/ItemStorageItemHandler.java index 462e0dec6..8745cb23d 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/compat/ItemStorageItemHandler.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/compat/ItemStorageItemHandler.java @@ -69,11 +69,14 @@ public int getSlots() { public @NotNull ItemStack extractItem(int slot, int amount, boolean simulate) { try (Transaction transaction = Transaction.openOuter()) { ItemVariant resource = slots.get(slot).getResource(); - int extracted = (int) storage.extract(resource, amount, transaction); - if (!simulate) { - transaction.commit(); - } - return resource.toStack(extracted); + if (!resource.isBlank()) { + int extracted = (int) storage.extract(resource, amount, transaction); + if (!simulate && extracted > 0) { + transaction.commit(); + } + return resource.toStack(extracted); + } + return ItemStack.EMPTY; } }