This page is to help you get a better idea of SignShop's permissions.
Firstly, you should be using one of the permission plugins Vault supports (Permissions 3, bPermissions, PEX, GroupManager, PermissionsBukkit, zPermission). If you do not use one of these plugins, SignShop will default to OP permissions.
Basic Permission Nodes
There are a few basic SignShop permission nodes. The “*” symbol indicates either the name of a sign or a type of block (depending on the permission node). The permission will then affect that sign or type of block. This also works for custom signs. Here are the basic nodes:
- Signshop.DenyUse.* (Note: Signshop.Signs.* overrides this permission node)
- This permission denies usage of signs.
- Example: You may wish to deny a group's ability to sell to an infinite shop (i.e. an [iSell] sign), in which case you would give them: Signshop.DenyUse.iSell
- Signshop.DenyLink.* (Note: OP overrides this permission node)
- This permission denies the linking of shops to certain in-game blocks (Chest, Sign, Lever, Dispenser, Furnace, Brewingstand, Enchantmenttable, Slab).
- Example: You may wish to deny a group's ability to link their shops to a furnace to prevent automatic smelting, in which case you would give them: Signshop.DenyLink.Furnace
- This permission allows players to create signs.
- Example: You might want to disallow a group from creating signs to modify redstone levers, you can remove that ability by negating them with the following permission nodes (assuming your permission plugin allows negating permissions):
- This permission allows players to click on signs with black dye to copy information onto an already active SignShop.
- Example: If you want to update the price of an item, create a new sign and put the new price on the bottom line, leave the other 3 lines blank, and click with black dye. You can modify the description, the price, and the type of sign this way. Blank lines are ignored. You cannot, however, change a Device sign to a Buy sign, as the operations are incompatible with one another. You can also allow moderators and admins to edit other player's signs with Signshop.CopyPaste.Others
- If the "AllowPermits" setting in the global options is set to true, players must have this node in order for their shops to work.
- Example: You can use SignShop and a permission plugin to sell permits allowing users to be merchants. Without a permit, the shop will be disabled and they will need to buy another in order for their shops to continue functioning.
- This permission allows a player to click on another player with redstone to change the owner of a SignShop.
- Example: If you would like to set up a player account as a bank, or transfer a store to another player, you would punch them with redstone, then punch the sign you would like to modify. If you do not own the sign that is being modified, you will also need the permission Signshop.ChangeOwner.Others to do so.
- This permission bypasses any defined maximum shop settings in the config.
- Example: You can make it so normal players can only create something like 10 signs, while donators can create infinite, by giving them Signshop.IgnoreMax
- This permission bypasses AllowEnchantedRepair setting in the config.
- Example: You can make it so "Blacksmiths" can repair enchanted items with Signshop.IgnoreRepair
- This permission allows players to create administrative signs (such as shops with infinite items for global shops).
- Example: You can use this permission to grant the ability to make signs with the playerIsOp tag (defined in the config). Signshop.Admin.Heal allows a player to create a healing station.
- This permission makes it so players are seen by SignShop as OPs.
- Example: You can use this permission to grant the ability to bypass the blacklist, break other users' shops, use
/signshop reload, etc.
Some Other Notes
If a player has the ability to create a [Buy] sign (by using Signshop.Signs.Buy) and is also denied the ability to use that sign via permissions (which can happen when a group inherits another group's permissions containing Signshop.DenyUse.Buy), they will be able to use the sign anyway. This makes it safe for you to use inheritance. In other words, if a player is allowed to create a sign, they are also allowed to use the sign, regardless of Signshop.DenyUse settings.
In order for a player with Signshop.Signs.Repair to create a [Repair] sign (or any other playerIsOp sign, as defined in the config), they must also have the corresponding admin permission node, in this case Signshop.Admin.Repair. In other words, it is safe to give a group of players Signshop.Signs.* to allow creation of all signs, without worrying about them creating infinite, or otherwise administrative SignShops.