38 个版本 (15 个重大更新)
0.17.5 | 2024 年 5 月 12 日 |
---|---|
0.16.0 | 2023 年 12 月 9 日 |
0.15.1 | 2023 年 11 月 29 日 |
0.12.0 | 2023 年 1 月 24 日 |
0.2.1 | 2022 年 8 月 9 日 |
#2 in #dwarf-fortress
62 每月下载量
用于 dfraw_json_parser-cli
1MB
20K SLoC
dfraw_json_parser
在 bindings 目录中有生成的 TypeScript 类型定义。
现有项目
这些是使用此库的项目。
lib.rs
:
dfraw_json_parser
提供了一种将矮人要塞的原始文件转换为 JSON 的方法。它目前适用于从有限的原始类型中获取一些基本信息
- 生物
- 植物
- 无机物(岩石、矿石等)
- 材料
- 综合症
- 图形(精灵和瓦片页面,一些图层支持)
- 有限模板支持、生物变化支持,以及选择 XX 支持
工作原理
它使用正则表达式来分解令牌,然后检查令牌中的键是否与它所知道的长列表中的任何一个匹配。任何匹配都将被用来构建它自己的原始表示。您还可以使用 serde_json
库将此结果转换为 JSON。或者,我想将其转换为 serde 支持的任何内容。
Tauri 支持
此库是为了为另一个项目“监督者参考手册”提供原始解析而构建的,该项目创建了一个 tauri 应用程序,允许用户以可搜索和可过滤的方式查看他们机器上的原始文件。“tauri”功能标志启用了将解析进度发送回 tauri 窗口的函数。
术语表
原始
原始是矮人要塞用来创建世界中生物、物品和对象定义的。它们还可以用来定义事物如何相互作用。它们由一个原始文件内的各种令牌组成,从标识令牌 [#type#:#identifier#]
开始。原始还可以使用 [SELECT:#identifier#]
令牌选择和修改其他原始。
原始文件
原始文件是一个以.txt扩展名的单个文本文件,其第一行作为原始文件标识符,然后使用[OBJECT:#type#]
令牌来定义原始文件的类型。该文件可以包含任意数量的该类型的原始数据。
原始文件模块,原始模块
自Dwarf Fortress 50版本以来,原始数据被组织到目录中。(以前它们是扁平结构。)这样做是为了方便蒸汽工坊。
原始模块位置,模块位置
原始文件模块文件夹位于本库认识的3个位置
$df_game_dir/data/vanilla
:默认原始文件在这里$df_game_dir/data/installed_mods
:用于生成世界的工坊模组在这里。它们被认为是已安装的,因为至少有一个世界正在使用它们。(注意:即使删除了使用它们的所有世界,这些模组也永远不会被删除。)$df_game_dir/mods
:工坊模组存储在这里,以便在创建世界时可用
信息文本文件
在每一个原始模块中,都有一个info.txt
文件,其中包含有关该模块的信息,如作者、版本、最早兼容版本(用于更新现有存档),以及如果是从蒸汽工坊下载的模组,还包含蒸汽工坊的信息。
依赖项
~9–51MB
~790K SLoC