Minecraftのビットマップフォントプロバイダの仕組み
Java Editionのリソースパックでは、PNGスプライトシートのセルに文字をマッピングできます。このジェネレーターは、テクスチャのリソースロケーション、文字行、グリフの高さ、ベースライン位置を結び付けるビットマッププロバイダJSONを作成します。PNGを作成または変更するわけではないため、ここで入力する文字グリッドは、パックに配置する画像と一致している必要があります。
文字グリッドの各行は、テクスチャ内の同じサイズのセルの水平な1行を表します。各行を左から右に読み、すべての行の長さを同じにしてください。JSONが誤ったセルに文字をリストすると、Minecraftは隣のグリフを表示します。
テクスチャのリソースロケーション
my_pack:font/custom.png のような名前空間付きリソースロケーションを使用します。対応する画像は assets/my_pack/textures/font/custom.png の下に置きます。名前空間とパスは大文字小文字を区別するため、小文字を使用してください。
高さとアセント
高さはレンダリングされるグリフの高さ(ピクセル)を制御します。アセントはテキストのベースラインに対するグリフの位置を移動します。まずアセントを高さより1ピクセル下に設定し、Minecraftでパックをプレビューして、バニラフォントの隣で文字が高すぎたり低すぎたりする場合に調整します。
JSONの保存場所
custom.json をダウンロードし、assets/<namespace>/font の下に配置します。ファイル名がフォントのリソースIDになります。assets/my_pack/font/custom.json として保存されたファイルは、fontフィールドをサポートするテキストコンポーネントから my_pack:custom として参照できます。
このジェネレーターが検証する内容
このツールはプロバイダ構造を有効に保ち、各テキスト行を文字行に変換します。外部PNGを検査したり、セルの寸法を検証したり、重複文字を検出したり、サーバーがプレイヤーにリソースパックを送信することを確認したりすることはできません。
カスタムMinecraftフォントの作成とテスト
- グリフが規則的なグリッドに配置された透明なPNGを準備します。
- PNGのリソースロケーションを入力し、画像の1行をテキストの1行として正確な文字順をコピーします。
- 高さとアセントを設定し、custom.json をダウンロードします。
- JSONとPNGを対応するリソースパックフォルダに配置し、Minecraftでリソースを再読み込みします。
- 使用する予定のすべての文字をテストし、スペースが正しくない場合はPNGまたはアセントを調整します。
MinecraftフォントJSONに関する質問
このツールはフォントPNGを作成しますか?
いいえ。ビットマッププロバイダJSONのみを生成します。透明なスプライトシートは別途作成し、そのセル順序を文字グリッドと正確に一致させてください。
Minecraftが間違った文字を表示するのはなぜですか?
通常の原因は、PNGのセル順序とchars行の不一致です。行の長さ、空白セル、改行、名前空間、ファイルパス、実際の画像寸法を確認してください。
これはデフォルトのMinecraftフォントを置き換えられますか?
リソースパックはデフォルトのフォントファイルにプロバイダを定義できますが、バニラの文字を置き換えると、そのフォントを使用するすべてのインターフェースに影響します。選択したテキストコンポーネントのみにカスタムグリフが必要な場合は、別の名前空間付きフォントの方が安全です。
パックを再読み込みした後、フォントが表示されないのはなぜですか?
パックがリソースエラーなしで読み込まれること、JSONが assets/<namespace>/font にあること、PNGが assets/<namespace>/textures の下にあること、fileフィールドが同じ名前空間とテクスチャパスを指していることを確認してください。