Skip to content

AGroupCondition

abstract class AGroupCondition : IACondition

Base for IAConditions that combine children pairwise via reducer, e.g. AAndCondition, AOrCondition, AXorCondition. children must be non-empty.

Inheritors

Constructors

AGroupCondition

constructor()

Properties

children

abstract val children: List<IACondition>

codec

abstract val codec: MapCodec<out IACondition>

The codec used to (de)serialize this condition to/from JSON.

identifier

abstract val identifier: ResourceLocation

The condition type's registered id, matching the key it was registered under.

neoforge

Wraps this condition as a NeoForge ICondition. Public so archie-datagen can attach conditions to generated recipes.

val MapCodec<out IACondition>.neoforge: MapCodec<NeoForgeCondition>

Wraps this codec as a NeoForge condition-serializer codec.

Functions

reducer

abstract fun reducer(a: Boolean, b: Boolean): Boolean

Combines two child results into one; applied left-to-right across children.

test

open override fun test(context: IACondition.IContext): Boolean

Evaluates this condition against context, returning whether it holds.