Fix exopack battery slot granting android achievements
This commit is contained in:
parent
b957378c60
commit
1902912a3b
@ -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)
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user