第二节 认识YAML语法

    在配置文件中,服主可以设置插件/模组的功能。
    同时,插件/模组的开发者有时也会把数据存储在配置文件中。

    本文以 Essentials 插件举例。

    通常,配置文件与插件生成在一起(部分小型插件没有配置文件)你可以在中找到它们。 譬如 Essentials 的配置文件就在/plugins/Essentials/中。

    什么是配置文件?

    一些简单的插件不带有配置文件。当插件加载失败时(如版本不对),也不会生成配置文件。

    譬如你打开文件夹/plugins/Essentials/后,看到了一堆文件。

    这些文件中,只有结尾是.yml的文件,才是我们讨论的配置文件。

    其他的不是由.yml结尾的文件,因插件而异,那些文件就不在今天讨论范围内了,如有需要请查阅插件官方文档。

    我们在开始前所做的中,安装了 Notepad++ 软件。

    现在让我们右键.yml文件,单击”Edit with Notepad++”,就可以开始修改配置文件了!

    对于配置文件来说,语法是很重要的,否则一定会导致插件报错。

    语法一: 注释

    譬如你打开 Essentials 后,开篇就有一堆注释:

    这些以 “#” 开头的就是注释了,注释是给插件用户看的,让用户获得更好的插件体验,但并非所有插件作者都会在配置文件中写注释。

    如果你觉得注释碍眼可以把注释删了,不会对插件功能造成影响。

    同时你也可以自己写注释,但注释不推荐与配置文件内容同行,如:

    1. heal-cooldown: 60 #我是与配置节点同行的注释
    1. ABCABC: XXXXXXX

    注意:这里的冒号是 英 文 半 角 状 态 下的冒号,是 : 而不是:,仔细看看区别,极其容易忽略。

    注意:这里的冒号后面有一个空格,极其容易忽略。

    其中ABCABC称为节点名,读作”节点ABCABC”
    而XXXXXXX就是节点下的内容了

    你可以填以下内容:

    汉字

    譬如:

    注意:汉字要用 英 文 半 角 状 态 下的引号扩起来,是 “ 而不是 “,极其容易忽略。

    数字

    譬如:

    1. player-health: 20

    注意:当此处只能填数字时,你填了非数字内容,插件就会报错,譬如:

    此处 player-health 的意思是玩家的血量,插件作者本意让你填写一个数字,你却:

    1. player-health: 玩家血量

    此时如果插件作者没有做防护措施,插件就会崩溃报错。

    “true”或 “false”

    “true”代表开启,”false”代表关闭,譬如:

    这里只能填写truefalse,若填写了其他的内容,而插件作者未做防护措施,插件就会崩溃报错。

    譬如:

    1. # 这些命令是当开启了/socialspy命令时可以看到的玩家私聊
    2. # 或者移除一些你不想看到的私聊命令
    3. socialspy-commands:
    4. - msg
    5. - w
    6. - r
    7. - mail
    8. - m
    9. - t
    10. - whisper
    11. - emsg
    12. - er
    13. - reply
    14. - ereply
    15. - email
    16. - action
    17. - describe
    18. - eaction
    19. - edescribe
    20. - etell
    21. - ewhisper
    22. - pm

    这样以’-‘引起的一些字符,可以写很多行

    再一个节点

    譬如:

    1. # /kit快速工具命令,注意:所有物品后面必须写明数量!
    2. # 所有的kit物品最好容易获得, 在/costs中价格较低,权限要求较低.
    3. # 格式: - 物品ID[:数据值/耐久] 数量 [附魔:附魔等级]..[itemmeta:value]...
    4. # 查看更多信息,请访问 http://wiki.ess3.net/wiki/Item_Meta
    5. # 延迟时间(delay)以秒为单位.
    6. # 查看更多信息,请访问 http://wiki.ess3.net/wiki/Kits
    7. kits:
    8. tools:
    9. delay: 10
    10. items:
    11. - 272 1
    12. - 273 1
    13. - 275 1

    可见,在节点kits下,又写了一个tools节点,而tools节点下,又有一个delayitems节点

    我们称它们为:子节点tools、子节点delay、子节点items

    其中delay节点是只能写 数字,items节点是只能写 列,而且这个列在这个特定的插件里是有特定的格式要求的。

    注意:每个子节点前面都要有两 个 空 格。

    那问题就来了,为什么items前面没有两个空格呢?

    这是因为delayitems都是tools的子节点,如果:

    这样子的意思就是toolskits的子节点,delaytools的子节点,itemsdelay的子节点,与原意完全不相符。

    注意:以上几个语法只是插件配置文件中普遍存在的,而不同的插件对配置文件的要求也是不同的,但是大体都可以分为以上几点。

    注意:一定要按照插件原作者的要求写配置文件!

    最后,改完配置文件别忘了点击左上角的保存按钮,再在服务器中重载配置文件!

    乱码

    在 NotePad++ 界面上方的”编码”处,点击转为 ANSI 或 UTF-8无BOM 编码,然后再保存。

    注意:1.9+的服务端统一使用UTF-8无BOM编码!