基本信息
我的世界Java版本
1.21–1.21.1
平台
Fabric
运行环境
其他链接
搬运团队
详情信息
许可证 LGPL-2.1-only
发布于 2 months ago
更新于 2 months ago
Prickle是一种基于 JSON 的配置格式。这个模组允许在 Minecraft 中使用这种格式!有关技术文档,请查看 GitHub 页面。
常见问题
Prickle提供了哪些好处?
Prickle基于 JSON,但添加了几个有用的功能,如注释和装饰器。Prickle与 JSON 完全向后兼容,并支持其所有功能、工具和语法突出显示。
为什么叫Prickle?
Prickle是刺猬群的集合名词。刺猬是我最喜欢的动物之一,我认为它们是配置文件的一个合适的隐喻。例如,它们起初可能看起来很吓人,但一旦你了解和理解它们,就会很友好。
为什么不使用现有的格式?
过去我在配置文件中使用过 JSON,但存在一些问题,如缺少注释和默认值。刺在保持 100%向后兼容的同时,为 JSON 添加了这些功能。我尝试过其他格式,如 TOML,但对它们的许多 Java 实现感到失望。它们经常缺少我认为重要的功能,有严重的错误,并且不再被维护。Minecraft 已经在数据包和命令中使用了 JSON,这使其成为大多数玩家熟悉的选择。
格式规范
在刺中,属性值被包装在一个 JSON 对象中。这允许像注释这样的元数据被归因于该属性。
例如,一个标准的 JSON 文件看起来像这样。
{
"database_host": "192.168.1.222"
}
作为刺文件的相同 JSON 看起来像这样。
{
"database_host": {
"//": "要连接的数据库的 IP 地址。",
"value": "192.168.1.222"
}
}
注释
//
键被保留用于注释。注释仅用于向读者提供额外的上下文,不应影响文件的解析方式。注释可以是 JSON 字符串或用于多行注释的字符串数组。
{
"database_host": {
"//": [
"要连接的数据库的 IP 地址。",
"可以在末尾使用 : 定义端口"
],
"value": "192.168.1.222:1273"
}
}
装饰器
装饰器是用于传达属性特定属性的命名注释。装饰器的一个常见示例是//default
,可用于显示属性的默认值。与注释一样,装饰器不会影响文件的解析方式,它们只是描述属性将如何解析。
在Prickle文件中,您可能会遇到以下一些装饰器。
//default
- 属性的默认值。//reference
- 可用于了解更多信息的资源,例如指向维基页面的链接。//range
- 值的可接受范围。例如 >=5。//regex
- 值必须匹配的正则表达式模式。//empty-allowed
- 值是否可以为空。(默认值为 true)。