Commands rewrite (#357)

* began rewriting command system

* began rewriting command system

* updated formatting

* added new info command

* added new reload command

* updated new parse command to support all three parsing types

* added new commands to command router

* deleted old unused commands

* removed parserel

* added new expansion register and unregister commands

* deleted unused commands

* fixed annotation order

* added labels helper to command

* updated alias method to return an immutable view

* updated params param with unmodifiable annotation

* updated router to build an immutable map of the commands

* began rewriting command system

* updated formatting

* added new info command

* added new reload command

* updated new parse command to support all three parsing types

* added new commands to command router

* deleted old unused commands

* removed parserel

* added new expansion register and unregister commands

* deleted unused commands

* fixed annotation order

* added labels helper to command

* updated alias method to return an immutable view

* updated params param with unmodifiable annotation

* updated router to build an immutable map of the commands

* updated plugin class to use new command router

* updated switch to break on parse match

* updated register completions to suggest file names

* updated router to allow entering labels in any case

* updated parse command to send message to players as components

* added command dispatching parsing

* moved new commands into local package

* added helper functions for filtering and suggesting

* updated imports, updated tab completion to use helper functions

* added start of ecloud commands

* replace ecloud enable and disable commands with single toggle command evaluator

* deleted unused commands

* updated commands to use helper functions for suggesting

* updated downloading to use completablefuture, updated all methods to use streams exclusively

* updated to use the config instead of a null check

* deleted old commands system

* finished new command system

* updated to use new method from cloud manager

* fixed annotation ordering and added missing annotations

* updated ecloud subcommands to have a more specific permission

* updated plugin.yml with the new permissions, (and also fixed its formatting)

* fixed annotations intellij missed

* this should probably be there...
This commit is contained in:
Sxtanna
2020-07-24 01:29:11 -04:00
committed by GitHub
parent 21ca434e72
commit b7d1c6969e
49 changed files with 1899 additions and 1638 deletions

View File

@@ -1,42 +1,98 @@
name: ${project.name}
main: me.clip.placeholderapi.PlaceholderAPIPlugin
version: ${project.version}
api-version: '1.13'
authors: [extended_clip, Glare]
description: ${project.description}
permissions:
placeholderapi.*:
description: ability to use all commands
children:
placeholderapi.admin: true
placeholderapi.admin:
description: ability to use all commands
children:
placeholderapi.list: true
placeholderapi.reload: true
placeholderapi.ecloud: true
placeholderapi.parse: true
placeholderapi.register: true
placeholderapi.updatenotify: true
placeholderapi.list:
description: ability to use the list command
default: op
placeholderapi.reload:
description: ability to use the reload command
default: op
placeholderapi.parse:
description: ability to use parse command
default: op
placeholderapi.register:
description: ability to register or unregister placeholder expansions
default: op
placeholderapi.ecloud:
description: allows the usage of ecloud commands
default: op
placeholderapi.updatenotify:
description: notifies you when there is a PAPI update
default: op
name: "${project.name}"
main: "me.clip.placeholderapi.PlaceholderAPIPlugin"
version: "${project.version}"
authors: ["extended_clip", "Glare"]
api-version: "1.13"
description: "${project.description}"
commands:
placeholderapi:
description: PlaceholderAPI command
aliases: [papi]
placeholderapi:
description: "PlaceholderAPI Command"
aliases: ["papi"]
permissions:
placeholderapi.*:
description: "ability to use all papi commands"
children:
placeholderapi.admin: true
placeholderapi.ecloud.*: true
placeholderapi.admin:
description: "ability to use all papi commands"
children:
placeholderapi.help: true
placeholderapi.info: true
placeholderapi.list: true
placeholderapi.parse: true
placeholderapi.reload: true
placeholderapi.version: true
placeholderapi.register: true
placeholderapi.unregister: true
placeholderapi.updatenotify: true
placeholderapi.ecloud.*:
description: "ability to use all papi ecloud commands"
children:
placeholderapi.ecloud: true
placeholderapi.ecloud.info: true
placeholderapi.ecloud.list: true
placeholderapi.ecloud.clear: true
placeholderapi.ecloud.toggle: true
placeholderapi.ecloud.status: true
placeholderapi.ecloud.refresh: true
placeholderapi.ecloud.download: true
placeholderapi.ecloud.placeholders: true
placeholderapi.help:
default: "op"
description: "allows you to view the list of papi commands"
placeholderapi.info:
default: "op"
description: "allows you to view expansion information"
placeholderapi.list:
default: "op"
description: "allows you to list active expansions"
placeholderapi.ecloud:
default: "op"
description: "allows you to access papi ecloud"
placeholderapi.parse:
default: "op"
description: "allows you to parse placeholders"
placeholderapi.reload:
default: "op"
description: "allows you to reload papi and its configuration"
placeholderapi.version:
default: "op"
description: "allows you to view the version of papi installed"
placeholderapi.register:
default: "op"
description: "allows you to register expansions"
placeholderapi.unregister:
default: "op"
description: "allows you to unregister expansions"
placeholderapi.updatenotify:
default: "op"
description: "notifies you when there is a PAPI update"
placeholderapi.ecloud.info:
default: "op"
description: "allows you to view cloud expansion information"
placeholderapi.ecloud.list:
default: "op"
description: "allows you to list cloud expansions"
placeholderapi.ecloud.clear:
default: "op"
description: "allows you to clear the local cloud expansion cache"
placeholderapi.ecloud.toggle:
default: "op"
description: "allows you to toggle/enable/disable the cloud manager"
placeholderapi.ecloud.status:
default: "op"
description: "allows you to view the status of cloud expansions"
placeholderapi.ecloud.refresh:
default: "op"
description: "allows you to refresh the local cloud expansion cache"
placeholderapi.ecloud.download:
default: "op"
description: "allows you to download an expansion from the cloud"
placeholderapi.ecloud.placeholders:
default: "op"
description: "allows you to view the placeholders of a cloud expansion"