minecraft-src/net/minecraft/world/level/levelgen/GeodeLayerSettings.java
2025-07-04 01:41:11 +03:00

28 lines
1.2 KiB
Java

package net.minecraft.world.level.levelgen;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
public class GeodeLayerSettings {
private static final Codec<Double> LAYER_RANGE = Codec.doubleRange(0.01, 50.0);
public static final Codec<GeodeLayerSettings> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
LAYER_RANGE.fieldOf("filling").orElse(1.7).forGetter(geodeLayerSettings -> geodeLayerSettings.filling),
LAYER_RANGE.fieldOf("inner_layer").orElse(2.2).forGetter(geodeLayerSettings -> geodeLayerSettings.innerLayer),
LAYER_RANGE.fieldOf("middle_layer").orElse(3.2).forGetter(geodeLayerSettings -> geodeLayerSettings.middleLayer),
LAYER_RANGE.fieldOf("outer_layer").orElse(4.2).forGetter(geodeLayerSettings -> geodeLayerSettings.outerLayer)
)
.apply(instance, GeodeLayerSettings::new)
);
public final double filling;
public final double innerLayer;
public final double middleLayer;
public final double outerLayer;
public GeodeLayerSettings(double filling, double innerLayer, double middleLayer, double outerLayer) {
this.filling = filling;
this.innerLayer = innerLayer;
this.middleLayer = middleLayer;
this.outerLayer = outerLayer;
}
}