WorldEdit

WorldEdit

43M Downloads

Stacking in any direction rather than only cardinal directions.

NJDaeger opened this issue ยท 2 comments

commented

Is your feature request related to a problem? Please describe.
It's great that we can stack things in diagonal directions, but one limitation of stacking diagonally is that it is restricted to a slope of 1/1 (eg. 45 degrees). Often times, I have selections that need stacked at irregular slopes, such as 2/1 or 3/1 which isn't possible in the current WorldEdit.

Describe the solution you'd like
An ideal solution in my opinion is the ability to stack at a specific slope instead of just cardinal directions.

Ideally, what I would see done is the direction parameter of the //stack command would be a slope instead of a direction (although you could still type in n/s/e/w etc. and it would follow those still).

For example, if you typed in //stack 10 6/2, the stack would paste 6 blocks forward and 2 blocks left (those are relative to the player's forward-facing direction) for every iteration.
image

Conversely, if you had typed in //stack 10 -6/2, the stack would paste 6 blocks forward and 2 blocks right for every iteration.
image

Another option you could do to prevent any potential breakages is to add a new parameter to the stack command, so the new format would be //stack [-abes] [count] [direction] [slope] [-m <mask>] where direction and slope cannot coexist in a given command. I think this option is less intuitive than just allowing direction to be a slope, but I don't know the codebase well enough to dictate whether that's a good idea or not.

Describe alternatives you've considered
An alternative to this instead of doing a slope, you could have the direction parameter be an angle at which the selection will stack. I don't think this would be nearly as easy for the end-user, but it is another possibility that would still work most likely.

commented

I think a more likely (and easier) solution would be taking a vector x,y,z for steps in the respective direction. Some things already take the direction parameter as a BlockVector3, so this shouldn't be too hard to implement.

commented

Changes not in #1430 have been split into #1442 and #1443.