Fix exopack battery slot granting android achievements

This commit is contained in:
DBotThePony 2023-07-08 15:33:20 +07:00
parent b957378c60
commit 1902912a3b
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 5 additions and 4 deletions

View File

@ -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)

View File

@ -23,7 +23,8 @@ class BatteryBackedEnergyStorage(
private val ply: Player,
synchronizer: FieldSynchronizer,
initialCharge: Decimal,
maxCharge: Decimal
maxCharge: Decimal,
val isAndroid: Boolean
) : IMatteryEnergyStorage, INBTSerializable<CompoundTag?>, 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)
}
})