diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/container/CombinedContainer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/container/CombinedContainer.kt index 36e2aa9d8..992139a7a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/container/CombinedContainer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/container/CombinedContainer.kt @@ -16,6 +16,7 @@ import net.minecraft.world.item.ItemStack import ru.dbotthepony.mc.otm.container.util.IContainerSlot import ru.dbotthepony.mc.otm.container.util.containerSlot import ru.dbotthepony.mc.otm.container.util.iterator +import ru.dbotthepony.mc.otm.container.util.slotIterator import ru.dbotthepony.mc.otm.core.collect.concatIterators import ru.dbotthepony.mc.otm.core.collect.filter import ru.dbotthepony.mc.otm.core.collect.flatMap @@ -154,6 +155,9 @@ class CombinedContainer(containers: Stream>>) : IM } override fun iterator(nonEmpty: Boolean): Iterator { + if (notFullCoverage.isEmpty()) + return fullCoverage.iterator().flatMap { it.iterator(nonEmpty) } + return concatIterators( fullCoverage.iterator().flatMap { it.iterator(nonEmpty) }, notFullCoverage.values.iterator().flatMap { it.iterator() }.map { it.item }.let { if (nonEmpty) it.filter { it.isNotEmpty } else it }