Swallow794 (トーク | 投稿記録) (通常ブロックのサンプル) |
細 |
||
(3人の利用者による、間の9版が非表示) | |||
2行目: | 2行目: | ||
1.8より、ブロック、アイテムのテクスチャ・モデルを外部ファイルから指定するようになった。<br /> | 1.8より、ブロック、アイテムのテクスチャ・モデルを外部ファイルから指定するようになった。<br /> | ||
テクスチャ・モデル指定ファイルはリソースパックにより置換可能であり、形式もリソースパックと同様である。<br /> | テクスチャ・モデル指定ファイルはリソースパックにより置換可能であり、形式もリソースパックと同様である。<br /> | ||
− | + | ここでは、テクスチャ・モデル指定ファイルのサンプル及び記述形式を掲載する。<br /> | |
==シチュエーション別必要ファイル== | ==シチュエーション別必要ファイル== | ||
*通常ブロックの追加 | *通常ブロックの追加 | ||
− | + | blockSampleA.json(Texture/BlockState/Block Model/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> | ||
− | * | + | *既存モデルブロック(blockSampleB.json) |
+ | モデルは既存モデルのガラス(minecraft:glass)を適用。 | ||
<source lang=javascript> | <source lang=javascript> | ||
{ | { | ||
"variants": { | "variants": { | ||
− | "normal": { "model": " | + | "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 /> |
− | * | + | *通常ブロック(blockSampleA.json) |
− | + | テクスチャはブロックの全面に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/ | + | "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 /> | ||
+ | |||
− | * | + | *通常ブロック(blockSampleA.json) |
− | + | モデルはblockSampleA(/src/main/resources/assets/samplemod/models/block/blockSampleA.json)を適用<br /> | |
<source lang=javascript> | <source lang=javascript> | ||
{ | { | ||
− | "parent": "samplemod:block/ | + | "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」を指定