minecraft-src/net/minecraft/world/level/levelgen/structure/structures/BuriedTreasureStructure.java
2025-07-04 03:15:13 +03:00

33 lines
1.4 KiB
Java

package net.minecraft.world.level.levelgen.structure.structures;
import com.mojang.serialization.MapCodec;
import java.util.Optional;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.levelgen.Heightmap.Types;
import net.minecraft.world.level.levelgen.structure.Structure;
import net.minecraft.world.level.levelgen.structure.StructureType;
import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder;
import net.minecraft.world.level.levelgen.structure.structures.BuriedTreasurePieces.BuriedTreasurePiece;
public class BuriedTreasureStructure extends Structure {
public static final MapCodec<BuriedTreasureStructure> CODEC = simpleCodec(BuriedTreasureStructure::new);
public BuriedTreasureStructure(Structure.StructureSettings structureSettings) {
super(structureSettings);
}
@Override
public Optional<Structure.GenerationStub> findGenerationPoint(Structure.GenerationContext context) {
return onTopOfChunkCenter(context, Types.OCEAN_FLOOR_WG, structurePiecesBuilder -> generatePieces(structurePiecesBuilder, context));
}
private static void generatePieces(StructurePiecesBuilder builder, Structure.GenerationContext context) {
BlockPos blockPos = new BlockPos(context.chunkPos().getBlockX(9), 90, context.chunkPos().getBlockZ(9));
builder.addPiece(new BuriedTreasurePiece(blockPos));
}
@Override
public StructureType<?> type() {
return StructureType.BURIED_TREASURE;
}
}