LyDispatch
MySQL 前置要求
启用 MySQL 存储时,必须安装 LyMySQLCore,并确认它已成功连接数据库。否则本插件的玩家数据读取、保存、同步和相关记录不会生效;数据库未连接完成时,玩家将无法进入服务器。
LyDispatch 是一款基于 GUI 的派遣任务插件。玩家将符合条件的物品放入派遣界面,选择派遣时长后等待任务结束,任务完成后领取奖励。每个派遣任务都可以单独配置可用物品、派遣时间、条件、奖励组、额外物品和界面文本。
插件信息
| 项目 | 内容 |
|---|---|
| 插件名 | LyDispatch |
| 当前版本 | 1.0.3 |
| 作者 | 离渊 |
| 主命令 | /lypq |
| 声明的软依赖 | PlaceholderAPI、Vault、PlayerPoints |
| 支持版本 | 1.7.10、1.12.2、1.20.1 |
| 数据存储 | 本地 YAML 或 MySQL |
警告
插件启动时会检查服务端版本。当前代码仅为 1.7.10、1.12.2 和 1.20.1 初始化对应 NBT 适配,其他版本会启动失败并自动停用插件。
玩法机制
- 玩家打开派遣总览,选择一个派遣分类。
- 将符合派遣配置的物品放入物品槽,可同时放入一个额外物品。
- 选择派遣时间并通过配置条件检查后开始任务。
- 派遣期间界面显示预计回归时间,任务结束后显示可领奖状态。
- 玩家领取奖励时,插件按奖励组几率执行奖励动作,并根据配置决定是否扣除派遣物品和额外物品。
每个派遣分类只能同时存在一个进行中的任务。派遣中的物品和额外物品不能重复操作;关闭派遣界面时,尚未开始任务的主物品会退回玩家背包,背包空间不足时会掉落在玩家当前位置。
核心功能
| 功能 | 说明 |
|---|---|
| 派遣总览 | 使用 /lypq open 打开分类选择界面,支持分页浏览派遣配置。 |
| 指定派遣 | 使用派遣 ID 直接打开指定派遣界面。 |
| 多文件配置 | 插件会读取 dispatch 目录及其子目录中的 YAML 派遣文件。 |
| 物品匹配 | 支持按完整物品名称、完整 lore、名称关键词或 lore 关键词匹配派遣物品。 |
| 派遣时间 | 支持固定分钟数,也支持按范围随机生成派遣时长。 |
| 派遣条件 | 支持 PlaceholderAPI 表达式、拥有权限和没有权限等条件。 |
| 权限加成 | 按配置顺序检查权限加成组,使用第一个满足条件的组调整派遣时间。 |
| 额外物品 | 可按物品名称匹配额外物品,并调整时间、奖励组几率和额外奖励。 |
| 奖励组 | 每个派遣时间可以配置多个独立奖励组,各组分别按几率判定。 |
| 奖励动作 | 支持物品名称和 lore 修改、执行指令、发送消息、发放物品以及充能动作。 |
| 物品扣除 | 可配置派遣物品是否按几率扣除,并设置领取所需背包空位。 |
| 开始与结束指令 | 可在派遣开始和结束时执行玩家、OP 或控制台指令。 |
| 状态提示 | 任务完成后向在线玩家发送提示消息并播放配置的音效。 |
| 数据保存 | 默认使用本地 YAML 保存玩家派遣状态,也可切换为 MySQL。 |
| 自动保存 | 玩家状态发生变化后会进行异步保存,退出、被踢出或插件停用时也会保存数据。 |
| 状态变量 | 通过 PlaceholderAPI 提供全局状态、指定派遣状态、剩余时间和结束时间变量。 |
| 跨版本物品 | 支持旧版数字物品 ID、数据值和不同 Minecraft 版本的材质名称。 |
指令
| 指令 | 说明 | 使用限制 |
|---|---|---|
/lypq | 显示插件帮助信息。 | 仅 OP 会显示管理帮助内容。 |
/lypq open | 打开派遣总览。 | 玩家可用。 |
/lypq open <派遣id> | 打开指定派遣界面。 | 玩家可用。 |
/lypq open <玩家> <派遣id> | 为指定在线玩家打开指定派遣界面。 | 仅 OP,且执行者必须是玩家。 |
/lypq force <玩家> <派遣id> | 强制结束指定在线玩家的派遣并结算奖励。 | 仅 OP。 |
/lypq reload | 重载主配置和 dispatch 目录中的派遣配置。 | 仅 OP。 |
命令中的 <派遣id> 必须与派遣 YAML 文件内的 id 完全一致。<玩家> 必须是在线玩家名称。
插件没有在 plugin.yml 中声明独立权限节点,管理指令通过 OP 状态进行限制。
软依赖与联动
| 插件 | 用途 |
|---|---|
PlaceholderAPI | 提供派遣状态变量,并用于派遣条件、消息和指令中的变量解析。 |
Vault | 初始化经济服务接口,供插件内部经济联动使用。 |
PlayerPoints | 初始化 PlayerPoints 联动检测。 |
LyMySQLCore | 启用 MySQL 存储时提供安全的玩家数据加载与保存事件。 |
PlaceholderAPI、Vault 和 PlayerPoints 在插件启动时会进行检测。未安装时,对应联动不会生效,但不会因此改变本地 YAML 存储模式。
奖励动作还支持从以下物品库获取物品:
mm:MythicMobs 物品。si:SX-Item 物品。ni:NeigeItems 物品。
这些物品库仅在使用对应 giveitem 奖励动作时需要存在。
数据存储
本地 YAML
默认使用本地 YAML 保存玩家数据,文件位于:
text
plugins/LyDispatch/data/<玩家UUID>.yml本地数据保存使用临时文件、备份文件和损坏恢复机制。主数据文件损坏时,插件会尝试从对应的 .bak 备份文件恢复。
MySQL
在 config.yml 中将 mysql.enable 设置为 true 后,插件会使用 MySQL 保存玩家派遣状态。连接参数包括数据库名、用户名、密码、端口和 IP,并使用插件名创建数据表。
启用 MySQL 前必须同时满足以下条件:
- 已安装
LyMySQLCore。 LyMySQLCore已成功连接数据库。LyDispatch的 MySQL 配置填写正确。- 修改数据库开关后重启服务器。
如果数据库连接失败,插件不会正常读取或保存 MySQL 玩家数据,且玩家登录会被阻止,直到数据库初始化完成。
页面导航
| 页面 | 内容 |
|---|---|
| 配置说明 | 主配置、派遣文件、物品匹配、时间、条件、额外物品、权限加成和奖励动作。 |
| 插件变量 | 全局派遣状态、指定派遣状态、剩余时间和结束时间变量。 |
| 常见问题 | 启动失败、版本支持、物品匹配、奖励结算和数据保存问题。 |
| 更新日志 | 插件版本与文档更新记录。 |