function genHelix(loc: location, radius: number, angle: number, height: number, delta: number, startAngle: number) :: locations: if {_radius}, {_height} and {_delta} >= 0: set {_a} to {_startAngle} set {_location} to {_loc} while (y-loc of {_location}) <= ((y-loc of {_loc}) + {_height}): set {_x} to ((x-loc of {_loc}) + (cos({_a}) * {_radius})) set {_z} to ((z-loc of {_loc}) + (sin({_a}) * {_radius})) add location({_x}, (y-loc of {_location}), {_z}, (world of {_loc})) to {_return::*} add {_delta} to (y-loc of {_location}) add {_angle} to {_a} if {_a} > 360: remove 360 from {_a} if {_a} <= 0: add 360 to {_a} return {_return::*} command /helix [] [] [] [] [] []: permission: pyraHelix trigger: set {_now} to now set {_list::*} to genHelix(location of player, arg 1, arg 2, arg 3, arg 4, arg 5) send "%difference between {_now} and now% ------- %size of {_list::*}%" loop {_list::*}: set block at loop-value to ((arg 6) parsed as item) #Created by LuckyPotato v1.0 (11.02.2019)