2022-01-09 12:12:55 +01:00
|
|
|
# Permission Signs
|
|
|
|
|
|
|
|
This is a plugin based on the permission signs plugin created by _ForgeUser7294733. As the previous plugin does not
|
2022-01-17 13:55:01 +01:00
|
|
|
offer source code and has a restrictive license, this plugin is written from scratch, but trying to somewhat imitate the
|
|
|
|
original plugin's behavior. It's not possible to load previous permission signs as they are stored without any
|
|
|
|
coordinates.
|
|
|
|
|
|
|
|
Basically permission signs is a plugin that allows for the sale of permissions using signs as the interface. A sign is
|
|
|
|
created with a displayed name, a set of permissions, a time limit (can be infinite) and a cost (can be zero). If a
|
|
|
|
player uses the sign to buy the permission, they will be granted the permission for the defined duration. Vault is used
|
|
|
|
to set permissions. Permanent permissions are set normally through Vault, but permissions with a duration set as not "0"
|
|
|
|
are treated as transient permissions to avoid any problems, such as the player having been granted the permission
|
|
|
|
permanently by another cause, when they expire.
|
|
|
|
|
|
|
|
## Commands
|
|
|
|
|
2022-01-22 15:03:57 +01:00
|
|
|
- /ps about - Displays information about the plugin
|
|
|
|
- /ps create <name> <permission,permission> <cost> <duration> - Creates a new permission sign. The name is used to
|
2022-01-17 13:55:01 +01:00
|
|
|
describe what the permission sign does. The permission,permission is the list of comma-separated permissions the
|
|
|
|
permission sign will grant to the using player. The cost is the cost to use the permission sign. The duration is the
|
|
|
|
number of seconds the player should keep the permission for. Use 0 for permanent.
|
2022-01-22 15:03:57 +01:00
|
|
|
- /ps cancel - Used to manually cancel the creation of a permission sign (it will also time out after 60 seconds)
|
|
|
|
- /ps reload - Used to reload all data and config settings from disk
|
2022-01-17 13:55:01 +01:00
|
|
|
|
|
|
|
## Permissions
|
|
|
|
|
2022-01-22 15:03:57 +01:00
|
|
|
- permissionsigns.* - Grants all PermissionSigns permissions
|
|
|
|
- permissionsigns.use - Allows players to use the permission signs
|
|
|
|
- permissionsigns.admin - Allows all administrative tasks such as creating permission signs and reloading
|
|
|
|
- permissionsigns.admin.reload - Allows the usage of the /reload command
|
|
|
|
- permissionsigns.admin.create - Allows players to create/destroy permissionsigns
|
|
|
|
|
|
|
|
## Configuration options
|
|
|
|
|
|
|
|
- language - The language used for the plugin (en, nb-no)
|
|
|
|
- perWorldPermissions - Sets permissions for the current world instead of setting them globally
|
2022-01-22 17:10:11 +01:00
|
|
|
- enableIndirectSignProtection - Protects permission signs against indirect sources such as pistons and explosions. Only
|
|
|
|
disable this if your permission signs are protected by another plugin.
|
2022-01-22 15:03:57 +01:00
|
|
|
- enableExtensiveSignProtection - Whether to protect signs on "unstable" blocks such as sand or anvils. Does not protect
|
|
|
|
signs on "lag pyramids" or similar, but protects signs on top of, or attached to a pillar of sand.
|
|
|
|
|
|
|
|
## Language customization
|
|
|
|
|
|
|
|
All strings, even time units, are customizable. If you place a strings.yml file in the plugin folder, it will take
|
|
|
|
priority over built-in languages. If you want to change strings, look at PermissionSigns/src/main/resources/strings.yml
|
|
|
|
for the proper keys. All strings have the format: ENUM: "Displayed string". The enum must be identical as it defines
|
|
|
|
which string you have changed. All strings belonging to a language are beneath the language code and indented with two
|
|
|
|
spaces.
|
|
|
|
|
|
|
|
The easiest way to add a new language is to copy an existing language and paste it into your custom strings.yml and
|
|
|
|
change strings as necessary. If you don't include all strings, the remaining will use the built-in English translation.
|
|
|
|
Remember to change the language code to whichever you use for your custom language.
|