商店配置
详细了解商店配置文件的所有选项
基础结构
每个商店配置文件放在 plugins/AIOShop/shops/ 目录下,文件名即为商店 ID。
# 商店显示名称(支持颜色代码)
display-name: "&a&l我的商店"
# 商店描述(在商店列表中显示)
description:
- "&7商店描述第一行"
- "&7商店描述第二行"
# 使用的 GUI 模板
gui-template: "general-store"
# 商品列表
items:
item_id:
# 商品配置...
商品配置
每个商品在 items 下定义,键名为商品 ID。
完整商品配置示例
items:
diamond_sword:
# 物品 ID(Minecraft 物品名或插件自定义物品 ID)
item-id: "diamond_sword"
# 显示名称
display-name: "&b&l钻石剑"
# 描述信息
description:
- "&7锋利的钻石剑"
- "&7攻击力 +7"
# 购买价格
buy-price:
amount: 500.0
currency: "VAULT"
# 购买后给予的奖励
buy-rewards:
self:
type: "ITEM"
item: "diamond_sword"
amount: 1
# 出售物品匹配规则
sell-item-matcher:
material: "diamond_sword"
# 出售后给予的奖励
sell-rewards:
main:
type: "CURRENCY"
amount: 250.0
currencyType: "VAULT"
# 限购类型
limit-type: "PERSONAL_DAILY"
limit-amount: 5
# 是否启用
enabled: true
物品来源
item-id 支持多种物品来源:
| 类型 | 格式 | 示例 |
|---|---|---|
| Minecraft 原版物品 | 物品名称 | diamond |
| AIOShop 物品库 | 物品 ID | custom_sword |
| NeigeItems | 物品 ID | ni:legendary_bow |
使用
/asitem add <ID> 可以将手中物品保存到插件物品库,然后在商店中引用。奖励类型
buy-rewards 和 sell-rewards 支持多种奖励类型:
物品奖励
buy-rewards:
self:
type: "ITEM"
item: "diamond"
amount: 1
货币奖励
sell-rewards:
main:
type: "CURRENCY"
amount: 100.0
currencyType: "VAULT"
经验奖励
buy-rewards:
bonus_exp:
type: "EXPERIENCE"
amount: 50
isLevel: false # false=经验点,true=经验等级
命令奖励
buy-rewards:
special:
type: "COMMAND"
commands:
- "broadcast {player} 购买了稀有物品!"
- "give {player} minecraft:firework_rocket 1"
命令中可用的占位符:
{player} - 玩家名,{amount} - 购买/出售数量物品匹配规则
sell-item-matcher 定义出售时如何匹配玩家背包中的物品:
按材料匹配
sell-item-matcher:
material: "diamond"
按物品 ID 匹配
sell-item-matcher:
item-id: "custom_diamond"
精确匹配(包含 NBT)
sell-item-matcher:
item-id: "enchanted_sword"
strict: true
仅购买/仅出售商品
仅购买(不可出售)
items:
buy_only_item:
item-id: "beacon"
display-name: "&e信标"
buy-price:
amount: 1000.0
currency: "VAULT"
buy-rewards:
self:
type: "ITEM"
item: "beacon"
amount: 1
# 不配置 sell-item-matcher 和 sell-rewards
enabled: true
仅出售(不可购买)
items:
sell_only_item:
item-id: "rotten_flesh"
display-name: "&c腐肉"
# buy-price 设为 null 或不配置
buy-price: null
sell-item-matcher:
material: "rotten_flesh"
sell-rewards:
main:
type: "CURRENCY"
amount: 1.0
currencyType: "VAULT"
enabled: true