Remove usages of deprecated energy storage capability link

This commit is contained in:
DBotThePony 2022-08-19 13:24:21 +07:00
parent 928e241323
commit 4fc037327f
Signed by: DBot
GPG Key ID: DCC23B5715498507
11 changed files with 42 additions and 37 deletions

View File

@ -14,6 +14,7 @@ import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy
import net.minecraftforge.energy.IEnergyStorage
@ -241,7 +242,7 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
override fun <T> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {
if (valid) {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
if (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY) {
if (side == null) return resolverEnergy.cast()
if (side == blockState.getValue(RotatableMatteryBlock.FACING))
@ -250,7 +251,7 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
return resolverEnergyReceive.cast()
}
if (cap === CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
if (cap == ForgeCapabilities.ITEM_HANDLER) {
return resolverItemHandler.cast()
}
}
@ -273,7 +274,7 @@ class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Matte
outputCapability = getAndBind(
outputCapability,
tile,
CapabilityEnergy.ENERGY,
ForgeCapabilities.ENERGY,
-blockState.getValue(RotatableMatteryBlock.FACING)
) {
@Suppress("name_shadowing")

View File

@ -14,6 +14,7 @@ import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.ForgeHooks
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy
import net.minecraftforge.energy.IEnergyStorage
@ -48,10 +49,10 @@ class ChemicalGeneratorBlockEntity(pos: BlockPos, state: BlockState) : MatteryBl
}
override fun <T> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {
if (valid && (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) && side !== blockState.getValue(RotatableMatteryBlock.FACING))
if (valid && (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY) && side !== blockState.getValue(RotatableMatteryBlock.FACING))
return energy.resolver.cast()
if (valid && cap === CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
if (valid && cap == ForgeCapabilities.ITEM_HANDLER)
return itemHandler.get().cast()
return super.getCapability(cap, side)
@ -143,12 +144,12 @@ class ChemicalGeneratorBlockEntity(pos: BlockPos, state: BlockState) : MatteryBl
if (slot == SLOT_RESIDUE)
return false
return stack.getCapability(CapabilityEnergy.ENERGY).isPresent
return stack.getCapability(ForgeCapabilities.ENERGY).isPresent
}, fun (slot, _, stack): Boolean {
if (slot == SLOT_RESIDUE) return true
return slot == SLOT_BATTERY &&
(!stack.getCapability(CapabilityEnergy.ENERGY).isPresent || stack.getCapability(CapabilityEnergy.ENERGY).resolve().get().receiveEnergy(Int.MAX_VALUE, true) <= 0)
(!stack.getCapability(ForgeCapabilities.ENERGY).isPresent || stack.getCapability(ForgeCapabilities.ENERGY).resolve().get().receiveEnergy(Int.MAX_VALUE, true) <= 0)
})
override fun setBlockState(p_155251_: BlockState) {

View File

@ -16,6 +16,7 @@ import net.minecraft.world.inventory.AbstractContainerMenu
import net.minecraft.world.level.Level
import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy
import net.minecraftforge.energy.IEnergyStorage
@ -427,15 +428,15 @@ class EnergyCounterBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Mat
if (valid) {
if (side == blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)) {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
if (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY) {
return resolverInput.cast()
} else if (cap === MatteryCapability.MEKANISM_ENERGY) {
} else if (cap == MatteryCapability.MEKANISM_ENERGY) {
return resolverInputMekanism!!.cast()
}
} else if (side == blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION).opposite) {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
if (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY) {
return resolverOutput.cast()
} else if (cap === MatteryCapability.MEKANISM_ENERGY) {
} else if (cap == MatteryCapability.MEKANISM_ENERGY) {
return resolverOutputMekanism!!.cast()
}
}

View File

@ -6,12 +6,14 @@ import net.minecraft.nbt.CompoundTag
import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.capability.*
import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.ifPresentK
import ru.dbotthepony.mc.otm.set
abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(p_155228_, p_155229_, p_155230_) {
@ -38,7 +40,7 @@ abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229
for (stack in batteryContainer) {
if (!stack.isEmpty) {
stack.getCapability(CapabilityEnergy.ENERGY).ifPresent {
stack.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
if (it is IMatteryEnergyStorage) {
val diff = it.extractEnergyOuter(demand, false)
energy.receiveEnergyInner(diff, false)
@ -69,7 +71,7 @@ abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229
}
override fun <T> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {
if (valid && (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY))
if (valid && (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY))
return energy.resolver.cast()
return super.getCapability(cap, side)

View File

@ -8,6 +8,7 @@ import net.minecraft.nbt.CompoundTag
import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraftforge.common.util.INBTSerializable
import net.minecraftforge.common.util.LazyOptional
@ -33,9 +34,9 @@ sealed class ItemEnergyStorageImpl(
private val resolverMekanism = if (isMekanismLoaded) LazyOptional.of { MatteryToMekanismEnergyWrapper(this) } else null
override fun <T : Any> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {
if (cap === CapabilityEnergy.ENERGY || cap === MatteryCapability.ENERGY) {
if (cap == ForgeCapabilities.ENERGY || cap == MatteryCapability.ENERGY) {
return resolver.cast()
} else if (cap === MatteryCapability.MEKANISM_ENERGY) {
} else if (cap == MatteryCapability.MEKANISM_ENERGY) {
return resolverMekanism?.cast() ?: LazyOptional.empty()
}

View File

@ -2,6 +2,7 @@ package ru.dbotthepony.mc.otm.capability
import net.minecraft.core.Direction
import net.minecraft.world.entity.LivingEntity
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy
@ -68,7 +69,7 @@ val ICapabilityProvider.energy: IEnergyStorage? get() {
}
}
return getCapability(CapabilityEnergy.ENERGY).orNull()
return getCapability(ForgeCapabilities.ENERGY).orNull()
}
/**
@ -98,7 +99,7 @@ fun ICapabilityProvider.getEnergySided(side: Direction? = null): LazyOptional<IE
}
}
return getCapability(CapabilityEnergy.ENERGY, side)
return getCapability(ForgeCapabilities.ENERGY, side)
}
/**

View File

@ -25,6 +25,7 @@ import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent
import net.minecraft.world.effect.MobEffects
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.eventbus.api.SubscribeEvent
import net.minecraftforge.event.entity.living.LivingEvent.LivingTickEvent
import net.minecraftforge.eventbus.api.EventPriority
@ -271,7 +272,7 @@ open class AndroidCapability(final override val entity: LivingEntity) : ICapabil
var drained = ImpreciseFraction.ZERO
if (!batteryItemStack.isEmpty) {
batteryItemStack.getCapability(CapabilityEnergy.ENERGY).ifPresent {
batteryItemStack.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
if (it is IMatteryEnergyStorage) {
val extracted = it.extractEnergyOuter(howMuch, simulate)
drained += extracted
@ -311,7 +312,7 @@ open class AndroidCapability(final override val entity: LivingEntity) : ICapabil
var received = ImpreciseFraction.ZERO
if (!batteryItemStack.isEmpty) {
batteryItemStack.getCapability(CapabilityEnergy.ENERGY).ifPresent {
batteryItemStack.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
if (it is IMatteryEnergyStorage) {
val extracted = it.receiveEnergyOuter(howMuch, simulate)
received += extracted
@ -345,11 +346,7 @@ open class AndroidCapability(final override val entity: LivingEntity) : ICapabil
override var batteryLevel: ImpreciseFraction
get() {
if (!batteryItemStack.isEmpty) {
val resolver = batteryItemStack.getCapability(CapabilityEnergy.ENERGY).resolve()
if (resolver.isPresent) {
val it = resolver.get()
batteryItemStack.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
if (it is IMatteryEnergyStorage) {
return battery + it.batteryLevel
} else {
@ -367,11 +364,7 @@ open class AndroidCapability(final override val entity: LivingEntity) : ICapabil
override var maxBatteryLevel: ImpreciseFraction
get() {
if (batteryItemStack != ItemStack.EMPTY) {
val resolver = batteryItemStack.getCapability(CapabilityEnergy.ENERGY).resolve()
if (resolver.isPresent) {
val it = resolver.get()
val resolver = batteryItemStack.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
if (it is IMatteryEnergyStorage) {
return maxBattery + it.maxBatteryLevel
} else {

View File

@ -11,6 +11,7 @@ import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.TooltipFlag
import net.minecraft.world.level.Level
import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraftforge.common.util.INBTSerializable
import net.minecraftforge.common.util.LazyOptional
@ -31,7 +32,7 @@ class PlasmaWeaponEnergy(val itemStack: ItemStack, private val innerCapacity: Im
var battery: ItemStack = ItemStack.EMPTY
override fun <T : Any> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
if (cap == MatteryCapability.ENERGY || cap == ForgeCapabilities.ENERGY) {
return energyResolver.cast()
}
@ -63,7 +64,7 @@ class PlasmaWeaponEnergy(val itemStack: ItemStack, private val innerCapacity: Im
var totalExtracted = ImpreciseFraction.ZERO
if (!battery.isEmpty) {
battery.getCapability(CapabilityEnergy.ENERGY).ifPresentK {
battery.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
val extracted = it.extractEnergy(howMuch, simulate)
if (extracted >= howMuch) {
@ -98,7 +99,7 @@ class PlasmaWeaponEnergy(val itemStack: ItemStack, private val innerCapacity: Im
var totalReceived = ImpreciseFraction.ZERO
if (!battery.isEmpty) {
battery.getCapability(CapabilityEnergy.ENERGY).ifPresentK {
battery.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
val received = it.receiveEnergy(howMuch, simulate)
if (received >= howMuch) {
@ -126,7 +127,7 @@ class PlasmaWeaponEnergy(val itemStack: ItemStack, private val innerCapacity: Im
fun think() {
if (!battery.isEmpty && innerBatteryLevel < innerCapacity) {
battery.getCapability(CapabilityEnergy.ENERGY).ifPresentK {
battery.getCapability(ForgeCapabilities.ENERGY).ifPresentK {
innerBatteryLevel += it.extractEnergy(innerCapacity - innerBatteryLevel, false)
}
}

View File

@ -5,6 +5,7 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.inventory.Slot
import net.minecraft.world.item.ItemStack
import net.minecraftforge.common.ForgeHooks
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.block.entity.ChemicalGeneratorBlockEntity
import ru.dbotthepony.mc.otm.menu.data.IntDataContainer
@ -31,7 +32,7 @@ class ChemicalGeneratorMenu @JvmOverloads constructor(id: Int, inv: Inventory, t
val batterySlot = object : MatterySlot(container, ChemicalGeneratorBlockEntity.SLOT_BATTERY) {
override fun mayPlace(p_40231_: ItemStack): Boolean {
return p_40231_.getCapability(CapabilityEnergy.ENERGY).isPresent
return p_40231_.getCapability(ForgeCapabilities.ENERGY).isPresent
}
}

View File

@ -6,6 +6,7 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player
import net.minecraft.world.inventory.Slot
import net.minecraft.world.item.ItemStack
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.block.entity.storage.DriveViewerBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability
@ -149,7 +150,7 @@ class DriveViewerMenu @JvmOverloads constructor(
val slot = slots[slotIndex]
val item = slot.item
if (item.isEmpty || item.getCapability(MatteryCapability.DRIVE).isPresent || item.getCapability(CapabilityEnergy.ENERGY).isPresent)
if (item.isEmpty || item.getCapability(MatteryCapability.DRIVE).isPresent || item.getCapability(ForgeCapabilities.ENERGY).isPresent)
return super.quickMoveStack(ply, slotIndex)
val powered = powered

View File

@ -3,9 +3,11 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.Container
import net.minecraft.world.inventory.Slot
import net.minecraft.world.item.ItemStack
import net.minecraftforge.common.capabilities.ForgeCapabilities
import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.matter.MatterDirection
import ru.dbotthepony.mc.otm.ifPresentK
open class MatterySlot @JvmOverloads constructor(p_40223_: Container, index: Int, x: Int = 0, y: Int = 0) : Slot(p_40223_, index, x, y)
@ -17,8 +19,8 @@ open class MachineOutputSlot @JvmOverloads constructor(p_40223_: Container, inde
open class BatterySlot @JvmOverloads constructor(container: Container, index: Int, x: Int = 0, y: Int = 0) : MatterySlot(container, index, x, y) {
override fun mayPlace(stack: ItemStack): Boolean {
val capability = stack.getCapability(CapabilityEnergy.ENERGY)
return capability.resolve().isPresent && capability.resolve().get().canExtract()
stack.getCapability(ForgeCapabilities.ENERGY).ifPresentK { return it.canExtract() }
return false
}
}