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.IDroppableContainer
|
||||||
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
|
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
|
||||||
import ru.dbotthepony.mc.otm.capability.*
|
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.MatteryContainer
|
||||||
import ru.dbotthepony.mc.otm.container.MatteryContainerHooks
|
import ru.dbotthepony.mc.otm.container.MatteryContainerHooks
|
||||||
import ru.dbotthepony.mc.otm.core.*
|
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 resolverEnergyExtractor = LazyOptional.of { energyExtractor }
|
||||||
private var resolverEnergy = LazyOptional.of { energy }
|
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 resolverItemHandler = LazyOptional.of { itemHandler }
|
||||||
|
|
||||||
private var valid = true
|
private var valid = true
|
||||||
@ -239,6 +244,9 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
|||||||
resolverEnergyExtractor.invalidate()
|
resolverEnergyExtractor.invalidate()
|
||||||
resolverEnergy.invalidate()
|
resolverEnergy.invalidate()
|
||||||
resolverItemHandler.invalidate()
|
resolverItemHandler.invalidate()
|
||||||
|
mekanismResolverEnergyReceiver.invalidate()
|
||||||
|
mekanismResolverEnergyExtractor.invalidate()
|
||||||
|
mekanismResolverEnergy.invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun reviveCaps() {
|
override fun reviveCaps() {
|
||||||
@ -248,6 +256,10 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
|||||||
resolverEnergyExtractor = LazyOptional.of { energyExtractor }
|
resolverEnergyExtractor = LazyOptional.of { energyExtractor }
|
||||||
resolverEnergy = LazyOptional.of { energy }
|
resolverEnergy = LazyOptional.of { energy }
|
||||||
resolverItemHandler = LazyOptional.of { itemHandler }
|
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) {
|
override fun setLevel(p_155231_: Level) {
|
||||||
@ -266,6 +278,15 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
|
|||||||
return resolverEnergyReceiver.cast()
|
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) {
|
if (cap == ForgeCapabilities.ITEM_HANDLER) {
|
||||||
return resolverItemHandler.cast()
|
return resolverItemHandler.cast()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user