}
@Override
public void place() {
// Building objects
final PieceCuboidBuilder box = new PieceCuboidBuilder(this);
final SimpleBlockMaterialPicker picker = new SimpleBlockMaterialPicker();
final StrongholdBlockMaterialPicker stone = new StrongholdBlockMaterialPicker(getRandom());
// General shape
box.setPicker(stone);
box.setMinMax(-3, 0, 0, 7, 7, 15).fill();
// Place the door
new IronFenceDoor(this).place(1, 1, 0);
// Some stone for the side lava pools and ceiling
box.setMinMax(-2, 6, 1, -2, 6, 14).fill();
box.offsetMinMax(8, 0, 0, 8, 0, 0).fill();
box.setMinMax(-2, 6, 1, 5, 6, 2).fill();
box.offsetMinMax(0, 0, 13, 0, 0, 12).fill();
box.setMinMax(-2, 1, 1, -1, 1, 4).fill();
box.offsetMinMax(7, 0, 0, 7, 0, 0).fill();
// Fill the side lava pools
box.setPicker(picker);
picker.setOuterInnerMaterials(VanillaMaterials.STATIONARY_LAVA, VanillaMaterials.STATIONARY_LAVA);
box.setMinMax(-2, 1, 1, -2, 1, 3).fill();
box.offsetMinMax(8, 0, 0, 8, 0, 0).fill();
// Place the stone for the portal lava pool
box.setPicker(stone);
box.setMinMax(0, 1, 8, 4, 1, 12).fill();
// Place the lava for the portal lava pool
box.setPicker(picker);
box.offsetMinMax(1, 0, 1, -1, 0, -1).fill();
// Add iron bars to decorate the walls
picker.setOuterInnerMaterials(VanillaMaterials.IRON_BARS, VanillaMaterials.IRON_BARS);
for (int i = 3; i < 14; i += 2) {
box.setMinMax(-3, 3, i, -3, 4, i).fill();
box.offsetMinMax(10, 0, 0, 10, 0, 0).fill();
}
for (int i = -1; i < 6; i += 2) {
box.setMinMax(i, 3, 15, i, 4, 15).fill();
}
// Some stone for the stairs
box.setPicker(stone);
box.setMinMax(1, 1, 5, 3, 1, 7).fill();
box.offsetMinMax(0, 1, 1, 0, 1, 0).fill();
box.offsetMinMax(0, 1, 1, 0, 1, 0).fill();
// Place the stairs
for (int i = 1; i <= 3; i++) {
setBlockMaterial(i, 1, 4, VanillaMaterials.STAIRS_STONE_BRICK, (short) 2);
setBlockMaterial(i, 2, 5, VanillaMaterials.STAIRS_STONE_BRICK, (short) 2);
setBlockMaterial(i, 3, 6, VanillaMaterials.STAIRS_STONE_BRICK, (short) 2);