minecraft-src/net/minecraft/world/level/levelgen/feature/FillLayerFeature.java
2025-07-04 02:00:41 +03:00

34 lines
1.1 KiB
Java

package net.minecraft.world.level.levelgen.feature;
import com.mojang.serialization.Codec;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.levelgen.feature.configurations.LayerConfiguration;
public class FillLayerFeature extends Feature<LayerConfiguration> {
public FillLayerFeature(Codec<LayerConfiguration> codec) {
super(codec);
}
@Override
public boolean place(FeaturePlaceContext<LayerConfiguration> context) {
BlockPos blockPos = context.origin();
LayerConfiguration layerConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
BlockPos.MutableBlockPos mutableBlockPos = new BlockPos.MutableBlockPos();
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 16; j++) {
int k = blockPos.getX() + i;
int l = blockPos.getZ() + j;
int m = worldGenLevel.getMinY() + layerConfiguration.height;
mutableBlockPos.set(k, m, l);
if (worldGenLevel.getBlockState(mutableBlockPos).isAir()) {
worldGenLevel.setBlock(mutableBlockPos, layerConfiguration.state, 2);
}
}
}
return true;
}
}