Skip to content

物品配置

物品配置文件 items.yml 用于存储物品模板,可在商店配置中引用。

配置位置

plugins/AIOShop/items.yml

配置说明

物品数据使用 XItemStack 序列化格式存储,由插件自动管理。

yaml
# 物品配置文件 - 使用 XItemStack 序列化格式
# 此文件现在由服务器自动生成和管理

物品ID:
  # XItemStack 序列化的物品数据
  material: DIAMOND_SWORD
  display-name: "&b&l神剑"
  lore:
    - "&7一把神秘的剑"
  enchants:
    SHARPNESS: 5
  # ...

添加物品模板

方法一:游戏内命令

最推荐的方式,可以保留物品的所有属性:

bash
# 手持物品执行
/asitem add <物品ID>

# 示例
/asitem add my_sword

方法二:手动编辑

直接编辑 items.yml,使用 Bukkit 物品格式:

yaml
basic_sword:
  material: IRON_SWORD
  display-name: "&7铁剑"
  lore:
    - "&7一把普通的铁剑"

enchanted_pickaxe:
  material: DIAMOND_PICKAXE
  display-name: "&b效率镐"
  enchants:
    EFFICIENCY: 5
    UNBREAKING: 3

管理命令

命令说明
/asitem add <ID>将手中物品添加为模板
/asitem remove <ID>删除物品模板
/asitem get <ID>获取物品模板
/asitem list列出所有物品模板
/asitem info <ID>查看物品模板详情
/asitem reload重载物品配置

在商店中使用

引用物品模板

yaml
# shops/my-shop.yml
items:
  sword_sale:
    item-id: "my_sword"  # 引用 items.yml 中的物品
    display-name: "&b神剑特卖"
    buy-price:
      amount: 1000
      currency: "VAULT"
    buy-rewards:
      self:
        type: "ITEM"
        item: "my_sword"  # 购买时给予这个物品
        amount: 1

直接使用 Minecraft 物品

也可以不使用模板,直接使用 Minecraft 原版物品:

yaml
items:
  diamond:
    item-id: "diamond"  # 原版物品 ID
    buy-price:
      amount: 100
      currency: "VAULT"
    buy-rewards:
      self:
        type: "ITEM"
        item: "diamond"
        amount: 1

物品匹配

出售物品时,需要配置物品匹配器:

yaml
sell-item-matcher:
  # 基础材质匹配
  material: "diamond_sword"

  # 名称匹配(可选)
  display-name: "神剑"
  nameContains: "神"

  # Lore 匹配(可选)
  loreContains: "神秘"

  # NBT 匹配(可选)
  nbt-contains:
    - key: "custom.id"
      value: "my_sword"

NeigeItems 集成

如果安装了 NeigeItems 插件,可以使用其物品:

yaml
items:
  neige_sword:
    neige-item-id: "mythic_sword"  # NeigeItems 物品 ID
    item-id: "diamond_sword"        # 备用(未安装 NeigeItems 时使用)
    display-name: "&6传说之剑"
    buy-price:
      amount: 5000
      currency: "VAULT"
    buy-rewards:
      give_neige:
        type: "COMMAND"
        commands:
          - "ni give {player} mythic_sword 1"

最佳实践

  1. 使用游戏内命令:添加复杂物品时,使用 /asitem add 可以完整保留物品属性
  2. 合理命名:使用有意义的物品 ID,如 vip_swordevent_apple
  3. 备份配置:修改前备份 items.yml
  4. 测试验证:添加物品后使用 /asitem get 验证

基于 CC0 1.0 许可发布