[SPIGOT-2134] Double /execute fails 3rd command if player in 2nd selector does not have perms for it. Created: 05/Apr/16 Updated: 01/May/16 Resolved: 20/Apr/16 |
|
Status: | Closed |
Project: | Spigot |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | Priority: | Minor |
Reporter: | Zedadias Wick | Assignee: | Thinkofname |
Resolution: | Fixed | Votes: | 0 |
Labels: | Spigot, bug, command, commandblock, permissions |
Description |
When running a double /execute command to run any vanilla command, if the player targeted by the second selector does not have permission to run that command then it will fail and the player will receive the "I'm sorry, but you do not have permission" message. Adding the following command to a command block will succeed when powered: /execute @p ~ ~ ~ say Hi But the next command will fail as described above, with the no permission message being displayed to the player in the second selector. /execute @p ~ ~ ~ /execute @p ~ ~ ~ say Hi I do not believe this is expected, and will break any command block oriented world which relies on double /execute. |
Comments |
Comment by Thinkofname [ 01/May/16 ] |
Fixed in latest. Had to get you check on Spigot as I have no idea of the changes Paper makes to their fork (we have no control or connection to it) |
Comment by SpiderRobotMan [ 01/May/16 ] |
@Thinkofname Just tested in latest Spigot build (git-Spigot-e6f93f4-935f18b), same result. As you can see in the log each execute up to the one with 2 nested commands works just as expected then when it reaches this it locks up: /execute @p ~ ~ ~ execute @p ~ ~ ~ execute @p ~ ~ ~ say hi |
Comment by SpiderRobotMan [ 01/May/16 ] |
I'll test on plain Spigot but i'd imagine it will be the exact same issue. |
Comment by Thinkofname [ 01/May/16 ] |
SpiderRobotMan PaperSpigot isn't supported here |
Comment by SpiderRobotMan [ 01/May/16 ] |
The resolution to this issue has introduced another large problem. If you try to run an execute with 2 nested executes inside the main thread completely locks up no matter what the selectors are or how many players are online (could be exact player names, @e, @p, @a). an example of a command that will crash a server is /execute @p ~ ~ ~ execute @p ~ ~ ~ execute @p ~ ~ ~ say hi the log output is (running PaperSpigot) http://hastebin.com/ibakitihoj.avrasm |
Comment by Zedadias Wick [ 05/Apr/16 ] |
It wouldn't be, was just a simple example to show the bug. The problem is just that for some reason the second /execute will not ignore a player's permissions. /execute @a[team=Red] ~ ~ ~ /execute @a[team=Blue] ~ ~ ~ /say I am Blue The above would fail in just the same way, where /execute @a[team=Blue] ~ ~ ~ say I am Blue Would run perfectly fine. |
Comment by md_5 [ 05/Apr/16 ] |
I don't get it, how can @p be different? |