cuberite / Core

Plugin for Cuberite that implements default commands and some additional functionality
Other
64 stars 41 forks source link

No permission node for spectator mode #187

Open HelenaKitty opened 7 years ago

HelenaKitty commented 7 years ago

I highly believe that there should be a permission node for spectator mode, I have had situations where I am comfortable with giving someone access to /gamemode, but not spectator mode as they can go through walls, floors, anything!

The permission node should be core.changegm.spectator, however to be more tradition, you should change the core.changegm permission node to core.gamemode as it is more understandable.

sphinxc0re commented 7 years ago

So you believe, the core.changegm node should be more fine-grained?

HelenaKitty commented 7 years ago

Only to the extent that spectator mode uses a seperate permission node.

madmaxoft commented 7 years ago

So how would you like the permissions to work? What permission nodes should there be, and what would their combination mean for the command? Ideally write out an entire table having all possible combinations of all the permissions involved, and the effects on the command.

HelenaKitty commented 7 years ago

In order to keep to tradition with how Vanilla and Bukkit works...

  1. core.gamemode = Allows player to change gamemode to either survival, adventure and creative
  2. core.gamemode.spectator = Allows player access to spectator mode

If core.gamemode.spectator is specified to a player, but core.gamemode isn't then they are only allowed to change to spectator mode.

If core.gamemode is specified to a player, but core.gamemode.spectator isn't then they are allow to change to survival, adventure, or creative mode but not spectator mode.

And so on...

mohe2015 commented 7 years ago

I think there should also be core.gamemode.creative, core.gamemode.survival and core.gamemode.adventure.

HelenaKitty commented 7 years ago

What @mohe2015 suggested could come in useful too, for those who want to be even more explicit on which modes a player is allowed to use.

Plus, if you assign permission node core.gamemode.* to a player, then they have access to all modes, this is not traditional, however it is an advancement over what Bukkit and Vanilla have to offer in regards to gamemode permission nodes.

madmaxoft commented 7 years ago

The only problem with this is that there's now no single permission that would grant the /gm command. This means that the command will be visible (in /help) and available to all players, but only those with the proper permissions will be able to change their gamemode.

HelenaKitty commented 7 years ago

Is there a workaround, or is this something for later?

williamhatcher commented 7 years ago

Why do we want more fine grained permissions anyway? I understand the appeal, but in what case would a player need to manually change their game mode to spectator? In a minigame, a plugin or command block can do it for players without any permissions needed.