跳到主要内容

商店与获取方式

玩家可以通过以下方式获得称号,每个称号可以任选其中几种:

方式说明
称号商店/clt shop 用金币、点券、物品购买
称号卡右键使用获得称号,可作为活动奖励、礼包、交易物品
随机称号卡右键从卡池里随机获得一个称号(盲盒)
收集奖励收集够数量后领取的奖励里可以包含称号
自定义称号玩家付费定制专属的文字称号
管理员 / 活动发放/clt give,或由其他插件执行指令、调用 API

所有获得、续期、收回与到期都会记入操作日志。

商店​

在称号配置中加入 shop: 即可上架:

titles/my.yml
star:
name: '&e星辰'
shop:
enabled: true
duration: 30d # 购买获得的时长;permanent = 永久
money: 5000 # Vault 金币
points: 100 # PlayerPoints 点券
items: # 物品(空格后面是显示名称)
- 'DIAMOND*5 钻石'
- 'mmoitems:MATERIAL:RUBY*3 红宝石'
permission: '' # 需要该权限才能购买,留空 = 所有人
  • money、points、items 写了的都要付,可以只写其中一种,也可以组合。都不写 = 免费领取。
  • 缺一样就什么都不扣:金币、点券、物品任何一项不够,会列出还缺多少,其余也不会被扣除。
  • 点击称号后会提示「再次点击确认购买」,在 menus/shop.yml 的 confirm-seconds(默认 5 秒)内再点一次才会购买,防止误触。
  • 已永久拥有的称号不能重复购买;拥有限时版本时再次购买会续期(在原到期时间上累加),购买永久版则升级为永久。

物品写法​

写法物品
DIAMOND*5原版物品 × 5
mmoitems:类型:ID*3MMOItems 物品,例如 mmoitems:MATERIAL:RUBY*3
ia:命名空间:ID*2ItemsAdder 物品
ce:命名空间:IDCraftEngine 物品
nexo:IDNexo 物品
  • 不写 *数量 时为 1。
  • 在后面加空格和名称,会作为价格里显示的名字:'DIAMOND*5 钻石'。
  • 原版物品只接受「普通」物品:改过名字、带说明或自定义模型的钻石不会被当成价格扣掉,避免玩家珍藏的特殊物品被误收。

获取方式说明​

不在商店出售的称号(活动、会员、比赛奖励……),可以写 obtain: 告诉玩家怎么获得:

vip:
name: '&6VIP'
obtain: '&6开通 VIP 会员 / 活动称号卡'

它会显示在称号仓库里未拥有的称号上(仓库 lore 中的 {obtain})。没写 obtain: 但在商店出售的称号,会自动显示「称号商店购买」。

称号卡​

称号卡是一个物品,右键使用即可获得对应称号:

/clt card <玩家> <称号ID> [时长|default] [数量]
/clt card Steve vip 7d 3 # 给 Steve 3 张「7 天 VIP」称号卡
/clt card Steve vip # 使用称号配置里的默认时长
titles/my.yml
vip:
card:
enabled: true # false = 该称号的卡片停用(已发出的卡无法使用)
duration: 7d # 指令没写时长时使用
material: PAPER # 以下三项不写则使用 config.yml 的 card 设置
custom-model-data: 0
item-model: ''
  • 已永久拥有该称号时,称号卡不会被消耗。
  • 限时称号卡可以叠加:用两张 7 天卡 = 14 天。
  • 卡片外观(名称、说明)在 config.yml 的 card: 中设置,支持 {preview} 称号图、{lore}、{stats}、{time}。
  • 卡片会自动更新:修改称号名称或说明后 /clt reload,玩家背包里已有的卡片会同步更新成新样式。

随机称号卡​

在 config.yml 的 card.random 里定义卡池:

config.yml
card:
random:
starter:
name: '&d随机称号卡 &8· &f新手盲盒'
material: PAPER
lore:
- '&7右键随机获得以下称号之一:'
- '{pool}' # 自动列出卡池里的称号与概率
- ''
- '&7时长:&e{time}'
titles: # 称号 ID: 权重(越大越容易抽到)
example: 10
vip: 1
# category: event # 或者:抽取某个分类的全部称号(权重相同)
duration: 7d
skip-owned: true # 只抽还没永久拥有的
/clt card Steve random:starter # 使用卡池的时长
/clt card Steve random:starter 30d 5 # 5 张「30 天」随机卡
  • skip-owned: true 时,卡池里的称号都已永久拥有,卡片不会被消耗。
  • 卡片说明里的 {pool} 会显示每个称号与概率(如 云称号 (90.9%)),修改卡池后 /clt reload,背包里的卡也会同步更新。

获得提示​

无论从哪里获得称号(管理员、商店、称号卡、奖励、API),都会按 config.yml 的 notify 提示:

config.yml
notify:
auto-equip: false # false / true(总是换上新称号)/ if-none(只在没佩戴称号时)
title: '&6✦ 获得新称号 ✦'
subtitle: '{title}' # {title} = 称号本身(图片 / 文字),{title_small} 小图,{name} 称号名
actionbar: ''
sound: 'ENTITY_PLAYER_LEVELUP:0.8:1.2'
broadcast: '' # 全服公告,留空不公告
commands: [] # 后台指令,{player} {id} {name} {time};玩家离线也会执行
on-extend: false # 续期时是否也提示

每个称号也可以单独设置,写了的项目覆盖上面的设置,例如稀有称号才全服公告:

titles/my.yml
legend:
notify:
broadcast: '&6✦ &e{player} &6获得了稀有称号 {title_small}'
commands:
- 'lp user {player} permission set server.legend true'

从 PlayerTitle 导入的拥有记录不会触发提示。

活动与指令发放​

/clt give <玩家> <称号ID> [时长]
/clt give Steve star 7d # 7 天
/clt give Steve star # 永久
  • 玩家不在线也可以发放(需要曾经进入过服务器)。
  • 其他插件(活动、任务、抽奖)可以直接执行这条指令,或使用 API。

限时称号​

时长格式:30s、10m、12h、7d、2w,可组合:1d12h。permanent / 永久 表示永久。

  • 到期后自动收回,正在佩戴时会自动卸下,并提示玩家「你的称号已到期」。
  • 剩余时间显示在仓库中,也可用变量 %clt_expire_<称号ID>% 显示。
  • 重复获得同一限时称号会在原到期时间上累加;获得永久版则直接变为永久。