private void step(IWorldEditor editor, Random rand, ITheme theme, Cardinal dir, Coord origin) { if (editor.getBlock(origin).isOpaqueCube()) return; Coord start; Coord end; IStair stair = theme.getPrimaryStair(); IBlockFactory blocks = theme.getPrimaryWall(); Cardinal[] orth = Cardinal.orthogonal(dir); start = new Coord(origin); end = new Coord(origin); start.add(orth[0]); end.add(orth[1]); end = new Coord(end.getX(), 60, end.getZ()); RectSolid.fill(editor, rand, start, end, blocks, true, true); start = new Coord(origin); end = new Coord(origin); start.add(orth[0]); end.add(orth[1]); stair.setOrientation(dir, false); RectSolid.fill(editor, rand, start, end, stair, true, true); origin.add(Cardinal.DOWN); origin.add(dir); step(editor, rand, theme, dir, origin); }