跳到主要内容

收集奖励

玩家在 /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: 下,可以任意组合:

字段说明
moneyVault 金币
pointsPlayerPoints 点券
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% 变量返回玩家当前可领取的奖励数量,适合放在计分板上提醒玩家。