endstone.plugin
Classes relating to loading and managing plugins.
Classes relating to loading and managing plugins.
Modules
| Name | Description |
|---|---|
plugin_loader |
Classes
| Name | Description |
|---|---|
Plugin | Represents a Plugin |
PluginCommand | Represents a Command belonging to a Plugin |
PluginDescription | Represents the basic information about a plugin that the plugin loader needs to know. |
PluginLoadOrder | Represents the order in which a plugin should be initialized and enabled. |
PluginLoader | Represents a plugin loader, which handles direct access to specific types of plugins |
PluginManager | Represents a plugin manager that handles all plugins from the Server |
Service | Represents a list of methods. |
ServiceManager | Represent a service manager that manages services and service providers. |
ServicePriority | Represents various priorities of a provider. |
classPlugin
Bases: _Plugin
Plugin()Represents a Plugin
Methods
| Name | Description |
|---|---|
register_events | Registers all events defined in the given listener instance. |
reload_config | Returns the plugin's configuration loaded from config.toml. |
save_config | Saves the current configuration to the config.toml file. |
save_default_config | Saves the default config.toml file to the plugin's data folder. |
save_resources | Saves a packaged resource from the plugin module to the data folder. |
Attributes
| Name | Type | Description |
|---|---|---|
api_version | ||
authors | ||
commands | ||
config | dict | Returns the plugin's configuration loaded from config.toml. |
contributors | ||
default_permission | ||
depend | ||
description | ||
load | ||
load_before | ||
permissions | ||
prefix | ||
provides | ||
soft_depend | ||
version | ||
website |
attrapi_version
api_version = Noneattrauthors
authors = Noneattrcommands
commands = Noneattrconfigproperty
config: dictReturns the plugin's configuration loaded from config.toml.
Loads and returns the plugin’s configuration data from config.toml.
If the configuration has not been loaded yet, it is automatically
reloaded using reload_config().
Returns
| Name | Type | Description |
|---|---|---|
dict | dict | The plugin's configuration data. |
attrcontributors
contributors = Noneattrdefault_permission
default_permission = Noneattrdepend
depend = Noneattrdescription
description = Noneattrload
load = Noneattrload_before
load_before = Noneattrpermissions
permissions = Noneattrprefix
prefix = Noneattrprovides
provides = Noneattrsoft_depend
soft_depend = Noneattrversion
version = Noneattrwebsite
website = Nonemethregister_events
register_events(listener: object) -> NoneRegisters all events defined in the given listener instance.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
listener | object | The listener object containing event handler methods to be registered. | required |
methreload_config
reload_config() -> dictReturns the plugin's configuration loaded from config.toml.
Loads and returns the plugin’s configuration data from config.toml.
If a default configuration file is packaged with the plugin, its values
are used as defaults.
Returns
| Name | Type | Description |
|---|---|---|
dict | dict | The plugin's configuration data. |
methsave_config
save_config() -> NoneSaves the current configuration to the config.toml file.
methsave_default_config
save_default_config() -> NoneSaves the default config.toml file to the plugin's data folder.
If config.toml does not already exist in the plugin’s data folder,
this method copies the default version from the plugin’s packaged
resources. If the file already exists, the method does nothing and
fails silently.
methsave_resources
Saves a packaged resource from the plugin module to the data folder.
The method locates a resource bundled within the plugin’s package and
copies it to the plugin’s data folder, preserving its relative directory
structure. If the target file already exists, it will only be replaced
if replace is set to True.
Parameters
Raises
| Type | Description |
|---|---|
FileNotFoundError | If the specified resource cannot be found in the package. |
OSError | If an error occurs while copying or creating directories. |
classPluginCommand
Bases: Command
PluginCommand()Represents a Command belonging to a Plugin
Attributes
| Name | Type | Description |
|---|---|---|
executor | CommandExecutor | The CommandExecutor to run when parsing this command |
plugin | Plugin | The owner of this PluginCommand |
attrexecutorproperty
executor: CommandExecutorThe CommandExecutor to run when parsing this command
attrpluginproperty
plugin: PluginThe owner of this PluginCommand
classPluginDescription
PluginDescription(name: str, version: str, description: str | None = None, load: PluginLoadOrder | None = None, authors: list[str] | None = None, contributors: list[str] | None = None, website: str | None = None, prefix: str | None = None, provides: list[str] | None = None, depend: list[str] | None = None, soft_depend: list[str] | None = None, load_before: list[str] | None = None, default_permission: PermissionDefault | None = None, commands: list[Command] | None = None, permissions: list[Permission] | None = None, *args, **kwargs)Represents the basic information about a plugin that the plugin loader needs to know.
Attributes
| Name | Type | Description |
|---|---|---|
api_version | str | Gives the API version which this plugin is designed to support. |
authors | list[str] | Gives the list of authors for the plugin. |
commands | list[Command] | Gives the list of commands the plugin will register at runtime. |
contributors | list[str] | Gives the list of contributors for the plugin. |
default_permission | PermissionDefault | Gives the default value of permissions registered for the plugin. |
depend | list[str] | Gives a list of other plugins that the plugin requires. |
description | str | Gives a human-friendly description of the functionality the plugin provides. |
full_name | str | Returns the name of a plugin, including the version. |
load | PluginLoadOrder | Gives the phase of server startup that the plugin should be loaded. |
load_before | list[str] | Gets the list of plugins that should consider this plugin a soft-dependency. |
name | str | Gives the name of the plugin. This name is a unique identifier for plugins. |
permissions | list[Permission] | Gives the list of permissions the plugin will register at runtime, immediately proceeding enabling. |
prefix | str | Gives the token to prefix plugin-specific logging messages with. |
provides | list[str] | Gives the list of other plugin APIs which this plugin provides. These are usable for other plugins to depend on. |
soft_depend | list[str] | Gives a list of other plugins that the plugin requires for full functionality. |
version | str | Gives the version of the plugin. |
website | str | Gives the plugin's or plugin's author's website. |
attrapi_versionproperty
api_version: strGives the API version which this plugin is designed to support.
attrauthorsproperty
Gives the list of authors for the plugin.
attrcommandsproperty
Gives the list of commands the plugin will register at runtime.
attrcontributorsproperty
Gives the list of contributors for the plugin.
attrdefault_permissionproperty
default_permission: PermissionDefaultGives the default value of permissions registered for the plugin.
attrdependproperty
Gives a list of other plugins that the plugin requires.
attrdescriptionproperty
description: strGives a human-friendly description of the functionality the plugin provides.
attrfull_nameproperty
full_name: strReturns the name of a plugin, including the version.
attrloadproperty
load: PluginLoadOrderGives the phase of server startup that the plugin should be loaded.
attrload_beforeproperty
Gets the list of plugins that should consider this plugin a soft-dependency.
attrnameproperty
name: strGives the name of the plugin. This name is a unique identifier for plugins.
attrpermissionsproperty
permissions: list[Permission]Gives the list of permissions the plugin will register at runtime, immediately proceeding enabling.
attrprefixproperty
prefix: strGives the token to prefix plugin-specific logging messages with.
attrprovidesproperty
Gives the list of other plugin APIs which this plugin provides. These are usable for other plugins to depend on.
attrsoft_dependproperty
Gives a list of other plugins that the plugin requires for full functionality.
attrversionproperty
version: strGives the version of the plugin.
attrwebsiteproperty
website: strGives the plugin's or plugin's author's website.
classPluginLoadOrder
Bases: Enum
PluginLoadOrder()Represents the order in which a plugin should be initialized and enabled.
classPluginLoader
PluginLoader(server: Server)Represents a plugin loader, which handles direct access to specific types of plugins
Methods
| Name | Description |
|---|---|
disable_plugin | Disables the specified plugin |
enable_plugin | Enables the specified plugin |
load_plugin | Loads the plugin contained in the specified file |
load_plugins | Loads the plugin contained within the specified directory |
Attributes
| Name | Type | Description |
|---|---|---|
plugin_file_filters | list[str] | Returns a list of all filename filters expected by this PluginLoader |
server | Server | Retrieves the Server object associated with the PluginLoader. |
attrplugin_file_filtersproperty
Returns a list of all filename filters expected by this PluginLoader
attrserverproperty
server: ServerRetrieves the Server object associated with the PluginLoader.
methdisable_plugin
disable_plugin(plugin: Plugin) -> NoneDisables the specified plugin
methenable_plugin
enable_plugin(plugin: Plugin) -> NoneEnables the specified plugin
methload_plugin
Loads the plugin contained in the specified file
methload_plugins
Loads the plugin contained within the specified directory
classPluginManager
PluginManager()Represents a plugin manager that handles all plugins from the Server
Methods
| Name | Description |
|---|---|
call_event | Calls an event which will be passed to plugins. |
clear_plugins | Disables and removes all plugins |
disable_plugin | Disables the specified plugin |
disable_plugins | Disables all the loaded plugins |
enable_plugin | Enables the specified plugin |
enable_plugins | Enable all the loaded plugins |
get_default_perm_subscriptions | Gets a set containing all subscribed Permissibles to the given default list, by permission level. |
get_default_permissions | Gets the default permissions for the given permission level. |
get_permission | Gets a Permission from its fully qualified name. |
get_permission_subscriptions | Gets a set containing all subscribed Permissibles to the given permission. |
get_plugin | Checks if the given plugin is loaded and returns it when applicable. |
load_plugin | Loads the plugin in the specified file |
recalculate_permission_defaults | Recalculates the defaults for the given Permission. |
register_event | Registers the given event |
subscribe_to_default_perms | Subscribes to the given Default permissions by permission level. |
subscribe_to_permission | Subscribes the given Permissible for information about the requested Permission. |
unsubscribe_from_default_perms | Unsubscribes from the given Default permissions by permission level. |
unsubscribe_from_permission | Unsubscribes the given Permissible for information about the requested Permission. |
Attributes
| Name | Type | Description |
|---|---|---|
permissions | set[Permission] | Gets a set of all registered permissions. |
plugins | list[Plugin] | Gets a list of all currently loaded plugins |
attrpermissionsproperty
permissions: set[Permission]Gets a set of all registered permissions.
attrpluginsproperty
Gets a list of all currently loaded plugins
methcall_event
call_event(event: Event) -> NoneCalls an event which will be passed to plugins.
methclear_plugins
clear_plugins() -> NoneDisables and removes all plugins
methdisable_plugin
disable_plugin(plugin: Plugin) -> NoneDisables the specified plugin
methdisable_plugins
disable_plugins() -> NoneDisables all the loaded plugins
methenable_plugin
enable_plugin(plugin: Plugin) -> NoneEnables the specified plugin
methenable_plugins
enable_plugins() -> NoneEnable all the loaded plugins
methget_default_perm_subscriptions
get_default_perm_subscriptions(level: PermissionLevel) -> set[Permissible]Gets a set containing all subscribed Permissibles to the given default list, by permission level.
methget_default_permissions
get_default_permissions(level: PermissionLevel) -> list[Permission]Gets the default permissions for the given permission level.
methget_permission
get_permission(name: str) -> PermissionGets a Permission from its fully qualified name.
methget_permission_subscriptions
get_permission_subscriptions(permission: str) -> set[Permissible]Gets a set containing all subscribed Permissibles to the given permission.
methget_plugin
Checks if the given plugin is loaded and returns it when applicable.
methload_plugin
Loads the plugin in the specified file
methrecalculate_permission_defaults
recalculate_permission_defaults(perm: Permission) -> NoneRecalculates the defaults for the given Permission.
methregister_event
Registers the given event
methsubscribe_to_default_perms
subscribe_to_default_perms(level: PermissionLevel, permissible: Permissible) -> NoneSubscribes to the given Default permissions by permission level.
methsubscribe_to_permission
subscribe_to_permission(permission: str, permissible: Permissible) -> NoneSubscribes the given Permissible for information about the requested Permission.
methunsubscribe_from_default_perms
unsubscribe_from_default_perms(level: PermissionLevel, permissible: Permissible) -> NoneUnsubscribes from the given Default permissions by permission level.
methunsubscribe_from_permission
unsubscribe_from_permission(permission: str, permissible: Permissible) -> NoneUnsubscribes the given Permissible for information about the requested Permission.
classService
Service()Represents a list of methods.
classServiceManager
ServiceManager()Represent a service manager that manages services and service providers.
Methods
| Name | Description |
|---|---|
load | |
register | Register a provider of a service. |
unregister_all | Unregister all the services registered by a particular plugin. |
methload
methregister
register(name: str, provider: Service, plugin: Plugin, priority: ServicePriority) -> NoneRegister a provider of a service.
methunregister_all
unregister_all(plugin: Plugin) -> NoneUnregister all the services registered by a particular plugin.
classServicePriority
Bases: IntEnum
ServicePriority()Represents various priorities of a provider.