配置说明
修改 config.yml 或 dispatch/ 下的任务文件后,使用 /lypq reload 重载。切换数据库保存方式时建议重启服务器。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 全局变量文本、数据库、音效、总览界面和通用消息。 |
dispatch/ | 每个派遣任务的界面、匹配物品、时间、奖励和条件。 |
全局变量文本
yaml
global-starting-text: "您有派遣任务进行中 请耐心等待"
global-nothing-text: "您暂未开启派遣任务 快去开启吧"
global-finish-text: "您有派遣任务已完成 快去领取奖励吧"这三项对应 %lypq_global% 的返回文本。
时间格式
yaml
time-format: "MM/dd HH:mm:ss"%lypq_surplustime_派遣id%、%lypq_endtime_派遣id% 和界面中的 {time} 会使用这里的格式显示。
数据库
MySQL 前置要求
只要启用 MySQL 存储,就必须先安装 LyMySQLCore,并确认它已成功连接数据库。LyMySQLCore 未加载或连接失败时,本插件的 MySQL 数据读取、保存、同步或相关记录不会生效。
yaml
mysql:
enable: false
databasename: mc2
username: mc2
password: mc1234
port: 3306
ip: 127.0.0.1mysql.enable 为 false 时使用本地保存。启用 MySQL 时需要安装并连接 LyMySQLCore。
警告
切换数据库保存方式前先备份玩家数据,切换后建议重启服务器。
全局设置
| 节点 | 说明 |
|---|---|
dispatch-end-sound | 派遣结束时提示音效。1.12 可用 ENTITY_EXPERIENCE_ORB_PICKUP,1.7 可用 ORB_PICKUP。 |
load-default-config | 是否读取默认示例配置。 |
message.put-item-fail | 试图放入多个物品时的提示。 |
message.extra-item-fail | 额外物品不匹配时的提示。 |
总览界面
yaml
gui:
title: "&6派遣分类选择"
dispatching-item-id: "APPLE:0"
after-returning-item-id: "APPLE:0"
fill-item: "160:9"
fill-name: "&7封锁"
last-item: "341:0"
last-name: "&6上一页"
next-item: "341:0"
next-name: "&6下一页"
back-item: "341:0"
back-name: "&6返回主页"这里控制总览界面、派遣中按钮、可领奖按钮、填充物品、翻页按钮和返回按钮。
派遣基础配置
派遣文件放在 dispatch/ 目录。每个文件对应一个派遣任务。
yaml
id: "宠物出行"
title: "&6宠物出行"
main-gui-id: "BOOK:0"
main-gui-name: "&6宠物出行"
main-gui-lore: "&a[点击查看]"| 节点 | 说明 |
|---|---|
id | 派遣 ID,全局不可重复。 |
title | 指定派遣界面标题。 |
main-gui-id | 总览界面展示物品。 |
main-gui-name | 总览界面展示名称。 |
main-gui-lore | 总览界面展示说明,可解析 PlaceholderAPI。 |
状态按钮
yaml
dispatching-item-name: "&7该宠物已经出行"
dispatching-item-lore:
- "&7归来时间: {time}"
after-returning-item-name: "&7该宠物已经归来"
after-returning-item-lore:
- "&a点击领取 &6出行{time}分钟 &a奖励"{time} 会替换为结束时间或派遣时长。
派遣消息
| 节点 | 说明 |
|---|---|
message.can-reward | 派遣结束后玩家在线时的提示。 |
message.empty-slot | 领取奖励时背包空间不足。 |
message.dispatching | 派遣仍在进行中。 |
message.dispatch-end | 领取奖励成功。 |
message.dispatch-success | 开始派遣成功。 |
message.take-item | 结算时扣除了派遣物品。 |
message.put-item | 放入的派遣物品不匹配。 |
message.condition-fail | 派遣条件不足。 |
派遣物品匹配
yaml
dispatch:
match-item:
- "name:{&6小白}"
- "lore:{&6这是lore}"
- "contain_name:{&6小白}"
- "contain_lore:{&6这是lore}"| 格式 | 说明 |
|---|---|
name:{文本} | 完全匹配物品显示名。 |
lore:{文本} | 完全匹配某一行 lore。 |
contain_name:{文本} | 名称包含指定文本。 |
contain_lore:{文本} | 任意一行 lore 包含指定文本。 |
开始与结束指令
yaml
dispatch:
start-command:
- "[console]tell %player_name% 开始派遣"
end-command:
- "[console]tell %player_name% 派遣结束"指令支持 [console]、[op] 和玩家自身执行写法,并会经过 PlaceholderAPI 解析。
额外物品
额外物品放在界面额外物品槽中,只按显示名完全匹配。
yaml
extra-item:
"&6缩短1分钟出行":
action:
- "time:{-1}"
- "reward_chance:{奖励组1#0.1}"
reward: []
take-extra-item: true| 节点 | 说明 |
|---|---|
action | 额外物品带来的动作。 |
reward | 额外奖励动作。 |
take-extra-item | 结算时是否扣除该额外物品。 |
常用动作:
| 动作 | 说明 |
|---|---|
time:{-1} | 本次派遣减少 1 分钟,写正数则增加时间。 |
reward_chance:{奖励组id#0.1} | 给指定奖励组增加触发几率。 |
权限加成
yaml
permission-addition:
"组1":
condition:
- "papi:{%player_level% > 999999}"
- "permission:{vip.1}"
- "nopermission:{vip.1}"
time: "{time}*0.9"
message: "&a由于您是VIP1, 本次出行时间减少10%!"从上往下匹配,命中第一个满足条件的组。{time} 是原始毫秒时间,最终通过公式计算新时间。
时间与奖励
yaml
dispatch:
time-and-reward:
1:
item-name: "&a点击出行1分钟"
item-lore:
- "&7奖励: &6xxx"
condition:
- "papi:{%player_level% >= 0}"
reward-group:
奖励组1:
chance: 0.95
reward:
- "message:恭喜你出行成功!"
slot: 1
take-item: false
take-item-chance: 0.1| 节点 | 说明 |
|---|---|
item-name | 时间按钮名称。 |
item-lore | 时间按钮说明。 |
condition | 开始该时间派遣需要满足的条件。 |
reward-group | 奖励组列表,每组按几率独立判断。 |
slot | 领取奖励需要的背包空位。 |
take-item | 结算时是否可能扣除派遣物品。 |
take-item-chance | 扣除派遣物品的几率,范围 0-1。 |
时间节点支持固定分钟,例如 1、10;也支持范围随机,例如 1-5。
条件格式
| 格式 | 说明 |
|---|---|
papi:{%player_level% >= 0} | PlaceholderAPI 表达式判断。 |
permission:{权限} | 玩家需要拥有指定权限。 |
nopermission:{权限} | 玩家需要没有指定权限。 |
同一列表内的条件需要全部满足。
奖励动作
奖励动作写在 reward-group.*.reward 或额外物品奖励中。
| 动作 | 说明 |
|---|---|
charge:10 | 给派遣物品增加 10 点 LyCharging 充能经验。 |
lore_match_mode:contain | 设置后续 lore 匹配模式,contain 为包含匹配,其它值按完整匹配处理。 |
lore_remove:原lore | 删除匹配到的 lore。 |
lore_replace:原lore:新lore | 替换匹配到的 lore。 |
lore_add_next:定位lore:新增lore | 在定位 lore 下一行添加。 |
lore_add_last:定位lore:新增lore | 在定位 lore 上一行添加。 |
name_set:新名称 | 设置物品名称。 |
name_replace:原文本:新文本 | 替换物品名称中的文本。 |
name_add_start:文本 | 在物品名称开头追加文本。 |
name_add_end:文本 | 在物品名称结尾追加文本。 |
command_console:指令 | 控制台执行指令。 |
command_op:指令 | 临时 OP 身份执行指令。 |
command:指令 | 玩家执行指令。 |
message_server:文本 | 给全服发送消息。 |
message:文本 | 给玩家发送消息。 |
giveitem:mm:物品id:1-2 | 发放 MythicMobs 物品,数量支持固定或范围。 |
giveitem:ni:物品id:1-2 | 发放 NeigeItems 物品。 |
giveitem:si:物品id:1-2 | 发放 SX-Item 物品。 |