This commit is contained in:
DBotThePony 2022-09-09 22:01:41 +07:00
parent 6c9d52040d
commit d8e9909ca1
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -14,7 +14,7 @@ import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
import java.util.WeakHashMap import java.util.WeakHashMap
private val mekanismJoulesToFE by lazy { private val mekanism2MtJ by lazy {
try { try {
val conf = MekanismConfig.general val conf = MekanismConfig.general
return@lazy conf.FORGE_CONVERSION_RATE.to.get().toImpreciseFraction() return@lazy conf.FORGE_CONVERSION_RATE.to.get().toImpreciseFraction()
@ -25,7 +25,7 @@ private val mekanismJoulesToFE by lazy {
return@lazy ImpreciseFraction.ONE return@lazy ImpreciseFraction.ONE
} }
private val mekanismJoulesFromFE by lazy { private val mtj2Mekanism by lazy {
try { try {
val conf = MekanismConfig.general val conf = MekanismConfig.general
return@lazy conf.FORGE_CONVERSION_RATE.from.get().toImpreciseFraction() return@lazy conf.FORGE_CONVERSION_RATE.from.get().toImpreciseFraction()
@ -43,7 +43,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler) : I
false -> Action.EXECUTE false -> Action.EXECUTE
} }
return power.extractEnergy((howMuch * mekanismJoulesFromFE).toFloatingLong(), action).toImpreciseFraction() * mekanismJoulesToFE return power.extractEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toImpreciseFraction() * mekanism2MtJ
} }
override fun extractEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction { override fun extractEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction {
@ -56,7 +56,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler) : I
false -> Action.EXECUTE false -> Action.EXECUTE
} }
return howMuch - power.insertEnergy((howMuch * mekanismJoulesFromFE).toFloatingLong(), action).toImpreciseFraction() * mekanismJoulesToFE return howMuch - power.insertEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toImpreciseFraction() * mekanism2MtJ
} }
override fun receiveEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction { override fun receiveEnergyInner(howMuch: ImpreciseFraction, simulate: Boolean): ImpreciseFraction {
@ -71,7 +71,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler) : I
sum += power.getEnergy(i).toImpreciseFraction() sum += power.getEnergy(i).toImpreciseFraction()
} }
return sum * mekanismJoulesToFE return sum * mekanism2MtJ
} }
override val maxBatteryLevel: ImpreciseFraction override val maxBatteryLevel: ImpreciseFraction
@ -82,7 +82,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler) : I
sum += power.getMaxEnergy(i).toImpreciseFraction() sum += power.getMaxEnergy(i).toImpreciseFraction()
} }
return sum * mekanismJoulesToFE return sum * mekanism2MtJ
} }
} }
@ -94,7 +94,7 @@ class Mattery2MekanismEnergyWrapper(private val power: IMatteryEnergyStorage) :
return FloatingLong.ZERO return FloatingLong.ZERO
} }
return (power.batteryLevel * mekanismJoulesFromFE).toFloatingLong() return (power.batteryLevel * mtj2Mekanism).toFloatingLong()
} }
override fun setEnergy(container: Int, value: FloatingLong) { override fun setEnergy(container: Int, value: FloatingLong) {
@ -106,7 +106,7 @@ class Mattery2MekanismEnergyWrapper(private val power: IMatteryEnergyStorage) :
return FloatingLong.ZERO return FloatingLong.ZERO
} }
return (power.maxBatteryLevel * mekanismJoulesFromFE).toFloatingLong() return (power.maxBatteryLevel * mtj2Mekanism).toFloatingLong()
} }
override fun getNeededEnergy(container: Int): FloatingLong { override fun getNeededEnergy(container: Int): FloatingLong {
@ -114,16 +114,16 @@ class Mattery2MekanismEnergyWrapper(private val power: IMatteryEnergyStorage) :
return FloatingLong.ZERO return FloatingLong.ZERO
} }
return (power.missingPower * mekanismJoulesFromFE).toFloatingLong() return (power.missingPower * mtj2Mekanism).toFloatingLong()
} }
override fun insertEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong { override fun insertEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong {
val copy = howMuch.copy() val copy = howMuch.copy()
return copy.minusEqual((power.receiveEnergyOuter(howMuch.toImpreciseFraction() * mekanismJoulesToFE, action.simulate()) * mekanismJoulesFromFE).toFloatingLong()) return copy.minusEqual((power.receiveEnergyOuter(howMuch.toImpreciseFraction() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong())
} }
override fun extractEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong { override fun extractEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong {
return (power.extractEnergyOuter(howMuch.toImpreciseFraction() * mekanismJoulesToFE, action.simulate()) * mekanismJoulesFromFE).toFloatingLong() return (power.extractEnergyOuter(howMuch.toImpreciseFraction() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong()
} }
} }