From 1902912a3b6e22581358e421e4cc8a57c1e8c0a6 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 8 Jul 2023 15:33:20 +0700 Subject: [PATCH] Fix exopack battery slot granting android achievements --- .../dbotthepony/mc/otm/capability/MatteryPlayerCapability.kt | 4 ++-- .../mc/otm/capability/energy/BatteryBackedEnergyStorage.kt | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayerCapability.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayerCapability.kt index a5f3a3e6e..e76eba2fc 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayerCapability.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayerCapability.kt @@ -404,12 +404,12 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial /** * [IMatteryEnergyStorage] instance, representing Android' battery charge */ - val androidEnergy = BatteryBackedEnergyStorage(ply, synchronizer, AndroidConfig.ANDROID_MAX_ENERGY, AndroidConfig.ANDROID_MAX_ENERGY) + val androidEnergy = BatteryBackedEnergyStorage(ply, synchronizer, AndroidConfig.ANDROID_MAX_ENERGY, AndroidConfig.ANDROID_MAX_ENERGY, true) /** * [IMatteryEnergyStorage] instance, representing Exopack battery charge */ - val exoPackEnergy = ProfiledEnergyStorage(BatteryBackedEnergyStorage(ply, synchronizer, Decimal.ZERO, ExopackConfig.ENERGY_CAPACITY)) + val exoPackEnergy = ProfiledEnergyStorage(BatteryBackedEnergyStorage(ply, synchronizer, Decimal.ZERO, ExopackConfig.ENERGY_CAPACITY, false)) init { savetables.int(::ticksIExist) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/BatteryBackedEnergyStorage.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/BatteryBackedEnergyStorage.kt index 5d9e30922..9740cedf2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/BatteryBackedEnergyStorage.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/BatteryBackedEnergyStorage.kt @@ -23,7 +23,8 @@ class BatteryBackedEnergyStorage( private val ply: Player, synchronizer: FieldSynchronizer, initialCharge: Decimal, - maxCharge: Decimal + maxCharge: Decimal, + val isAndroid: Boolean ) : IMatteryEnergyStorage, INBTSerializable, ContainerSingleItem { override val energyFlow: FlowDirection get() = FlowDirection.INPUT @@ -34,7 +35,7 @@ class BatteryBackedEnergyStorage( var item by synchronizer.item(setter = setter@{ value, access, _ -> access.write(value) - if (ply is ServerPlayer) { + if (ply is ServerPlayer && isAndroid) { AndroidBatteryTrigger.trigger(ply, value) } })