Compare commits
3 Commits
8f2f4f1062
...
858e95e7bf
Author | SHA1 | Date | |
---|---|---|---|
858e95e7bf | |||
dfc35f393f | |||
cdaae2f9fa |
@ -90,6 +90,19 @@ class CombinedContainer(containers: Stream<Pair<Container, Iterable<Int>>>) : IM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun clearSlotFilters() {
|
||||||
|
for (container in fullCoverage) {
|
||||||
|
if (container is IMatteryContainer)
|
||||||
|
container.clearSlotFilters()
|
||||||
|
}
|
||||||
|
|
||||||
|
for (slots in notFullCoverage.values) {
|
||||||
|
for (slot in slots) {
|
||||||
|
slot.setFilter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun getContainerSize(): Int {
|
override fun getContainerSize(): Int {
|
||||||
return slots.size
|
return slots.size
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,8 @@ interface IMatteryContainer : IContainer, RecipeInput, Iterable<ItemStack> {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun clearSlotFilters()
|
||||||
|
|
||||||
override fun isEmpty(): Boolean
|
override fun isEmpty(): Boolean
|
||||||
fun setChanged(slot: Int)
|
fun setChanged(slot: Int)
|
||||||
|
|
||||||
|
@ -81,31 +81,7 @@ open class MatteryContainer(var listener: ContainerListener, private val size: I
|
|||||||
var changeset = 0
|
var changeset = 0
|
||||||
private set
|
private set
|
||||||
|
|
||||||
inner class Cache<T>(private val supplier: (MatteryContainer) -> T) : Supplier<T> {
|
override fun clearSlotFilters() {
|
||||||
private var thisChangeset = -1
|
|
||||||
private var value: T? = null
|
|
||||||
private var isDisabled = false
|
|
||||||
|
|
||||||
fun disable() {
|
|
||||||
isDisabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
fun enable() {
|
|
||||||
isDisabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun get(): T {
|
|
||||||
if (thisChangeset == changeset && !isDisabled) {
|
|
||||||
return value as T
|
|
||||||
}
|
|
||||||
|
|
||||||
value = supplier.invoke(this@MatteryContainer)
|
|
||||||
thisChangeset = changeset
|
|
||||||
return value as T
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSlotFilters() {
|
|
||||||
Arrays.fill(filters, null)
|
Arrays.fill(filters, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user