remove extended inventory iterator
This commit is contained in:
parent
89c7adad8b
commit
eaaae3bdb5
@ -192,58 +192,3 @@ fun Player.allItemsStream(): Stream<out ItemStack> {
|
|||||||
itemsStream().filter { it.isEmpty || it !in seen },
|
itemsStream().filter { it.isEmpty || it !in seen },
|
||||||
containerMenu.slots.stream().map { it.item })
|
containerMenu.slots.stream().map { it.item })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Player.extendedItemIterator(): MutableIterator<ItemStack> {
|
|
||||||
return object : MutableIterator<ItemStack> {
|
|
||||||
private val regular = this@extendedItemIterator.inventory.iterator()
|
|
||||||
private val mattery: MutableIterator<ItemStack>
|
|
||||||
private var isSecond = false
|
|
||||||
|
|
||||||
init {
|
|
||||||
val get = this@extendedItemIterator.matteryPlayer
|
|
||||||
|
|
||||||
if (get != null && get.hasExoSuit) {
|
|
||||||
mattery = get.exoSuitContainer.iterator()
|
|
||||||
} else {
|
|
||||||
mattery = object : MutableIterator<ItemStack> {
|
|
||||||
override fun hasNext(): Boolean {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun next(): ItemStack {
|
|
||||||
throw UnsupportedOperationException()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun remove() {
|
|
||||||
throw UnsupportedOperationException()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun hasNext(): Boolean {
|
|
||||||
return regular.hasNext() || mattery.hasNext()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun next(): ItemStack {
|
|
||||||
if (isSecond) {
|
|
||||||
return mattery.next()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!regular.hasNext()) {
|
|
||||||
isSecond = true
|
|
||||||
return mattery.next()
|
|
||||||
}
|
|
||||||
|
|
||||||
return regular.next()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun remove() {
|
|
||||||
if (isSecond) {
|
|
||||||
mattery.remove()
|
|
||||||
} else {
|
|
||||||
regular.remove()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user