33 lines
1.4 KiB
Java
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;
|
|
}
|
|
}
|