Code/net/minecraft/world/level/levelgen/feature/configurations/SpringConfiguration.java

36 lines
1.8 KiB
Java
Raw Permalink Normal View History

2025-07-01 06:20:03 +00:00
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.core.HolderSet;
import net.minecraft.core.RegistryCodecs;
import net.minecraft.core.registries.Registries;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.material.FluidState;
public class SpringConfiguration implements FeatureConfiguration {
public static final Codec<SpringConfiguration> CODEC = RecordCodecBuilder.create(
p_68139_ -> p_68139_.group(
FluidState.CODEC.fieldOf("state").forGetter(p_161205_ -> p_161205_.state),
Codec.BOOL.fieldOf("requires_block_below").orElse(true).forGetter(p_161203_ -> p_161203_.requiresBlockBelow),
Codec.INT.fieldOf("rock_count").orElse(4).forGetter(p_161201_ -> p_161201_.rockCount),
Codec.INT.fieldOf("hole_count").orElse(1).forGetter(p_161199_ -> p_161199_.holeCount),
RegistryCodecs.homogeneousList(Registries.BLOCK).fieldOf("valid_blocks").forGetter(p_204854_ -> p_204854_.validBlocks)
)
.apply(p_68139_, SpringConfiguration::new)
);
public final FluidState state;
public final boolean requiresBlockBelow;
public final int rockCount;
public final int holeCount;
public final HolderSet<Block> validBlocks;
public SpringConfiguration(FluidState p_204848_, boolean p_204849_, int p_204850_, int p_204851_, HolderSet<Block> p_204852_) {
this.state = p_204848_;
this.requiresBlockBelow = p_204849_;
this.rockCount = p_204850_;
this.holeCount = p_204851_;
this.validBlocks = p_204852_;
}
}