콘텐츠로 이동

예제: 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
    소스 밖에서 빌드하면 빠른 시작처럼 설치 폴더의 NP.Editor.Sdk.dll 을 참조하도록 csproj 를 바꿉니다.
  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. 엑셀에서 열면 한글이 깨지지 않습니다(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 편집 횟수