From 4fc037327f94cc9750e7c6ef605231e6e0102f82 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Fri, 19 Aug 2022 13:24:21 +0700 Subject: [PATCH] Remove usages of deprecated energy storage capability link --- .../otm/block/entity/BatteryBankBlockEntity.kt | 7 ++++--- .../entity/ChemicalGeneratorBlockEntity.kt | 9 +++++---- .../block/entity/EnergyCounterBlockEntity.kt | 9 +++++---- .../block/entity/MatteryPoweredBlockEntity.kt | 6 ++++-- .../mc/otm/capability/EnergyStorageImpl.kt | 5 +++-- .../ru/dbotthepony/mc/otm/capability/Ext.kt | 5 +++-- .../otm/capability/android/AndroidCapability.kt | 17 +++++------------ .../mc/otm/item/weapon/PlasmaWeaponItem.kt | 9 +++++---- .../mc/otm/menu/ChemicalGeneratorMenu.kt | 3 ++- .../dbotthepony/mc/otm/menu/DriveViewerMenu.kt | 3 ++- .../kotlin/ru/dbotthepony/mc/otm/menu/Slots.kt | 6 ++++-- 11 files changed, 42 insertions(+), 37 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/BatteryBankBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/BatteryBankBlockEntity.kt index 359727733..074395590 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/BatteryBankBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/BatteryBankBlockEntity.kt @@ -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 getCapability(cap: Capability, side: Direction?): LazyOptional { 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") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ChemicalGeneratorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ChemicalGeneratorBlockEntity.kt index a43753c26..363586e8b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ChemicalGeneratorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ChemicalGeneratorBlockEntity.kt @@ -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 getCapability(cap: Capability, side: Direction?): LazyOptional { - 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) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/EnergyCounterBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/EnergyCounterBlockEntity.kt index 94ef16f9f..9d4d4697c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/EnergyCounterBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/EnergyCounterBlockEntity.kt @@ -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() } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryPoweredBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryPoweredBlockEntity.kt index f8800bb29..d4f0b7dfe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryPoweredBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryPoweredBlockEntity.kt @@ -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 getCapability(cap: Capability, side: Direction?): LazyOptional { - 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) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/EnergyStorageImpl.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/EnergyStorageImpl.kt index e11221a46..d8c4d90a4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/EnergyStorageImpl.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/EnergyStorageImpl.kt @@ -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 getCapability(cap: Capability, side: Direction?): LazyOptional { - 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() } 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 3e8f09d67..359e9d68d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Ext.kt @@ -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 getCapability(cap: Capability, side: Direction?): LazyOptional { - 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) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ChemicalGeneratorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ChemicalGeneratorMenu.kt index 6c753e604..e87c32abf 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ChemicalGeneratorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/ChemicalGeneratorMenu.kt @@ -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 } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.kt index e86f3a491..23a104a36 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/Slots.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/Slots.kt index e386fda4a..b0ebffbb5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/Slots.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/Slots.kt @@ -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 } }