Fix mekanism joules extraction

This commit is contained in:
DBotThePony 2022-02-27 14:28:50 +07:00
parent 203b50dcb0
commit 6e0e0a44f2
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -44,7 +44,7 @@ class MekanismEnergyWrapper(private val power: IStrictEnergyHandler) : IMatteryE
false -> Action.EXECUTE false -> Action.EXECUTE
} }
return howMuch - power.extractEnergy((howMuch * mekanismJoulesFromFE).toFloatingLong(), action).toImpreciseFraction() * mekanismJoulesToFE return power.extractEnergy((howMuch * mekanismJoulesFromFE).toFloatingLong(), action).toImpreciseFraction() * mekanismJoulesToFE
} }
override fun extractEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction { override fun extractEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction {
@ -124,8 +124,7 @@ class MatteryToMekanismEnergyWrapper(private val power: IMatteryEnergyStorage) :
} }
override fun extractEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong { override fun extractEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong {
val copy = howMuch.copy() return (power.extractEnergyOuter(howMuch.toImpreciseFraction() * mekanismJoulesToFE, action.simulate()) * mekanismJoulesFromFE).toFloatingLong()
return copy.minusEqual((power.extractEnergyOuter(howMuch.toImpreciseFraction() * mekanismJoulesToFE, action.simulate()) * mekanismJoulesFromFE).toFloatingLong())
} }
} }