BatteryBankBlockEntity now expose mekanism energy capability
Fixes #155
This commit is contained in:
parent
ddf44d11c2
commit
a6d020bdab
@ -23,6 +23,7 @@ import ru.dbotthepony.mc.otm.block.BatteryBankBlock
|
||||
import ru.dbotthepony.mc.otm.block.IDroppableContainer
|
||||
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
|
||||
import ru.dbotthepony.mc.otm.capability.*
|
||||
import ru.dbotthepony.mc.otm.compat.mekanism.Mattery2MekanismEnergyWrapper
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainerHooks
|
||||
import ru.dbotthepony.mc.otm.core.*
|
||||
@ -211,6 +212,10 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
||||
private var resolverEnergyExtractor = LazyOptional.of { energyExtractor }
|
||||
private var resolverEnergy = LazyOptional.of { energy }
|
||||
|
||||
private var mekanismResolverEnergyReceiver = LazyOptional.of { Mattery2MekanismEnergyWrapper(energyReceiver) }
|
||||
private var mekanismResolverEnergyExtractor = LazyOptional.of { Mattery2MekanismEnergyWrapper(energyExtractor) }
|
||||
private var mekanismResolverEnergy = LazyOptional.of { Mattery2MekanismEnergyWrapper(energy) }
|
||||
|
||||
private var resolverItemHandler = LazyOptional.of { itemHandler }
|
||||
|
||||
private var valid = true
|
||||
@ -239,6 +244,9 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
||||
resolverEnergyExtractor.invalidate()
|
||||
resolverEnergy.invalidate()
|
||||
resolverItemHandler.invalidate()
|
||||
mekanismResolverEnergyReceiver.invalidate()
|
||||
mekanismResolverEnergyExtractor.invalidate()
|
||||
mekanismResolverEnergy.invalidate()
|
||||
}
|
||||
|
||||
override fun reviveCaps() {
|
||||
@ -248,6 +256,10 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
||||
resolverEnergyExtractor = LazyOptional.of { energyExtractor }
|
||||
resolverEnergy = LazyOptional.of { energy }
|
||||
resolverItemHandler = LazyOptional.of { itemHandler }
|
||||
|
||||
mekanismResolverEnergyReceiver = LazyOptional.of { Mattery2MekanismEnergyWrapper(energyReceiver) }
|
||||
mekanismResolverEnergyExtractor = LazyOptional.of { Mattery2MekanismEnergyWrapper(energyExtractor) }
|
||||
mekanismResolverEnergy = LazyOptional.of { Mattery2MekanismEnergyWrapper(energy) }
|
||||
}
|
||||
|
||||
override fun setLevel(p_155231_: Level) {
|
||||
@ -266,6 +278,15 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
||||
return resolverEnergyReceiver.cast()
|
||||
}
|
||||
|
||||
if (cap == MatteryCapability.MEKANISM_ENERGY) {
|
||||
if (side == null) return mekanismResolverEnergy.cast()
|
||||
|
||||
if (side == blockState.getValue(RotatableMatteryBlock.FACING))
|
||||
return mekanismResolverEnergyExtractor.cast()
|
||||
else
|
||||
return mekanismResolverEnergyReceiver.cast()
|
||||
}
|
||||
|
||||
if (cap == ForgeCapabilities.ITEM_HANDLER) {
|
||||
return resolverItemHandler.cast()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user