# LuckPerms Language File # Locale: en_US (English) # Author: Luck prefix: "&7&l[&b&lL&3&lP&7&l] " empty: "&c{0}" player-online: "&aOnline" player-offline: "&cOffline" loading-error: "&cPermissions data could not be loaded. Please try again later." op-disabled: "&bThe vanilla OP system is disabled on this server." op-disabled-sponge: "&2Please note that Server Operator status has no effect on Sponge permission checks when a permission plugin is installed. Please edit user data directly." log-info: "&7&l[&bL&3P&7&l] &3{0}" log-warn: "&7&l[&bLuck&3Perms&7&l] &c[WARN] {0}" log-error: "&7&l[&bLuck&3Perms&7&l] &4[ERROR] {0}" log: "&3LOG &3&l> {0}" verbose-log: "&3VB &3&l> {0}" export-log: "&3EXPORT &3&l> &f{0}" export-log-progress: "&3EXPORT &3&l> &7{0}" migration-log: "&3MIGRATION &7[&3{0}&7] &3&l> &f{1}" migration-log-progress: "&3MIGRATION &7[&3{0}&7] &3&l> &7{1}" command-not-recognised: "&cCommand not recognised." command-no-permission: "&cYou do not have permission to use this command!" user-not-found: "&cA user for &4{0}&c could not be found." user-not-online: "&aUser &b{0}&a is not online." user-save-error: "&cThere was an error whilst saving user data for &4{0}&c." group-not-found: "&cA group named &4{0}&c could not be found." group-save-error: "&cThere was an error whilst saving group data for &4{0}&c." track-not-found: "&cA track named &4{0}&c could not be found." track-save-error: "&cThere was an error whilst saving track data for &4{0}&c." user-invalid-entry: "&4{0}&c is not a valid username/uuid." group-invalid-entry: "&4{0}&c is not a valid group name." track-invalid-entry: "&4{0}&c is not a valid track name." server-world-invalid-entry: "&cServer/world names can only contain alphanumeric characters and cannot exceed 36 characters in length." verbose-invalid-filter: "&4{0}&c is not a valid verbose filter." verbose-on: "&bVerbose logging &aenabled &bfor checks matching &aANY&b." verbose-on-query: "&bVerbose logging &aenabled &bfor checks matching &a{0}&b." verbose-off: "&bVerbose logging &cdisabled&b." verbose-recording-on: "&bVerbose recording &aenabled &bfor checks matching &aANY&b." verbose-recording-on-query: "&bVerbose recording &aenabled &bfor checks matching &a{0}&b." verbose-upload-start: "&bVerbose logging &cdisabled&b. Uploading results..." verbose-results-url: "&aVerbose results URL:" tree-upload-start: "&bGenerating permission tree..." tree-empty: "&cUnable to generate tree. No results were found." tree-url: "&aPermission tree URL:" search-searching: "&aSearching for users and groups with &b{0}&a..." search-searching-members: "&aSearching for users and groups who inherit from &b{0}&a..." search-result: "&aFound &b{0}&a entries from &b{1}&a users and &b{2}&a groups." search-showing-users: "&bShowing user entries: &7(showing page &f{0}&7 of &f{1}&7 - &f{2}&7 entries)" search-showing-groups: "&bShowing group entries: &7(showing page &f{0}&7 of &f{1}&7 - &f{2}&7 entries)" apply-edits-invalid-code: "&cInvalid code. &7({0})" apply-edits-unable-to-read: "&cUnable to read data using the given code. &7({0})" apply-edits-no-target: "&cUnable to parse the target of the edit. Please supply it as an extra argument." apply-edits-target-group-not-exists: "&cTarget group &4{0}&c does not exist." apply-edits-target-user-not-uuid: "&cTarget user &4{0}&c is not a valid uuid." apply-edits-target-user-unable-to-load: "&cUnable to load target user &4{0}&c." apply-edits-target-unknown: "&cInvalid target. &7({0})" apply-edits-success: "&aWeb editor data was applied to &b{0}&a successfully." apply-edits-success-summary: "&7(&a{0} &7{1} and &c{2} &7{3})" apply-edits-diff-added: "&a+ &f{0}" apply-edits-diff-removed: "&c- &f{0}" editor-start: "&7Preparing a new editor sesssion. Please wait..." editor-upload-failure: "&cUnable to upload permission data to the editor." editor-url: "&aClick the link below to open the editor:" check-result: "&aPermission check result on user &b{0}&a for permission &b{1}&a: &f{2}" create-success: "&b{0}&a was successfully created." delete-success: "&b{0}&a was successfully deleted." rename-success: "&b{0}&a was successfully renamed to &b{1}&a." clone-success: "&b{0}&a was successfully cloned onto &b{1}&a." already-inherits: "&b{0}&a already inherits from &b{1}&a in context {2}&a." does-not-inherit: "&b{0}&a does not inherit from &b{1}&a in context {2}&a." already-temp-inherits: "&b{0}&a already temporarily inherits from &b{1}&a in context {2}&a." does-not-temp-inherit: "&b{0}&a does not temporarily inherit from &b{1}&a in context {2}&a." track-already-contains: "&b{0}&a already contains &b{1}&a." track-does-not-contain: "&b{0}&a doesn't contain &b{1}&a." track-ambiguous-call: "&4{0}&c is a member of multiple groups on this track. Unable to determine their location." already-exists: "&4{0}&c already exists!" does-not-exist: "&4{0}&c does not exist!" user-load-error: "&cAn unexpected error occurred. User not loaded." group-load-error: "&cAn unexpected error occurred. Group not loaded." groups-load-error: "&cAn unexpected error occurred. Unable to load all groups." track-load-error: "&cAn unexpected error occurred. Track not loaded." tracks-load-error: "&cAn unexpected error occurred. Unable to load all tracks." track-empty: "&4{0}&c cannot be used as it is empty or contains only one group." update-task-request: "&bAn update task has been requested. Please wait..." update-task-complete: "&aUpdate task complete." update-task-complete-network: "&aUpdate task complete. Now attempting to push to other servers." update-task-push-success: "&aOther servers were notified via &b{0} Messaging &asuccessfully." update-task-push-failure: "&cError whilst pushing changes to other servers." update-task-push-failure-not-setup: "&cError whilst pushing changes to other servers. &7(a messaging service has not been configured)" reload-config-success: "&aThe configuration file was reloaded. &7(some options will only apply after the server has restarted)" info-top: > {PREFIX}&2Running &bLuckPerms v{0}&2 by &bLuck&2.\n {PREFIX}&f- &3Platform: &f{1}\n {PREFIX}&f- &3Server Brand: &f{2}\n {PREFIX}&f- &3Server Version: &f{3} info-middle: > {PREFIX}&f- &bMessaging Type: &f{0}\n {PREFIX}&f- &bInstance:\n {PREFIX}&f- &3Server Name: &f{1}\n {PREFIX}&f- &3Online Players: &a{2}\n {PREFIX}&f- &3Unique Connections: &a{3}\n {PREFIX}&f- &3Uptime: &7{4}\n {PREFIX}&f- &3Local Data: &a{5} &7users, &a{6} &7groups, &a{7} &7tracks\n {PREFIX}&f- &3Context Calculators: &a{8}\n {PREFIX}&f- &3Known permissions: &a{9}\n {PREFIX}&f- &3Active processors: &7{10} create-error: "&cThere was an error whilst creating &4{0}&c." delete-error: "&cThere was an error whilst deleting &4{0}&c." delete-group-error-default: "&cYou cannot delete the default group." groups-list: "&aGroups: &7(name, weight, tracks)" groups-list-entry: "&f- &3{0} &7- &b{1}" groups-list-entry-with-tracks: "&f- &3{0} &7- &b{1} &7- [&3{2}&7]" tracks-list: "&aTracks: {0}" permission-info: "&b{0}'s Permissions: &7(showing page &f{1}&7 of &f{2}&7 - &f{3}&7 entries)" permission-info-no-data: "&b{0}&a does not have any permissions set." parent-info: "&b{0}'s Parents: &7(showing page &f{1}&7 of &f{2}&7 - &f{3}&7 entries)" parent-info-no-data: "&b{0}&a does not have any parents defined." list-tracks: "&b{0}'s Tracks:" list-tracks-entry: "&a{0}: {1}" list-tracks-empty: "&b{0}&a is not on any tracks." context-pair-inline: "&3{0}=&b{1}" context-pair--global-inline: "&eglobal" context-pair-sep: "&a, " context-pair: "&8(&7{0}=&f{1}&8)" check-permission: "&b{0}&a has permission &b{1}&a set to {2}&a in context {3}&a." check-inherits-permission: "&b{0}&a has permission &b{1}&a set to {2}&a in context {3}&a. &7(inherited from &a{4}&7)" setpermission-success: "&aSet &b{0}&a to &b{1}&a for &b{2}&a in context {3}&a." already-haspermission: "&b{0}&a already has &b{1}&a set in context {2}&a." setpermission-temp-success: "&aSet &b{0}&a to &b{1}&a for &b{2}&a for a duration of &b{3}&a in context {4}&a." already-has-temp-permission: "&b{0}&a already has &b{1}&a set temporarily in context {2}&a." unsetpermission-success: "&aUnset &b{0}&a for &b{1}&a in context {2}&a." does-not-have-permission: "&b{0}&a does not have &b{1}&a set in context {2}&a." unset-temp-permission-success: "&aUnset temporary permission &b{0}&a for &b{1}&a in context {2}&a." does-not-have-temp-permission: "&b{0}&a does not have &b{1}&a set temporarily in context {2}&a." set-inherit-success: "&b{0}&a now inherits permissions from &b{1}&a in context {2}&a." set-temp-inherit-success: "&b{0}&a now inherits permissions from &b{1}&a for a duration of &b{2}&a in context {3}&a." set-parent-success: "&b{0}&a had their existing parent groups cleared, and now only inherits &b{1}&a in context {2}&a." set-track-parent-success: "&b{0}&a had their existing parent groups on track &b{1}&a cleared, and now only inherits &b{2}&a in context {3}&a." unset-inherit-success: "&b{0}&a no longer inherits permissions from &b{1}&a in context {2}&a." unset-temp-inherit-success: "&b{0}&a no longer temporarily inherits permissions from &b{1}&a in context {2}&a." clear-success: "&b{0}&a's permissions were cleared in context {1}&a. (&b{2}&a nodes were removed.)" clear-success-singular: "&b{0}&a's permissions were cleared in context {1}&a. (&b{2}&a node was removed.)" parent-clear-success: "&b{0}&a's parents were cleared in context {1}&a. (&b{2}&a nodes were removed.)" parent-clear-success-singular: "&b{0}&a's parents were cleared in context {1}&a. (&b{2}&a node was removed.)" parent-clear-track-success: "&b{0}&a's parents on track &b{1}&a were cleared in context {2}&a. (&b{3}&a nodes were removed.)" parent-clear-track-success-singular: "&b{0}&a's parents on track &b{1}&a were cleared in context {2}&a. (&b{3}&a node was removed.)" meta-clear-success: "&b{0}&a's meta matching type &b{1}&a was cleared in context {2}&a. (&b{3}&a nodes were removed.)" meta-clear-success-singular: "&b{0}&a's meta matching type &b{1}&a was cleared in context {2}&a. (&b{3}&a node was removed.)" illegal-date-error: "&cCould not parse date &4{0}&c." past-date-error: "&cYou cannot set a date in the past!" chat-meta-prefix-header: "&b{0}'s Prefixes" chat-meta-suffix-header: "&b{0}'s Suffixes" meta-header: "&b{0}'s Meta" chat-meta-entry: "&b-> {0} &f- &f'{1}&f' &8(&7inherited from &a{2}&8)" chat-meta-entry-with-context: "&b-> {0} &f- &f'{1}&f' &8(&7inherited from &a{2}&8){3}" meta-entry: "&b-> &a{0} &f= &f'{1}&f' &8(&7inherited from &a{2}&8)" meta-entry-with-context: "&b-> &a{0} &f= &f'{1}&f' &8(&7inherited from &a{2}&8){3}" chat-meta-prefix-none: "&b{0} has no prefixes." chat-meta-suffix-none: "&b{0} has no suffixes." meta-none: "&b{0} has no meta." meta-invalid-priority: "&cInvalid priority &4{0}&c. Expected a number." already-has-chat-meta: "&b{0}&a already has {1} &f'{2}&f'&a set at a priority of &b{3}&a in context {4}&a." already-has-temp-chat-meta: "&b{0}&a already has {1} &f'{2}&f'&a set temporarily at a priority of &b{3}&a in context {4}&a." does-not-have-chat-meta: "&b{0}&a doesn't have {1} &f'{2}&f'&a set at a priority of &b{3}&a in context {4}&a." does-not-have-temp-chat-meta: "&b{0}&a doesn't have {1} &f'{2}&f'&a set temporarily at a priority of &b{3}&a in context {4}&a." add-chatmeta-success: "&b{0}&a had {1} &f'{2}&f'&a set at a priority of &b{3}&a in context {4}&a." add-temp-chatmeta-success: "&b{0}&a had {1} &f'{2}&f'&a set at a priority of &b{3}&a for a duration of &b{4}&a in context {5}&a." remove-chatmeta-success: "&b{0}&a had {1} &f'{2}&f'&a at priority &b{3}&a removed in context {4}&a." bulk-remove-chatmeta-success: "&b{0}&a had all {1}es at priority &b{2}&a removed in context {3}&a." remove-temp-chatmeta-success: "&b{0}&a had temporary {1} &f'{2}&f'&a at priority &b{3}&a removed in context {4}&a." bulk-remove-temp-chatmeta-success: "&b{0}&a had all temporary {1}es at priority &b{2}&a removed in context {3}&a." already-has-meta: "&b{0}&a already has meta key &f'{1}&f'&a set to &f'{2}&f'&a in context {3}&a." already-has-temp-meta: "&b{0}&a already has meta key &f'{1}&f'&a temporarily set to &f'{2}&f'&a in context {3}&a." doesnt-have-meta: "&b{0}&a doesn't have meta key &f'{1}&f'&a set in context {2}&a." doesnt-have-temp-meta: "&b{0}&a doesn't have meta key &f'{1}&f'&a set temporarily in context {2}&a." set-meta-success: "&aSet meta key &f'{0}&f'&a to &f'{1}&f'&a for &b{2}&a in context {3}&a." set-meta-temp-success: "&aSet meta key &f'{0}&f'&a to &f'{1}&f'&a for &b{2}&a for a duration of &b{3}&a in context {4}&a." unset-meta-success: "&aUnset meta key &f'{0}&f'&a for &b{1}&a in context {2}&a." unset-meta-temp-success: "&aUnset temporary meta key &f'{0}&f'&a for &b{1}&a in context {2}&a." bulk-update-invalid-data-type: "&cInvalid type. Was expecting 'all', 'users' or 'groups'." bulk-update-invalid-constraint: "&cInvalid constraint &4{0}&c. Constraints should be in the format '&f &c'." bulk-update-invalid-comparison: "&cInvalid comparison operator '&4{0}&c'. Expected one of the following: &f== != ~~ ~!" bulk-update-queued: "&aBulk update operation was queued. &7(&f{0}&7)" bulk-update-confirm: "&aRun &b/{0} bulkupdate confirm {1} &ato execute the update." bulk-update-unknown-id: "&aOperation with id &b{0}&a does not exist or has expired." bulk-update-starting: "&aRunning bulk update." bulk-update-success: "&bBulk update completed successfully." bulk-update-failure: "&cBulk update failed. Check the console for errors." user-info-general: > {PREFIX}&b&l> &bUser Info: &f{0}\n {PREFIX}&f- &3UUID: &f{1}\n {PREFIX}&f- &3Status: {2}\n {PREFIX}&f- &3Primary Group: &f{3}\n {PREFIX}&f- &aCounts:\n {PREFIX}&f- &3Nodes: &a{4}\n {PREFIX}&f- &3Permissions: &a{5}\n {PREFIX}&f- &3Prefixes: &a{6}\n {PREFIX}&f- &3Suffixes: &a{7}\n {PREFIX}&f- &3Meta: &a{8} user-info-data: > {PREFIX}&f- &aCached Data:\n {PREFIX}&f- &3Has contextual data: {0}\n {PREFIX}&f- &3Current Contexts: {1}\n {PREFIX}&f- &3Current Prefix: {2}\n {PREFIX}&f- &3Current Suffix: {3} info-parent-header: "&f- &aParent Groups:" info-temp-parent-header: "&f- &aTemporary Parent Groups:" user-removegroup-error-primary: "&aYou cannot remove a user from their primary group." user-primarygroup-success: "&b{0}&a's primary group was set to &b{1}&a." user-primarygroup-warn-option: "&aWarning: The primary group calculation method being used by this server &7({0}) &amay not reflect this change." user-primarygroup-error-alreadyhas: "&b{0}&a already has &b{1}&a set as their primary group." user-primarygroup-error-notmember: "&b{0}&a was not already a member of &b{1}&a, adding them now." user-track-error-not-contain-group: "&b{0}&a isn't already in any groups on &b{1}&a." user-track-added-to-first: "&b{0}&a isn't in any groups on this track, so they were added to the first group, &b{1}&a in context {2}&a." user-promote-success: "&aPromoting &b{0}&a along track &b{1}&a from &b{2}&a to &b{3}&a in context {4}&a." user-promote-error-endoftrack: "&aThe end of track &b{0}&a was reached. Unable to promote &b{1}&a." user-promote-error-malformed: > {PREFIX}&aThe next group on the track, &b{0}&a, no longer exists. Unable to promote user.\n {PREFIX}&aEither create the group, or remove it from the track and try again. user-demote-success: "&aDemoting &b{0}&a along track &b{1}&a from &b{2}&a to &b{3}&a in context {4}&a." user-demote-endoftrack: "&aThe end of track &b{0}&a was reached, so &b{1}&a was removed from &b{2}&a." user-demote-error-malformed: > {PREFIX}&aThe previous group on the track, &b{0}&a, no longer exists. Unable to demote user.\n {PREFIX}&aEither create the group, or remove it from the track and try again. group-info-general: > {PREFIX}&b&l> &bGroup Info: &f{0}\n {PREFIX}&f- &3Display Name: &f{1}\n {PREFIX}&f- &3Weight: &f{2}\n {PREFIX}&f- &aCounts:\n {PREFIX}&f- &3Nodes: &a{3}\n {PREFIX}&f- &3Permissions: &a{4}\n {PREFIX}&f- &3Prefixes: &a{5}\n {PREFIX}&f- &3Suffixes: &a{6}\n {PREFIX}&f- &3Meta: &a{7} group-set-weight: "&aSet weight to &b{0}&a for group &b{1}&a." group-set-display-name-doesnt-have: "&b{0}&a doesn't have a display name set." group-set-display-name-already-has: "&b{0}&a already has a display name of &b{1}&a." group-set-display-name-already-in-use: "&aThe display name &b{0}&a is already being used by &b{1}&a." group-set-display-name: "&aSet display name to &b{0}&a for group &b{1}&a." group-set-display-name-removed: "&aRemoved display name for group &b{0}&a." track-info: > {PREFIX}&b&l> &bShowing Track: &f{0}\n {PREFIX}&f- &7Path: &f{1} track-clear: "&b{0}&a's groups track was cleared." track-append-success: "&aGroup &b{0}&a was appended to track &b{1}&a." track-insert-success: "&aGroup &b{0}&a was inserted into track &b{1}&a at position &b{2}&a." track-insert-error-number: "&cExpected number but instead received: {0}" track-insert-error-invalid-pos: "&cUnable to insert at position &4{0}&c. &7(invalid position)" track-remove-success: "&aGroup &b{0}&a was removed from track &b{1}&a." log-load-error: "&cThe log could not be loaded." log-invalid-page: "&cInvalid page number." log-invalid-page-range: "&cInvalid page number. Please enter a value between &41&c and &4{0}&c." log-no-entries: "&bNo log entries to show." log-entry: "&b#{0} -> &8(&7{1} ago&8) {2}" log-notify-console: "&cCannot toggle notifications for console." log-notify-toggle-on: "&aEnabled&b logging output." log-notify-toggle-off: "&cDisabled&b logging output." log-notify-already-on: "&cYou are already receiving notifications." log-notify-already-off: "&cYou aren't currently receiving notifications." log-notify-unknown: "&cState unknown. Expecting \"on\" or \"off\"." log-search-header: "&aShowing recent actions for query &b{0} &a(page &f{1}&a of &f{2}&a)" log-recent-header: "&aShowing recent actions (page &f{0}&a of &f{1}&a)" log-recent-by-header: "&aShowing recent actions by &b{0} &a(page &f{1}&a of &f{2}&a)" log-history-user-header: "&aShowing history for user &b{0} &a(page &f{1}&a of &f{2}&a)" log-history-group-header: "&aShowing history for group &b{0} &a(page &f{1}&a of &f{2}&a)" log-history-track-header: "&aShowing history for track &b{0} &a(page &f{1}&a of &f{2}&a)" log-export-already-exists: "&cError: File &4{0}&c already exists." log-export-not-writable: "&cError: File &4{0}&c is not writable." log-export-empty: "&cThe log is empty and therefore cannot be exported." log-export-failure: "&cAn unexpected error occured whilst writing to the file." log-export-success: "&aSuccessfully exported the log to &b{0}&a." import-already-running: "&cAnother import process is already running. Please wait for it to finish and try again." export-already-running: "&cAnother export process is already running. Please wait for it to finish and try again." import-log-doesnt-exist: "&cError: File &4{0}&c does not exist." import-log-not-readable: "&cError: File &4{0}&c is not readable." import-log-failure: "&cAn unexpected error occured whilst reading from the log file." import-progress: "&b(Import) &b-> &f{0}&f% complete &7- &b{1}&f/&b{2} &foperations complete with &c{3} &ferrors." import-progress-sin: "&b(Import) &b-> &f{0}&f% complete &7- &b{1}&f/&b{2} &foperations complete with &c{3} &ferror." import-start: "&b(Import) &b-> &fStarting import process." import-end-complete: "&b(Import) &a&lCOMPLETED &7- took &b{0} &7seconds - &7No errors." import-end-complete-err: "&b(Import) &a&lCOMPLETED &7- took &b{0} &7seconds - &c{1} errors." import-end-complete-err-sin: "&b(Import) &a&lCOMPLETED &7- took &b{0} &7seconds - &c{1} error." import-end-error-header: > {PREFIX}&b(Import) &7------------> &fShowing Error #&b{0} &7<------------\n {PREFIX}&b(Import) &fWhilst executing: &3Command #{1}\n {PREFIX}&b(Import) &fCommand: &7{2}\n {PREFIX}&b(Import) &fType: &3{3}\n {PREFIX}&b(Import) &fOutput: import-end-error-content: "&b(Import) &b-> &c{0}" import-end-error-footer: "&b(Import) &7<------------------------------------------>" command-specs: user: description: "User commands" usage: "/%s user " group: description: "Group commands" usage: "/%s group " track: description: "Track commands" usage: "/%s track " log: description: "Log commands" usage: "/%s log" sync: description: "Sync changes with the storage" usage: "/%s sync" info: description: "Print general plugin info" usage: "/%s info" verbose: description: "Manage verbose permission checking" usage: "/%s verbose [filter]" args: "on|record|off|paste": "whether to enable/disable logging, or to paste the logged output" "filter": "the filter to match entries against" "--slim": "add \"--slim\" to exclude trace data from the pasted output" tree: description: "Generate a tree view of permissions" usage: "/%s tree [selection] [max level] [player]" args: "selection": "the root of the tree. specify \".\" to include all permissions" "max level": "how many branch levels should be returned" "player": "the name of an online player to check against" search: description: "Search for users/groups with a specific permission" usage: "/%s search " args: "permission": "the permission to search for" "page": "the page to view" check: description: "Perform a standard permission check on an online player" usage: "/%s check " args: "user": "the user to check" "permission": "the permission to check for" network-sync: description: "Sync changes with the storage and request that all other servers on the network do the same" usage: "/%s networksync" import: description: "Import data from a file" usage: "/%s import " args: "file": "the file to import from" export: description: "Export data to a file" usage: "/%s export " args: "file": "the file to export to" reload-config: description: "Reload some of the config options" usage: "/%s reloadconfig" bulk-update: description: "Execute bulk change queries on all data" usage: "/%s bulkupdate" args: "data type": "the type of data being changed. ('all', 'users' or 'groups')" "action": "the action to perform on the data. ('update' or 'delete')" "action field": "the field to act upon. only required for 'update'. ('permission', 'server' or 'world')" "action value": "the value to replace with. only required for 'update'." "constraint...": "the constraints required for the update" migration: description: "Migration commands" usage: "/%s migration" apply-edits: description: "Applies permission changes made from the web editor" usage: "/%s applyedits [target]" args: "code": "the unique code for the data" "target": "who to apply the data to" create-group: description: "Create a new group" usage: "/%s creategroup " args: "name": "the name of the group" delete-group: description: "Delete a group" usage: "/%s deletegroup " args: "name": "the name of the group" list-groups: description: "List all groups on the platform" usage: "/%s listgroups" create-track: description: "Create a new track" usage: "/%s createtrack " args: "name": "the name of the track" delete-track: description: "Delete a track" usage: "/%s deletetrack " args: "name": "the name of the track" list-tracks: description: "List all tracks on the platform" usage: "/%s listtracks" user-info: description: "Shows info about the user" user-switchprimarygroup: description: "Switches the user's primary group" args: "group": "the group to switch to" user-promote: description: "Promotes the user up a track" args: "track": "the track to promote the user up" "context...": "the contexts to promote the user in" user-demote: description: "Demotes the user down a track" args: "track": "the track to demote the user down" "context...": "the contexts to demote the user in" user-clone: description: "Clone the user" args: "user": "the name/uuid of the user to clone onto" group-info: description: "Gives info about the group" group-listmembers: description: "Show the users/groups who inherit from this group" args: "page": "the page to view" group-setweight: description: "Set the groups weight" args: "weight": "the weight to set" group-set-display-name: description: "Set the groups display name" args: "name": "the name to set" group-rename: description: "Rename the group" args: "name": "the new name" group-clone: description: "Clone the group" args: "name": "the name of the group to clone onto" holder-editor: description: "Opens the web permission editor" holder-showtracks: description: "Lists the tracks that the object is on" holder-clear: description: "Removes all permissions, parents and meta" args: "context...": "the contexts to filter by" permission: description: "Edit permissions" parent: description: "Edit inheritances" meta: description: "Edit metadata values" permission-info: description: "Lists the permission nodes the object has" args: "page": "the page to view" "sort mode": "how to sort the entries" permission-set: description: "Sets a permission for the object" args: "node": "the permission node to set" "true|false": "the value of the node" "context...": "the contexts to add the permission in" permission-unset: description: "Unsets a permission for the object" args: "node": "the permission node to unset" "context...": "the contexts to remove the permission in" permission-settemp: description: "Sets a permission for the object temporarily" args: "node": "the permission node to set" "true|false": "the value of the node" "duration": "the duration until the permission node expires" "context...": "the contexts to add the permission in" permission-unsettemp: description: "Unsets a temporary permission for the object" args: "node": "the permission node to unset" "context...": "the contexts to remove the permission in" permission-check: description: "Checks to see if the object has a certain permission node" args: "node": "the permission node to check for" "context...": "the contexts to check in" permission-check-inherits: description: "Checks to see if the object inherits a certain permission node" args: "node": "the permission node to check for" "context...": "the contexts to check in" parent-info: description: "Lists the groups that this object inherits from" args: "page": "the page to view" "sort mode": "how to sort the entries" parent-set: description: "Removes all other groups the object inherits already and adds them to the one given" args: "group": "the group to set to" "context...": "the contexts to set the group in" parent-add: description: "Sets another group for the object to inherit permissions from" args: "group": "the group to inherit from" "context...": "the contexts to inherit the group in" parent-remove: description: "Removes a previously set inheritance rule" args: "group": "the group to remove" "context...": "the contexts to remove the group in" parent-set-track: description: "Removes all other groups the object inherits from already on the given track and adds them to the one given" args: "track": "the track to set on" "group": "the group to set to, or a number relating to the position of the group on the given track" "context...": "the contexts to set the group in" parent-add-temp: description: "Sets another group for the object to inherit permissions from temporarily" args: "group": "the group to inherit from" "duration": "the duration of the group membership" "context...": "the contexts to inherit the group in" parent-remove-temp: description: "Removes a previously set temporary inheritance rule" args: "group": "the group to remove" "context...": "the contexts to remove the group in" parent-clear: description: "Clears all parents" args: "context...": "the contexts to filter by" parent-clear-track: description: "Clears all parents on a given track" args: "track": "the track to remove on" "context...": "the contexts to filter by" meta-info: description: "Shows all chat meta" meta-set: description: "Sets a meta value" args: "key": "the key to set" "value": "the value to set" "context...": "the contexts to add the meta pair in" meta-unset: description: "Unsets a meta value" args: "key": "the key to unset" "context...": "the contexts to remove the meta pair in" meta-settemp: description: "Sets a meta value temporarily" args: "key": "the key to set" "value": "the value to set" "duration": "the duration until the meta value expires" "context...": "the contexts to add the meta pair in" meta-unsettemp: description: "Unsets a temporary meta value" args: "key": "the key to unset" "context...": "the contexts to remove the meta pair in" meta-addprefix: description: "Adds a prefix" args: "priority": "the priority to add the prefix at" "prefix": "the prefix string" "context...": "the contexts to add the prefix in" meta-addsuffix: description: "Adds a suffix" args: "priority": "the priority to add the suffix at" "suffix": "the suffix string" "context...": "the contexts to add the suffix in" meta-removeprefix: description: "Removes a prefix" args: "priority": "the priority to remove the prefix at" "prefix": "the prefix string" "context...": "the contexts to remove the prefix in" meta-removesuffix: description: "Removes a suffix" args: "priority": "the priority to remove the suffix at" "suffix": "the suffix string" "context...": "the contexts to remove the suffix in" meta-addtemp-prefix: description: "Adds a prefix temporarily" args: "priority": "the priority to add the prefix at" "prefix": "the prefix string" "duration": "the duration until the prefix expires" "context...": "the contexts to add the prefix in" meta-addtemp-suffix: description: "Adds a suffix temporarily" args: "priority": "the priority to add the suffix at" "suffix": "the suffix string" "duration": "the duration until the suffix expires" "context...": "the contexts to add the suffix in" meta-removetemp-prefix: description: "Removes a temporary prefix" args: "priority": "the priority to remove the prefix at" "prefix": "the prefix string" "context...": "the contexts to remove the prefix in" meta-removetemp-suffix: description: "Removes a temporary suffix" args: "priority": "the priority to remove the suffix at" "suffix": "the suffix string" "context...": "the contexts to remove the suffix in" meta-clear: description: "Clears all meta" args: "type": "the type of meta to remove" "context...": "the contexts to filter by" track-info: description: "Gives info about the track" track-append: description: "Appends a group onto the end of the track" args: "group": "the group to append" track-insert: description: "Inserts a group at a given position along the track" args: "group": "the group to insert" "position": "the position to insert the group at (the first position on the track is 1)" track-remove: description: "Removes a group from the track" args: "group": "the group to remove" track-clear: description: "Clears the groups on the track" track-rename: description: "Rename the track" args: "name": "the new name" track-clone: description: "Clone the track" args: "name": "the name of the track to clone onto" log-recent: description: "View recent actions" args: "user": "the name/uuid of the user to filter by" "page": "the page number to view" log-search: description: "Search the log for an entry" args: "query": "the query to search by" "page": "the page number to view" log-notify: description: "Toggle log notifications" args: "on|off": "whether to toggle on or off" log-user-history: description: "View a user's history" args: "user": "the name/uuid of the user" "page": "the page number to view" log-group-history: description: "View an group's history" args: "group": "the name of the group" "page": "the page number to view" log-track-history: description: "View a track's history" args: "track": "the name of the track" "page": "the page number to view" sponge: description: "Edit extra Sponge data" usage: "/%s sponge " args: "collection": "the collection to query" "subject": "the subject to modify" sponge-permission-info: description: "Shows info about the subject's permissions" args: "contexts...": "the contexts to filter by" sponge-permission-set: description: "Sets a permission for the Subject" args: "node": "the permission node to set" "tristate": "the value to set the permission to" "contexts...": "the contexts to set the permission in" sponge-permission-clear: description: "Clears the Subjects permissions" args: "contexts...": "the contexts to clear permissions in" sponge-parent-info: description: "Shows info about the subject's parents" args: "contexts...": "the contexts to filter by" sponge-parent-add: description: "Adds a parent to the Subject" args: "collection": "the subject collection where the parent Subject is" "subject": "the name of the parent Subject" "contexts...": "the contexts to add the parent in" sponge-parent-remove: description: "Removes a parent from the Subject" args: "collection": "the subject collection where the parent Subject is" "subject": "the name of the parent Subject" "contexts...": "the contexts to remove the parent in" sponge-parent-clear: description: "Clears the Subjects parents" args: "contexts...": "the contexts to clear parents in" sponge-option-info: description: "Shows info about the subject's options" args: "contexts...": "the contexts to filter by" sponge-option-set: description: "Sets an option for the Subject" args: "key": "the key to set" "value": "the value to set the key to" "contexts...": "the contexts to set the option in" sponge-option-unset: description: "Unsets an option for the Subject" args: "key": "the key to unset" "contexts...": "the contexts to unset the key in" sponge-option-clear: description: "Clears the Subjects options" args: "contexts...": "the contexts to clear options in" migration-command: description: "Migration command" migration-groupmanager: description: "Migration command" args: "migrate as global": "if world permissions should be ignored, and just migrated as global" migration-powerfulperms: description: "Migration command" args: "address": "the address of the PP database" "database": "the name of the PP database" "username": "the username to log into the DB" "password": "the password to log into the DB" "db table": "the name of the PP table where player data is stored"