From 5f76aa1661aa2597a114712122ae925b34759e34 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 9 Mar 2025 13:05:44 +0700 Subject: [PATCH] AlwaysTrue and AlwaysFalse boolean providers --- .../mc/otm/data/world/BooleanProvider.kt | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/BooleanProvider.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/BooleanProvider.kt index ee51f4de6..0f0b3c5d3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/BooleanProvider.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/BooleanProvider.kt @@ -92,6 +92,36 @@ interface BooleanProvider { } } + object AlwaysTrue : BooleanProvider, Instance, Type { + override fun instance(): Instance { + return this + } + + override fun sample(random: RandomSource): Boolean { + return true + } + + override val type: Type<*> + get() = this + + override val codec: MapCodec = MapCodec.unit(this) + } + + object AlwaysFalse : BooleanProvider, Instance, Type { + override fun instance(): Instance { + return this + } + + override fun sample(random: RandomSource): Boolean { + return false + } + + override val type: Type<*> + get() = this + + override val codec: MapCodec = MapCodec.unit(this) + } + companion object { private val registryHolder = RegistryDelegate>("boolean_provider") { defaultKey(ResourceLocation(OverdriveThatMatters.MOD_ID, "zero")) @@ -105,6 +135,8 @@ interface BooleanProvider { init { registrar.register("unbiased") { Unbiased.Companion } registrar.register("linear_bias") { BiasedLinear.Companion } + registrar.register("true") { AlwaysTrue } + registrar.register("false") { AlwaysFalse } } val CODEC: Codec by lazy {