アドオン作成 - ブロックのテクスチャ
アドオンのブロックについて説明します。
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については解説しません)
- 特殊発光テクスチャ
- ブロックステートとテクスチャの紐づけ(データ値でブロックステートが決まるなら可)
- テクスチャのバリエーションとしてのデータ値を追加