Summon armorstands recursively from an origin with only one armorstand per block

Summon armorstands recursively from an origin with only one armorstand per block - From below of lots of long narrow identical windows of contemporary construction in sunlight

I want to summon a flat area of armorstands like demonstrated here in minecraft 1.9:

  3    
 323
32123
 323
  3

Every number represents an armorstand, the number itself the tick in which the armorstand was summoned. Ofcourse I would add a limitation to this myself to prevent the mechanism to spawn infinite amounts of armorstands.

My problem is to only spawn one armorstand on each block, here's what I have so far. This spawns more than one armorstand on each block. First a single armorstand is placed in the world, then the following chain is executed by a repeating command block:

/execute @e[type=ArmorStand,name=move] ~ ~ ~ /summon ArmorStand ~1 ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move] ~ ~ ~ /summon ArmorStand ~-1 ~ ~ {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move] ~ ~ ~ /summon ArmorStand ~ ~ ~1 {NoGravity:1b,CustomName:"move"}
/execute @e[type=ArmorStand,name=move] ~ ~ ~ /summon ArmorStand ~ ~ ~-1 {NoGravity:1b,CustomName:"move"}

I would also be fine with a solution which temporarily spawns more than one armorstand per block, but it should leave a area of one armorstand per block behind. If you think that this is impossible it would be nice if you could leave a comment.



Best Answer

Summon the armorstands first, this will create some overlap, which will need to be removed.

This is quite easy, just let every armorstand set a score of one armorstand in each pile, and kill those without the score.

scoreboard players set @e[name=move] temp 0
execute @e[name=move] ~ ~ ~ scoreboard players set @e[r=0,c=1] temp 1
kill @e[name=move,score_temp=0]

This works because all the armorstands in each pile will select only one armorstand among them, the oldest one.




Pictures about "Summon armorstands recursively from an origin with only one armorstand per block"

Summon armorstands recursively from an origin with only one armorstand per block - From above of cute little child in white wear holding wood blocks for building while standing near wicker armchair
Summon armorstands recursively from an origin with only one armorstand per block - One dollar banknotes placed on table
Summon armorstands recursively from an origin with only one armorstand per block - Unrecognizable little girl playing with wooden blocks at table at home



How do you summon a armor stand with a block on its head?

You can summon an armor stand that has a diamond helmet, diamond chestplate, diamond leggings, and diamond boots hanging on it whenever you want using a cheat (game command) in Minecraft. This is done using the /summon command. This is a quick and easy way to get a full set of diamond armor that you can wear.

How do you summon a rotating armor stand?

The commands are as follows:
  • /data merge entity @e[type=armor_stand,sort=nearest,limit=1] {ShowArms:1} , which will change the nearest armor stand into an armor stand with arms.
  • /summon minecraft:armor_stand ~ ~ ~ {ShowArms:1} , which will summon a new armor stand with arms shown.




  • All Armor stand Commands for 1.16.4+ | Comamnd Tutorial




    More answers regarding summon armorstands recursively from an origin with only one armorstand per block

    Answer 2

    I see your problem! Where you have

    /execute @e[type=ArmorStand,name=move] ~ ~ ~ /summon ArmorStand ~1 ~ ~ {NoGravity:1b,CustomName:"move"}
    

    The first 3 ~ ~ ~ are the coordinates where they spawn, ~ ~ ~ is set as default in front of you. Change the coordinates to where you what them to have move to. I may be wrong but hey, its worth a try!

    Sources: Stack Exchange - This article follows the attribution requirements of Stack Exchange and is licensed under CC BY-SA 3.0.

    Images: Ave Calvar Martinez, Tatiana Syrikova, Matthias Groeneveld, Tatiana Syrikova