BDO

# 연금 · 요리 · 가공 재료 계산기

레시피 → 하위 레시피 → 최종 원재료까지 자동 계산
R34: R33 기능은 그대로 유지하면서 시작 속도를 최적화했습니다. 검색·사용처·영문명·역가공 획득 인덱스는 필요할 때만 생성하고, 로컬 서버는 고정 포트 17864를 우선 사용해 다음 실행에서 IndexedDB와 메모장 저장값을 재사용합니다. 포트가 사용 중이면 자동으로 임시 포트로 전환합니다.
제작물 / 재료 검색
분류
제작 횟수
하위 재료 깊이
전체 레시피 0 현재 분류 0 아이템 0 한국어 이름 0 내장 DB

### 빠른 이동 · 최근/관련 레시피

최대 15개 · 수량/대체·상위 배분 설정 유지 · 가로 스크롤 가능
레시피를 선택하면 최근/관련 항목이 표시됩니다.

## 레시피 상세 / 하위 재료

상위/대체 재료를 여러 개 추가하고 수량을 나누면 최종 합계도 즉시 변경됩니다.
위에서 제작물을 검색해 선택하세요.

## 전체 필요 수량

-
레시피를 선택하면 합계가 표시됩니다.
📝 계산기 메모장
자동 저장 · 헤더를 드래그해 이동오른쪽 아래를 드래그해 크기 조절

### 데이터 관리

#### 1) 게임 설치 폴더에서 JSON 자동 생성 + 바로 불러오기 권장

검은사막 재료계산기 실행.bat로 계산기를 실행한 경우 이 버튼 하나로 처리할 수 있습니다. 버튼을 누르면 ① 검은사막 설치 폴더 선택 → ② 현재 프로그램 폴더의 DB 덮어쓰기 확인 → ③ `items.json`/`recipes.json`/`item_names_ko.json` 자동 생성·교체 → ④ 현재 계산기에 자동 불러오기 순서로 진행됩니다.

저장 위치 선택 없음 · 현재 프로그램 DB를 확인 후 자동 교체
자동 생성 도우미 상태를 확인하지 않았습니다.

폴더 선택과 DB 덮어쓰기 확인을 마치면 이곳에 데이터 업데이트 중과 경과 시간이 표시됩니다. 추출/한국어 이름 생성/DB 교체/계산기 반영이 모두 끝나면 데이터 관리 창은 자동으로 닫힙니다.

R12: JSON 생성 후 `items.json → recipes.json → 한국어 아이템명 → 관계 변환 → DB 반영` 순서로 처리합니다. 설치 폴더에 한국어 LOC가 실제로 있으면 그것을 우선하고, 없으면 `Paz` 안의 `itemenchant.dbss`에 들어 있는 한국어 원본 Name을 직접 읽습니다.

게임 폴더는 내부에 `Paz\pad00000.meta`가 있는 폴더를 선택하면 됩니다. 한국 클라이언트에서는 설치 폴더의 `languagedata_kr.loc`/`languagedata_ko.loc`가 실제로 있으면 그것을 우선 사용하고, 없으면 `Paz` 내부 `itemenchant`의 한국어 원본 Name을 사용합니다. 영어 LOC는 전체 JSON을 만드는 extractor 호환용으로만 사용합니다. 실제 검은사막 설치 폴더에는 어떤 파일도 추가·변경하지 않습니다. 별도의 저장 폴더는 선택하지 않습니다. 새 DB는 압축을 푼 계산기의 `_program` 폴더에 있는 `items.json`, `recipes.json`, `item_names_ko.json`을 확인 후 자동으로 덮어씁니다.

HTML 파일을 직접 더블클릭해서 연 경우: 웹 브라우저 보안 때문에 HTML 자체가 Windows 프로그램을 실행할 수 없습니다. 압축을 푼 폴더의 맨 위에 있는 검은사막 재료계산기 실행.bat를 실행하면 로컬 도우미가 켜지고 위 자동 생성 버튼을 사용할 수 있습니다. 수동 JSON 불러오기는 HTML 단독 실행에서도 계속 사용할 수 있습니다.

#### 2) 이미 생성한 items.json / recipes.json 수동 불러오기

이 계산기는 bdo-data-extractor 형식의 `items.json`과 `recipes.json`을 직접 읽습니다. R12에서도 불러온 DB를 영구 저장합니다. 영어 전용 JSON은 한국어 이름 생성 · 적용을 한 번 실행하면 목록/상세/재료까지 모두 한국어 표시명으로 바뀌고 저장됩니다.

items.json
recipes.json
item_names_ko.json (선택)
R12가 설치된 클라이언트에서 만든 한국어 아이템 이름 매핑 파일입니다. 기존 영어 items.json을 불러올 때 함께 선택하면 한국어 표시명이 적용됩니다.
게임 설치 폴더만 선택하면 설치된 한국 클라이언트의 한국어 아이템명을 생성해 현재 DB 전체에 적용합니다. recipes.json을 다시 선택할 필요가 없습니다.

R12: items.json의 아이템 설명에 적힌 대체 재료와 요리/연금 Ingredients를 읽고, 공통 요리·연금 대체 그룹/상위 등급 규칙을 자동으로 보완합니다. 포함된 R12 데이터는 처음 실행 BAT로 실행할 때 자동 적용됩니다.

#### 3) 별도 한글 이름 매핑 CSV (선택)

추출 DB가 영어 이름이면 `item_id,name_ko` 형식 CSV를 불러와 한글 표시명으로 바꿀 수 있습니다. 기존 이름은 검색 별칭으로 유지됩니다.

#### 4) 사용자 DB 백업/복원

이 HTML의 현재 아이템/레시피/대체재/상위재료 규칙 전체를 JSON으로 백업하거나 다시 불러올 수 있습니다.

DB JSON 불러오기

#### 5) items.json / recipes.json은 어디에 있나요?

중요: `items.json`과 `recipes.json`은 검은사막 설치 폴더에 원래 들어 있는 파일을 찾아서 복사하는 방식이 아닙니다. bdo-data-extractor가 본인 PC에 설치된 검은사막 클라이언트의 PAZ·레시피 XML·아이템 데이터를 읽고 새로 만들어 주는 출력 파일입니다. R10은 추가로 설치 클라이언트의 한국어 아이템명을 읽어 `item_names_ko.json`도 만듭니다.

프로젝트 문서 기준 기본 Steam 설치 폴더는 아래 위치입니다.

C:\Program Files (x86)\Steam\steamapps\common\Black Desert Online

Steam이 아닌 설치본이거나 다른 드라이브에 설치했다면 게임 폴더 안에 `Paz\pad00000.meta`가 존재하는지 확인하세요. `Paz` 폴더의 바로 상위 폴더를 `--game` 경로로 지정하면 됩니다.

#### 6) 자동 생성 도우미 없이 직접 생성하는 방법

① 먼저 Go 1.26 이상을 설치한 뒤 새 PowerShell 또는 명령 프롬프트를 엽니다.

② 추출기를 설치합니다.

go install github.com/idevelopthings/bdo-data-extractor@latest

③ JSON이 생성될 위치를 헷갈리지 않도록 전용 폴더를 하나 만든 뒤 그 폴더로 이동합니다.

mkdir C:\BDO_Recipe_Data cd C:\BDO_Recipe_Data

④ Steam 기본 설치라면 다음 명령을 실행합니다. 프로젝트 문서상 `build`의 기본 출력은 현재 작업 폴더 아래 `data`입니다.

bdo-data-extractor build --game "C:\Program Files (x86)\Steam\steamapps\common\Black Desert Online"

한국 공식 클라이언트(`C:\Pearlabyss\BlackDesert` 등)는 `ads\languagedata_en.loc`가 없기 때문에 위 명령을 직접 실행하면 이번에 보신 것과 같은 오류가 날 수 있습니다. 한국 클라이언트에서는 위의 자동 생성 버튼을 사용하는 것을 권장합니다. 도우미가 보조 LOC와 임시 가상 게임 폴더를 자동으로 준비합니다.

⑤ 완료 후 아래 두 파일을 데이터 관리 → 이미 생성한 items.json / recipes.json 수동 불러오기에서 선택합니다. 한국어 표시가 필요하면 위의 한국어 이름 생성 · 적용 버튼을 추가로 사용할 수 있습니다.

C:\BDO_Recipe_Data\data\items.json C:\BDO_Recipe_Data\data\recipes.json

게임이 예를 들어 `D:\Games\Black Desert`에 있다면 명령의 `--game` 부분만 실제 경로로 바꾸면 됩니다. 기준은 `D:\Games\Black Desert\Paz\pad00000.meta`가 실제로 존재하는 폴더입니다.

#### 7) 명령어가 인식되지 않거나 출력 위치를 직접 정하고 싶을 때

`bdo-data-extractor`가 “명령을 찾을 수 없음”으로 나오면 아래 명령으로 Go 설치 경로를 확인할 수 있습니다. `GOBIN`이 비어 있으면 기본 설치에서는 `GOPATH\bin`을 확인하면 됩니다.

go env GOBIN go env GOPATH

또한 추출기는 `--out <폴더>` 옵션을 지원하므로 출력 위치를 명시할 수도 있습니다.

bdo-data-extractor build --game "C:\Program Files (x86)\Steam\steamapps\common\Black Desert Online" --out "C:\BDO_Recipe_Data\data"

한국 클라이언트 안내: bdo-data-extractor의 `--lang` 선택지는 제한되어 있으므로 전체 JSON 생성에는 호환용 LOC를 사용합니다. 한국어 표시는 별도로 설치 클라이언트의 한국어 Name을 추출해 덮어쓰며, 기존 영어 이름은 검색 별칭으로 보존합니다.

추출기는 게임 설치 폴더를 읽기 전용으로 사용하며, 이 계산기 자체는 게임 메모리나 계정에 접근하지 않습니다.

프로젝트: iDevelopThings / bdo-data-extractor (GitHub)

### 사용 방법

#### 기본 사용

① 제작물을 검색해 선택 → ② 제작 횟수 입력 → ③ 상위/대체 재료 칩 또는 + 재료 추가에서 필요한 재료를 여러 개 추가 → ④ 기본 재료와 추가 재료의 수량을 원하는 값으로 직접 입력합니다. 마지막으로 수정한 재료를 우선해 나머지 재료가 자동 조정됩니다. 예를 들어 돼지 피가 0이 된 뒤 라마 피·양 피·소 피를 배분했더라도 돼지 피에 다시 10을 입력하면 돼지 피 10을 우선 유지하고 추가 재료 쪽 수량을 자동으로 줄여 전체 필요량을 맞춥니다. 각 슬롯의 ↺ 이 항목 초기화를 누르면 추가한 대체/상위 재료와 배분 수량을 한 번에 지우고 기본 재료 100% 상태로 되돌립니다.

최종 원재료, 직접 투입, 중간재 제작 항목을 클릭하면 왼쪽의 관련 레시피/재료 행으로 이동합니다. 대체/상위 재료는 레시피에서 실제로 배분한 수량이 최종 원재료 등에 자동 반영되므로 별도 요약 탭을 두지 않습니다. 같은 하위 레시피가 여러 경로에서 필요해도 상세 카드는 한 번만 표시하고 필요한 제작 횟수는 합산합니다. 하위 레시피 이름을 클릭하면 그 레시피를 최상위로 열 수 있고, 상단 빠른 이동 · 최근/관련 레시피에서 최대 15개를 오갈 수 있습니다. 각 레시피의 제작 횟수와 대체/상위 배분은 그대로 기억합니다.

#### 레시피 화면 초기화

오른쪽 위 레시피 화면 초기화를 누르면 현재 선택한 레시피, 제작 횟수, 하위 재료 깊이, 분류 필터와 화면 표시만 기본 상태로 되돌립니다. 불러온 레시피 DB나 데이터 관리에 저장된 DB는 삭제하지 않습니다.

#### 상위/대체 재료와 수량 배분

예를 들어 밀 5개가 필요한 슬롯에는 보리/감자/옥수수/고구마 같은 대체 곡물과 고급·특상품 곡물이 표시됩니다. 여러 재료를 동시에 추가할 수 있습니다. 보리 2개를 입력하면 밀은 자동으로 3개로 줄고, 옥수수 3개를 넣으면 밀은 0이 됩니다. 이후 밀을 다시 2개로 직접 입력하면 밀 2개를 우선 고정하고 기존 추가 재료 수량을 자동으로 조정합니다. 상위 재료는 환산값만큼 계산하며, 상위 재료 1개 단위 때문에 정확히 나눌 수 없는 경우에는 최소 충족 수량과 환산 잉여량을 표시합니다.

#### 내장 예시 데이터

업로드한 표의 예시인 경험의 비약 → 광대의 혈액 → 맑은 액체 시약 연결을 포함해, 맥주/식초/채소 절임/크림/버터/수테차 등 계산 동작을 확인할 수 있는 레시피를 넣었습니다.

#### 데이터 근거

• Pearl Abyss 공식 모험가 가이드: 요리 / 연금 고급 가이드
• BDO Codex: 개별 아이템·레시피 및 대체재 그룹 확인
• bdo-data-extractor: 설치된 게임 클라이언트에서 items.json / recipes.json 추출 형식