Move decimal sampling to random utils
This commit is contained in:
parent
5663b262eb
commit
c965bcdc82
@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.core
|
||||
import it.unimi.dsi.fastutil.ints.IntList
|
||||
import net.minecraft.Util
|
||||
import net.minecraft.util.RandomSource
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import java.util.*
|
||||
import java.util.random.RandomGenerator
|
||||
import kotlin.NoSuchElementException
|
||||
@ -101,3 +102,17 @@ fun <T> List<T>.random(random: RandomSource): T {
|
||||
throw NoSuchElementException("This list is empty")
|
||||
return get(random.nextInt(size))
|
||||
}
|
||||
|
||||
fun RandomSource.nextDecimal(min: Decimal, max: Decimal, round: Boolean = false): Decimal {
|
||||
val value = nextDouble()
|
||||
|
||||
return if (round) {
|
||||
Decimal((min + (max - min) * value).whole)
|
||||
} else {
|
||||
min + (max - min) * value
|
||||
}
|
||||
}
|
||||
|
||||
fun RandomSource.nextVariance(value: Decimal, round: Boolean = false): Decimal {
|
||||
return nextDecimal(-value / 2, value / 2, round)
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import net.minecraft.nbt.ByteArrayTag
|
||||
import net.minecraft.nbt.StringTag
|
||||
import net.minecraft.nbt.Tag
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
import net.minecraft.util.RandomSource
|
||||
import java.math.BigDecimal
|
||||
import java.math.BigInteger
|
||||
import java.math.MathContext
|
||||
@ -1604,16 +1603,3 @@ fun Short.toDecimal() = Decimal(this)
|
||||
fun Long.toDecimal() = Decimal(this)
|
||||
fun Decimal.toDecimal() = this
|
||||
|
||||
fun RandomSource.nextDecimal(min: Decimal, max: Decimal, round: Boolean = false): Decimal {
|
||||
val value = nextDouble()
|
||||
|
||||
return if (round) {
|
||||
Decimal((min + (max - min) * value).whole)
|
||||
} else {
|
||||
min + (max - min) * value
|
||||
}
|
||||
}
|
||||
|
||||
fun RandomSource.nextVariance(value: Decimal, round: Boolean = false): Decimal {
|
||||
return nextDecimal(-value / 2, value / 2, round)
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import net.minecraft.util.RandomSource
|
||||
import net.neoforged.bus.api.IEventBus
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.core.math.nextDecimal
|
||||
import ru.dbotthepony.mc.otm.core.nextDecimal
|
||||
import ru.dbotthepony.mc.otm.data.codec.DecimalCodec
|
||||
import ru.dbotthepony.mc.otm.registry.MBuiltInRegistries
|
||||
import ru.dbotthepony.mc.otm.registry.MDeferredRegister
|
||||
|
@ -31,7 +31,7 @@ import ru.dbotthepony.mc.otm.core.damageType
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.config.DecimalConfigValue
|
||||
import ru.dbotthepony.mc.otm.config.defineDecimal
|
||||
import ru.dbotthepony.mc.otm.core.math.nextVariance
|
||||
import ru.dbotthepony.mc.otm.core.nextVariance
|
||||
import ru.dbotthepony.mc.otm.core.otmRandom
|
||||
import ru.dbotthepony.mc.otm.core.util.WriteOnce
|
||||
import ru.dbotthepony.mc.otm.item.MatteryItem
|
||||
|
@ -31,7 +31,7 @@ import ru.dbotthepony.mc.otm.core.damageType
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.config.DecimalConfigValue
|
||||
import ru.dbotthepony.mc.otm.config.defineDecimal
|
||||
import ru.dbotthepony.mc.otm.core.math.nextVariance
|
||||
import ru.dbotthepony.mc.otm.core.nextVariance
|
||||
import ru.dbotthepony.mc.otm.core.otmRandom
|
||||
import ru.dbotthepony.mc.otm.core.util.WriteOnce
|
||||
import ru.dbotthepony.mc.otm.item.MatteryItem
|
||||
|
@ -1,6 +1,5 @@
|
||||
package ru.dbotthepony.mc.otm.worldgen.feature
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.world.level.levelgen.feature.Feature
|
||||
import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext
|
||||
@ -8,7 +7,7 @@ import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfigur
|
||||
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
|
||||
import ru.dbotthepony.mc.otm.config.ServerConfig
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.core.math.nextDecimal
|
||||
import ru.dbotthepony.mc.otm.core.nextDecimal
|
||||
import ru.dbotthepony.mc.otm.data.codec.DecimalCodec
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user