While working with command blocks I tried using the testfor command with the new Execute to see what would happen.The command does fire, but the command block will light up even if the testfor isn't true.
What would be useful to happen is if the comparator only lit up if the testfor is true.This would allow for player relative tesfor commands.
For Instance: /execute @p ~ ~ ~ testfor @e[type=Creeper,rm=10]
This should only light up if there is a creeper within 10 blocks of the player.
Here is a bit of a screenshot showing how it works right now.
For those of you who haven't noticed we now have player/entity relative commands in the latest snapshot with the /execute and player relative direction.
I already have a 16 direction detection going on, couldn't image needing more then that.
You are thinking of either dx (square bounding box) or r (radius). rx (and likely ry) are a new thing in the next snapshot maybe. Seems more like the new x-rot and y-rot in the /tp command.
Anyways, he said "Don't Look Down" which implied detecting direction.
Hope this makes sense, if not, check the wiki under "Command_Block"
Hmm i guess it is, I hope it's not just a selector tho.
That would requite quite a few command blocks to ensure you get the proper xyz direction.
That seems to be more to test in straight lines. So from the command block it would test if anyone crossed the x axis it's on from a 30 block diameter, seemingly no matter what height also, unless height is also set by the 30 value.
However it is a really cool feature, will be nice for the doors I'm making as well as bounding boxes.
It appears we will be given a new command that will allow us to use commands relative to any entity, including players: https://twitter.com/...282134305181696
The speculated syntax:
/execute <player|entity> X Y Z <command>
So you can specify relative coordinates from the player along with specifying the full command. Probably going to be one of the best commands of this update (in my opinion) if this is truly how it works!
Well that's just amazing, I'd love to say that this thread got the command added but I have a small hunch this was going to come eventually since we got the new trigger commands.
Now I just want more relative player stuff (direction), and possibly more powerful selectors.
We now have the Tellraw trigger objectives which is indeed a step closer to this, however it's STILL needs interaction from the players mouse rather than just a redstone signal with a selector on the player.
Please look into adding this in a situation where we can use this with just redstone and a selector for which player.
Definitely support here. Makes mapmaking much easier, and allows drops to be killed by type of block.
More target parameters would be excellent. One of the worst situations is the inability to target mobs with names that contain spaces. If quotes were to be compatible with the selectors, life would be much easier. Support, although the example you used is already possible.
It might work for mobs not sure there, but I'm trying to get it to work with items.
The problem is the Name for items is nested in Display so i don't think it can work for them.
We have the new /kill command that can target entity's but currently it can't select anything specific.
Any chance of getting data tags added so you could for instance:
1. Don't ask us for suggestions.
2. I've said it before and I'll say it again; Just because you want it doesn't mean they will implement it.
The concept is pretty good, though.
3/5 Support.
1. Thanks for bumping, suggestions were for those polite people who wish to say "Hey this is cool, what about this as well"
The command itself doesn't leave much wiggle room.
2. It isn't JUST me:
The problem with the current method is only certain things can be relative to the player and it's a lot more cumbersome than /RelativeCommand @<selector> {command:}
This will run the command as if the player input the command. So in the example above it will run:
/summon Creeper ~ ~3 ~
The Creeper will spawn 3 blocks above the player, not 3 blocks above the command block. This will remove the need to use 2 extra command blocks for player relative spawning and will make player relative commands a lot more feasible as the current minecart command blocks relative commands doesn't work very well.
This could also work with lets say: /RelativeCommand @e[type=Creeper,name=Boom,r=5] {command:effect @e[type=Creeper,name!=Boom] 14 1 10 }
Any creeper named Boom will make any creepers not named "Boom" invisible if thay are in a radius of 5 blocks, if you kill "Boom" this stops happening unless the command block finds another "Boom".
VVV EDIT - Though of more things. VVV
Another idea to add would be a RelativeDirection DataTag. This tag if added in a RelativeCommand would make entitys that are spawned with the command have the same direction as the selector, besides speed which would be determined with a number. This would also have motion values, which if set to Zero they will default to the players direction and the defult entitys motion values.
The format would be: {RelativeDirection:<x>,<y>,<z>,<Speed at which the entity moves>}
1 would be default for speed and higher values would be faster and so on and so forth.
/RelativeCommand @p {command:summon Arrow ~ ~ ~ {RelativeDirection:0.0,0.0,0.0,1}}
This command would summon an arrow at the nearest player going in the direction they are facing at a default speed. This command would also inherit the defult motion data values. (which would be a full drawn bow.)
/RelativeCommand @p {command:summon Arrow ~ ~ ~ {RelativeDirection:0.0,1.0,0.0,0.5}}
This command on the other hand HAS a motion value as well, so this arrow fires a slow arching arrow into the sky relative to the players direction becuase the Y value is set to 1. Since the X and Z motions tags are 0 they are not changed from what is set by the default RelativeDirection.
The last addition to this could be powerful and it would be another relative value.
Lets look at the command /RelativeCommand @p {command:summon Entity ~10 ~ ~
This will summon an entity 10 blocks away relative to the player in the Z direction. Not ideal as that's not where the player is looking. The last addition would be:
That Rs means relative to the players direction. So this means it will spawn that many numbers away from where the player is looking. If you use ~zxr is will spawn that many blocks away from the players direction. If you set a ~yr that many blocks from the players Vertical cross hair location.These would be optional values that only did anything if they were present. An example is below
This command will spawn a potion of harming 5 blocks away from where the player is looking and 1 block up from where the player is standing.
Please continue suggestions as well as writting your own example of what you would do with this and let Mr. Dinnerbone see this as it's my #1 most wanted feature, as I'm sure It's many others.
More Command Examples
/RelativeCommand @p {command:kill @e[type=Zombie,r=4]}
Kills any Zombies in a radius of 4 blocks to the player
This will pick up any cobblestone that is one block under the player, and one block infront of the player and throw it forward where it would then land.
0
Awesome, but I just made a cool little screenshot showing how it works tho
Getting this fixed will put the finishing touch on my fireball spell.
0
What would be useful to happen is if the comparator only lit up if the testfor is true.This would allow for player relative tesfor commands.
For Instance: /execute @p ~ ~ ~ testfor @e[type=Creeper,rm=10]
This should only light up if there is a creeper within 10 blocks of the player.
Here is a bit of a screenshot showing how it works right now.
0
I already have a 16 direction detection going on, couldn't image needing more then that.
0
Hmm i guess it is, I hope it's not just a selector tho.
That would requite quite a few command blocks to ensure you get the proper xyz direction.
0
That seems to be more to test in straight lines. So from the command block it would test if anyone crossed the x axis it's on from a 30 block diameter, seemingly no matter what height also, unless height is also set by the 30 value.
However it is a really cool feature, will be nice for the doors I'm making as well as bounding boxes.
0
Well that's just amazing, I'd love to say that this thread got the command added but I have a small hunch this was going to come eventually since we got the new trigger commands.
Now I just want more relative player stuff (direction), and possibly more powerful selectors.
0
It's not THAT confusing
0
Please look into adding this in a situation where we can use this with just redstone and a selector for which player.
0
Thanks for the support man
0
It might work for mobs not sure there, but I'm trying to get it to work with items.
The problem is the Name for items is nested in Display so i don't think it can work for them.
2
Any chance of getting data tags added so you could for instance:
/kill @e[type=Item] {display:{Name:"OPSWORDOMG!!!!11"}}
--To take this a step further just expand the selectors to data tags as well
/kill @e[type=Item,Name="OPSWORDOMG!!!!11"]
Preferably the expansion on selectors would be the most ideal as this would add a lot of options in map making.
Let me know what you think, and if this is at all confusing let me know!
0
They essentially do the same thing no?
0
1
1. Thanks for bumping, suggestions were for those polite people who wish to say "Hey this is cool, what about this as well"
The command itself doesn't leave much wiggle room.
2. It isn't JUST me:
The problem with the current method is only certain things can be relative to the player and it's a lot more cumbersome than /RelativeCommand @<selector> {command:}
3
/RelativeCommand @ {command:}
so
/RelativeCommand @p {command:summon Creeper ~ ~3 ~}
This will run the command as if the player input the command. So in the example above it will run:
/summon Creeper ~ ~3 ~
The Creeper will spawn 3 blocks above the player, not 3 blocks above the command block. This will remove the need to use 2 extra command blocks for player relative spawning and will make player relative commands a lot more feasible as the current minecart command blocks relative commands doesn't work very well.
This could also work with lets say:
/RelativeCommand @e[type=Creeper,name=Boom,r=5] {command:effect @e[type=Creeper,name!=Boom] 14 1 10 }
Any creeper named Boom will make any creepers not named "Boom" invisible if thay are in a radius of 5 blocks, if you kill "Boom" this stops happening unless the command block finds another "Boom".
VVV EDIT - Though of more things. VVV
Another idea to add would be a RelativeDirection DataTag. This tag if added in a RelativeCommand would make entitys that are spawned with the command have the same direction as the selector, besides speed which would be determined with a number. This would also have motion values, which if set to Zero they will default to the players direction and the defult entitys motion values.
The format would be:
{RelativeDirection:<x>,<y>,<z>,<Speed at which the entity moves>}
1 would be default for speed and higher values would be faster and so on and so forth.
/RelativeCommand @p {command:summon Arrow ~ ~ ~ {RelativeDirection:0.0,0.0,0.0,1}}
This command would summon an arrow at the nearest player going in the direction they are facing at a default speed. This command would also inherit the defult motion data values. (which would be a full drawn bow.)
/RelativeCommand @p {command:summon Arrow ~ ~ ~ {RelativeDirection:0.0,1.0,0.0,0.5}}
This command on the other hand HAS a motion value as well, so this arrow fires a slow arching arrow into the sky relative to the players direction becuase the Y value is set to 1. Since the X and Z motions tags are 0 they are not changed from what is set by the default RelativeDirection.
The last addition to this could be powerful and it would be another relative value.
Lets look at the command /RelativeCommand @p {command:summon Entity ~10 ~ ~
This will summon an entity 10 blocks away relative to the player in the Z direction. Not ideal as that's not where the player is looking. The last addition would be:
/RelativeCommand @p {command:summon Entity ~x ~y ~z ~xyr ~yr}
That Rs means relative to the players direction. So this means it will spawn that many numbers away from where the player is looking. If you use ~zxr is will spawn that many blocks away from the players direction. If you set a ~yr that many blocks from the players Vertical cross hair location.These would be optional values that only did anything if they were present. An example is below
/RelativeCommand @p {command:summon ThrownPotion ~ ~1 ~ ~5 ~ {Potion:{id:373,Damage:8204,Count:1}}
This command will spawn a potion of harming 5 blocks away from where the player is looking and 1 block up from where the player is standing.
Please continue suggestions as well as writting your own example of what you would do with this and let Mr. Dinnerbone see this as it's my #1 most wanted feature, as I'm sure It's many others.
More Command Examples
/RelativeCommand @p {command:kill @e[type=Zombie,r=4]}
Kills any Zombies in a radius of 4 blocks to the player
/RelativeCommand @p {command:summon /summon FallingSand ~ ~-1 ~ ~1 ~ {RelativeDirection:0.0,0.5,0.0,1,{TileID:4,Time:0,}}}
This will pick up any cobblestone that is one block under the player, and one block infront of the player and throw it forward where it would then land.