diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt index b0c7f8844..23ef14317 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt @@ -106,12 +106,18 @@ val ICapabilityProvider.matteryEnergy: IMatteryEnergyStorage? get() { /** * Shortcut for getting [LazyOptional] with [IEnergyStorage], including wrappers for it */ -fun ICapabilityProvider.getEnergySided(side: Direction? = null): LazyOptional { +fun ICapabilityProvider.getEnergySided(side: Direction? = null): LazyOptional { + val mattery = getCapability(MatteryCapability.ENERGY, side) + + if (mattery.isPresent) { + return mattery + } + if (isMekanismLoaded) { val mekanismEnergy = getMekanismEnergySided(side) if (mekanismEnergy.isPresent) { - return mekanismEnergy.cast() + return mekanismEnergy } } @@ -121,7 +127,13 @@ fun ICapabilityProvider.getEnergySided(side: Direction? = null): LazyOptional { +fun ICapabilityProvider.getMatteryEnergySided(side: Direction? = null): LazyOptional { + val mattery = getCapability(MatteryCapability.ENERGY, side) + + if (mattery.isPresent) { + return mattery + } + if (isMekanismLoaded) { val mekanismEnergy = getMekanismEnergySided(side) @@ -130,7 +142,7 @@ fun ICapabilityProvider.getMatteryEnergySided(side: Direction? = null): LazyOpti } } - return getCapability(MatteryCapability.ENERGY, side) + return LazyOptional.empty() } fun Player.extendedItemIterator(): MutableIterator {