说明
此 wiki 内所使用的文件名及目录名均为默认的,自行替换成你自己的目录及文件名即可。
插件激活
将插件放入 plugins
加载一遍生成配置文件,打开 ./plugins/PokeTaskPlugin/config.yml
# 授权服务器CDKey
Key: "在这里输入你的授权码(注意 : 后方有个空格)"
结构说明
在目录 ./plugins/PokeTaskPlugin/
中,有多个文件和目录,下方是它们的作用说明。
| 文件名 | 文件说明 |
| :---: | :--- |
| config.yml | 主配置文件,主功能设置的地方,例: 相关物品展示设定、存储设定等 |
| quests.yml | 任务配置文件,设置自定义任务, 所有任务在这里配置|
| time.yml| 刷新日期配置文件 |
<br>
| 目录名 | 目录说明 |
| :---: | :--- |
| gui | 任务栏容器目录, 此目录内每个文件相当于游戏内一个独立的任务栏容器(可设置多个) |
相关配置
任务配置
文件路径: ./plugins/PokeTaskPlugin/quests.yml
1.16.5 版本和 1.12 版本的任务配置不一样,请注意改变, 此处拿1.16.5举例
以编号为 Test
的任务来举例说明
#任务编号, 不可出现重复的, 包括以后
Test:
# 任务名称
QuestName: "&e测试任务名"
# 数量
Amount: 3
# 任务可完成次数
Max: 1
# 条件
Condition: "Bulbasaur"
# 条件字符串
ShowId: "pokemon:1,,0,none"
# 任务类型
QuestType: "BEAT_WILD_PIXELMON"
# 接取任务需要的权限
Permission: ""
# 任务描述
Info:
- "&c"
- " &f* &a击败精灵: &b妙蛙种子 "
- " &f* &a击败次数: &b3"
- " &f* &a奖励: &b公告提示一次"
- " &b本任务仅限接取一次"
- "&d"
- "%status%"
# 完成任务后执行的命令
Commands:
- "bc 恭喜玩家 %player% 完成任务 &e测试任务名"
# 任务的类型
Type: NORMAL
Type
: 任务的类型, 有 NORMAl(永久且不会刷新) DAY(每日0点刷新) WEEK(每周一0点刷新) 三种类型
ShowId
: 第一种 -> pokemon:后方则对应精灵相片的nbt数据(精灵编号,形态名,性别,配色)。例如 "pokemon:1,,0,none"
。第二种 -> item:后方则对应物品名. 例如 "item:STONE"
。
"ShowId"
假如你使用的是1.12版本, 第一种方法将不可以, 代替的是 pokemon: 后方则对应精灵相片ID, 例如 "pokemon:001"
Condition
: 条件设置,可以all
(即全部都行), 例如 QuestType
为 "BEAT_WILD_PIXELMON"
时, Condition: all
即为击败任意精灵。
Permission
: 接取这个任务所需的权限, 如果没填或者留空则表示无需权限, 例如: Permission: ""
QuestType
: 任务类型
BEAT_WILD_PIXELMON = 击败野生精灵
CAPTURE_PIXELMON = 捕捉野生精灵
BEAT_TRAINER = 击败训练师
FISHING_CATCH = 钓鱼
POKE_PRE_EVOLVE = 精灵进化
THROW_POKE_BALL = 抛出精灵球
USE_RARE_CANDY = 使用神奇糖果
PICK_APRICORN = 采摘树果
PIXELMON_LEVEL_UP = 精灵升级
PIXELMON_TRADE = 玩家交易精灵
SET_NICK_NAME = 设置精灵名
EVS_GAINED = 玩家精灵Evs增加
EXPERIENCE_GAIN = 玩家精灵经验增加
ACTIVATE_SHRINE 使用三圣祭坛
POKE_POST_EVOLVE 进化后事件
LENS_USED 使用透镜
SHOPKEEPER_PURCHASE 跟商人购买物品
SHOPKEEPER_SELL 向商人出售物品
1.12版本额外事件:
PICK_BERRY = 采摘浆果
任务界面容器设置
此处以默认配置
生成 example.yml
举例
文件路径: ./plugins/PokeTaskPlugin/gui/example.yml
# 任务周期类型
type: NORMAL
# 界面标题
title: "&8任务列表"
# 界面大小
size: 36
# 任务所在位置
slots: 10,12,14,16
# 容器对应的任务
quests:
- Test
#出现槽位设置
#false 任务会随机出现在设定的槽位上
#true 为任务会按照设定的槽位从前往后铺放
auto-slot: true
#出现顺序设置
#false 任务会按照 quests(从上到下) 的顺序出现
#true 任务会以任意顺序出现
random-slot: false
#完成gui内所有任务后奖励设定
reward:
# 所需权限
permission: "all"
# 领取执行指令
commands:
- nye give %player% 金币 1000
# 界面物品
items:
fg:
type: GLASS_PANE
amount: 1
data: 0
name: ""
slot: 0,1,2,3,4,5,6,7,8,9,17,18,26,27,28,29,30,31,32,33,34,35
lore: [ ]
#完成gui内所有任务的物品显示设定
get:
type: CHEST
amount: 1
data: 0
name: "任务完满奖励"
action: get
slot: 25
lore:
- "&c"
- " &f* 所有任务完成奖励"
- " &f* &a奖励: 金币x1000"
- "&d"
- "%status%"
auto-slot
: 控制任务的出现槽位规则
random-slot
: 控制任务的出现顺序规则
任务重置设置
文件路径: ./plugins/PokeTaskPlugin/config.yml
#重置设置
reset:
#任务的重置类别,
#all: 按照 quest.yml 文件重置(所有同类型的任务),
#gui: 按照 gui 文件夹下每个单独 yml文件 重置(单个gui单独重置)
type: gui
#每日类型任务
day:
#刷新时间 时 分 秒
time: "00:00:00"
#每周类型任务
week:
#星期 [1-7]
date: 1
#刷新时间 时 分 秒
time: "00:00:00"
# 随机数量
random-count:
#默认每日重置2个任务
day: 2
#默认每周重置3个任务
week: 3
#指定目标gui重置的数量 如果没有指定,默认按照day和week的数量
#如果reset.type 为 all 此处则不生效
gui:
#到达重置时间时,将会从gui/example.yml设定的任务中随机重置 1 个任务
#如果 example.yml 的日期类型为 NORMAL 不会生效
example: 1
random-count
: 每次重置时从day
和 week
类型任务中随机抽取指定数量个任务进行重置并接取
reset.type
: 当设定为 gui
的时候, 会从 gui文件夹下面的所有容器目录,每个容器单独按照数量重置.
任务物品显示设置
文件路径: ./plugins/PokeTaskPlugin/config.yml
show-item:
# 物品类型
type: paper
# 状态
status:
access: "&a&l✔ 点击接取本任务, 已接取&f(%min%/%max%)"
forbid: "&c&l✘ 本任务接取上限, 无法接取"
inquest: "&e▶ &f 正在进行中, 进度: %now%/%amount%"
no-permission: "&c&l✘ 目前你无权接取该任务"
reward-item:
status:
get: "&e▶ &f 所有任务完成, 奖励待领取"
...
%min%
,%max%
,%now%/
,%amount%"
为变量
%reward-item%
为gui内完成所有任务领取奖励的设定
任务自动接取设置
文件路径: ./plugins/PokeTaskPlugin/config.yml
default-quests:
- "Test"
写入NORMAL
类型任务的编号,该任务将会自动接取, 注意 --> 此处设置只会对NORMAL
类型任务生效。 类型为 Day
和 Week
的任务, 不用设置, 进服就会自动接取
任务完成获取奖励设置
文件路径: ./plugins/PokeTaskPlugin/config.yml
# 自动领取
auto-get: true
存储设置
文件路径: ./plugins/PokeTaskPlugin/config.yml
save-option:
type: YAML
# MySQL的URL,例如jdbc:mysql://127.0.0.1/minecraft 格式:jdbc:mysql://MySQL地址/数据库名
url: jdbc:mysql://localhost/minecraft
# 数据库用户名
user: "root"
# 数据库密码
password: "root"
# 数据库读取超时打开数据锁时长, 2 = 1秒
time-out: 120
# 登录数据加载提示
pull-message: true
常见问题
1. 为什么我添加了任务后,任务栏界面不显示?
1.检查你的任务界面的 任务编号
设置是否正确, 如果都正确设置了, 请使用 /ptp add
命令, 来将quest.yml
中所有DAY
和WEEK
类型的任务存放进玩家数据, 这个命令并不会重置玩家其他任务进度. 如果想刷新玩家任务进度的话, 请执行 /ptp rd
或者 /ptp rw
来刷新, 如果不想使用,那么需要等到相关任务的刷新时间, 等待自动刷新即可
2.此外, 假如你的 quest.yml
设置了 5
个 DAY
类型的任务中, 但是在 random-count
中设置每日重置 DAY
类型的任务的数量为 3
, 那么在任务界面中只会显示重置过的任务.
2. condition 都可以设置成什么?
击败指定精灵, 则写精灵名, 采摘树果, 则写颜色名, 采摘浆果, 则写浆果名, 击败训练师, 则写训练师的名字, 抛出精灵球则可以写精灵球的名字, 如果不知道要填写什么, 请前往 config.yml
设置debug: true
来打开 debug 模式, 进行相关操作, 后台会出现一些提示, 例如击败精灵, 则会显示击败的精灵的名字 采摘树果则显示树果颜色... 等等内容... 可以自行测试