im trying to create a pyramid proc or something but im really having trouble with the corner's of the stairs because their shapes get fucked (the top is a slab)
here's what im doing right now:
- repeat 2:
- define layer_center <[center].below[<[value]>]>
- foreach <[layer_center].backward_flat[<[value]>]>|<[layer_center].forward_flat[<[value]>]>|<[layer_center].left[<[value]>]>|<[layer_center].right[<[value]>]> as:side:
- define side <[side].face[<[layer_center]>]>
- define direction <[side].face[<[layer_center]>].yaw.simple>
- define set_blocks <[side].left[<[value]>].points_between[<[side].right[<[value]>]>]>
#if they are replacing another set of stairs, turn them into planks to connect them together
- foreach <[set_blocks]> as:b:
- define mat oak_stairs[direction=<[direction]>]
- if <[b].material.name.after_last[_]> == stairs && <[b].has_flag[build]>:
- define mat oak_planks
- modifyblock <[b]> <[mat]>
- if <[set_blocks].last.material.name.after_last[_]> == stairs:
- adjustblock <[set_blocks].last> shape:outer_left
#-third layer
- modifyblock <[center]> oak_slab
- define blocks <[tile].blocks.filter[has_flag[build].not]>
<[center]> is just a locationtag and the whole oak_stairs/oak_plank thing in the foreach loop is so any pyramids that are connected to each other turns the intersection between the two pyramids into oak planks instead of oak stairs to make the transition between the two less awkward