Skip to content

PAPI 占位符

AchieveMaster 接上 PlaceholderAPI 以后,可以把成就总览、分类进度、任务队列、积分、奖励、排行榜和全局变量直接丢给计分板、菜单、全息、龙核和其他支持 PAPI 的插件。

它的前缀固定是:

text
%achievemaster_*%

启用方式

需要同时满足下面两点:

  1. 服务器已安装 PlaceholderAPI
  2. AchieveMaster 启动时检测到了它,并成功注册扩展

按当前实现,插件检测到 PlaceholderAPI 后会直接注册扩展,不需要额外手动执行扩展安装命令。

基础统计

占位符说明
%achievemaster_total%成就总数
%achievemaster_unlocked%已解锁数量
%achievemaster_locked%未解锁数量
%achievemaster_percentage%完成百分比
%achievemaster_core_build%当前核心描述解析构建号

最适合拿来做:

  • 玩家总成就面板
  • 首页总览
  • 任务中心入口

单个成就信息

格式:

text
%achievemaster_progress_<成就ID>%
%achievemaster_target_<成就ID>%
%achievemaster_unlocked_<成就ID>%
%achievemaster_name_<成就ID>%
%achievemaster_desc_<成就ID>%
%achievemaster_icon_<成就ID>%
%achievemaster_status_<成就ID>%
%achievemaster_percent_<成就ID>%
%achievemaster_flags_<成就ID>%
%achievemaster_unlock_time_<成就ID>%

几个使用要点:

  • status 返回 01
  • unlocked 返回 truefalse
  • desc 会把多行描述拼成一行文本
  • desc 里的 {flag:...}{obj:...} 描述占位符也会先被处理

分类信息

格式:

text
%achievemaster_category_<分类ID>_unlocked%
%achievemaster_category_<分类ID>_total%
%achievemaster_category_<分类ID>_name%
%achievemaster_category_<分类ID>_icon%
%achievemaster_category_<分类ID>_desc%
%achievemaster_category_<分类ID>_percent%

如果你要做整页分类列表,当前实现还提供一组批量变量,字段之间用 @ 连接:

text
%achievemaster_cat_count%
%achievemaster_cat_ids%
%achievemaster_cat_names%
%achievemaster_cat_icons%
%achievemaster_cat_descs%
%achievemaster_cat_orders%
%achievemaster_cat_totals%
%achievemaster_cat_unlocked%
%achievemaster_cat_percents%

这组更适合:

  • 龙核发包
  • 列表型 GUI
  • 前端面板

最近解锁统计

占位符说明
%achievemaster_stats_recent_id%最近解锁的成就 ID
%achievemaster_stats_recent_name%最近解锁的成就名称
%achievemaster_stats_recent_time%最近解锁时间戳

成就分与奖励

总分与分类分

占位符说明
%achievemaster_points%当前总成就分
%achievemaster_points_max%可获得的最大总分
%achievemaster_points_percentage%总分完成百分比
%achievemaster_claimable_rewards%当前可领取奖励数
%achievemaster_spendable_points%可消耗成就分

分类分格式:

text
%achievemaster_points_<分类ID>%
%achievemaster_points_<分类ID>_max%

奖励队列

占位符说明
%achievemaster_reward_count%奖励总数
%achievemaster_reward_claimable%可领取奖励数量
%achievemaster_reward_claimed%已领取奖励数量

单条奖励格式:

text
%achievemaster_reward_1_id%
%achievemaster_reward_1_name%
%achievemaster_reward_1_status%
%achievemaster_reward_1_required%

其中 status 返回:

  • 0:未达成
  • 1:可领取
  • 2:已领取

排行榜

占位符说明
%achievemaster_rank%玩家总榜排名
%achievemaster_rank_<分类ID>%玩家分类榜排名

总榜前 N 名:

text
%achievemaster_top_1_name%
%achievemaster_top_1_points%

分类榜前 N 名:

text
%achievemaster_top_combat_1_name%
%achievemaster_top_combat_1_points%

任务队列

按当前实现,任务列表会按“接取时间”排序。

占位符说明
%achievemaster_quest_count%已接取任务数量

单个任务格式:

text
%achievemaster_quest_1%
%achievemaster_quest_1_name%
%achievemaster_quest_1_desc%
%achievemaster_quest_1_complete_desc%
%achievemaster_quest_1_progress%
%achievemaster_quest_1_target%
%achievemaster_quest_1_percent%
%achievemaster_quest_1_status%
%achievemaster_quest_1_icon%
%achievemaster_quest_1_category%
%achievemaster_quest_1_points%

任务批量变量同样支持 @ 分隔:

text
%achievemaster_quest_ids%
%achievemaster_quest_names%
%achievemaster_quest_descs%
%achievemaster_quest_icons%
%achievemaster_quest_progress%
%achievemaster_quest_targets%
%achievemaster_quest_percents%
%achievemaster_quest_status%
%achievemaster_quest_categories%
%achievemaster_quest_points%

全局变量

这组占位符直接读脚本全局变量管理器:

占位符前缀说明
%achievemaster_pvar_<变量名>%玩家持久变量
%achievemaster_svar_<变量名>%全服持久变量
%achievemaster_tpvar_<变量名>%玩家临时变量
%achievemaster_tsvar_<变量名>%全服临时变量

适合:

  • 龙核界面
  • 跨页面状态同步
  • 展示自定义任务阶段
  • 显示自定义签到 / 连续完成状态

常见展示示例

总览面板:

text
总成就: %achievemaster_total%
已完成: %achievemaster_unlocked%
完成率: %achievemaster_percentage%%
总成就分: %achievemaster_points%

分类面板:

text
战斗分类: %achievemaster_category_combat_name%
分类进度: %achievemaster_category_combat_unlocked%/%achievemaster_category_combat_total%
分类完成率: %achievemaster_category_combat_percent%%

任务面板:

text
任务1: %achievemaster_quest_1_name%
进度: %achievemaster_quest_1_progress%/%achievemaster_quest_1_target%
状态: %achievemaster_quest_1_status%

排行榜:

text
第1名: %achievemaster_top_1_name%
分数: %achievemaster_top_1_points%
我的排名: %achievemaster_rank%

使用建议

  • 面板类展示优先用批量变量,比分别一条条拼更稳。
  • desc 更适合拿来显示完整说明,不适合再在外面继续做复杂文本截断。
  • unlock_time 返回的是时间戳,不是格式化日期,真要展示时间格式请交给外部插件处理。
  • 奖励、任务、排行榜这几组都依赖玩家上下文,别拿它们做“无玩家对象”的全服静态轮播。

下一步阅读

TQ Minecraft Server Plugin Docs