Skip to content

Permissions based on command arguments #3336

Description

@Wunka

This is a goal I had since the beginning of the permission system.
Here I want finally make an issue out of it and make this the place to discuss how that should look like.

What do I exactly mean with this?
Take for example the spawn command.
What if we wanted everyone to be able to get their spawnpoint but from no one else (and not being able to set it)

through the argparser I think we can achive this.

For example the permissionPath could be:
(whitelist)/command/spawn/playerIndex=null (allow running /spawn where playerIndex is null => the player themself
(blacklist)/command/spawn/playerIndex=null/x => disallows x parameter => you cannot set the spawnpoint (could also do /command/spawn/playerIndex=null/x/y/z but with x is shorter

We could also go by the Args union and get permissionPaths through that:
(whitelist)/command/spawn/@"/spawn <playerIndex>" (how do we set here that the player should only be able to do it for them self?) With <playerIndex=null>? or maybe we append the arguments after that like in my first example? so /command/spawn/@"/spawn <playerIndex>"/playerIndex=null?

(needs to integrate nicely with #3125 to not make different syntaxes, thats also where I took the playerIndex=null idea from)

Metadata

Metadata

Assignees

No one assigned

    Labels

    engineenhancementa new feature or improvementundecideda final decision has not been made whether or how this enhancement should be implemented

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions