概要
前回 Block を継承したカスタムクラスを定義し MOD 用のカスタムブロックを定義しました
デフォルトではテクスチャがなく紫と黒のチェック柄のブロックになってしまいます
今回はテクスチャの画像を準備しカスタムブロックに設定する方法を紹介します
環境
- macOS 15.2
- Java 21.0.5
- forrge MDK 1.20.6-50.1.32
- minecraft 1.20.6
テクスチャ画像の配置
-
mkdir -p src/main/resources/assets/examplemod/textures/block/
でこの配下に custom_block.png などのテクスチャファイルを配置します
webp 形式ではなく png 形式を準備してください
例
モデルファイルの作成
テクスチャをカスタムブロックに適用するための JSON ファイルを用意します
-
mkdir -p src/main/resources/assets/examplemod/models/block/
-
vim src/main/resources/assets/examplemod/models/block/
{
"parent": "block/cube_all",
"textures": {
"all": "examplemod:block/custom_block"
}
}
モデルアイテムファイルの作成
ブロックがアイテムとして表示される際のテクスチャを設定します
-
mkdir -p src/main/resources/assets/examplemod/models/item/
-
vim src/main/resources/assets/examplemod/models/item/custom_block.json
{
"parent": "examplemod:block/custom_block"
}
blockstates ファイルを作成する
ブロックの状態に応じて適用するテクスチャを設定します
-
mkdir -p src/main/resources/assets/examplemod/blockstates/
-
vim mkdir -p src/main/resources/assets/examplemod/blockstates/custom_block.json
{
"variants": {
"": { "model": "examplemod:block/custom_block" }
}
}
variants はブロックの状態ごとに使用するモデルを定義です
空文字列は状態がない場合に適用されるモデルを指定します
build.gradle の確認
リソースファイルのパスが正しく設定されているか確認します
forge Mod の場合 assets 配下に配置した各種リソースは src/generated/resoureces というパスにビルド時に最適化されそれが利用されます
- vim build.gradle
sourceSets.main.resources { srcDir 'src/generated/resources' }
動作確認
-
./gradlew clean && ./gradlew build && ./gradlew runClient
カスタムブロックにテクスチャが設定されていることを確認しましょう
最後に
forge Mod でカスタムブロックにテクスチャ設定してみました
正しいパスに各種アセットを配置するとあとは自動でビルド時にテクスチャを設定してくれるようです
今回はブロックにテクスチャを設定しましたがアイテムにも同様にテクスチャを設定できます
アイテムの場合は png を置くパスが src/main/resources/assets/examplemod/textures/item/laser_gun.png
になります
またアイテム用のテクスチャは四角の画像ではなく背景が透過されたアイテムっぽい画像を用意しましょう
次回はブロックではなくアイテムのテクスチャを設定する方法を紹介します
0 件のコメント:
コメントを投稿