リソースパック

提供: Minecraft Wiki
Missing textureから転送)
移動先: 案内検索
デフォルトテクスチャとカスタムリソースパック(DokuCraft)の比較である。

リソースパック (Resource pack) は、プレイヤーが Minecraft のカスタマイズを可能にするための API である。これにより、テクスチャ、モデル、BGM、効果音、言語ファイル、クレジットロール、スプラッシュテキスト、そしてフォントをゲーム本体を書き換えずに変更出来る。

振る舞い[編集 | ソースを編集]

リソースパックの選択画面である。Ninety-Six が一番上で、 Favorite Songs Pack が続き、デフォルトのアセットとなっている。

リソースパックは .minecraft 階層の resourcepacks フォルダに置く必要がある。その際のファイルフォーマットを .zip形式にするか、resourcepacks フォルダにフォルダを直置きする必要がある。フォルダに置いた後は、オプションの「使用可能なリソースパック」と「選択中のリソースパック」の間で移動ができる。「選択中のリソースパック」の側にはデフォルトのリソースが存在するが削除することは出来ない。

基本的にリソースパックはリストの上から順に読み込まれる。一番下の"デフォルト"のリソースパックが最初に読み込まれ、その後に読み込まれたアセットと対応するものが置き換わる仕組みになっている。

デフォルトのリソースパック[編集 | ソースを編集]

1.8以降はリソースパックは、resources という名前のフォルダに直接配置することで、マップにバンドルできる。その際に、リソースパックは .zipファイル形式でなければならない。プレイ中には、そのリソースパックがワールドのデフォルトのリソースパックとして右側のリストに表示される。1.7.10以前は手動でしか変更できない。

サーバープロパティファイルの resource-pack= 行の後にある .zipファイルのダウンロードへのリンクを変更することで、サーバー上に既定のリソースパックを設定することもできる。ユーザーはリソースパックの使用を拒否することも、ダウンロードしないことを選択することもできる。

Legacy Console Edition[編集 | ソースを編集]

Legacy Console Edition では、マッシュアップパック(これはリソースパックに相当する)がダウンロードコンテンツ (DLC) として、Xbox Game マーケットプレイスか PlayStation ストア、Nintendo eショップからダウンロード出来る。マッシュアップパックはリソースパック、スキンパック、ワールドを一つにしたコンテンツである。

Bedrock Edition[編集 | ソースを編集]

スキンと同様に、Bedrock Edition でリソースパックは購入・作成できる。 Alpha 0.16.0 の時点で、iOS ユーザーは .mcpack および .mcworld の拡張子のファイルをダウンロードできる。 これらのファイルを開くと、ファイルシステムへのアクセスを必要とせずに自動的に Bedrock Edition にインポートされる。

コンテンツ[編集 | ソースを編集]

リソースパックは JSON形式で記述されたルートディレクトリにある pack.mcmeta ファイルによって識別される。

  • ルートタグ。
    •  pack: リソースパックの持つ情報。
      •  pack_format: パックのバージョン。この番号が Minecraft の要求するものと合わない場合、パック読みこみ時にエラーとして表示される。1.8.7以前のバージョンは 01.8.8では 11.91.10では 21.111.12では 31.13からは 4となっている。
      •  description: リソースパックメニューのパック名の下に表示されるパックの説明となるテキスト。テキストは2行に表示され、長すぎるテキストは切り捨てられる。
    •  language: 新たな言語を追加する場合記述する。
      •  A language .lang ファイルに対応する言語コード。assets/minecraft/langに入っているファイル名と同じ名前にする。
        •  name: 言語の名称。
        •  region: 地域を設定する。
        •  bidirectional: true の場合、文字は右から左に読まれる。

ルートディレクトリには、pack.png という画像ファイルと含まれている。これはリソースパックメニューでのアイコンとして表示される。

言語[編集 | ソースを編集]

新たな言語や修正した翻訳はリソースパックの assets/minecraft/lang ディレクトリに .lang ファイルを作成することで追加することができる。 方法は2つあり、1つ目は元から存在する言語ファイルを書き換える方法。2つ目は言語ファイルを新たに追加する方法である。後者の場合、 pack.mcmeta ファイルに記述する必要がある(記述方法は上の通り)。

言語ファイル内での記述方法は、identifier=name のようになっている。identifier はゲーム内部でブロックやアイテムなどに紐付けられている ID のようなものであり、ブロックやアイテム毎に付けられている。変更することは出来ない。name は実際にゲーム上で表示されるブロックやアイテムの名前である。を例にすると、tile.stone.stone.name=Stoneのようになっている。tile.stone.stone.name が石のゲーム内部での名前となっており、Stone がゲーム上で表示される名前となっている。これらは # でコメントアウトすることも可能である。

これらは追加・変更したものだけが、ゲームで適用される。何も手が加わっていないもの、欠如しているものは読み込まれずデフォルトのものが使用される。

モデル[編集 | ソースを編集]

モデルは JSON形式で記述されており、.json ファイルとなっている。これらのファイルでブロックやアイテムのモデルを形作っている。

ブロックは assets/minecraft/blockstates のファイルのブロック状態を使用し、assets/minecraft/models/block からブロックモデルを読み込むことでブロックのモデルを決定している。アイテムは assets/minecraft/models/item からアイテムのモデルを読み込む。ここではブロックのモデル(チェストや盾などの一部のブロックやアイテムはエンティティモデル)や平面状のモデルを使用する他、カスタムモデルを使用することができる。

モデルファイルは上のリソースパックから読み込まれる。よって下にあるリソースパックのモデルファイルは、上書きされて読み込まれない。

サウンド[編集 | ソースを編集]

リソースパックは追加のサウンドファイルを .ogg 形式で読み込む。下位のパックに同様の名前のファイルが存在すると上のものが読み込まれ、パックには assets/minecraft ディレクトリに sounds.json ファイルが含まれている。他のリソースパック関連のファイルとは異なり、このファイルはパックの位置に関係なく読み込まれる。このファイルにはパック内のサウンドファイルが記述されている。

テクスチャ[編集 | ソースを編集]

テクスチャファイルが存在しない時に使用されるテクスチャ。

ブロックまたはアイテムのテクスチャが機能するには、幅と高さを揃えなければならない(アニメーションさせる場合は高さは幅の倍数)。そうでないと、紫と黒のチェック柄で表示されてしまう。他の多くのテクスチャは、必要なサイズに合わせて引き伸ばされるだけである。

ほとんどの固体ブロックは透過部分を完全に不透明にする。一部のブロックは切り抜きの透明度を持ち、不透明度が10%未満のピクセルをすべて完全に透明にする。それ以外は完全に不透明にする。他の透過ブロックは半透明部分をそのまま描画する。アイテムまたはエンティティはデフォルトで半透明テクスチャがサポートされている。

リソースパックにもデフォルトにもファイルが存在しない場合、紫と黒のチェック柄で表示される。

アニメーション[編集 | ソースを編集]

ブロックとアイテムはそのテクスチャを幅を揃えて縦に並べることによってアニメーションさせることができる。アニメーションはアニメーションさせたいテクスチャと同じ名前の .mcmeta ファイル(JSON形式で記述)を同じディレクトリに入れることで制御できる。例えば、stone.png をアニメーションさせたい場合、mcmeta ファイルは stone.png.mcmeta になる。

  • ルートタグ。
    •  animation: アニメーションのデータ。
      •  interpolate: true のとき、フレーム間の変化が滑らかになる。デフォルトでは false である。
      •  width: テクスチャの幅。ピクセルではなく、比率である。これはバニラでは使用されていないが Mod で使用することができる。
      •  height: テクスチャの高さ。ピクセルではなく、比率で表す。これはバニラでは使われていないが Mod によって使用することができる。
      •  frametime: 通常のフレームの変わる時間。1ティック単位で設定でき、デフォルトでは 1 である。
      •  frames: アニメーションフレームのリスト。デフォルトでは上から下に表示される。
        • 番号は一番上からのフレームの位置に対応しており、一番上のフレームは0である。
        •  A frame 追加データを持つフレーム。
          •  index: 一番上のフレームからの位置。一番上のフレームは0である。
          •  time: 次のフレームに変わるまでの時間。上記の frametime を無視する。

もし .mcmeta ファイルとテクスチャがパックに存在しない場合、アニメーションされない。また、テクスチャに対応する .mcmeta がない場合、紫と黒のチェック柄で表示される。

カラーマップ[編集 | ソースを編集]

カラーマップは256×256ピクセルの画像であり、バイオームごとにどの色を使用するかを決める。カラーマップは、foliage.pnggrass の2つがあり、assets/minecraft/textures/colormap に位置する。foliage.png はシラカバとマツを除く、ツタのような植物に適用され、grass.png草ブロックに適用される。カラーマップが適用されるブロックは tintindex タグを除くことによって無効にすることができる。

プロパティ[編集 | ソースを編集]

assets/minecraft/textures/misc にあるテクスチャは JSON形式の .mcmeta ファイルによって追加エフェクトを適用することができる。ファイルはテクスチャと同じディレクトリにあり、同じ名前の後ろに .mcmeta が付く。例えば、pumpkinblur.png のプロパティファイルは pumpkinblur.png.mcmeta である。

  • ルートタグ。
    •  texture: テクスチャのデータ。
      •  blur: テクスチャをぼかす。デフォルトでは false である。
      •  clamp: shadow.png で使用される。false にするとエンティティの存在しているブロック一面にタイル状に敷き詰められる。truefalse の違いは下図を参照。
      •  mipmaps: カスタムミップマップ値。
"clamp": true "clamp": false
Clamp true.png Clamp false.png

もしリソースパックに基になるテクスチャがあって、.mcmeta ファイルが存在しない場合、デフォルトの設定で読み込まれる。

フォント[編集 | ソースを編集]

フォントに関するファイルは設定用のJSONとテクスチャの2つがある。

JSON[編集 | ソースを編集]

JSON ファイルはリソースパックでは assets/<名前空間>/font フォルダに存在し、文字の割り振りの設定が記述されている。デフォルトの文字は default.json、エンチャントテーブルに使われる記号は alt.json となっている。

このファイルの記述形式を以下に示す。

  • ルートタグ
    •  providers: 文字に対する設定のリスト。
      • 設定項目。
        •  type: 設定のタイプ。次のタイプがある。
          • bitmap: 画像によって文字を割り当てる方法。
            •  file: 画像ファイル。assets/<namespace>/textures 内のファイルを記述する。
            •  height: 省略可能。表示されるフォントの縦方向の大きさ。px単位で、マイナスの値もとれる。デフォルトは8。
            •  ascent: 表示されるフォントの上方向の位置。px単位。
            •  chars: 割り当てる文字列。画像内のフォント1行につき1行で、左から等間隔で割り当てられる。
          • legacy_unicode: Unicode フォントを使う方法。設定で「Unicodeフォントを強制する」をオンにしている場合、すべてこの設定が適用される。
            •  sizes: 文字のサイズ。assets/<名前空間>/font 内のバイナリデータで1文字ずつ設定される。文字のサイズは、左端の座標から右端の座標の差分になっており、それぞれ0から15の値をとり、バイナリデータ上で16進数で記述されている。拡張子は .bin
            •  template: フォント画像の名前。デフォルトだと minecraft:font/unicode_page_%s.png となっており、この %s が 文字コードの上2桁に置き換わる。
          • ttf: TrueTypeフォントを読み込ませたい場合に用いる。[情報提供依頼]
            •  file: フォントのファイルの場所を指定する。assets/<名前空間>/font 内のファイルを指定する。例えば、assets/minecraft/font/hogehoge.ttfというファイルを指定するなら、"file": "hogehoge.ttf" となる(font/hogehoge.ttf ではない)。
            •  shift: 描画位置をずらす場合、どれくらいずらすか。[左側方向, 下方向]と指定する。
            •  size: 描画サイズ。
            •  oversample: 解像度。
            •  skip: 除外する文字列。複数指定する場合は配列で指定する。

テクスチャファイル[編集 | ソースを編集]

フォントのテクスチャファイルは白文字が格子状に並び、ゲーム内で必要に応じて色がつけられる。文字サイズは右端のX座標から自動的に決められる。フォントを検出する方法として、文字の背景を5%のアルファの背景を含む色で塗りつぶすと文字の背景が見えることなく全幅が描画される。

  • 文字コード 0x20 (スペース) から 0x7E (~) は標準のASCII 文字が表示される。
  • 文字コード 0x7F から 0xFF はコードページ437の文字が表示される。

また、テクスチャファイルは、標準的に使用されるものは assets/minecraft/textures/font/ascii.png、 エンチャント時に現れる記号のようなものは assets/minecraft/textures/font/ascii_sga.png が使われている。

テキスト[編集 | ソースを編集]

.txt ファイルは3つ存在し、UTF-8 形式で記述される。これらのファイルは assets/minecraft/texts に存在し、表示するテキストを決めるために使用される。

end.txt にはエンドポエムの内容が含まれている。装飾コードを使って2人の語り手を表し、PLAYERNAME はプレイヤーの名前に置き換えられる。その後、credits.txt の内容が表示される。

splashes.txt にはスプラッシュの内容が改行を用いて記述されている。どのスプラッシュも異なる内容に置き換えることができ、ゲーム内で元のテキストの代わりに表示される。

フォルダの構造[編集 | ソースを編集]

歴史[編集 | ソースを編集]

Java Edition
1.6.113w24aテクスチャパックに置き換わる機能としてリソースパックが追加された。1.5までのテクスチャーパックは Mojang の変換ツール (Minecraft Texture Ender) で変換出来る。
1.6.2HDフォントを使用した際にフォントが歪むバグが修正された[2]
1.7.213w36a一度に複数のリソースパックを適用出来るようになった。
13w42aassets/minecraft/music のファイルが assets/minecraft/sounds/music へ、assets/minecraft/sound のファイルが assets/minecraft/sounds へ移動された。
1.7.413w48aMojang のロゴを変更する機能が削除された
1.814w06aブロックモデルを変更できるようになった。
14w07aリソースパックをマップにバンドルできるようになった。
14w25aカスタムアイテムのモデルを適用出来るようになった。
テクスチャをブロックとアイテムに指定できるようになった。
アニメーションに interpolate が追加された。
1.8.8preパックのバージョン番号が合っていないとエラーが表示されるようになった。このときバージョン番号が 1 でなければならなくなった。
1.915w31aアイテムタグmultipart、ディスプレイタグの追加などが行われ、モデルのシステムが変更された。それに伴い、リソースパックのバージョン番号が 2 に変更された。
古いディスプレイタグを持つリソースパックを使用すると異常にスケールアップされて見えた。また、2Dテクスチャで置き換えられたブロックはインベントリや手に持っているときに回転しなかった。これはモデルにディスプレイタグがないときと同様である(画像を参照)。
1.1116w32aリソースパックのバージョンが 3 になった。
リソースパック内のファイル名が全て小文字になった。
1.1317w48aリソースパックのバージョンが 4 になった。
デフォルトのリソースパックがを上下に移動できるようになった。
texturesフォルダ内の、Blocksフォルダのうち不透明なブロックのテクスチャーがBlockフォルダに移動された。
1.15Pre-release 1リソースパックのバージョンが 5 になった。
Pocket Edition Alpha
0.15.0プラスチック・都会テクスチャパックが追加された。
0.15.7ナチュラルテクスチャパックが追加された。
0.15.8ファンタジーテクスチャパックが追加された。
0.16.2カートゥーンテクスチャパックが追加された。
Pocket Edition
1.0.3キャンディテクスチャパックが追加された。

関連項目[編集 | ソースを編集]

脚注[編集 | ソースを編集]

  1. 1.11以降はファイル名をすべて小文字にする必要がある。
  2. MC-17673