跳转到内容

示例: csv_export

将世界(或选区)中各类方块的数量导出为 CSV 的示例 · id csv_export · SDK ^1.0 · 最新版本 1.0.0

管理器窗口中的名称为「블록 통계 CSV (예제)」。只使用 SDK 1.0 的功能。

演示内容代码
导出格式AddExporter · NpFileFormat
控制台命令与参数AddCommand
监视编辑Committed
在新世界中清空状态WorldChanged
易于测试的结构将计算函数(Stats · ToCsv)提取为只接收 INpWorld 的 static 函数
项目值
编辑器0.9.0 及以上
SDK1.0 及以上(^1.0)
依赖插件无
源码NP Editor 源码中的 samples/plugins/csv_export/(Plugin.cs · CsvExport.csproj · plugin.json)
  1. 构建。
    dotnet build samples/plugins/csv_export/CsvExport.csproj -c Release
    若在源码之外构建,请像快速开始那样修改 csproj,改为引用安装文件夹中的 NP.Editor.Sdk.dll。
  2. 将 CsvExport.dll 和 plugin.json 复制到 %APPDATA%\NPEditor\plugins\csv_export\。不要放入 NP.Editor.Sdk.dll。
  3. 在「工具 › 插件管理器…」中点击「重新扫描」。
  4. 「블록 통계 CSV (예제)」显示为「已启用」即可。
  1. 打开地图。若只统计一部分,请选择区域。
  2. 点击「构建 › 导出: 블록 통계 CSV」。
  3. 指定要保存的文件名。默认名称为 <世界名称>.csv。
  4. 出现通知「블록 통계 CSV: <종 수>종 → <파일 이름>」。
  5. 在 Excel 中打开时韩文不会乱码(UTF-8 BOM)。

也可以直接在控制台中查看(数字仅为示例)。

> blockstats 3
블록 2,304칸 · 4종 · 편집 2번(2,304칸)
minecraft:grass_block 2,048
minecraft:stone_bricks 200
minecraft:oak_stairs 40
类型名称说明
导出构建 › 导出: 블록 통계 CSV(.csv)将各方块状态的数量 · 比例写入 CSV。有选择时只统计选区内,没有时统计整个世界。不统计空气。
命令blockstats [n]显示总格数 · 种类数 · 编辑次数,以及按数量从多到少的前 n 行(默认 5)。有选择时只统计选区内。
事件Committed统计启用插件后(或新建世界后)的撤销步数和更改的格数。
事件WorldChanged将编辑次数重置为 0。
列内容例
block去掉属性的方块 idminecraft:oak_stairs
state完整的方块状态字符串"minecraft:oak_stairs[facing=east,half=bottom]"
count格数40
percent占总数的 %(保留到小数点后第三位,点作小数点)1.736
  • 第一行为 block,state,count,percent。
  • 各行按 count 从多到少排列,相同时按 state 名称排序。
  • 含逗号或双引号的值用双引号括起。含两个以上属性的 state 即属此类。
  • 文件以 UTF-8 BOM 写入。
  • 数量按方块状态统计。blockstats 的各行显示去掉属性的 id,因此同一 id 可能出现多行(朝向不同的楼梯等)。
  • plugin.json 的说明中写的是「파일 › 내보내기」。自 0.9.0 起,导出菜单项位于「构建」菜单中。
  • 在大型世界中会扫描整个世界,因此需要一些时间。在此期间编辑器会停住。
  • 编辑次数只保存在内存中。重启编辑器后为 0。
版本日期内容
1.0.02026-10-02首个版本:导出「블록 통계 CSV」 · 命令 blockstats · Committed 编辑次数