商店文件
每个商店是 plugins/CloudShop/shops/ 里的一个 .yml 文件,文件名就是商店 ID(shops/blocks.yml → blocks)。
改完执行 /cs reload;用 游戏内管理介面 或 网页编辑器 改的会直接写进同一个文件。
完整范例
shops/blocks.yml
title: '&8建材商店' # 箱子标题,可用 {page} {pages}
icon: # 主菜单上的图示
material: BRICKS # 物品来源,写法同商品的 item(也可以写 ci:… / ce:…)
name: '&6建材商店'
lore:
- '&7各种常用方块'
rows: 6 # 1 – 6 行
order: 1 # 主菜单自动排列与云界面左侧列表的顺序(小的在前)
fill: GRAY_STAINED_GLASS_PANE # 空格底色(不写 = 不填)
hidden: false # true = 不出现在主菜单,只能用 /cs open、NPC 打开
permission: '' # 进入权限(留空 = 所有人)
servers: [] # 只在这些子服开放(留空 = 全部)
type: normal # normal 一般 / rotating 轮换
discount: 0 # 全店折扣,见「折扣与限时特卖」
items:
stone: # 商品 key(同一个商店里不能重复)
slot: 10
item: STONE
amount: 64
buy: 64
sell: 8
beacon:
slot: 25
item: BEACON
buy: [5000 money, 50 points]
limit:
buy:
amount: 1
reset: weekly
商店设定
| 键 | 默认 | 说明 |
|---|---|---|
title | 商店 ID | 箱子标题。支持颜色码、&#RRGGBB、MiniMessage;{page} / {pages} 显示目前页数 / 总页数 |
icon | CHEST | 主菜单与云界面的图示。可以只写物品(icon: BRICKS),或写成段落:material(物品来源,也可以写 item)、name、lore |
rows | 6 | 箱子行数 1 – 6。2 行以上时最后一行显示 底部按钮 |
order | 0 | 排序:主菜单自动排列(list-all-shops)、云界面左侧商店列表、网页编辑器都照这个顺序 |
fill | 不填 | 空格子填的玻璃板(或任何材质) |
hidden | false | 不出现在自动排列的主菜单与云界面列表;/cs <商店>、/cs open 仍可打开 |
permission | 留空 | 进入权限。没有权限的玩家看不到这个商店,也不能在这里买卖或回收;cloudshop.shop.* 可以进入全部 |
servers | 全部 | 子服名称列表(config.yml 的 server-id),只在这些子服开放;其他子服打开时提示「这个商店不在本服开放」,出售箱也不会用这个商店的回收价。写 '*' 或 all 也代表全部 |
type | normal | rotating(或 轮换)= 轮换商店,见 轮换商店 |
rotation | 轮换设定:period、slots、per-player,只在 type: rotating 时有效 | |
discount | 无 | 全店折扣,见 折扣与限时特卖 |
items | 商品清单,每个商品的字段见 商品与物品来源 |
格子与多页
slot从 0 开始数:第一行是 0 – 8,第二行 9 – 17……6 行的箱子最后一格是 53。- 超出行数的
slot会在/cs reload时警告。 - 要第二页,商品写
page: 2;总页数 = 商品里最大的page。2 行以上的商店最后一行会有上一页 / 下一页按钮。 - 底部一行也可以放商品:商品占用的格子优先,按钮会让位。
- 没有
slot(或slot: -1)的商品不会显示,只有轮换商店会把它们当成 商品池。
文件规则
- 文件可以放在
shops/的子文件夹里整理 ,商店 ID 仍然是文件名,所以不同文件夹也不能同名(重复的会略过并警告)。 - 文件名以
_开头的不会载入,可以用来暂时停用。 - 文件格式错误时只略过那一个商店,
/cs reload会列出警告:
[云商城] 已重新载入:5 个商店(1 个警告)
· blocks:商品 glass 的 slot 54 超出 6 行(0 – 53)
- 删除商店(管理介面或网页编辑器)时,文件会移到
backups/deleted/,不会直接消失。