Move listener automated add/remove to extension function
This commit is contained in:
parent
0e140ad4f4
commit
5a3d68ea80
@ -8,10 +8,7 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||
import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier
|
||||
import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView
|
||||
import ru.dbotthepony.mc.otm.registry.MMenus
|
||||
import ru.dbotthepony.mc.otm.storage.ITEM_STORAGE
|
||||
import ru.dbotthepony.mc.otm.storage.ItemStackWrapper
|
||||
import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent
|
||||
import ru.dbotthepony.mc.otm.storage.VirtualComponent
|
||||
import ru.dbotthepony.mc.otm.storage.*
|
||||
|
||||
class ItemMonitorMenu @JvmOverloads constructor(
|
||||
p_38852_: Int,
|
||||
|
@ -124,30 +124,30 @@ interface IStorageProvider<T : IStorageStack> : IStorageEventProducer<T> {
|
||||
* @return copy of object, with amount of units actually extracted
|
||||
*/
|
||||
fun extractStack(id: Long, amount: BigInteger, simulate: Boolean): T
|
||||
}
|
||||
|
||||
fun addListenerAuto(listener: IStorageEventConsumer<T>): Boolean {
|
||||
if (addListener(listener)) {
|
||||
for (stack in stacks) {
|
||||
listener.addStack(stack.stack, stack.id, this)
|
||||
}
|
||||
|
||||
return true
|
||||
fun <T : IStorageStack> IStorageProvider<T>.removeListenerAuto(listener: IStorageEventConsumer<T>): Boolean {
|
||||
if (removeListener(listener)) {
|
||||
for (stack in stacks) {
|
||||
listener.removeStack(stack.stack, stack.id)
|
||||
}
|
||||
|
||||
return false
|
||||
return true
|
||||
}
|
||||
|
||||
fun removeListenerAuto(listener: IStorageEventConsumer<T>): Boolean {
|
||||
if (removeListener(listener)) {
|
||||
for (stack in stacks) {
|
||||
listener.removeStack(stack.stack, stack.id)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
fun <T : IStorageStack> IStorageProvider<T>.addListenerAuto(listener: IStorageEventConsumer<T>): Boolean {
|
||||
if (addListener(listener)) {
|
||||
for (stack in stacks) {
|
||||
listener.addStack(stack.stack, stack.id, this)
|
||||
}
|
||||
|
||||
return false
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
interface IStorageComponent<T : IStorageStack> : IStorageProvider<T>, IStorageAcceptor<T>
|
||||
|
Loading…
Reference in New Issue
Block a user