提供: Minecraft Modding Wiki
2014年12月25日 (木) 13:37時点におけるSwallow794 (トーク | 投稿記録)による版
移動先: 案内検索

前書き

1.8より、ブロック、アイテムのテクスチャ・モデルを外部ファイルから指定するようになった。
テクスチャ・モデル指定ファイルはリソースパックにより置換可能であり、形式もリソースパックと同様である。
ここでは、テクスチャ・モデル指定ファイルのサンプル及び記述形式を掲載する。


シチュエーション別必要ファイル

  • 通常ブロックの追加

blockSampleA.json(Texture/BlockState/Block Model/Item Model)

  • 既存モデルブロックの追加

blockSampleB.json(BlockState/Item Model)

  • プロパティブロックの追加

blockSampleC.json(Texture/BlockState/(Block Model)/(Item Model))

  • 通常アイテムの追加

itemSampleA.json(Texture/Item Model)


BlockState

  • 置き場所

/src/main/resources/assets/<domain>/blockstates/<blockname>.json


  • 通常ブロック(blockSampleA.json)

モデルはblockSampleA(/src/main/resources/assets/<domain>/models/block/blockSampleA.json)を適用。

{
	"variants": {
		"normal":  { "model": "samplemod:blockSampleA" }
	}
}


  • 既存モデルブロック(blockSampleB.json)

モデルは既存モデルのガラス(minecraft:glass)を適用。

{
	"variants": {
		"normal":  { "model": "glass" }
	}
}


  • プロパティブロック(blockSampleC.json)

blockSampleCのBlockStateはPropertyInteger「"meta"」を持つ必要がある。
モデルは"meta"が0の場合blockSampleA、"meta"が1の場合blockSampleBを適用。

{
	"variants": {
		"meta=0":  { "model": "samplemod:blockSampleA" }
		"meta=1":  { "model": "samplemod:blockSampleB" }
	}
}

Block Model

  • 置き場所

/src/main/resources/assets/<domain>/models/block/<modelname>.json


  • 通常ブロック(blockSampleA.json)

テクスチャはブロックの全面にblockSampleA(/src/main/resources/assets/samplemod/textures/blocks/blockSampleA.png)を適用

{
    "parent": "block/cube_all",
    "textures": {
        "all": "samplemod:blocks/blockSampleA"
    }
}


Item Model

  • 置き場所

Block: /src/main/resources/assets/<domain>/models/item/<blockmodelname>.json

Item: /src/main/resources/assets/<domain>/models/item/<itemname>.json


  • 通常ブロック(blockSampleA.json)

モデルはblockSampleA(/src/main/resources/assets/samplemod/models/block/blockSampleA.json)を適用

{
    "parent": "samplemod:block/blockSampleA",
    "display": {
        "thirdperson": {
            "rotation": [ 10, -45, 170 ],
            "translation": [ 0, 1.5, -2.75 ],
            "scale": [ 0.375, 0.375, 0.375 ]
        }
    }
}


  • 既存モデルブロック(blockSampleB.json)

モデルは既存モデルのガラス(minecraft:block/glass)を適用

{
	"parent": "block/glass",
	"display": {
		"thirdperson": {
			"rotation": [ 10, -45, 170 ],
			"translation": [ 0, 1.5, -2.75 ],
			"scale": [ 0.375, 0.375, 0.375 ]
		}
	}
}


  • 通常アイテム(itemSampleA.json)

テクスチャはitemSampleA(/src/main/resources/assets/samplemod/textures/items/itemSampleA.png)を適用

{
	"parent": "builtin/generated",
	"textures": {
		"layer0": "samplemod:items/itemSampleA"
	},
	"display": {
	"thirdperson": {
		"rotation": [ 0, 90, -35 ],
		"translation": [ 0, 1.25, -3.5 ],
		"scale": [ 0.85, 0.85, 0.85 ]
	},
	"firstperson": {
		"rotation": [ 0, -135, 25 ],
		"translation": [ 0, 4, 2 ],
		"scale": [ 1.7, 1.7, 1.7 ]
		}
	}
}


BlockState 解説

  • variantの中身

・プロパティなしのブロックの場合

"normal":  { "model": "<domain>:<blockname>" }

・プロパティありのブロックの場合

"<prop>=<value>":  { "model": "<domain>:<blockname>" }


  • modelの指定

・<blockname>
「assets/minecraft/models/block/<blockname>.json」を指定

・<domain>:<blockname>
「/src/main/resources/assets/<domain>/models/block/<blockname>.json」を指定


Block Model 解説

  • 既存のparentとtexturesの指定


  • Base
parent all bottom top side end cross particle down up north east south west front
block/cube_all o
block/cube_top o o o
block/cube_bottom_top o o o o
block/cube o o o o o o o
block/cube_column o o
block/cube_mirrored_all o
block/column_side o o
block/cross o ?
block/orientable o o o
block/orientable_vertical o o
block/leaves o
  • Door/Fence/Wall/Rail
bottom top side texture rail wall
block/door_bottom o o
block/door_bottom_rh o o
block/door_top o o
block/door_top_rh o o
block/fence_gate_closed o
block/fence_gate_open o
block/fence_gate_inventory o
block/fence_n o
block/fence_ne o
block/fence_ns o
block/fence_nse o
block/fence_nsew o
block/fence_post o
block/wall_gate_closed o
block/wall_gate_open o
block/wall_inventory o
block/wall_n o
block/wall_ne o
block/wall_ns o
block/wall_ns_above o
block/wall_nse o
block/wall_nsew o
block/wall_post o
block/rail_flat o
block/rail_raised_ne o
block/rail_raised_sw o
block/rail_raised_sw o
block/trapdoor_bottom o
block/trapdoor_open o
block/trapdoor_top o


  • Door/Fence
parent all bottom top side texture end cross rail particle body edge pane wool crop wall front dirt fire plant overlay torch stem upperstem inside unsticky platform
block/inner_stairs o o o
block/outer_stairs o o o
block/stairs o o o
block/anvil o o o
block/pane_n o o
block/pane_ne o o
block/pane_ns o o
block/pane_nse o o
block/pane_nesw o o
block/carpet o o
block/crop o o
block/tallgrass o
block/farmland o o o
block/flower_pot_cross o
block/grass o o o o o
block/half_slab o o o
block/pressure_plate_down o
block/pressure_plate_inventory o
block/pressure_plate_up o
block/torch o
block/torch_wall o
block/stem_fruit o o
block/stem_growth0 o
block/stem_growth1 o
block/stem_growth2 o
block/stem_growth3 o
block/stem_growth4 o
block/stem_growth5 o
block/stem_growth6 o
block/stem_growth7 o
block/rail_curved o
block/piston_extended o o o
block/piston_head o o o
block/piston_head_short o o o
block/piston o o o
block/button o
block/button_inventory o
block/button_pressed o
block/upper_slab o o o


  • Fire
parent particle fire
block/fire_floor o o
block/fire_n o o
block/fire_n_flip o o
block/fire_ne o o
block/fire_ne_flip o o
block/fire_neu1 o o
block/fire_neu1_flip o o
block/fire_neu2 o o
block/fire_neu2_flip o o
block/fire_ns o o
block/fire_ns_flip o o
block/fire_nse o o
block/fire_nse_flip o o
block/fire_nseu1 o o
block/fire_nseu1_flip o o
block/fire_nseu2 o o
block/fire_nseu2_flip o o
block/fire_nsew o o
block/fire_nsew_flip o o
block/fire_nsewu1 o o
block/fire_nsewu1_flip o o
block/fire_nsewu2 o o
block/fire_nsewu2_flip o o
block/fire_nsu1 o o
block/fire_nsu1_flip o o
block/fire_nsu2 o o
block/fire_nsu2_flip o o
block/fire_nu1 o o
block/fire_nu1_flip o o
block/fire_nu2 o o
block/fire_nu2_flip o o
block/fire_u1 o o
block/fire_u1_flip o o
block/fire_u2 o o
block/fire_u2_flip o o

Item Model解説