跳到主要内容

轮换商店

轮换商店每到一个周期,就从商品池按权重随机抽几件,放到指定的轮换格。适合每日特惠、每周限定、黑市商人。

每日特惠:轮换商品 + 限时特卖

设定​

shops/daily.yml
title: '&8每日特惠'
icon:
material: CLOCK
name: '&e每日特惠'
type: rotating # 轮换商店
rotation:
period: daily 04:00 # 每天 04:00 换一批
slots: [11, 12, 13, 14, 15] # 轮换格:抽几件 = 有几格
per-player: false # true = 每位玩家抽到的不一样
rows: 3
items:
# 没有 slot 的商品 = 商品池
golden_apple:
item: GOLDEN_APPLE
buy: 300
weight: 10 # 权重:越大越容易抽到(默认 10)
limit:
buy: {amount: 3, reset: 'daily 04:00'}
elytra:
item: ELYTRA
buy: [20000 money, 200 points]
weight: 1 # 稀有
stock: {amount: 3, restock: 'daily 04:00'}
# 有 slot 的商品固定不动,每天都在
name_tag:
slot: 22
item: NAME_TAG
buy: 120
键默认说明
typenormal写 rotating(或 轮换)才会轮换
rotation.perioddaily轮换周期,写法同 重置周期:daily 04:00、weekly MONDAY、6h、30m……
rotation.slots轮换格位置(只在第 1 页);有几格就抽几件
rotation.per-playerfalsetrue = 每位玩家抽到的商品各自不同
商品的 weight10抽中权重。权重 10 的商品被抽中的机会是权重 1 的 10 倍

规则​

  • 商品池 = 这个商店里没有 slot 的商品;有 slot 的商品是固定商品,一直都在。
  • 同一批里不会重复;商品池比轮换格少时,多出的格子显示「等待轮换」。
  • 固定商品也可以放在轮换格上:那一格保持固定商品,这一批只抽剩下空着的轮换格数量(1.0.1 起)。
  • 不在这一批里的商品不能买也不能卖(包括出售箱与一键卖出),点击会提示「这件商品已经轮换下架了」。
  • 商店底部的余额按钮会多一行「下次轮换:X小时Y分」;云界面的商店标题下方也会显示轮换倒数。
  • 限购的 reset 建议和轮换周期一样(例如都写 daily 04:00),换一批的同时重置限购。

所有子服抽到一样的​

每一批是用「商店 ID + 周期」当作随机种子抽出来的:

  • 同一个周期里,每个子服、每次重启、每次 /cs reload 抽到的都一样,不需要存任何资料、不需要定时器。
  • per-player: true 时种子再加上玩家 UUID,每个人一批,但同一个人在任何子服看到的都一样。
  • 修改商品池(新增、删除、改权重)或轮换格后,这一期会照新的商品池重新抽。

在管理介面设定​

游戏内管理介面 的商店设定:

  • 点「类型」切换一般 / 轮换(切到轮换时默认 daily、轮换格 10 – 16)。
  • 「轮换设定」左键改周期、右键改轮换格(聊天栏输入 10,11,12,13,14,15,16)、Shift+点击切换每位玩家不同。
  • 编辑画面里青色玻璃板是轮换格;左下角的时钟「轮换商品池」列出没有格子的商品,拿着物品点「加入商品池」就能新增,点商品可以改权重。

%cloudshop_rotation_<商店>% 显示距离下次轮换的时间,见 变量。