Skip to content

过滤符

处理字符串时,进行的过滤操作
所有读取组件都可以使用过滤符

配置

可在 read.yml 中修改过滤符
注意:spilt 中,字符越短,性能越好,但实际运行可能感受不到性能差异

YAML
options:
  # 5️⃣ 过滤符
  # 在高版本使用 §x 貌似也会正常显示成 &x,可以改成正常符号,或使用生僻字然后使用材质包等手段取消显示
  filter char:
    # 无视含有 {cancel} 的字符串
    cancel: §-
    # 只取字符串 {left} 的左边
    left: §|
    # 只取字符串 {right} 的右边
    right: §>
    # 通过 {spilt} 分割字符串
    spilt: §/
配置默认值描述
cancel§-包含它的不进行任何处理
left§|只处理它左边的内容
right§>只处理它右边的内容
spilt§/通过它分割处理

说明

拿之前的示例物品说明

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'
#读取时时,等同于以下物品
测试武器:
  material: "IRON_SWORD"
  name: "§a魔王剑"
  lore:
    - "§c§l §7装备类型: §f主手" #过滤 §/ 分割
    - "§c§l §7等级需求: §f100" #过滤 §/ 分割
    - "§d§l §7测试脚本属性: §f+100(+11)" #过滤 §/ 分割
    - "§d§l §7生命值: §f+111" #过滤 §/ 分割
    - "§d§l §7测试脚本属性: §f+10" #过滤 §| 取左边
    - "§d§l §8测试脚本属性: +11" #过滤 §> 取右边
    - "职业: 战士" # 来自 nbt
    - "测试脚本属性: 11" # 来自 nbt

映射读取同样适用

YAML
测试武器:
  material: "IRON_SWORD"
  name: "§a魔王剑"
  lore:
    - "§f这是一个红宝石§/§f这是一个红宝石§/§f这是一个红宝石§/§f这是一个红宝石"
#等同于
测试武器:
  material: "IRON_SWORD"
  name: "§a魔王剑"
  lore:
    - "§f这是一个红宝石"
    - "§f这是一个红宝石"
    - "§f这是一个红宝石"