Record Class RuleBasedStateProvider
java.lang.Object
java.lang.Record
net.minecraft.world.level.levelgen.feature.stateproviders.RuleBasedStateProvider
- All Implemented Interfaces:
BlockStateProvider
public record RuleBasedStateProvider(@Nullable Holder<BlockStateProvider> fallback, List<RuleBasedStateProvider.Rule> rules)
extends Record
implements BlockStateProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic final record -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.mojang.serialization.MapCodec<RuleBasedStateProvider> private final @Nullable Holder<BlockStateProvider> The field for thefallbackrecord component.private final List<RuleBasedStateProvider.Rule> The field for therulesrecord component.Fields inherited from interface BlockStateProvider
DIRECT_CODEC, STATE_OR_PROVIDER_CODEC, TYPED_CODEC -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateRuleBasedStateProvider(Optional<Holder<BlockStateProvider>> fallback, List<RuleBasedStateProvider.Rule> rules) RuleBasedStateProvider(@Nullable Holder<BlockStateProvider> fallback, List<RuleBasedStateProvider.Rule> rules) Creates an instance of aRuleBasedStateProviderrecord class. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()builder(@Nullable BlockStateProvider fallback) com.mojang.serialization.MapCodec<RuleBasedStateProvider> codec()final booleanIndicates whether some other object is "equal to" this one.fallback()Returns the value of thefallbackrecord component.getOptionalState(LevelAccessor level, RandomSource random, BlockPos pos) getState(LevelAccessor level, RandomSource random, BlockPos pos) final inthashCode()Returns a hash code value for this object.static RuleBasedStateProviderifTrueThenProvide(BlockPredicate ifTrue, Block thenProvide) static RuleBasedStateProviderifTrueThenProvide(BlockPredicate ifTrue, BlockStateProvider thenProvide) rules()Returns the value of therulesrecord component.final StringtoString()Returns a string representation of this record class.
-
Field Details
-
fallback
The field for thefallbackrecord component. -
rules
The field for therulesrecord component. -
CODEC
-
-
Constructor Details
-
RuleBasedStateProvider
private RuleBasedStateProvider(Optional<Holder<BlockStateProvider>> fallback, List<RuleBasedStateProvider.Rule> rules) -
RuleBasedStateProvider
public RuleBasedStateProvider(@Nullable Holder<BlockStateProvider> fallback, List<RuleBasedStateProvider.Rule> rules) Creates an instance of aRuleBasedStateProviderrecord class.- Parameters:
fallback- the value for thefallbackrecord componentrules- the value for therulesrecord component
-
-
Method Details
-
ifTrueThenProvide
-
ifTrueThenProvide
public static RuleBasedStateProvider ifTrueThenProvide(BlockPredicate ifTrue, BlockStateProvider thenProvide) -
codec
- Specified by:
codecin interfaceBlockStateProvider
-
getState
- Specified by:
getStatein interfaceBlockStateProvider
-
getOptionalState
public @Nullable BlockState getOptionalState(LevelAccessor level, RandomSource random, BlockPos pos) - Specified by:
getOptionalStatein interfaceBlockStateProvider
-
builder
-
builder
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
fallback
Returns the value of thefallbackrecord component.- Returns:
- the value of the
fallbackrecord component
-
rules
Returns the value of therulesrecord component.- Returns:
- the value of the
rulesrecord component
-