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

25 lines
1.1 KiB
Java

package net.minecraft.world.level.levelgen.feature.configurations;
import com.mojang.serialization.Codec;
import java.util.stream.Stream;
import net.minecraft.core.HolderSet;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
public class SimpleRandomFeatureConfiguration implements FeatureConfiguration {
public static final Codec<SimpleRandomFeatureConfiguration> CODEC = ExtraCodecs.nonEmptyHolderSet(PlacedFeature.LIST_CODEC)
.fieldOf("features")
.<SimpleRandomFeatureConfiguration>xmap(SimpleRandomFeatureConfiguration::new, simpleRandomFeatureConfiguration -> simpleRandomFeatureConfiguration.features)
.codec();
public final HolderSet<PlacedFeature> features;
public SimpleRandomFeatureConfiguration(HolderSet<PlacedFeature> features) {
this.features = features;
}
@Override
public Stream<ConfiguredFeature<?, ?>> getFeatures() {
return this.features.stream().flatMap(holder -> ((PlacedFeature)holder.value()).getFeatures());
}
}