提供: Minecraft Modding Wiki
移動先: 案内検索
(通常ブロックのサンプル)
 
 
(3人の利用者による、間の9版が非表示)
2行目: 2行目:
 
1.8より、ブロック、アイテムのテクスチャ・モデルを外部ファイルから指定するようになった。<br />
 
1.8より、ブロック、アイテムのテクスチャ・モデルを外部ファイルから指定するようになった。<br />
 
テクスチャ・モデル指定ファイルはリソースパックにより置換可能であり、形式もリソースパックと同様である。<br />
 
テクスチャ・モデル指定ファイルはリソースパックにより置換可能であり、形式もリソースパックと同様である。<br />
ここでは、テクスチャ・モデル指定ファイルの記述形式、サンプルを掲載する。<br />
+
ここでは、テクスチャ・モデル指定ファイルのサンプル及び記述形式を掲載する。<br />
  
  
 
==シチュエーション別必要ファイル==
 
==シチュエーション別必要ファイル==
 
*通常ブロックの追加
 
*通常ブロックの追加
blockSample.json(Texture/BlockState/Block Model/Item Model)<br />
+
blockSampleA.json(Texture/BlockState/Block Model/Item Model)<br />
  
*アイテムの追加
+
*既存モデルブロックの追加
itemSample.json(Texture/Item Model)<br />
+
blockSampleB.json(BlockState/Item Model)
 +
 
 +
*プロパティブロックの追加
 +
blockSampleC.json(Texture/BlockState/(Block Model)/(Item Model))<br />
 +
 
 +
*通常アイテムの追加
 +
itemSampleA.json(Texture/Item Model)<br />
  
  
 
==BlockState==
 
==BlockState==
 
*置き場所
 
*置き場所
/src/main/resources/assets/<domain>/blockstates/<blockname>.json<br />
+
/src/main/resources/assets/''<domain>''/blockstates/<blockname>.json<br />
 +
 
 +
 
 +
*通常ブロック(blockSampleA.json)
 +
モデルはblockSampleA(/src/main/resources/assets/''<domain>''/models/block/blockSampleA.json)を適用。
 +
<source lang=javascript>
 +
{
 +
"variants": {
 +
"normal":  { "model": "samplemod:blockSampleA" }
 +
}
 +
}
 +
</source>
  
  
*通常ブロック(blockSample.json)
+
*既存モデルブロック(blockSampleB.json)
 +
モデルは既存モデルのガラス(minecraft:glass)を適用。
 
<source lang=javascript>
 
<source lang=javascript>
 
{
 
{
 
"variants": {
 
"variants": {
"normal":  { "model": "samplemod:blockSample" }
+
"normal":  { "model": "glass" }
 
}
 
}
 
}
 
}
 
</source>
 
</source>
  
 +
 +
*プロパティブロック(blockSampleC.json)
 +
blockSampleCのBlockStateはPropertyInteger「"meta"」を持つ必要がある。<br />
 +
モデルは"meta"が0の場合blockSampleA、"meta"が1の場合blockSampleBを適用。
 +
 +
<source lang=javascript>
 +
{
 +
"variants": {
 +
"meta=0":  { "model": "samplemod:blockSampleA" }
 +
"meta=1":  { "model": "samplemod:blockSampleB" }
 +
}
 +
}
 +
</source>
  
 
==Block Model==
 
==Block Model==
 
*置き場所
 
*置き場所
/src/main/resources/assets/<domain>/models/block/<modelname>.json<br />
+
/src/main/resources/assets/''<domain>''/models/block/<modelname>.json<br />
  
  
*通常ブロック(blockSample.json)
+
*通常ブロック(blockSampleA.json)
ブロックの全面にテクスチャ(/src/main/resources/assets/samplemod/textures/blocks/blockSample.png)を適用<br />
+
テクスチャはブロックの全面にblockSampleA(/src/main/resources/assets/samplemod/textures/blocks/blockSampleA.png)を適用<br />
 
<source lang=javascript>
 
<source lang=javascript>
 
{
 
{
 
     "parent": "block/cube_all",
 
     "parent": "block/cube_all",
 
     "textures": {
 
     "textures": {
         "all": "samplemod:blocks/blockSample"
+
         "all": "samplemod:blocks/blockSampleA"
 
     }
 
     }
 
}
 
}
 
</source>
 
</source>
 
  
 
==Item Model==
 
==Item Model==
 
*置き場所
 
*置き場所
/src/main/resources/assets/<domain>/models/item/<itemname>.json<br />
+
Block: /src/main/resources/assets/''<domain>''/models/item/<blockmodelname>.json<br />
 +
 
 +
Item: /src/main/resources/assets/''<domain>''/models/item/<itemname>.json<br />
 +
 
  
  
*通常ブロック(blockSample.json)
+
*通常ブロック(blockSampleA.json)
モデルはblockSample.json(/src/main/resources/assets/samplemod/models/block/blockSample.json)を適用<br />
+
モデルはblockSampleA(/src/main/resources/assets/samplemod/models/block/blockSampleA.json)を適用<br />
 
<source lang=javascript>
 
<source lang=javascript>
 
{
 
{
     "parent": "samplemod:block/blockSample",
+
     "parent": "samplemod:block/blockSampleA",
 
     "display": {
 
     "display": {
 
         "thirdperson": {
 
         "thirdperson": {
64行目: 97行目:
 
}
 
}
 
</source>
 
</source>
 +
 +
 +
*既存モデルブロック(blockSampleB.json)
 +
モデルは既存モデルのガラス(minecraft:block/glass)を適用<br />
 +
<source lang=javascript>
 +
{
 +
"parent": "block/glass",
 +
"display": {
 +
"thirdperson": {
 +
"rotation": [ 10, -45, 170 ],
 +
"translation": [ 0, 1.5, -2.75 ],
 +
"scale": [ 0.375, 0.375, 0.375 ]
 +
}
 +
}
 +
}
 +
</source>
 +
 +
 +
*通常アイテム(itemSampleA.json)
 +
テクスチャはitemSampleA(/src/main/resources/assets/samplemod/textures/items/itemSampleA.png)を適用<br />
 +
<source lang=javascript>
 +
{
 +
"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 ]
 +
}
 +
}
 +
}
 +
 +
</source>
 +
 +
==BlockState 解説==
 +
*variantの中身
 +
・プロパティなしのブロックの場合<br />
 +
<source lang=javascript>
 +
"normal":  { "model": "<domain>:<blockname>" }
 +
</source>
 +
 +
・プロパティありのブロックの場合<br />
 +
<source lang=javascript>
 +
"<prop>=<value>":  { "model": "<domain>:<blockname>" }
 +
</source>
 +
 +
 +
*modelの指定
 +
・''<blockname>''<br />
 +
「assets/minecraft/models/block/''<blockname>''.json」を指定<br />
 +
<br />
 +
・''<domain>'':''<blockname>''<br />
 +
「/src/main/resources/assets/''<domain>''/models/block/''<blockname>''.json」を指定<br />
 +
 +
==Block Model 解説==
 +
 +
 +
==Item Model解説==
 +
 +
[[カテゴリ:バニラの機能]]

2019年9月29日 (日) 14:04時点における最新版

前書き[編集]

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 解説[編集]

Item Model解説[編集]