Skip to content

LyDispatch

MySQL 前置要求

启用 MySQL 存储时,必须安装 LyMySQLCore,并确认它已成功连接数据库。否则本插件的玩家数据读取、保存、同步和相关记录不会生效;数据库未连接完成时,玩家将无法进入服务器。

LyDispatch 是一款基于 GUI 的派遣任务插件。玩家将符合条件的物品放入派遣界面,选择派遣时长后等待任务结束,任务完成后领取奖励。每个派遣任务都可以单独配置可用物品、派遣时间、条件、奖励组、额外物品和界面文本。

插件信息

项目内容
插件名LyDispatch
当前版本1.0.3
作者离渊
主命令/lypq
声明的软依赖PlaceholderAPIVaultPlayerPoints
支持版本1.7.101.12.21.20.1
数据存储本地 YAML 或 MySQL

警告

插件启动时会检查服务端版本。当前代码仅为 1.7.101.12.21.20.1 初始化对应 NBT 适配,其他版本会启动失败并自动停用插件。

玩法机制

  1. 玩家打开派遣总览,选择一个派遣分类。
  2. 将符合派遣配置的物品放入物品槽,可同时放入一个额外物品。
  3. 选择派遣时间并通过配置条件检查后开始任务。
  4. 派遣期间界面显示预计回归时间,任务结束后显示可领奖状态。
  5. 玩家领取奖励时,插件按奖励组几率执行奖励动作,并根据配置决定是否扣除派遣物品和额外物品。

每个派遣分类只能同时存在一个进行中的任务。派遣中的物品和额外物品不能重复操作;关闭派遣界面时,尚未开始任务的主物品会退回玩家背包,背包空间不足时会掉落在玩家当前位置。

核心功能

功能说明
派遣总览使用 /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 存储时提供安全的玩家数据加载与保存事件。

PlaceholderAPIVaultPlayerPoints 在插件启动时会进行检测。未安装时,对应联动不会生效,但不会因此改变本地 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 玩家数据,且玩家登录会被阻止,直到数据库初始化完成。

页面导航

页面内容
配置说明主配置、派遣文件、物品匹配、时间、条件、额外物品、权限加成和奖励动作。
插件变量全局派遣状态、指定派遣状态、剩余时间和结束时间变量。
常见问题启动失败、版本支持、物品匹配、奖励结算和数据保存问题。
更新日志插件版本与文档更新记录。