Yaml 语法学习

EcoX 系列插件全部使用 Yaml 文件储存,学习 Yaml 语法是一个必须课,在此我们简单的介绍一下。

Yaml 的基本语法格式是 键: 值(也就是 key: value),例如 raytrace-distance: 80。需要注意以下几点:

  • 大小写敏感。(由于是插件自动生成的,你也几乎不用考虑点这一点)

  • 键与值用 : 分开,请注意不是单独的一个 英文冒号,而不是一个英文冒号加一个空格。

  • 当值中有 :、& 等特殊符号时,应该将值的前后用 '值' 或者 "值" 符号将其囊括,例如 curse-color: '&c'

  • 当值中有 ' 符号时,使用 '' 代替它,例如 cannot-afford-type: '&cYou can''t afford to do this! &fCost: &a%cost% %type%'。(我们可以看到 can't 在这里写为 can''t

上面的基本语法格式为普通类型,EcoX 中还常用 List 类型,它的语法格式为:

键:
- 值1
- 值2
- 值3

或者

键:
  - 值1
  - 值2
  - 值3

需要注意的是:

  • 第二种表述方法,在其前面仅加了 2 个空格。这个空格数量不能多,也不能少,必须是 2 个。

例如:

targets:
  - pickaxe
  - sword
  - axe
  - elytra
  - bow
  - crossbow
  - trident
  - boots

缩进

无论你是普通类型还是 List 类型,你都需要注意一点,就是值也有可能是其他的选项,也就是子选项的缩进。

缩进的一般语法格式为:

键1:
  键2: 值1
  键3: 值2
  键4: 
    - 值3
    - 值4
    - 值5

键2、键3、键4都在本教程理解为键1的子选项,需要和键1保持 2 个空格的距离。

例如:

general-config:
  targets:
  - pickaxe
  - sword
  - axe
  - elytra
  - bow
  - crossbow
  - trident
  - boots
  grindstoneable: true
  disabled-in-worlds: []

当遇到自己辛辛苦苦编写配置后插件不加载,确定是自己配置的问题以后,就可以检查你的 Yaml 语法格式是否正确。

我们可以前往 这个网站,在左边复制好自己的 Yaml 文本后点击中间的 Yaml 验证 即可,当右边出现 Valid YAML 时即代表你的语法格式无误,如下图:

遇到下面这种情况即为有语法错误,并且会将行数告诉你(即 line 41,代表第 41 行错误),在这里是因为第 2 行缺失另外一个 ' 符号,导致计算机一直读取到最后也没读到下一个 ' 符号,所以即在此报错,因此你还需要根据报错的内容来判断是什么问题。

空值

有时插件生成的配置我们根本不想用,但是它自己生成了,删除了又怕插件出问题,这时可以使用空值判断一下我们能否删除它。

在上面所给的示例配置中,出现了大量 键: [] 的这种情况,这种情况即代表这个配置实际上是可以删除的,删除即使用默认值,一般是空值。在下面的学习之旅中,我们会大量使用空值。

Last updated