テクスチャを重ねる方法

MOD・プラグイン・ツールなどの開発に関する質問はこちら
ogachan

テクスチャを重ねる方法

投稿記事 by ogachan »

Minecraft1.7.10、Forge10.13.4.1558でのModdingで質問です。
アイテムで、二枚のテクスチャがあって、それをGUIで重ねて描画する方法を教えて欲しいです。
お願いします。

penM
サーバー管理者
記事: 114
登録日時: 2019年7月23日(火) 02:14

Re: テクスチャを重ねる方法

投稿記事 by penM »

ogachan さんが書きました: 2020年9月05日(土) 14:32

Minecraft1.7.10、Forge10.13.4.1558でのModdingで質問です。
アイテムで、二枚のテクスチャがあって、それをGUIで重ねて描画する方法を教えて欲しいです。
お願いします。

Forgeのテクスチャレイヤー機能を使えば良いと思いましたが、どうすればそれが使えるのか、そもそも存在するのか解らなかったので、javaで画像合成したテクスチャを利用するのはどうでしょうか?汚い手段ですが、動く気がします。
Java2Dで画像を重ね合わせる

ogachan

Re: テクスチャを重ねる方法

投稿記事 by ogachan »

返信ありがとうございます。
具体的にはどうすればよいのでしょうか。テクスチャの登録などにはIIconを用いているのですが、BufferedImageに変換して処理することは可能でしょうか?

ogachan

Re: テクスチャを重ねる方法

投稿記事 by ogachan »

RenderItemを用いて、renderItem内でbindTextureとrenderIconを用いて、アイテムのテクスチャ同士を重ねられました。
しかし、renderBlockAsItemを使ってブロックのテクスチャを描画した後、renderIconでアイテムのテクスチャを重ねようとするとできませんでした。

penM
サーバー管理者
記事: 114
登録日時: 2019年7月23日(火) 02:14

Re: テクスチャを重ねる方法

投稿記事 by penM »

ogachan さんが書きました: 2020年9月05日(土) 20:52

RenderItemを用いて、renderItem内でbindTextureとrenderIconを用いて、アイテムのテクスチャ同士を重ねられました。
しかし、renderBlockAsItemを使ってブロックのテクスチャを描画した後、renderIconでアイテムのテクスチャを重ねようとするとできませんでした。

確かにnet.minecraft.client.renderer.entity.RenderItemにはrenderIconがありますが、net.minecraft.client.renderer.RenderBlocksにはありませんね。
renderBlockAsItemがBlockを引数で受けるので、渡すblockの方のテクスチャを変更すればよいのでしょうか?
具体的にはnet.minecraft.block.BlockにあるblockIcon registerBlockIconsで上書きすれば良い?
すみません。疑問形です。(わかっていない)
参考

ogachan

Re: テクスチャを重ねる方法

投稿記事 by ogachan »

renderItemの引数のObject...dataのうち最初のものをRenderBlocksにキャストしています。
作りたいアイテムは別のアイテムのNBTが記録されていて、そのアイテムのインベントリ内での描画と、作りたいアイテムのアイコンを重ねたいです。記録されているのがアイテムの場合はできたのですがブロックだとなぜかできないです。

ogachan

Re: テクスチャを重ねる方法

投稿記事 by ogachan »

RenderItemじゃなくてIItemRendererのrenderItemでした

返信する