BlockReel textures
BlockReel 폴더에서 작업하세요. 각 세트는 work/textures/<name>/ (gitignore됨) 또는 films/<name>/textures/에 넣으세요. 폴더 구조는
assets/minecraft/textures/ (block/…, item/…)를 따릅니다. 게임 텍스처를 절대 복사하지 마세요; 원본만 사용하세요 (저장소의 데모 세트는 CC0입니다).
1. 브리핑 (최대 하나의 짧은 질문)
다음을 결정하세요: 테마 (예: 파스텔 카툰, 거친 중세, 눈 덮인), 해상도 (16x 기본, 32x 또는 64x), 어떤 블록과 아이템 (기본: 약 25개의 스타터 세트: 돌, 조약돌, 흙, 잔디 위/옆, 판자, 통나무, 잎, 모래, 유리, 물, 용암, 벽돌, 흑요석, 발광석, 눈, 양털, 광석/금속 블록, TNT, 그리고 1-2개의 아이템), 그리고 대상 자바 버전 (팩 포맷에 필요함; 모르면 물어보세요).
2. 리서치 (웹), 링크와 함께 research.md에 작성
- 대상 버전의 공식 텍스처 파일 이름: 이름이 곧 규칙입니다; 잘못된 이름은 자동으로 무시됩니다.
Minecraft Wiki: Resource pack과 해당 버전의 파일 목록을 확인하세요 (사용자가 자신의 클라이언트
.jar,assets/minecraft/textures/를 열어 이름을 나열할 수 있습니다; 파일을 절대 복사하지 마세요). - 애니메이션 텍스처: 세로 스트립 PNG와 사이드카
<name>.png.mcmeta파일 (예:water_still.png.mcmeta:{ "animation": { "frametime": 3, "interpolate": true } }); 선택적width,height(프레임 크기),frames. 모든 프레임은 동일한 크기여야 하며 이미지는 프레임 정수 개수여야 합니다 (출처: 위키의 Resource pack 페이지). - 타일링 규칙: 블록 텍스처는 정사각형입니다; 반복되므로 가장자리가 이어져야 합니다. 지형 블록의 윗면이 가장 많이 반복됩니다.
- 사용자 버전의 팩 포맷: Minecraft Wiki: Pack format, resource pack 열.
버전, 번호, 링크를 답변에 인용하세요. 25w31a(자바 1.21.9)부터 위키는 팩이
pack_format대신min_format/max_format을 사용한다고 말합니다. 번호를 절대 추측하지 마세요. 소수로 표시된 버전(예:97.1)은core/pack.py에서 지원되지 않습니다 (pack.mcmeta에 작성하는 방법이 확인되지 않음); 사용자에게 알리세요. - 테마에 대한 스타일 참고 자료 (팔레트, 다른 사람들이 타일링 노이즈를 처리하는 방법). 원칙만.
3. 전체 세트에 대한 팔레트 및 스타일 계획
아무것도 그리기 전에: 전역 팔레트 계획 (재료당 기본 색상, 각각 약간의 색조 이동이 있는 4-톤 램프: skin.ramp),
스타일 규칙 (띠 모양의 평평한 톤 대 부드러운 그라데이션, 외곽선 유무, 타일당 단일 픽셀 악센트 개수),
노이즈 스케일 (타일 기준으로 blob의 크기). 모든 텍스처는 동일한 규칙을 따릅니다; 이것이 세트를 일관되게 만듭니다.
4. 생성 또는 페인트
- 코드로 (타일에 권장):
examples/texture-pack-demo/make_textures.py에서 시작 (시드 기반, 구성상 타일링 가능: 랩어라운드 노이즈, 랩핑 보로노이 셀, 엇갈린 판자, 베벨, 애니메이션 스트립).PLAN과 패턴을 변경하세요. - 수작업으로, 픽셀 단위로, 히어로 텍스처(아이템 아이콘, 광석)에 사용.
- 옆면 텍스처 (
grass_block_side), 유리, 금속 블록은 기본적으로 테두리가 있습니다; 타일링되지 않습니다.
5. 검사 (필수)
python core/tilecheck.py check block/stone.png --out stone_tiles.png # 2x2 및 3x3 타일링 미리보기 + 이음새 점수
python core/tilecheck.py palette block/stone.png -k 6 # 지배적인 색상
python core/tilecheck.py set textures/ --out report/ # 전체 세트: 문제, 참고 사항, 연락 시트
python core/pack.py check textures/ # 이름, 크기, 애니메이션 스트립
이미지를 열고 (stone_tiles.png, report/set-sheet.png) 확인하세요. 문제 (타일링 텍스처의 눈에 띄는 이음새, 크기 혼합, 색상 과다)는
반드시 수정해야 합니다; 참고 사항 (밝기, 채도, 팔레트 겹침)은 더 자세히 살펴보라는 신호일 뿐, 오류가 아닙니다. 프레임이 있는 텍스처는 참고 사항으로 보고됩니다.
적어도 한 번 반복하세요: 본 것을 수정하고, 다시 생성하고, 다시 확인하세요.
6. 씬에서 미리보기 (필수)
python tools/pack_preview.py textures/ --out pack-preview.png
텍스처로 렌더링된 필름 엔진의 미니 월드: 넓은 지형 (반복), 블록 갤러리, 오두막, 나무, 물, 용암, 유리, 크기 비교용 캐릭터. 확인할 점: 넓은 표면의 반복, 잔디와 통나무의 위/옆면, 투명도 (유리, 잎), 이웃 간 대비, 햇빛 아래 분위기. 세트에서 누락된 블록이 나열됩니다 (그 블록에는 내장 원본이 사용됨).
7. 팩 빌드
python core/pack.py build textures/ --name "My Pack" --pack-format <N> --format-version <java version> \
--format-source https://minecraft.wiki/w/Pack_format --icon pack.png --out build/
# 자바 1.21.9 이상: --pack-format 대신 --min-format <N> --max-format <M> 사용
이 명령어는 포맷 번호 없이 실행되지 않습니다 (의도적으로 기본값이 없습니다). pack.mcmeta는 zip 루트에 있으며, 팩의 README.txt에는
번호, 버전, 출처 링크가 기록됩니다. 해당 링크를 답변에 인용하세요.
8. 설치 및 테스트 체크리스트 (사용자에게 제공; 게임 내 테스트는 불가능)
.zip파일을 게임의resourcepacks폴더에 복사하세요 (Options → Resource Packs → Open Pack Folder를 통해 위치 확인 가능).- Options → Resource Packs에서 활성화하세요. 게임에서 팩이 호환되지 않는다고 말하면 포맷 번호가 게임 버전과 일치하지 않는 것입니다.
- 크리에이티브 월드에서 확인: 잔디/흙/돌/판자/통나무/잎, 물과 용암 애니메이션, 유리 투명도, TNT, 각 주요 블록의 평평한 20x20 바닥(이음새), 그리고 몇 가지 아이템.
- 보라색/검은색 체커보드가 보이면 파일 이름이 잘못되었거나 프레임 크기가 잘못된 것입니다.
규칙
- 팩이 게임에서 작동한다고 주장하지 마세요. "BlockReel 엔진에서 빌드, 검사 및 미리보기 완료"라고 말하세요.
- 게임 텍스처를 커밋하지 마세요. 사용자의
.jar에서 저장소로 가져오지 마세요. - 스킨은 다른 주제입니다 (
blockreel-skins); 리소스 팩으로 플레이어 스킨을 변경할 수 없습니다. - 모델, 사운드, 폰트, 셰이더는 범위 밖입니다.