BlockReel テクスチャ は何をしますか?
BlockReel フォルダで作業します。各セットは work/textures/<name>/(gitignore 対象)または films/<name>/textures/ に配置します。フォルダ構造は assets/minecraft/textures/ (block/…, item/…) をミラーします。ゲームテクスチャをコピーしないでください。オリジナルのみを使用します(リポジトリのデモセットは CC0 です)。
1. ブリーフィング(最大1つの短い質問)
以下を確定します:テーマ(例:パステルカートゥーン、グリッティー中世、雪景色)、解像度(16x デフォルト、32x または 64x)、対象ブロックとアイテム(デフォルトは約25個のスターターセット:石、丸石、土、草ブロック上面/側面、板材、原木、葉、砂、ガラス、水、溶岩、レンガ、黒曜石、グロウストーン、雪、羊毛、鉱石/金属ブロック、TNT、さらに1〜2個のアイテム)、およびターゲット Java バージョン(パック形式に必要;不明な場合は尋ねる)。
2. 調査(Web)、リンク付きで 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。各フレームは同じサイズで、画像全体がフレームの整数倍である必要があります(出典:WikiのResource packページ)。 - タイル配置の慣習:ブロックテクスチャは正方形で、繰り返されるため、端はシームレスでなければなりません。地形ブロックの上面は最も繰り返されます。
- ユーザーのバージョンに対応するパック形式:Minecraft Wiki: Pack format の resource pack 列を参照。バージョンと番号、リンクを回答に引用します。25w31a(Java 1.21.9)以降、Wiki では
pack_formatの代わりにmin_format/max_formatを使用するとされています。番号を推測しないでください。 小数点表記のバージョン(97.1など)はcore/pack.pyでサポートされていません(pack.mcmetaへの書き方が未確認);ユーザーに伝えてください。 - テーマのスタイルリファレンス(パレット、タイルノイズ処理の事例)。原則のみ。
3. セット全体のパレットとスタイル計画
描画を始める前に:グローバルパレット計画(素材ごとに基本色、それぞれ4トーンのグラデーションで微妙な色相シフトあり:skin.ramp)、スタイルルール(バンド状のフラットトーンかソフトグラデーションか、輪郭の有無、タイルあたりのシングルピクセルアクセント数)、およびノイズスケール(タイルに対するブロブの大きさ)。すべてのテクスチャは同じルールに従います。それがセットに一貫性をもたらします。
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)確認します。PROBLEMS(タイルテクスチャでの目に見える継ぎ目、サイズの混在、色数過多)は修正必須。notes(明るさ、彩度、パレットの重複)は注意を促すものであり、エラーではありません。枠付きテクスチャは notes として報告されます。最低1回は反復します:見つけた問題を修正し、再生成し、もう一度確認します。
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/
# Java 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)です。リソースパックはプレイヤーのスキンを変更できません。 - モデル、サウンド、フォント、シェーダーは対象外です。