提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
44行目: 44行目:
 
public void init(FMLInitializationEvent event)
 
public void init(FMLInitializationEvent event)
 
{
 
{
sampleItem    = (new Item(30000)).setUnlocalizedName("sample:item").setCreativeTab(CreativeTabs.tabMaterials);
 
sampleBlock    = (new Block(3800)).setUnlocalizedName("sample:block").setCreativeTab(CreativeTabs.tabBlock);
 
 
GameRegistry.registerBlock(sampleBlock, "SampleBlock");
 
 
LanguageRegistry.addName(sampleItem, "SampleItem");
 
LanguageRegistry.addName(sampleBlock, "SampleBlock");
 
}
 
}
 
</source>
 
 
==解説==
 
<p>
 
 従来の手法と異なり, Itemごと, Blockごとに個別のテクスチャファイルが設定される. 設定されるテクスチャファイルのパスはUnlocalizedNameから自動的に決定される. UnlocalizedNameに"domain名:ブロック名","domain名:アイテム名"のようなドメイン名を含む形で指定すると,テスクチャには以下のパスのテスクチャファイルが指定される.
 
<blockquote>
 
<source lang = "java">
 
Block : (bin/minecraft)/mods/"domain名"/textures/blocks/"ブロック名".png
 
Item  : (bin/minecraft)/mods/"domain名"/textures/items/"アイテム名".png
 
</source>
 
</blockquote>
 
 
上記の例では具体的には以下のパスが指定される.
 
<blockquote>
 
<source lang = "java">
 
Block : (bin/minecraft)/mods/sample/textures/blocks/block.png
 
Item  : (bin/minecraft)/mods/sample/textures/items/item.png
 
</source>
 
</blockquote>
 
</p>
 
 
==複数のテクスチャ,指定のテクスチャを持つアイテム/ブロック==
 
<p>
 
 UnlocalizedNameから決定されるテクスチャファイルと異なるテクスチャを指定する場合や複数のテクスチャを持たせる場合は以下のように個別のクラス内でテクスチャを指定する.
 
</p>
 
 
===サンプルコード===
 
*SampleIconCore.java
 
<source lang = "java">
 
 
sampleItem    = (new ItemSample(30000)).setUnlocalizedName("itemSample").setCreativeTab(CreativeTabs.tabMaterials);
 
sampleItem    = (new ItemSample(30000)).setUnlocalizedName("itemSample").setCreativeTab(CreativeTabs.tabMaterials);
 
sampleBlock    = (new BlockSample(3800)).setUnlocalizedName("blockSample").setCreativeTab(CreativeTabs.tabBlock);
 
sampleBlock    = (new BlockSample(3800)).setUnlocalizedName("blockSample").setCreativeTab(CreativeTabs.tabBlock);
92行目: 54行目:
 
LanguageRegistry.addName(sampleBlock, "SampleBlock");
 
LanguageRegistry.addName(sampleBlock, "SampleBlock");
 
LanguageRegistry.addName(sampleBlockDuo, "SampleBlockDuo");
 
LanguageRegistry.addName(sampleBlockDuo, "SampleBlockDuo");
 +
}
 +
}
 
</source>
 
</source>
  
113行目: 77行目:
 
@Override
 
@Override
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
public void updateIcons(IconRegister par1IconRegister)
+
public void func_94581_a(IconRegister par1IconRegister)
 
{
 
{
this.iconIndex = par1IconRegister.registerIcon("sample:item");
+
this.iconIndex = par1IconRegister.func_94245_a("sample:item");
 
}
 
}
 
}
 
}
140行目: 104行目:
 
@Override
 
@Override
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
+
public void func_94332_a(IconRegister par1IconRegister)
 
{
 
{
this.blockIcon = par1IconRegister.registerIcon("sample:block");
+
this.field_94336_cN = par1IconRegister.func_94245_a("sample:block");
 
}
 
}
 
}
 
}
161行目: 125行目:
 
public class BlockSampleDuo extends Block
 
public class BlockSampleDuo extends Block
 
{
 
{
@SideOnly(Side.CLIENT)
 
 
private Icon topIcon;
 
private Icon topIcon;
 
@SideOnly(Side.CLIENT)
 
 
private Icon sideIcon;
 
private Icon sideIcon;
  
174行目: 135行目:
 
@Override
 
@Override
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
+
public void func_94332_a(IconRegister par1IconRegister)
 
{
 
{
this.topIcon        = par1IconRegister.registerIcon("sample:block_top");
+
this.topIcon        = par1IconRegister.func_94245_a("sample:block_top");
this.sideIcon      = par1IconRegister.registerIcon("sample:block_side");
+
this.sideIcon      = par1IconRegister.func_94245_a("sample:block_side");
 
}
 
}
  
198行目: 159行目:
 
==解説==
 
==解説==
 
<p>
 
<p>
 基本的には今までのテクスチャインデックス(整数値)がIconインタフェースに変わっただけである. Blockの面指定も適切なIconを返せばよい. もし1つのクラスで複数のテクスチャの異なるItemなどを扱っている場合は, getUnlocalizedName()あたりを使うとよい.  
+
 従来の手法と異なり, Itemごと, Blockごとにテクスチャを設定する必要がある. 基本的には今までのテクスチャインデックス(整数値)がIconインタフェースに変わっただけである. Blockの面指定も適切なIconを返せばよい. もし1つのクラスで複数のテクスチャの異なるItemなどを扱っている場合は, getUnlocalizedName()あたりを使うとよい. なおネームテーブルがまだ対応していないのでフィールド名やメソッド名が連番のままである.
 
</p>
 
</p>
  
205行目: 166行目:
 
@Override
 
@Override
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
public void updateIcons(IconRegister par1IconRegister)
+
public void func_94581_a(IconRegister par1IconRegister)
 
{
 
{
this.iconIndex = par1IconRegister.registerIcon("sample:item");
+
this.iconIndex = par1IconRegister.func_94245_a("sample:item");
 
}
 
}
 
</source>
 
</source>
214行目: 175行目:
 
@Override
 
@Override
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
+
public void func_94332_a(IconRegister par1IconRegister)
 
{
 
{
this.blockIcon = par1IconRegister.registerIcon("sample:block");
+
this.field_94336_cN = par1IconRegister.func_94245_a("sample:block");
 
}
 
}
 
</source>
 
</source>
227行目: 188行目:
 
このときのdomain名はただのパスなので, たとえば"sample/aaa"とすればパスもmods/sample/aaa/*となる. 注意すべきはファイル名に'''.png'''を含めないこと.
 
このときのdomain名はただのパスなので, たとえば"sample/aaa"とすればパスもmods/sample/aaa/*となる. 注意すべきはファイル名に'''.png'''を含めないこと.
 
</blockquote>
 
</blockquote>
 
====バニラのテクスチャを使用する場合====
 
<source lang = "java">
 
@Override
 
@SideOnly(Side.CLIENT)
 
public void registerIcons(IconRegister par1IconRegister)
 
{
 
this.itemIcon = par1IconRegister.registerIcon("sign");
 
}
 
</source>
 
バニラで指定されているUnlocalizedNameを指定すればよい. この場合では看板を指定している.
 
  
 
==まとめ==
 
==まとめ==

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: