アドオン作成 - ブロックのテクスチャ
アドオンのブロックについて説明します。
texturesフォルダのblocksフォルダの中に変えたいブロックのテクスチャを入れます。ファイル名はテンプレートを参照してください。
┣ manifest.json
┣ pack_icon.png
┗ textures
┗blocks
┗〇〇.png
terrain_texture.jsonでテクスチャにIDをつけ、blocks.jsonでそのIDとブロック本体を紐づけします。

● ファイルの場所
textureフォルダの中に置きます。
┣ manifest.json
┣ pack_icon.png
┗ textures
┗terrain_texture.json
● 基本の構造
上の4行の値はコピペしたらそのままにしておいてください。
上の例でdiamond_oreとなっているところは自分で決めるテクスチャのIDです。
アルファベット、アンダーバー( _ )、数字(1文字目以外)のみが使えます。
このIDのことをこのサイトでは「TerrainID」と呼ぶことがあります。
texturesの値はテクスチャのファイルパス(拡張子なし)です。
● 紐づけするブロックを増やす
赤枠で囲まれた部分を増やします。
カンマ( , )忘れに注意。
● ファイルの場所
manifest.jsonと同じ層に置きます。
┣ manifest.json
┣ pack_icon.png
┗ blocks.json
● 基本の構造
format_versionの値はコピペしたらそのままにしておいてください。
マーカー部分は、紐づけるブロックのID(minecraft:は省略)、 texturesの値にはテクスチャのID(TerrainID)を指定します。
● 紐づけするブロックを増やす
赤枠で囲まれた部分を増やします。
カンマ忘れに注意。
blocks.jsonでカスタムブロックのIDを指定します。
blocks.jsonのsoundの値で指定できます。
値の一覧
| 値 | 概要 |
|---|---|
| wood | 木材 |
| stone | 石 |
| metal | 金属ブロック |
| glass | ガラス |
| grass | 草ブロック |
| gravel | 砂利 |
| sand | 砂 |
| scaffolding | 足場ブロック |
| amethyst_cluster | アメジストの欠片 |
| amethyst_block | アメジストブロック |
| large_amethyst_bud | 大きなアメジストの芽 |
| big_dripleaf | 大きなドリップリーフ |
| frog_spawn | カエルの卵 |
| itemframe | 額縁 |
| anvil | 金床 |
| packed_mud | 乾燥した泥ブロック |
| fungus | キノコ(ネザー) |
| stem | キノコの茎(ネザー) |
| tuff | 凝灰岩 |
| cave_vines | グロウベリーのツタ |
| basalt | 玄武岩 |
| moss_carpet | 苔のカーペット |
| moss_block | 苔ブロック |
| ancient_debris | 古代のがれき |
| powder_snow | 粉雪 |
| comparator | コンパレータ |
| coral | サンゴブロック |
| shroomlight | シュルームライト |
| pointed_dripstone | 鍾乳石 |
| dripstone_block | 鍾乳石ブロック |
| sweet_berry_bush | スイートベリーの茂み |
| sculk | スカルク |
| sculk_catalyst | スカルクカタリスト |
| sculk_shrieker | スカルクシュリーカー |
| sculk_sensor | スカルクセンサー |
| sculk_vein | スカルクのツタ |
| slime | スライムブロック |
| soul_sand | ソウルサンド |
| soul_soil | ソウルソイル |
| bamboo | 竹 |
| bamboo_sapling | たけのこ |
| small_amethyst_bud | 小さなアメジストの芽 |
| chain | チェーン |
| vines | ツタ |
| azalea | ツツジ |
| azalea_leaves | ツツジの葉 |
| deepslate | ディープスレート |
| deepslate_bricks | ディープスレートレンガ |
| copper | 銅ブロック |
| muddy_mangrove_roots | 泥に使ったマングローブの根 |
| mud | 泥ブロック |
| mud_bricks | 泥レンガ |
| nylium | ナイリウム |
| roots | 根(ネザー) |
| dirt_with_roots | 根が張った土 |
| nether_wart | ネザーウォート |
| nether_gold_ore | ネザー金鉱石 |
| nether_sprouts | ネザースプラウト |
| netherrack | ネザーラック |
| nether_brick | ネザーレンガ |
| netherite | ネザライトブロック |
| ladder | ハシゴ |
| honey_block | ハチミツブロック |
| medium_amethyst_bud | 普通のアメジストの芽 |
| hanging_roots | ぶら下がる根 |
| froglight | フロッグライト |
| calcite | 方解石 |
| spore_blossom | 胞子の花 |
| bone_block | 骨ブロック |
| mangrove_roots | マングローブの根 |
| snow | 雪 |
| cloth | 羊毛 |
| lantern | ランタン |
| candle | ロウソク |
| lodestone | ロードストーン |
土は砂利のサウンドです。
blocks.jsonのtexturesを以下のように書くことで、面ごとに違うテクスチャを貼ることができます。
● 6面指定パターン
● 上下・側面指定パターン
texturesフォルダのflipbook_textures.jsonを作成・編集します。
ファイルについての詳細
● ファイルの場所
┣ manifest.json
┣ pack_icon.png
┗ textures
┗ flipbook_textures.json
● 基本の構造
赤枠の部分を増やして他のブロックについて設定します。その際はカンマ忘れに注意。
flipbook_textureにテクスチャのファイルパス(拡張子なし)、 atlas_tileにテクスチャのID(TerrainID)を指定します。
ticks_per_frameで1コマ表示する長さ(tick)を指定できます。数が小さいほど速くなります。
● その他のプロパティ
必要なときだけ追加するプロパティです。
・atlas_index (int)
TerrainIDに含まれるテクスチャのインデックス。
・atlas_tile_variant (int)
・frames (int-n)
コマ番号を直接指定してコマの順番を決めます。
・replicate (int)
ピクセルの大きさ。
・blend_frames (bool)
falseにするとパッと次のコマへ遷移するように、 trueにするとスムーズにフェードしながら遷移するようになります。
● テクスチャ
アニメーションのコマを1つずつ縦に並べたものを作ります。 1コマひとコマは必ず正方形なので、コマのサイズはテクスチャの横幅で決まります。
blocks.jsonのcarried_texturesプロパティを指定ことによって、 置いた状態のテクスチャと、手に持った(インベントリにある)状態でテクスチャを別にできます。
指定の方法はtexturesプロパティと同じでTerrainIDを指定し、面別指定も同様にできます。
blocks.jsonでisotropicプロパティをtrueにすると、 ブロックを置いた座標によってテクスチャがランダムに回転(0°, 90°, 180°, 270°)します。面別指定できます。
terrain_texture.jsonのtexturesをvariationsで指定すると、 ブロックを置いた座標によってテクスチャがランダムになります。
● 複数のテクスチャを指定
● brightness_gamma(blocks.json)
小数で指定。テクスチャの明るさ(ガンマ)を変えられる。
● overlay_color(terrain_texture.json)
カラーコードで指定。テクスチャに単色をオーバーレイできます。
- バニラのブロックのジオメトリ変更(blockshapeについては解説しません)
- 特殊発光テクスチャ
- ブロックステートとテクスチャの紐づけ(データ値でブロックステートが決まるなら可)
- テクスチャのバリエーションとしてのデータ値を追加
