diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Conversions.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Conversions.kt index ac3a4166d..b760e0242 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Conversions.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Conversions.kt @@ -20,7 +20,7 @@ fun Decimal.toFloatingLong(): FloatingLong { return FloatingLong.create(whole.toLong(), (decimal * 10_000.0).toInt().toShort()) } -fun FloatingLong.toImpreciseFraction(): Decimal { +fun FloatingLong.toDecimal(): Decimal { // Overflow if (value < 0L) { return Decimal(LONG_OVERFLOW + BigInteger.valueOf(value), decimal / 10_000.0) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Power.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Power.kt index 233ca45e9..b6335ec86 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Power.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/mekanism/Power.kt @@ -51,7 +51,7 @@ private class DoubleLazy(onion: () -> Lazy) : Lazy { private val mekanism2MtJ by DoubleLazy lazy@{ try { val conf = MekanismConfig.general - return@lazy LazyCache(conf.forgeConversionRate::get) { Decimal.ONE / it.toImpreciseFraction() } + return@lazy LazyCache(conf.forgeConversionRate::get) { Decimal.ONE / it.toDecimal() } } catch(err: Throwable) { LOGGER.error("Unable to get Forge Energy to Mekanism Joules's conversion rate! Expect issues", err) } @@ -62,7 +62,7 @@ private val mekanism2MtJ by DoubleLazy lazy@{ private val mtj2Mekanism by DoubleLazy lazy@{ try { val conf = MekanismConfig.general - return@lazy LazyCache(conf.forgeConversionRate::get) { it.toImpreciseFraction() } + return@lazy LazyCache(conf.forgeConversionRate::get) { it.toDecimal() } } catch(err: Throwable) { LOGGER.error("Unable to get Mekanism Joules's to Forge Energy conversion rate! Expect issues", err) } @@ -77,7 +77,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler, pri false -> Action.EXECUTE } - return power.extractEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toImpreciseFraction() * mekanism2MtJ + return power.extractEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toDecimal() * mekanism2MtJ } override fun extractEnergyInner(howMuch: Decimal, simulate: Boolean): Decimal { @@ -90,7 +90,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler, pri false -> Action.EXECUTE } - return howMuch - power.insertEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toImpreciseFraction() * mekanism2MtJ + return howMuch - power.insertEnergy((howMuch * mtj2Mekanism).toFloatingLong(), action).toDecimal() * mekanism2MtJ } override fun receiveEnergyInner(howMuch: Decimal, simulate: Boolean): Decimal { @@ -105,7 +105,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler, pri var sum = Decimal.ZERO for (i in 0 until power.energyContainerCount) { - sum += power.getEnergy(i).toImpreciseFraction() + sum += power.getEnergy(i).toDecimal() } return sum * mekanism2MtJ @@ -122,7 +122,7 @@ class Mekanism2MatteryEnergyWrapper(private val power: IStrictEnergyHandler, pri var sum = Decimal.ZERO for (i in 0 until power.energyContainerCount) { - sum += power.getMaxEnergy(i).toImpreciseFraction() + sum += power.getMaxEnergy(i).toDecimal() } return sum * mekanism2MtJ @@ -176,11 +176,11 @@ class Mattery2MekanismEnergyWrapper(private val power: IMatteryEnergyStorage) : override fun insertEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong { val copy = howMuch.copy() - return copy.minusEqual((power.receiveEnergyOuter(howMuch.toImpreciseFraction() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong()) + return copy.minusEqual((power.receiveEnergyOuter(howMuch.toDecimal() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong()) } override fun extractEnergy(container: Int, howMuch: FloatingLong, action: Action): FloatingLong { - return (power.extractEnergyOuter(howMuch.toImpreciseFraction() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong() + return (power.extractEnergyOuter(howMuch.toDecimal() * mekanism2MtJ, action.simulate()) * mtj2Mekanism).toFloatingLong() } }