Skip to content

配置说明

修改 config.ymldispatch/ 下的任务文件后,使用 /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.1

mysql.enablefalse 时使用本地保存。启用 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

时间节点支持固定分钟,例如 110;也支持范围随机,例如 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 物品。