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 * [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 * [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 { init {
savetables.int(::ticksIExist) savetables.int(::ticksIExist)

View File

@ -23,7 +23,8 @@ class BatteryBackedEnergyStorage(
private val ply: Player, private val ply: Player,
synchronizer: FieldSynchronizer, synchronizer: FieldSynchronizer,
initialCharge: Decimal, initialCharge: Decimal,
maxCharge: Decimal maxCharge: Decimal,
val isAndroid: Boolean
) : IMatteryEnergyStorage, INBTSerializable<CompoundTag?>, ContainerSingleItem { ) : IMatteryEnergyStorage, INBTSerializable<CompoundTag?>, ContainerSingleItem {
override val energyFlow: FlowDirection override val energyFlow: FlowDirection
get() = FlowDirection.INPUT get() = FlowDirection.INPUT
@ -34,7 +35,7 @@ class BatteryBackedEnergyStorage(
var item by synchronizer.item(setter = setter@{ value, access, _ -> var item by synchronizer.item(setter = setter@{ value, access, _ ->
access.write(value) access.write(value)
if (ply is ServerPlayer) { if (ply is ServerPlayer && isAndroid) {
AndroidBatteryTrigger.trigger(ply, value) AndroidBatteryTrigger.trigger(ply, value)
} }
}) })