Lib's Disguises - Setting up permissions - Historical

Applied By libraryaddict: May 17, 2020 at 7:03 AM

Lib's Disguises - Setting up permissions
Previous - Using the commands

A cheat sheet which may be a little vague and outdated

This here is a list of all permissions that the plugin uses.
And how to set them up.

If you have problems, such as unexpected behavior when using permissions. Feel free to ask questions here.


Permissions Ordering and Negation(top)


libsdisguises.disguise.pig = All options
libsdisguises.disguise.pig.* = All options
libsdisguises.disguise.pig.setinvisible = Can only access set invisible
libsdisguises.disguise.pig.-setinvisible = Can access all options but setinvisible
libsdisguises.disguise.pig.-setinvisible.-setbaby = Can access all options but setinvisible and setbaby

Hiding Commands From Groups(top)


-libsdisguises.seecmd
and
-libsdisguises.seecmd.*

This will stop the group from using the LibsDisguises command at all.



Disguises(top)


All of the commands have permissions, but this lets you do specific permissions.

Code (Text):
libsdisguises.disguise.*
This lets you use all the disguises.

Code (Text):
libsdisguises.disguise.*.*
This lets you use all the disguises and options.

Code (Text):
libsdisguises.disguise.creeper
This will grant them the permission to use the disguise creeper.

Code (Text):
libsdisguises.disguise.creeper.*
This will grant them the permission to use the disguise creeper and all options.

Code (Text):
libsdisguises.disguise.creeper.setfused
This grants them the permission to use the disguise creeper.
And to set the option setfused only.

Code (Text):
libsdisguises.disguise.creeper.setfused.setinvisible
This allows them to also use the option setinvisible.

You can apply as many options as you like to the permission node.

You can give them groups of disguises where they can only use certain options for each disguise permission.

Such as either being able to set

Code (Text):
libsdisguises.disguise.creeper.setfused
or

Code (Text):
libsdisguises.disguise.creeper.setpowered
as even through they have both permissions. Its not in the same group so they cannot use both options on either disguise.

This also works for the * permission.

Additionally, there are also groups of disguises you can also manage.

Ageable, monster, animal, mob, misc.

Ageable affects mobs with 'setAge', mob affects living creatures (not players) as well as armorstands, while misc affects non-living creatures.

Monster affects the hostile mobs, animal affects the non-hostile.

Negating disguise option values(top)


Sometimes you want to negate certain options for a disguise, like preventing them from using the player Notch as a disguise.

The permission for this is

libsdisguises.options.<command>.<disguise>.<method>.<options>

So for /disguise and we want to allow only "diamond block" on the falling block disguise.

libsdisguises.options.disguise.falling_block.setblock.diamond_block

If we want to prevent using diamond block and allow everything else, then we negate the permission!

Disguise Command(top)


The permission is libsdisguises.disguise.[Disguise Name]

Disguise Entity Command(top)


The permission is libdisguises.disguiseentity.[Disguise Name]

Disguise Help Command(top)


They need permission to use a disguise to pull up information.

Disguise Player Command(top)


The permission is libsdisguises.disguiseplayer.[Disguise Name]

Disguise Radius Command(top)


The permission is libsdisguises.disguiseradius.[Disguise Name]

Undisguise Command(top)


The permission is libsdisguises.undisguise

Undisguise Entity Command(top)


The permission is libsdisguises.disguiseentity

Undisguise Player Command(top)


The permission is libsdisguises.undisguiseplayer

Undisguise Radius Command(top)


The permission is libsdisguises.undisguiseradius

LibsDisguises Command(top)


For /libsdisguises reload,

libsdisguises.reload

and for /libsdisguises permtest

libsdisguises.permtest

and for /libsdisguises.metainfo

libsdisguises.metainfo

and for /libsdisguises config

libsdisguises.config

and for /libsdisguises mods

libsdisguises.mods

and for /libsdisguises.json

libsdisguises.json

and for /libsdisguises count

libsdisguises.count

and for /libsdisguises.update

libsdisguises.update

Disguise ViewSelf Command(top)


The permission is libsdisguises.seecmd.viewself

Copy Disguise Command(top)


The permission is libsdisguises.seecmd.copydisguise

Grab Skin Command(top)


The permission is libsdisguises.seecmd.grabskin

Save Disguise Command(top)


The permission is libsdisguises.seecmd.savedisguise

PvE and PvP(top)


You can disable pvp and pve in the config, if either attacker or attacked has these permissions then pvp/pve will not be disabled.

libsdisguises.pve
libsdisguises.pvp


Name above head(top)


If enabled in the config, disguised players will have a name set above their head identifying who they are if possible.
If they own this permission however, they bypass this restriction.

libsdisguises.hidename

Action Bar(top)


If enabled in the config, all disguised players will have the action bar inform them if they are disguised or not. If given this permission, they will not see the actionbar!

libsdisguises.noactionbar

Multiple Names on a Player Disguise(top)


As of 10.0.9 you can make names that appear on separate lines.
You require a permission to do this.

libsdisguises.multiname

Disguise Permission Groups(top)


By groups, I mean groups of disguise types.
They have an inheritance level, so giving someone a permission in an earlier group will override permissions in an later group.

ageable - Entities that can age, not sure if it includes non-animals
monster/s - Should be obvious
animal - Also obvious
mob - If it's a living disguise, excludes player
misc - If its a non-living disguise
custom - If its a custom disguise
vanilla - If its a non-custom disguise
* - If its a disguise, aka everything.

So giving someone
libsdisguises.disguise.vanilla - Will now give them all the natural mobs
But I don't want them to disguise as monsters
So I negate this permission
libsdisguises.disguise.monster
Ok cool. But I don't want them to disguise as armorstand either!
So I also negate
libsdisguises.disguise.armorstand

Previous - Using the commands