AlwaysTrue and AlwaysFalse boolean providers
This commit is contained in:
parent
bd8c5ed97b
commit
5f76aa1661
@ -92,6 +92,36 @@ interface BooleanProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object AlwaysTrue : BooleanProvider, Instance, Type<AlwaysTrue> {
|
||||||
|
override fun instance(): Instance {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun sample(random: RandomSource): Boolean {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
override val type: Type<*>
|
||||||
|
get() = this
|
||||||
|
|
||||||
|
override val codec: MapCodec<AlwaysTrue> = MapCodec.unit(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
object AlwaysFalse : BooleanProvider, Instance, Type<AlwaysFalse> {
|
||||||
|
override fun instance(): Instance {
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun sample(random: RandomSource): Boolean {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
override val type: Type<*>
|
||||||
|
get() = this
|
||||||
|
|
||||||
|
override val codec: MapCodec<AlwaysFalse> = MapCodec.unit(this)
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private val registryHolder = RegistryDelegate<Type<*>>("boolean_provider") {
|
private val registryHolder = RegistryDelegate<Type<*>>("boolean_provider") {
|
||||||
defaultKey(ResourceLocation(OverdriveThatMatters.MOD_ID, "zero"))
|
defaultKey(ResourceLocation(OverdriveThatMatters.MOD_ID, "zero"))
|
||||||
@ -105,6 +135,8 @@ interface BooleanProvider {
|
|||||||
init {
|
init {
|
||||||
registrar.register("unbiased") { Unbiased.Companion }
|
registrar.register("unbiased") { Unbiased.Companion }
|
||||||
registrar.register("linear_bias") { BiasedLinear.Companion }
|
registrar.register("linear_bias") { BiasedLinear.Companion }
|
||||||
|
registrar.register("true") { AlwaysTrue }
|
||||||
|
registrar.register("false") { AlwaysFalse }
|
||||||
}
|
}
|
||||||
|
|
||||||
val CODEC: Codec<BooleanProvider> by lazy {
|
val CODEC: Codec<BooleanProvider> by lazy {
|
||||||
|
Loading…
Reference in New Issue
Block a user