Code/net/minecraft/world/level/levelgen/feature/configurations/DripstoneClusterConfigurati...

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_;
}
}