1

How can I execute the fill command relative to the player? If you are wondering why I am asking this, and for more information, reference my earlier question here: How to make a block disappear after a certain period of time Look to the bottom section for the info you want. Also, I don't want it to just fill the selected areas, I just want to replace wool with air.

4 Answers 4

1

Try: /execute <selector> ~ ~ ~ fill <relative coordinates> air 0 replace wool

[EDIT]

If you are wanting the block to disappear after a certain amount of time, say, 30 redstone ticks (60 game ticks), you could summon a WitherSkull below the player and use the execute command on it.

To make the block disappear, you would add a new scoreboard command, lifetime, for instance, and run /scoreboard players add @e[type=WitherSkull] lifetime 1 with a setblock or fill clock, then execute another fill command on every wither skull with a certain lifetime value, like:

/execute @e[type=WitherSkull,score_lifetime_min=31] ~ ~ ~ /fill ~ ~ ~ ~ ~ ~ wool 0 replace air.

Then, you would kill the wither skull: /kill @e[type=WitherSkull,score_lifetime_min=35].

Here is a screenshot of what I did:

Adding the ability to walk on blocks.

3
  • What do you mean by 'relative coordinates'? Could you give an example? May 22, 2014 at 4:08
  • In this case, as I am assuming you want blocks to be placed under the player, you would do ~ ~-1 ~.
    – ghipkins
    May 22, 2014 at 20:20
  • Actually I wanted to make a 7x7x7 hollow "cube", but I already figured out how to do that. Thanks! May 22, 2014 at 20:28
3
/execute at @p positioned ~ ~ ~ run fill ~-5 ~-2 ~-5 ~5 ~2 ~5 minecraft:air replace minecraft:wool

Here's the new command for Java, everyone!

2

To fill an area relative to the player, put the following code into a command block or your chat: /execute @<p,a,r,e> <x> <y> <z> /fill <x1> <y1> <z1> <x2> <y2> <z2> <block> 0 replace <blocktoreplace>. The p, a, r, and e are the selectors.

  • @p is as if you had typed the nearest players name in
  • @a is as if you had put everyone's name tag in
  • @r is as if you had put a random player's name in, and
  • @e is as if you had put every entity's ID in.

The first x, y, and z are the relative coordinates, meaning that they must have the symbol ~ before them, and are relative to the player. The next two sets of x y and z should also be relative otherwise there wouldn't be any use of using execute. The block is now used by it's name with minecraft: before it or what ever mod it comes from with a colon after meaning that items that have the same name won't override each other. The block to replace is just that, the block to replace.

1

For everyone reading this in the future like I was, /execute [selector] doesn't work anymore. If you want to execute at someone's location, use /execute AT [selector] and then the relative ~ ~ ~ or modified relative ~ ~-5 ~ and the like coords.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .