收集奖励
玩家在 /clt rewards(或主菜单的「收集奖励」)里领取。每个奖励每人只能领一次。
奖励写在 plugins/CloudTitle/rewards.yml,修改后 /clt reload。
rewards.yml
rewards:
collector-5:
name: '&6声名远扬'
icon: DIAMOND
required: 5 # 拥有 5 个称号
lore:
- '&7拥有任意 5 个称号'
reward:
money: 5000
points: 20
broadcast: '&6✦ &e{player} &6收集了 5 个称号,获得奖励 {reward}'
order: 3
vip-collector:
name: '&e会员收藏家'
icon: GOLD_BLOCK
required: 3
category: vip # 只统计「会员称号」分类
reward:
title: vip-gold # 奖励一个称号
title-duration: 30d
starter-set:
name: '&b新手套装'
icon: NETHER_STAR
titles: [example, vip] # 必须集齐这两个称号
reward:
commands:
- 'console: give {player} minecraft:experience_bottle 16'
display: # 用指令发奖时,自己写奖励说明
- '&8▪ &f经验瓶 &7×16'
条件
| 字段 | 说明 |
|---|---|
required | 需要拥有的称号数量 |
category | 只统计某个分类的称号;不写 = 全部称号 |
titles | 必须集齐这些称号(写了就不看 required),菜单里逐个显示 ✔ / ✘ |
permission | 需要此权限才能领取,留空 = 所有人 |
计数只算 titles/*.yml 里的称号;玩家自定义称号与已过期的称号不计入。
奖励
写在 reward: 下,可以任意组合:
| 字段 | 说明 |
|---|---|
money | Vault 金币 |
points | PlayerPoints 点券 |
items | 原版物品,如 ['DIAMOND*3', 'GOLDEN_APPLE*2'](其他插件的物品请用 commands) |
title / title-duration | 奖励一个称号与时长(默认永久) |
commands | 'console: …'(后台,默认)或 'player: …'(玩家自己执行),{player} = 玩家名 |
message | 领取后发给玩家的消息,留空用 messages.yml 的 reward-claimed |
broadcast | 全服公告,{player} 玩家名、{reward} 奖励名 |
菜单里的奖励说明默认根据金币 / 点券 / 物品 / 称号自动生成;用 commands 发奖时建议写 display:。
菜单
menus/rewards.yml 的奖励物品有四种状态:lore-ready(可领取,带附魔光效)、lore-locked(未达成)、lore-claimed(已领取)、lore-no-permission。
可用变量:{progress} 进度条、{have} / {need} 进度数字、{rewards} 奖励内容、{titles} 需要集齐的称号、{category} 统计的分类。
底部的「一键领取」会领取所有已达 成的奖励。进度条样式在 config.yml 的 menu.progress-bar 修改。
多服与安全
领取时先写入数据库,再发放奖励。多个分流共用 MySQL 时,同一个奖励即使在两台服务器上同时点击,也只会成功一次。
管理员可以用 /clt resetrewards <玩家> [奖励ID] 重置领取记录(不写奖励 ID = 全部),例如活动重开时。
%clt_rewards% 变量返回玩家当前可领取的奖励数量,适合放在计分板上提醒玩家。