Skip to content

读取相关

本篇详细介绍读取相关内容

工作原理

在装备(物品)上读取 Lore 和 NBT,然后从 Lore 和 NBT 中加载属性值和条件,使用 NBT 时,可以自由选择两种读取格式

可在 read.yml 中修改一些基本的配置

YAML
options:
  # 1️⃣ 是否检测 lore
  parse lore: true
  # 2️⃣ 是否检测 nbt
  parse nbt: true
  # 3️⃣ nbt 设置
  nbt:
    # 是否开启 COMPOUND 格式的支持
    compound format: true
    # 是否开启 LIST 格式的支持
    list format: true
    # 检测 nbt 使用的标签
    tag:
      - CraneAttribute
      - 属性
  # 4️⃣ 拒绝提供属性检测的字符串
  refuse attribute string:
    - 此物品不提供属性
  # 5️⃣ 过滤符
  # 在高版本使用 §x 貌似也会正常显示成 &x,可以改成正常符号,或使用生僻字然后使用材质包等手段取消显示
  filter char:
    # 无视含有 {cancel} 的字符串
    cancel: "§-"
    # 只取字符串 {left} 的左边
    left: "§|"
    # 只取字符串 {right} 的右边
    right: "§>"
    # 通过 {spilt} 分割字符串
    spilt: "§/"

NBT 格式

YAML
  nbt:
    # 是否开启 COMPOUND 格式的支持
    compound format: true
    # 是否开启 LIST 格式的支持
    list format: true

若开启 COMPOUND, NBT 下的格式应该是键值对,如 物理攻击: 10物理攻击: "10-20"

若开启 LIST,NBT 下的格式也应该是一个 List,逻辑和在 Lore 上使用是一样的

COMPOUND LIST 同时开启,则都可以用

注意

已知问题: MythicMobs-4.11 无法配置 List 类型的 NBT,若使 NBT 还需使用第三方物品库

物品示例

YAML
测试武器:
  material: "IRON_SWORD"
  name: "§a魔王剑"
  lore:
    - "                        §d传说的"
    - "§f§m                                           §r"
    - "§c§l §7装备类型: §f主手"
    - "§c§l §7等级需求: §f100"
    - "§f§m                                           §r"
    - "§d§l §7测试脚本属性: §f+100(+11)"
    - "§d§l §7生命值: §f+111"
    - "§f§m                                           §r"
  nbt:
    CraneAttribute: # 此处使用的是 LIST
      - '测试脚本属性: 11'
YAML
# 包含一堆过滤符,后面会介绍
测试武器:
  material: "IRON_SWORD"
  name: "§a魔王剑"
  lore:
    - "                        §d传说的"
    - "§f§m                                           §r"
    - "§c§l §7装备类型: §f主手 §/§7等级需求: §f100"
    - "§f§m                                           §r"
    - "§d§l §7测试脚本属性: §f+100(+11) §/§7生命值: §f+111"
    - "§d§l §-§7测试脚本属性: §f+11"
    - "§d§l §7测试脚本属性: §f+10 §|§8测试脚本属性: +10"
    - "§d§l §7测试脚本属性: §f+10 §>§8测试脚本属性: +11"
    - "§f§m                                           §r"
  nbt:
    CraneAttribute: # 此处使用的是 LIST
      - '测试脚本属性: 11'