PySpigot的管理器¶
PySpigot提供了各种管理器,可以更轻松地与Bukkit/Spigot API的各个部分以及其他插件、数据库等进行交互。要了解如何将这些管理器导入到您的脚本中,请查看下文。目前PySpigot内置的管理器包括:
- 脚本管理器,用于从另一个脚本中加载和卸载脚本。
- 监听器管理器,用于注册事件监听器。
- 命令管理器,用于注册和与命令进行交互。
- 任务管理器,用于注册各种重复、延迟和异步任务。
- 配置管理器,用于处理配置文件。
- 数据库管理器,用于连接和与SQL类型和Mongo数据库进行交互。
- Redis管理器,用于连接和与Redis服务器实例进行交互。
此外,PySpigot还包括两个可选的管理器,如果运行在服务器上的插件满足它们的依赖关系,则可用:
- ProtocolLib管理器,用于与ProtocolLib进行交互。
- 占位符管理器,用于与PlaceholderAPI进行交互。
要访问管理器,必须将其导入到脚本中。以下表格总结了如何访问管理器,但请阅读下面的部分,以获取有关如何导入它们的更多详细信息:
| 管理员 | 通过辅助模块访问 | 在 PySpigot 下访问 | 独立导入 |
|---|---|---|---|
| 脚本管理器 | pyspigot.script_manager() |
PySpigot.script |
from dev.magicmq.pyspigot.manager.script import ScriptManager |
| 监听器管理器 | pyspigot.listener_manager() |
PySpigot.listener |
from dev.magicmq.pyspigot.manager.listener import ListenerManager |
| 命令管理器 | pyspigot.command_manager() |
PySpigot.command |
from dev.magicmq.pyspigot.manager.command import CommandManager |
| 任务管理器 | pyspigot.task_manager() |
PySpigot.scheduler |
from dev.magicmq.pyspigot.manager.task import TaskManager |
| 配置管理器 | pyspigot.config_manager() |
PySpigot.config |
from dev.magicmq.pyspigot.manager.config import ConfigManager |
| 数据库管理器 | pyspigot.database_manager() |
PySpigot.database |
from dev.nagicmq.pyspigot.manager.database import DatabaseManager |
| Redis 管理器 | pyspigot.redis_manager() |
PySpigot.redis |
from dev.magicmq.pyspigot.manager.redis import RedisManager |
| 协议管理器 | pyspigot.protocol_manager() |
PySpigot.protocol |
from dev.magicmq.pyspigot.manager.protocol import ProtocolManager |
| 占位符管理器 | pyspigot.placeholder_manager() |
PySpigot.placeholder |
from dev.magicmq.pyspigot.manager.placeholder import PlaceholderManager |
警告
协议管理器和占位符管理器是可选管理器。只有在加载并启用ProtocolLib和/或PlaceholderAPI插件时才应访问这些管理器。
使用 PySpigot 的管理器¶
要使用这些管理器,必须将它们导入到您的脚本中。这可以通过三种方式完成:
通过 pyspigot.py 辅助库导入管理器¶
PySpigot附带了一个pyspigot.py辅助模块,该模块包含在PySpigot JAR文件中。该模块包含了几个帮助函数,使得更容易访问所有管理器。
1 2 3 4 5 6 7 8 9 10 11 | |
在上述代码中,PySpigot库被导入为ps。然后,通过调用库中的函数来获取每个管理器。当然,您也可以为了在代码中多个位置轻松使用而将所需的管理器分配给一个变量,如下所示:
1 2 3 4 5 6 7 8 9 10 11 | |
有关pyspigot.py辅助模块更多信息和文档,请参阅PySpigot辅助模块页面。
使用 PySpigot 类一次性导入所有管理器¶
这曾经是访问管理器的首选方法,但自版本0.5.0起不再是首选方法。尽管如此,该方法仍然有效,如果需要可以使用。
1 2 3 4 5 6 7 8 9 | |
在上述代码中,使用ps来导入PySpigot。可以通过简化的名称调用管理者,比如通过script来调用ScriptManager,通过listener来调用ListenerManager,通过command来调用CommandManager,通过scheduler来调用TaskManager,通过config来调用ConfigManager,通过protocol来调用ProtocolManager。
单独导入每个管理者类¶
也可以直接从PySpigot的Java代码中单独导入每个管理者类。
1 2 3 4 5 6 7 8 9 10 11 | |
Warning
如果单独导入一个管理者类,每次调用管理者时 必须 使用get()!