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 {
|
||||
private val registryHolder = RegistryDelegate<Type<*>>("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<BooleanProvider> by lazy {
|
||||
|
Loading…
Reference in New Issue
Block a user