公会商店
成员用自己的 贡献 兑换物品或奖励。商品写在 plugins/CloudGuild/shop.yml,玩家用 /cg shop 或主页的「公会商店」购买,需要 shop 职位权限(默认所有职位都有)。
写法
items:
golden-apple:
item: GOLDEN_APPLE
amount: 4
price: 50
limit: 5
period: daily
elytra:
item: ELYTRA
name: '&d公會翅膀'
lore: ['&7只有公會等級 8 以上才能兌換']
amount: 1
price: 20000
min-level: 8
limit: 1
period: forever
| 键 | 默认 | 说明 |
|---|---|---|
商品 id(例如 golden-apple) | — | 商品代号,只能用英文、数字、-、_。限购次数按 id 记录 |
item | — | 材质,给出一个简单物品 |
stack | — | 完整物品资料(由 /cg admin shop add 写入,不用手写)。有 stack 时优先使用 |
amount | 1 | 数量(1 ~ 64),只对 item 有效 |
name / lore | 无 | 物品的名称与说明,只对 item 有效;name 也会用在菜单与购买提示 |
commands | 无 | 购买后以控制台执行的指令,{player} = 玩家名。可以只有指令、没有物品 |
price | 0 | 价格(贡献) |
min-level | 1 | 公会至少几级才能购买 |
limit | 0 | 每位玩家每个周期最多买几次;0 = 不限 |
period | forever | 限购周期:daily 每天 / weekly 每周(周一开始)/ monthly 每月 / forever 永久 |
item 写错材质、或既没有物品也没有指令的商品会被跳过(控制台警告)。
只给指令的商品例子:
items:
fly-1h:
name: '&b飛行 1 小時'
commands: ['lp user {player} permission settemp essentials.fly true 1h']
price: 500
limit: 1
period: daily
手拿物品直接上架
自定义物品(附魔、名称、模型、其他插件的物品数据)手写很麻烦,可以直接拿在主手上架:
/cg admin shop add <id> <价格> [限购次数] [daily|weekly|monthly|forever] [公会等级]
/cg admin shop remove <id>
- 主手的物品会原样保存(整组,数量就是手上的数量)进
shop.yml的stack,并立即重新载入商店。 - 限购次数不写 =
0(不限);周期不写或写错 =forever;公会等级不写 =1。 - 同一个 id 已经存在时会被覆盖。
- 只能由玩家执行(要拿物品);
remove控制台也可以。
例子:
/cg admin shop add dragon-sword 5000 1 weekly 5
/cg admin shop remove dragon-sword
购买的规则
- 扣贡献与限购次数在同一个数据库事务里:贡献不够、或本期已经买满,整笔还原,不会只扣贡献没给东西。
- 物品放进背包,放不下的掉在脚下。
- 扣款成功后、发放之前玩家刚好下线:贡献与限购次数会退回。
- 公会等级不够时,商品显示为
locked;本期买满时显示为soldout,见 菜单。 - 限购按玩家计算(不是按公会),换公会也不会重置。
改完 shop.yml 执行 /cg admin reload 生效(/cg admin shop add / remove 会自动重新载入)。
贡献从哪里来
存钱、签到、在线、任务奖励、公会战击杀,见 银行、签到与活跃。商店菜单上方显示自己的贡献、本周贡献与累积贡献。