ZPokeTaskPapi 插件使用说明
Pixelmon 服务器玩家计数/任务自定义进度系统
支持任意条件表达式、多事件类型,适配高性能跨服任务统计。
一、命令总览
/zpoketaskpapi list
/zpoketaskpapi value <计数器名>
/zpoketaskpapi all # 管理员
/zpoketaskpapi reload # 管理员
/zpoketaskpapi addCounter <玩家> <计数器名> [初始值] # 给玩家添加计数器
/zpoketaskpapi removeCounter <玩家> <计数器名> # 移除玩家指定计数器
/zpoketaskpapi addValue <玩家> <计数器名> <值> # 增加玩家指定计数器的值
/zpoketaskpapi reduceValue <玩家> <计数器名> <值> # 减少玩家指定计数器的值
/zpoketaskpapi setValue <玩家> <计数器名> <值> # 设置玩家指定计数器的值
/zpoketaskpapi removeAllPlayerCounter <计数器名> # 移除所有玩家的指定计数器
/zpoketaskpapi setAllPlayerCounter <计数器名> <值> # 设置所有玩家的指定计数器(不存在则新增)
/zpoketaskpapi debug # 玩家进入Debug模式,触发条件不通过时输出变量解析
命令简写说明
addValue/reduceValue/setValue 可省略“玩家名”参数(默认对自己操作)。
二、计数器配置说明
配置文件位于 plugins/ZPokeTaskPapi/counters/,支持多文件与子目录管理。
#计数器名称
捕捉阿勃梭鲁计数器:
#事件类型
type: "capture"
#条件表达式(不需要条件就改成conditions: [])
conditions:
- "%pokemon_name% === 'Absol'"
#该计数器最高计数数量(填-1则无上限)
max-count: 10
#每次触发事件,增加多少数值,支持使用变量进行公式计算
value: "1"
字段说明
| 字段 | 作用 | 示例 |
| type | 事件类型 | capture、beat、trade 等(详见下方事件表) |
| conditions | 计数触发条件(JS表达式) | '%pokemon_name%' === 'Pikachu' |
| max-count | 最大计数上限(-1为不限制) | 10、-1 |
| value | 每次计数增加值(可用表达式和变量) | "1"、"%pokemon_level% * 0.5 + 2" |
表达式与变量用法
- 所有
conditions 为 JavaScript 语法,变量用 %变量名%,可直接参与数学/逻辑运算。
- 字符串比较请加单引号:如
%pokemon_name% === 'Pikachu'
- 支持多变量嵌套和数学表达式。
三、事件类型与专属变量
1. 捕捉野生精灵 (capture)
2. 捕捉巢穴精灵 (capture-raid)
可用变量:所有宝可梦变量 + %pokemon_caught_ball%
3. 赢了野生精灵 (beat-wild) / 输给野生精灵 (lost-wild)
可用变量:所有宝可梦变量 + 所有实体变量
4. 赢了训练师 (beat-trainer) / 输给训练师 (lost-trainer)
可用变量:%trainer_name% + 所有实体变量
5. 进化前 (evolve-pre) / 进化后 (evolve-post)
可用变量:所有宝可梦变量 + 所有实体变量
6. 极巨化后 (dynamax-evolve-post) / Mega进化后 (mega-evolve-post)
可用变量:所有宝可梦变量 + 所有实体变量
7. 孵蛋 (hatch) / 繁殖 (breed)
可用变量:所有宝可梦变量
8. 经验获取 (exp-gain)
可用变量:所有宝可梦变量 + %gain_type%
9. 交易 (trade)
可用变量:所有宝可梦变量
10. 铁砧合成精灵球 (anvil-poke-ball)
可用变量:无
11. 神殿激活 (activate-shrine)
可用变量:%shrine_type%
12. 喂宝可梦糖果 (rare-candy)
可用变量:所有宝可梦变量 + 所有实体变量 + %candy_type%
13. 技能释放 (self-use-skill / target-use-skill)
可用变量:所有宝可梦变量 +
%attack_name% %attack_accuracy% %attack_cant_miss%
14. 树果种植 (berry-plant) / 树果浇水 (berry-water)
可用变量:
%berry_type%
%berry_pos_x%
%berry_pos_y%
%berry_pos_z%
15. 树果收获 (berry-pick)
可用变量:同上 +
%berry_stack_size%
16. 垂钓 (fishing-catch)
可用变量:无
17. 学习技能 (learn-move) / 遗忘技能 (forget-move)
可用变量:所有宝可梦变量
18. 升级事件 (level-up)
触发条件:宝可梦升级
可用变量:所有宝可梦变量 + %new_level% (新等级)
19. 骑乘宝可梦 (riding-pokemon)
触发条件:玩家骑乘宝可梦
可用变量:所有宝可梦变量 + 所有实体变量
20. 雪拉比祠堂 (ilex-shrine)
触发条件:玩家激活雪拉比祠堂
可用变量:所有宝可梦变量 + 所有实体变量 + %shrine_pos_x%、%shrine_pos_y%、%shrine_pos_z%(祠堂坐标)
21. 召唤阿尔宙斯 (play-flute-arceus)
触发条件:玩家吹奏召唤阿尔宙斯的笛子
可用变量:无特定变量
22. 放置项链 (time-space-place-chain)
触发条件:玩家放置时空项链
可用变量:无特定变量
23. 使用王冠 (bottle-cap)
触发条件:玩家使用王冠(银冠、金冠等)
可用变量:所有宝可梦变量 + 所有实体变量 + %bottle_cap_type% (王冠类型,如 SILVER、GOLD)
24. 采摘球果 (apricorn-pick)
触发条件:玩家采摘球果
可用变量:
%tree_pos_x%、%tree_pos_y%、%tree_pos_z%(采摘位置坐标)
%apricorn_type%(球果类型,见下表)
25. 给球果浇水 (apricorn-water)
触发条件:玩家给球果浇水
可用变量:
%tree_pos_x%、%tree_pos_y%、%tree_pos_z%(浇水位置坐标)
%apricorn_type%(球果类型,见下表)
球果类型变量说明
| 变量值 | 代表球果 |
| Black | 黑球果 |
| White | 白球果 |
| Pink | 粉球果 |
| Green | 绿球果 |
| Blue | 蓝球果 |
| Yellow | 黄球果 |
| Red | 红球果 |
%apricorn_type% 的值即为上表英文枚举之一(区分大小写)。
26. 掉落奖励箱物品 (loot-drop)
触发条件:玩家从奖励箱中掉落物品
可用变量:
%loot_pos_x%、%loot_pos_y%、%loot_pos_z%(奖励箱坐标)
%loot_type% (奖励箱类型,如 POKEBALL、ULTRABALL、MASTERBALL、BEASTBALL、SPECIAL)
%loot_item_name% (掉落物品类型名)
所有宝可梦变量
| 变量 | 说明 |
| %pokemon_name% | 精灵英文名 |
| %pokemon_display_name% | 精灵中文显示名 |
| %pokemon_gender% | 性别 |
| %pokemon_growth% | 体型 |
| %pokemon_form% | 形态ID |
| %pokemon_breedable% | 是否可繁殖 |
| %pokemon_nature% | 性格 |
| %pokemon_textures% | 自定义贴图名 |
| %pokemon_level% | 等级 |
| %pokemon_isLegendary% | 是否神兽 |
| %pokemon_isShiny% | 是否闪光 |
| %pokemon_type_1% | 主属性 |
| %pokemon_type_2% | 副属性 |
| %pokemon_ability% | 特性名称 |
| %pokemon_ivs_percent% | IV百分比 |
| %pokemon_ivs_attack% | 攻击IV |
| %pokemon_ivs_speed% | 速度IV |
| %pokemon_ivs_specialAttack% | 特攻IV |
| %pokemon_ivs_specialDefence% | 特防IV |
| %pokemon_ivs_defence% | 防御IV |
| %pokemon_ivs_hp% | 体力IV |
| %pokemon_evs_attack% | 攻击EV |
| %pokemon_evs_speed% | 速度EV |
| %pokemon_evs_specialAttack% | 特攻EV |
| %pokemon_evs_specialDefence% | 特防EV |
| %pokemon_evs_defence% | 防御EV |
| %pokemon_evs_hp% | 体力EV |
| %pokemon_stats% | 六项能力总和 |
| %pokemon_stats_hp% | HP能力值 |
| %pokemon_stats_attack% | 攻击能力值 |
| %pokemon_stats_speed% | 速度能力值 |
| %pokemon_stats_specialAttack% | 特攻能力值 |
| %pokemon_stats_specialDefence% | 特防能力值 |
| %pokemon_stats_defence% | 防御能力值 |
| %pokemon_ivs_total% | IV总和 |
| %pokemon_evs_total% | EV总和 |
| %pokemon_hasFlag_xxx% | 宝可梦是否有xxx这个flag |
所有实体变量
| 变量 | 说明 |
| %entity_name% | 实体名称 |
| %entity_type% | 实体类型 |
| %entity_custom_name% | 自定义名 |
| %entity_world_time% | 世界时间 |
| %entity_time_of_day% | 时间段(morning/day/evening/night/midnight) |
| %entity_location_x% | X坐标 |
| %entity_location_y% | Y坐标 |
| %entity_location_z% | Z坐标 |
| %entity_location_yaw% | Yaw朝向 |
| %entity_location_pitch% | Pitch朝向 |
| %entity_location_world% | 世界名 |
| %entity_world_weather% | 天气名(Thunder/Rain/Sun/Unknown) |
| %apricorn_type% |
球果类型(Black, White, Pink, Green, Blue, Yellow, Red) |
apricorn-pick, apricorn-water |
| %tree_pos_x% | 球果/采摘/浇水X坐标 | apricorn-pick, apricorn-water |
| %tree_pos_y% | 球果/采摘/浇水Y坐标 | apricorn-pick, apricorn-water |
| %tree_pos_z% | 球果/采摘/浇水Z坐标 | apricorn-pick, apricorn-water |
特殊变量
| 变量 | 说明 | 事件 |
| %pokemon_caught_ball% | 捕获精灵球类型 | capture, capture-raid |
| %trainer_name% | 训练师名字 | beat-trainer, lost-trainer |
| %gain_type% | 经验类型 | exp-gain |
| %shrine_type% | 神殿类型 | activate-shrine |
| %candy_type% | 糖果类型 | rare-candy |
| %attack_name% | 技能名称 | self-use-skill, target-use-skill |
| %attack_accuracy% | 技能命中率 | self-use-skill, target-use-skill |
| %attack_cant_miss% | 是否必中 | self-use-skill, target-use-skill |
| %berry_type% | 树果类型 | berry-plant, berry-water, berry-pick |
| %berry_pos_x% | 树果X坐标 | berry-plant, berry-water, berry-pick |
| %berry_pos_y% | 树果Y坐标 | berry-plant, berry-water, berry-pick |
| %berry_pos_z% | 树果Z坐标 | berry-plant, berry-water, berry-pick |
| %berry_stack_size% | 树果采集数量 | berry-pick |
| %bottle_cap_type% | 王冠类型(如 SILVER、GOLD) | bottle-cap |
| %tree_pos_x% | 球果/采摘/浇水X坐标 | apricorn-pick, apricorn-water |
| %tree_pos_y% | 球果/采摘/浇水Y坐标 | apricorn-pick, apricorn-water |
| %tree_pos_z% | 球果/采摘/浇水Z坐标 | apricorn-pick, apricorn-water |
| %loot_pos_x% | 奖励箱X坐标 | loot-drop |
| %loot_pos_y% | 奖励箱Y坐标 | loot-drop |
| %loot_pos_z% | 奖励箱Z坐标 | loot-drop |
| %loot_type% | 奖励箱类型(如 POKEBALL、ULTRABALL 等) | loot-drop |
| %loot_item_name% | 掉落物品类型名 | loot-drop |
四、PlaceholderAPI 变量
支持通过 PAPI 显示玩家任务进度:
| 变量 | 功能 | 示例 |
%zpoketaskpapi_value_计数器名% |
获取当前玩家某计数器进度 |
%zpoketaskpapi_value_闪光捕捉% |
%zpoketaskpapi_total% |
玩家所有计数器的进度总和 |
|
%zpoketaskpapi_list% |
返回所有计数器和当前值列表(格式:name:value, ...) |
|
%zpoketaskpapi_has_计数器名% |
是否拥有该计数器(true/false) |
%zpoketaskpapi_has_闪光捕捉% |
%zpoketaskpapi_max_计数器名% |
计数器最大值(-1为无限制) |
%zpoketaskpapi_max_闪光捕捉% |
详细变量请见源码 ConditionParser#setPlaceholderPokemon、setPlaceholderEntity。
五、Debug 模式
- 管理员/玩家可执行
/zpoketaskpapi debug 命令开启。
- 若条件不通过,插件会在游戏内反馈未通过的表达式和变量解析结果,辅助排查条件。
六、常用示例
捕捉闪光宝可梦:
type: "capture"
conditions:
- "%pokemon_isShiny% === 'true'"
max-count: -1
value: "1"
击杀50级以上神兽点数:
type: "beat-wild"
conditions:
- "%pokemon_isLegendary% === 'true'"
- "%pokemon_level% >= 50"
max-count: -1
value: "%pokemon_level% * 0.3 + 5"
交易获得超高IV宝可梦:
type: "trade"
conditions:
- "%pokemon_ivs_percent% >= 90"
max-count: 30
value: "1"
七、问题反馈
- 如需定制更多事件变量或有兼容性建议,请联系插件开发者。