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

30 lines
1.2 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 ReplaceSphereConfiguration implements FeatureConfiguration {
public static final Codec<ReplaceSphereConfiguration> CODEC = RecordCodecBuilder.create(
instance -> instance.group(
BlockState.CODEC.fieldOf("target").forGetter(replaceSphereConfiguration -> replaceSphereConfiguration.targetState),
BlockState.CODEC.fieldOf("state").forGetter(replaceSphereConfiguration -> replaceSphereConfiguration.replaceState),
IntProvider.codec(0, 12).fieldOf("radius").forGetter(replaceSphereConfiguration -> replaceSphereConfiguration.radius)
)
.apply(instance, ReplaceSphereConfiguration::new)
);
public final BlockState targetState;
public final BlockState replaceState;
private final IntProvider radius;
public ReplaceSphereConfiguration(BlockState targetState, BlockState replaceState, IntProvider radius) {
this.targetState = targetState;
this.replaceState = replaceState;
this.radius = radius;
}
public IntProvider radius() {
return this.radius;
}
}