63 lines
3.6 KiB
Java
63 lines
3.6 KiB
Java
package net.minecraft.world.level.levelgen.feature.configurations;
|
|
|
|
import com.mojang.serialization.Codec;
|
|
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
|
import com.mojang.serialization.codecs.RecordCodecBuilder.Instance;
|
|
import net.minecraft.util.valueproviders.FloatProvider;
|
|
import net.minecraft.util.valueproviders.IntProvider;
|
|
|
|
public class DripstoneClusterConfiguration implements FeatureConfiguration {
|
|
public static final Codec<DripstoneClusterConfiguration> CODEC = RecordCodecBuilder.create(
|
|
p_160784_ -> p_160784_.group(
|
|
Codec.intRange(1, 512).fieldOf("floor_to_ceiling_search_range").forGetter(p_160806_ -> p_160806_.floorToCeilingSearchRange),
|
|
IntProvider.codec(1, 128).fieldOf("height").forGetter(p_160804_ -> p_160804_.height),
|
|
IntProvider.codec(1, 128).fieldOf("radius").forGetter(p_160802_ -> p_160802_.radius),
|
|
Codec.intRange(0, 64).fieldOf("max_stalagmite_stalactite_height_diff").forGetter(p_160800_ -> p_160800_.maxStalagmiteStalactiteHeightDiff),
|
|
Codec.intRange(1, 64).fieldOf("height_deviation").forGetter(p_160798_ -> p_160798_.heightDeviation),
|
|
IntProvider.codec(0, 128).fieldOf("dripstone_block_layer_thickness").forGetter(p_160796_ -> p_160796_.dripstoneBlockLayerThickness),
|
|
FloatProvider.codec(0.0F, 2.0F).fieldOf("density").forGetter(p_160794_ -> p_160794_.density),
|
|
FloatProvider.codec(0.0F, 2.0F).fieldOf("wetness").forGetter(p_160792_ -> p_160792_.wetness),
|
|
Codec.floatRange(0.0F, 1.0F).fieldOf("chance_of_dripstone_column_at_max_distance_from_center").forGetter(p_160790_ -> p_160790_.chanceOfDripstoneColumnAtMaxDistanceFromCenter),
|
|
Codec.intRange(1, 64).fieldOf("max_distance_from_edge_affecting_chance_of_dripstone_column").forGetter(p_160788_ -> p_160788_.maxDistanceFromEdgeAffectingChanceOfDripstoneColumn),
|
|
Codec.intRange(1, 64).fieldOf("max_distance_from_center_affecting_height_bias").forGetter(p_160786_ -> p_160786_.maxDistanceFromCenterAffectingHeightBias)
|
|
)
|
|
.apply(p_160784_, DripstoneClusterConfiguration::new)
|
|
);
|
|
public final int floorToCeilingSearchRange;
|
|
public final IntProvider height;
|
|
public final IntProvider radius;
|
|
public final int maxStalagmiteStalactiteHeightDiff;
|
|
public final int heightDeviation;
|
|
public final IntProvider dripstoneBlockLayerThickness;
|
|
public final FloatProvider density;
|
|
public final FloatProvider wetness;
|
|
public final float chanceOfDripstoneColumnAtMaxDistanceFromCenter;
|
|
public final int maxDistanceFromEdgeAffectingChanceOfDripstoneColumn;
|
|
public final int maxDistanceFromCenterAffectingHeightBias;
|
|
|
|
public DripstoneClusterConfiguration(
|
|
int p_160772_,
|
|
IntProvider p_160773_,
|
|
IntProvider p_160774_,
|
|
int p_160775_,
|
|
int p_160776_,
|
|
IntProvider p_160777_,
|
|
FloatProvider p_160778_,
|
|
FloatProvider p_160779_,
|
|
float p_160780_,
|
|
int p_160781_,
|
|
int p_160782_
|
|
) {
|
|
this.floorToCeilingSearchRange = p_160772_;
|
|
this.height = p_160773_;
|
|
this.radius = p_160774_;
|
|
this.maxStalagmiteStalactiteHeightDiff = p_160775_;
|
|
this.heightDeviation = p_160776_;
|
|
this.dripstoneBlockLayerThickness = p_160777_;
|
|
this.density = p_160778_;
|
|
this.wetness = p_160779_;
|
|
this.chanceOfDripstoneColumnAtMaxDistanceFromCenter = p_160780_;
|
|
this.maxDistanceFromEdgeAffectingChanceOfDripstoneColumn = p_160781_;
|
|
this.maxDistanceFromCenterAffectingHeightBias = p_160782_;
|
|
}
|
|
} |