Prickle 是一种基于 JSON 的配置格式。此模组允许在 Minecraft 中使用该格式!有关技术文档,请参阅 GitHub 页面。
常见问题
Prickle 提供什么好处?
Prickle 基于 JSON,但添加了一些有用的功能,如注释和装饰器。Prickle 与 JSON 完全向后兼容,并支持其所有功能、工具和语法高亮。
为什么这叫 Prickle?
Prickle 是刺猬群的集合名词。刺猬是作者最喜欢的动物之一,作者认为它们是配置文件的一个恰当的隐喻。例如,它们都可能看起来有点吓人,但一旦你了解并理解了它们,就会发现其实它们很好。
为什么不使用现有格式?
在过去,作者使用 JSON 作为配置文件,但存在一些问题,比如缺少注释和默认值。Prickle 在保留与 JSON 完全向后兼容的同时,增加了这些功能。作者尝试过其它格式,比如 TOML,但对它们的很多 JAVA 实现感到失望。它们经常缺乏作者认为重要的功能,有严重漏洞,并且不再维护。Minecraft 已经将 JSON 用于数据包和控制,使其成为大多数玩家熟悉的选择。
格式规范
在 Prickle 中,属性值包装在 JSON 对象里。这允许注释之类的元数据可以附加到该属性上。
例如,标准 JSON 文件如下所示。
{
"database_host": "192.168.1.222"
}
Prickle 格式的 JSON 文件如下所示。
{
"database_host": {
"//": "The IP address of the database to connect to.",
"value": "192.168.1.222"
}
}
注释
// 键被保留用于注释。注释仅用于向读者提供额外的上下文,并不影响文件的解析方式。注释可以是 JSON 字符串,也可以是多行注释的字符串数组。
{
"database_host": {
"//": [
"The IP address of the database to connect to.",
"The port can be defined at the end using an :"
],
"value": "192.168.1.222:1273"
}
}
装饰器
装饰器是带有特定属性名称的注释,用于表达特定属性。装饰器的一个常见例子是 //default,它可以用来显示属性的默认值。与注释一样,装饰器不会影响文件的解析方式,只是描述属性将如何被解析。
你可能会在 prickle 文件中遇到以下装饰器。