I don’t have time to look through the API or SpongeForge code so I’m asking here
How do/will permissions for mod commands work on a sponge server? Are they the same as when we used MCPC+/Cauldron and be the package name with the class name suffixed? Or will we have a different format? Will this even be something sponge does or part of a permission plugin?
The reason I’m asking is that a server owner asked if Pixelmon permissions for 1.8 were the same and I couldn’t give an accurate answer. Along with that I’m not sure if this is in the right place, I’m mostly forum lurker so that I can gather as much useful information as possible and use it to help others elsewhere
This might help you.
Sponge’s permission handling provides an implicit inheritance. As the java-docs of the Subject state:
Inheritance is implicit; that is, if a subject has been granted example, then the subject should have also be automatically granted example.function, example.another, example.deeper.nesting, and so on. However, implementations may allow administrators to configure “negation” such that example and all child levels would granted but example.access would denied (for example).
I am unsure how to…
This also covered permissions:
opened 03:21PM - 08 Mar 15 UTC
closed 02:32AM - 10 Mar 15 UTC
I am suggesting 2 changes for the permission system:
**1. Allow explicit permis… sion inheritance**
Use case: A plugin has 100+ permissions. Some of them are typically for admins, some for moderators, some for trusted and some for new players. The plugin dev wants to add some "super permissions" for these user types. Server admins can then decide if they want full control or use the predefined perm sets.
**2. Use `node.*` notation for implicit inheritance**
This gives plugin devs a lot more flexibility how to define their permissions. It makes implicit inheritance optional, which is better than forcing it.
More about this issue:
https://forums.spongepowered.org/t/permission-inheritance-and-command-flags/6255
Look a bit further down.
After a quick read I didn’t see anything about mod permissions, that’s just a discussion about how permissions currently work
EDIT: I’m an idiot.
Perms work by soft-depending on sponge. Then you can check for permissions.
* <p>If false, this subject will have only one store of SubjectData, which * will not be persisted between sessions.</p> * * @return If this Subject has persistent, non-transient data. */ boolean isSubjectDataPersisted(); /** * Returns the primary data backing for this Subject. * * <p>If this Subject is not persisted, this data will not be saved * between sessions.</p> * * <p>For subjects which are not persisted, the same store will be returned * by {@link #getTransientSubjectData()}.</p> * * @return The primary data backing for this Subject */ SubjectData getSubjectData(); /**