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

45 lines
1.5 KiB
Java

package net.minecraft.world.level.levelgen.feature.configurations;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.util.valueproviders.IntProvider;
import net.minecraft.world.level.block.state.BlockState;
public class DeltaFeatureConfiguration implements FeatureConfiguration {
public static final Codec<DeltaFeatureConfiguration> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
BlockState.CODEC.fieldOf("contents").forGetter(deltaFeatureConfiguration -> deltaFeatureConfiguration.contents),
BlockState.CODEC.fieldOf("rim").forGetter(deltaFeatureConfiguration -> deltaFeatureConfiguration.rim),
IntProvider.codec(0, 16).fieldOf("size").forGetter(deltaFeatureConfiguration -> deltaFeatureConfiguration.size),
IntProvider.codec(0, 16).fieldOf("rim_size").forGetter(deltaFeatureConfiguration -> deltaFeatureConfiguration.rimSize)
)
.apply(instance, DeltaFeatureConfiguration::new)
);
private final BlockState contents;
private final BlockState rim;
private final IntProvider size;
private final IntProvider rimSize;
public DeltaFeatureConfiguration(BlockState contents, BlockState rim, IntProvider size, IntProvider rimSize) {
this.contents = contents;
this.rim = rim;
this.size = size;
this.rimSize = rimSize;
}
public BlockState contents() {
return this.contents;
}
public BlockState rim() {
return this.rim;
}
public IntProvider size() {
return this.size;
}
public IntProvider rimSize() {
return this.rimSize;
}
}