From 6d205b3b4a3b8b2b1a560a8438b85ffea5af9eaa Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 6 Jul 2023 13:13:01 +0700 Subject: [PATCH] Add empty energy storage --- .../energy/IMatteryEnergyStorage.kt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/IMatteryEnergyStorage.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/IMatteryEnergyStorage.kt index 70efbdc09..53407ac9d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/IMatteryEnergyStorage.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/IMatteryEnergyStorage.kt @@ -200,6 +200,49 @@ interface IMatteryEnergyStorage : IEnergyStorage { override fun canReceive(): Boolean { return energyFlow.input } + + /** + * Companion object of [IMatteryEnergyStorage] represents empty energy storage + */ + companion object : IMatteryEnergyStorage { + override fun extractEnergy(howMuch: Decimal, simulate: Boolean): Decimal { + return Decimal.ZERO + } + + override fun receiveEnergy(howMuch: Decimal, simulate: Boolean): Decimal { + return Decimal.ZERO + } + + override var batteryLevel: Decimal + get() = Decimal.ZERO + set(value) {} + override val maxBatteryLevel: Decimal + get() = Decimal.ZERO + override val energyFlow: FlowDirection + get() = FlowDirection.NONE + + override val canSetBatteryLevel: Boolean + get() = false + + override val missingPower: Decimal + get() = Decimal.ZERO + + override fun drainBattery(): Boolean { + return false + } + + override fun fillBattery(): Boolean { + return false + } + + override fun receiveEnergy(maxReceive: Int, simulate: Boolean): Int { + return 0 + } + + override fun extractEnergy(maxReceive: Int, simulate: Boolean): Int { + return 0 + } + } } /**