跳到正文

Prickle

作者:Darkhax

Prickle 是一个引入 Minecraft 的基于 JSON 的配置文件格式。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Prickle 是一种基于 JSON 的配置格式。这个模组让你可以在 Minecraft 中使用这种格式!有关技术文档,请参阅 GitHub 页面。

常见问题

Prickle 有什么优点?
Prickle 基于 JSON,但增加了注释和装饰器等实用功能。Prickle 100% 向后兼容 JSON,并支持 JSON 的所有功能、工具和语法高亮。

为什么叫 Prickle?
Prickle 是一群刺猬的集合名词。刺猬是我最喜欢的动物之一,我认为它们很适合作为配置文件的比喻。例如,它们一开始可能看起来都令人生畏,但在了解并熟悉之后就会发现它们很友好。

为什么不使用现有的格式?
过去我一直使用 JSON 作为配置文件格式,但它存在一些问题,例如缺少注释和默认值。Prickle 在保留 100% 向后兼容性的同时,为 JSON 增加了这些功能。我也尝试过 TOML 等其他格式,但对它们的许多 Java 实现感到失望。它们通常缺少我认为很重要的功能,存在严重漏洞,并且已经无人维护。Minecraft 已经在数据包和命令中使用 JSON,因此对大多数玩家来说,这是一个熟悉的选择。

格式规范

在 Prickle 中,属性值会被包裹在一个 JSON 对象中。这样就可以为该属性附加注释等元数据。

例如,一个标准的 JSON 文件如下所示。

{
  "database_host": "192.168.1.222"
}

同样的 JSON 文件改写为 Prickle 文件后如下所示。

{
  "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 文件中遇到以下装饰器。

  • //default – 属性的默认值。
  • //reference – 可用于了解更多信息的资源,例如指向 Wiki 页面的链接。
  • //range – 值所允许的范围。例如 >=5。
  • //regex – 值必须匹配的正则表达式模式。
  • //empty-allowed – 值是否可以为空。(默认为 true)。

赞助商

Nodecraft sponsor banner

本项目由 Nodecraft 赞助。使用代码 DARKHAX 可享受首月服务 7 折优惠!

评论

登录后评论和评分

Darkhax 的其他作品

查看全部 →