CLASS net/minecraft/class_6686 net/minecraft/world/gen/surfacebuilder/MaterialRules
	FIELD field_35222 STONE_DEPTH_FLOOR Lnet/minecraft/class_6686$class_6693;
	FIELD field_35223 STONE_DEPTH_FLOOR_WITH_SURFACE_DEPTH Lnet/minecraft/class_6686$class_6693;
	FIELD field_35224 STONE_DEPTH_CEILING_WITH_SURFACE_DEPTH Lnet/minecraft/class_6686$class_6693;
	FIELD field_35494 STONE_DEPTH_CEILING Lnet/minecraft/class_6686$class_6693;
	FIELD field_36341 STONE_DEPTH_FLOOR_WITH_SURFACE_DEPTH_RANGE_6 Lnet/minecraft/class_6686$class_6693;
	FIELD field_36342 STONE_DEPTH_FLOOR_WITH_SURFACE_DEPTH_RANGE_30 Lnet/minecraft/class_6686$class_6693;
	METHOD method_39045 steepSlope ()Lnet/minecraft/class_6686$class_6693;
	METHOD method_39046 water (II)Lnet/minecraft/class_6686$class_6693;
		ARG 0 offset
		ARG 1 runDepthMultiplier
	METHOD method_39047 block (Lnet/minecraft/class_2680;)Lnet/minecraft/class_6686$class_6708;
		ARG 0 state
	METHOD method_39048 not (Lnet/minecraft/class_6686$class_6693;)Lnet/minecraft/class_6686$class_6693;
		ARG 0 target
	METHOD method_39049 condition (Lnet/minecraft/class_6686$class_6693;Lnet/minecraft/class_6686$class_6708;)Lnet/minecraft/class_6686$class_6708;
		ARG 0 condition
		ARG 1 rule
	METHOD method_39050 sequence ([Lnet/minecraft/class_6686$class_6708;)Lnet/minecraft/class_6686$class_6708;
		ARG 0 rules
	METHOD method_39051 aboveY (Lnet/minecraft/class_5843;I)Lnet/minecraft/class_6686$class_6693;
		ARG 0 anchor
		ARG 1 runDepthMultiplier
	METHOD method_39052 noiseThreshold (Lnet/minecraft/class_5321;D)Lnet/minecraft/class_6686$class_6693;
		ARG 0 noise
		ARG 1 min
	METHOD method_39053 noiseThreshold (Lnet/minecraft/class_5321;DD)Lnet/minecraft/class_6686$class_6693;
		ARG 0 noise
		ARG 1 min
		ARG 3 max
	METHOD method_39054 biome (Ljava/util/List;)Lnet/minecraft/class_6686$class_6689;
		ARG 0 biomes
	METHOD method_39055 biome ([Lnet/minecraft/class_5321;)Lnet/minecraft/class_6686$class_6693;
		ARG 0 biomes
	METHOD method_39056 hole ()Lnet/minecraft/class_6686$class_6693;
	METHOD method_39057 waterWithStoneDepth (II)Lnet/minecraft/class_6686$class_6693;
		ARG 0 offset
		ARG 1 runDepthMultiplier
	METHOD method_39058 aboveYWithStoneDepth (Lnet/minecraft/class_5843;I)Lnet/minecraft/class_6686$class_6693;
		ARG 0 anchor
		ARG 1 runDepthMultiplier
	METHOD method_39059 temperature ()Lnet/minecraft/class_6686$class_6693;
	METHOD method_39060 terracottaBands ()Lnet/minecraft/class_6686$class_6708;
	METHOD method_39472 verticalGradient (Ljava/lang/String;Lnet/minecraft/class_5843;Lnet/minecraft/class_5843;)Lnet/minecraft/class_6686$class_6693;
		ARG 0 id
		ARG 1 trueAtAndBelow
		ARG 2 falseAtAndAbove
	METHOD method_39473 surface ()Lnet/minecraft/class_6686$class_6693;
	METHOD method_39549 stoneDepth (IZLnet/minecraft/class_5932;)Lnet/minecraft/class_6686$class_6693;
		ARG 0 offset
		ARG 1 addSurfaceDepth
		ARG 2 verticalSurfaceType
	METHOD method_40023 stoneDepth (IZILnet/minecraft/class_5932;)Lnet/minecraft/class_6686$class_6693;
		ARG 0 offset
		ARG 1 addSurfaceDepth
		ARG 2 secondaryDepthRange
		ARG 3 verticalSurfaceType
	METHOD method_42377 register (Lnet/minecraft/class_2378;Ljava/lang/String;Lnet/minecraft/class_7243;)Lcom/mojang/serialization/Codec;
		ARG 0 registry
		ARG 1 id
		ARG 2 codecHolder
	CLASS class_6687 TerracottaBandsMaterialRule
		FIELD field_35226 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6689 BiomeMaterialCondition
		FIELD field_35228 CODEC Lnet/minecraft/class_7243;
		FIELD field_36414 biomes Ljava/util/List;
		FIELD field_36415 predicate Ljava/util/function/Predicate;
		METHOD <init> (Ljava/util/List;)V
			ARG 1 biomes
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6690 BiomePredicate
	CLASS class_6691 BlockMaterialRule
		FIELD field_35231 CODEC Lnet/minecraft/class_7243;
		METHOD <init> (Lnet/minecraft/class_2680;)V
			ARG 1 resultState
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6692 BooleanSupplier
		METHOD method_39069 get ()Z
	CLASS class_6693 MaterialCondition
		FIELD field_35232 CODEC Lcom/mojang/serialization/Codec;
		METHOD method_39064 codec ()Lnet/minecraft/class_7243;
		METHOD method_39070 registerAndGetDefault (Lnet/minecraft/class_2378;)Lcom/mojang/serialization/Codec;
			ARG 0 registry
	CLASS class_6694 MaterialRuleContext
		FIELD field_35233 surfaceBuilder Lnet/minecraft/class_6724;
		FIELD field_35234 biomeTemperaturePredicate Lnet/minecraft/class_6686$class_6692;
		FIELD field_35235 steepSlopePredicate Lnet/minecraft/class_6686$class_6692;
		FIELD field_35236 negativeRunDepthPredicate Lnet/minecraft/class_6686$class_6692;
		FIELD field_35241 heightContext Lnet/minecraft/class_5868;
		FIELD field_35604 surfacePredicate Lnet/minecraft/class_6686$class_6692;
		FIELD field_35605 chunk Lnet/minecraft/class_2791;
		FIELD field_35606 posToBiome Ljava/util/function/Function;
		FIELD field_35608 uniqueHorizontalPosValue J
		FIELD field_35609 blockX I
		FIELD field_35610 blockZ I
		FIELD field_35611 runDepth I
		FIELD field_35612 uniquePosValue J
		FIELD field_35613 pos Lnet/minecraft/class_2338$class_2339;
		FIELD field_35614 biomeSupplier Ljava/util/function/Supplier;
		FIELD field_35616 surfaceMinY I
		FIELD field_35617 blockY I
		FIELD field_35618 fluidHeight I
		FIELD field_35619 stoneDepthBelow I
		FIELD field_35620 stoneDepthAbove I
		FIELD field_35676 chunkNoiseSampler Lnet/minecraft/class_6568;
		FIELD field_37703 noiseConfig Lnet/minecraft/class_7138;
		METHOD <init> (Lnet/minecraft/class_6724;Lnet/minecraft/class_7138;Lnet/minecraft/class_2791;Lnet/minecraft/class_6568;Ljava/util/function/Function;Lnet/minecraft/class_2378;Lnet/minecraft/class_5868;)V
			ARG 1 surfaceBuilder
			ARG 2 noiseConfig
			ARG 3 chunk
			ARG 4 chunkNoiseSampler
			ARG 5 posToBiome
			ARG 7 heightContext
		METHOD method_39072 initHorizontalContext (II)V
			ARG 1 blockX
			ARG 2 blockZ
		METHOD method_39073 initVerticalContext (IIIIII)V
			ARG 1 stoneDepthAbove
			ARG 2 stoneDepthBelow
			ARG 3 fluidHeight
			ARG 4 blockX
			ARG 5 blockY
			ARG 6 blockZ
		CLASS class_6695 NegativeRunDepthPredicate
		CLASS class_6696 SteepSlopePredicate
		CLASS class_6771 SurfacePredicate
		CLASS class_6772 BiomeTemperaturePredicate
	CLASS class_6701 HoleMaterialCondition
		FIELD field_35244 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6702 LazyAbstractPredicate
		FIELD field_35246 result Ljava/lang/Boolean;
		FIELD field_35622 uniqueValue J
		FIELD field_35623 context Lnet/minecraft/class_6686$class_6694;
		METHOD <init> (Lnet/minecraft/class_6686$class_6694;)V
			ARG 1 context
		METHOD method_39074 test ()Z
		METHOD method_39479 getCurrentUniqueValue ()J
			COMMENT Returns a unique value for each block position. The result of this predicate
			COMMENT will not be recalculated until this value changes.
			COMMENT
			COMMENT @return the unique value for this position
	CLASS class_6703 NoiseThresholdMaterialCondition
		FIELD field_35248 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6704 NoiseThresholdPredicate
	CLASS class_6706 InvertedBooleanSupplier
	CLASS class_6707 NotMaterialCondition
		FIELD field_35251 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6708 MaterialRule
		FIELD field_35252 CODEC Lcom/mojang/serialization/Codec;
		METHOD method_39061 codec ()Lnet/minecraft/class_7243;
		METHOD method_39085 registerAndGetDefault (Lnet/minecraft/class_2378;)Lcom/mojang/serialization/Codec;
			ARG 0 registry
	CLASS class_6709 SequenceBlockStateRule
		COMMENT Applies the given block state rules in sequence, and returns the first result that
		COMMENT isn't {@code null}. Returns {@code null} if none of the passed rules match.
	CLASS class_6710 SequenceMaterialRule
		FIELD field_35253 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6711 SimpleBlockStateRule
		COMMENT Always returns the given {@link BlockState}.
	CLASS class_6712 SteepMaterialCondition
		FIELD field_35255 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6713 StoneDepthMaterialCondition
		FIELD field_35257 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6714 StoneDepthPredicate
	CLASS class_6715 BlockStateRule
		COMMENT Returns a {@link BlockState} to generate at a given position, or {@code null}.
		METHOD tryApply (III)Lnet/minecraft/class_2680;
			ARG 1 x
			ARG 2 y
			ARG 3 z
	CLASS class_6716 TemperatureMaterialCondition
		FIELD field_35261 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6717 ConditionalBlockStateRule
		COMMENT Applies another block state rule if the given predicate matches, and returns
		COMMENT {@code null} otherwise.
	CLASS class_6718 ConditionMaterialRule
		FIELD field_35263 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6720 WaterMaterialCondition
		FIELD field_35264 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6721 WaterPredicate
	CLASS class_6722 AboveYMaterialCondition
		FIELD field_35266 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6723 AboveYPredicate
	CLASS class_6770 SurfaceMaterialCondition
		FIELD field_35601 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
	CLASS class_6773 HorizontalLazyAbstractPredicate
	CLASS class_6774 FullLazyAbstractPredicate
	CLASS class_6775 VerticalGradientMaterialCondition
		FIELD field_35626 CODEC Lnet/minecraft/class_7243;
		METHOD apply (Ljava/lang/Object;)Ljava/lang/Object;
			ARG 1 context
		CLASS class_6776 VerticalGradientPredicate
