#(nimsy) how to make a pyramid (stairs only)?

49 messages · Page 1 of 1 (latest)

slate ginkgo
#

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

tawdry hedgeBOT
#

(nimsy) how to make a pyramid (stairs only)?

tawdry hedgeBOT
#

Hi I'm AutoThreadBot! Don't mind me, I'll just be adding the helper team to this thread so they can see it. A human will get to you soon.
You can block this bot if you don't want to see these messages, I won't mind.
<@&525394568410038282>

slim tree
#

bruh use the pastebin

#

!haste

glossy canyonBOT
slim tree
#

literally unreadable

slate ginkgo
narrow shore
#

Can you post the full thing? That could help people who want to help you to understand it.

slate ginkgo
#

i literally told you

#

<[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

#

that's literally everything that has to do with the pyramid

glossy canyonBOT
# still iron !mechanism materialtag.shape

Sets the shape of a block.
For stairs, input is the corner shape as INNER_LEFT, INNER_RIGHT, OUTER_LEFT, OUTER_RIGHT, or STRAIGHT.

Object

MaterialTag

Input

ElementTag

Tags

<MaterialTag.shape> Returns the shape of a block. For stairs, output is the corner shape as INNER_...

still iron
#

the corners are inner_left, inner_right, outer_left, outer_right

#

you can use either outer_left or outer_right specifically, but your edges have to align with them

#

like, shape=outer_right has to align with two straight stairs

#

but if that outer_right material is a direction=west as an example, one has to be west and the other has to be north

slate ginkgo
#

yea that's what im trying to figure out

#

how can i can i connect the two together'

still iron
#

your west wall will have stairs that face west

#

your north wall will face north

#

the corner can face either north or west, but it's shape has to be set to outer_right or outer_left depending on if you set it to north or west

#

if it faces west, it's outer_right

#

if it faces north, it's outer_left

#

just take one of the walls, keep the same direction, just change the shape

still iron
#

/ex narrate <player.location.direction>|<player.cursor_on.material> might help you see it yourself?

#

do you see the pattern

#

look explicitly at the green; it's horizontal so it might help

#

all green blocks are north

#

if the block is on the right side of the green

#

the shape is outer_right

#

if it's on the left, it's outer_left

#

i did just verify this before making these by the way, i can actually understand the confusion

slate ginkgo
still iron
#

no prob bob

slate ginkgo
#

thanks billy

still iron
#

feel free to reopen if ye need more

#

(i feel like /pleaseclose bothers you so im suggesting you /resolved lol)