提供: Minecraft Modding Wiki
移動先: 案内検索
(テクスチャの指定方法の簡単な解説)
 
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
{{前提MOD|reqmod="Minecraft Forge Universal 9.10.0.xxx~"}}
 
 
 
1.6でテクスチャの管理方法が変更されたことによる指定方法の変更点を解説する。
 
1.6でテクスチャの管理方法が変更されたことによる指定方法の変更点を解説する。
  
 
==テクスチャの保存フォルダ==
 
==テクスチャの保存フォルダ==
テクスチャの保存フォルダ階層は以下の様なルールに基づいている必要が有る。
+
[[1.6のテクスチャの置き場所]]を参照。
 
 
(Item)/assets/<domain>/textures/items/hoge.png
 
(Block)/assets/<domain>/textures/blocks/hoge.png
 
(その他、GUI等)/assets/<Domain>/subfolder(階層自由)/hoge.png
 
コーディング時に指定する書式は、ItemとBlockは<br />
 
"domain:hoge"<br />
 
その他、GUIやEntityのテクスチャの指定は<br />
 
"domain:subfolder/hoge.png"<br />
 
か、あるいは、2変数指定の場合は,<br />
 
"domain", "subfolder/hoge.png"<br />
 
となる。
 
  
 
==ItemとBlockのアイコンテクスチャ指定方法==
 
==ItemとBlockのアイコンテクスチャ指定方法==

2014年4月5日 (土) 00:50時点における最新版

1.6でテクスチャの管理方法が変更されたことによる指定方法の変更点を解説する。

テクスチャの保存フォルダ[編集]

1.6のテクスチャの置き場所を参照。

ItemとBlockのアイコンテクスチャ指定方法[編集]

ItemとBlockのアイコンテクスチャの指定はsetTextureNameメソッドを用いて以下のように記述する。

public static Item hoge = new Item(ID).setTextureName("domain:textureName");
public static Block foo = new Block(ID).setTextureName("domain:textureName");

GUIのテクスチャ指定方法[編集]

GUI(やその他の場合)のテクスチャの指定にはResourceLocationクラスを用いる。まず、GUIのクラスに以下のクラスメンバ変数を追加。

private static final ResourceLocation GUITEXTURE = new ResourceLocation("domain", "gui.png");

そして、drawGuiContainerBackgroundLayerメソッドか、drawScreenメソッド内の最初に、以下のコードを挿入。

mc.getTextureManager().bindTexture(GUITEXTURE);

Entityのテクスチャの指定方法[編集]

EntityのRenderクラス内に、GUIと同様にResourceLocation変数を用意する。

private static final ResourceLocation TEXTURE = new ResourceLocation("domain", "gui.png");

そして、getEntityTextureメソッドをオーバーライドし、以下のように変更する。

@Override
protected ResourceLocation getEntityTexture(Entity entity) {
	return TEXTURE;
}

そして、doRenderメソッド内の最初の方で、以下のコードを挿入する。

this.bindEntityTexture(Entityのインスタンス);

TileEntitySpecialRendererでのテクスチャの指定方法[編集]

TileEntitySpecialRendererクラス内に、GUIと同様にResourceLocation変数を用意する。

private static final ResourceLocation TEXTURE = new ResourceLocation("domain", "gui.png");

そして、renderTileEntityAtメソッド内の最初の方で、以下のコードを挿入する。

this.bindTexture(TEXTURE);