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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
85行目: 85行目:
 
{
 
{
 
//アイテムの登録
 
//アイテムの登録
sampleItemWithMetadata= new ItemSample(sampleItemWithMetadataID).setUnlocalizedName("ItemSample").setCreativeTab(CreativeTabs.tabMaterials);
+
sampleItemWithMetadata = new ItemSample(sampleItemWithMetadataID).setCreativeTab(CreativeTabs.tabMaterials);
 
GameRegistry.registerItem(sampleItemWithMetadata, "sampleItem");
 
GameRegistry.registerItem(sampleItemWithMetadata, "sampleItem");
 
//ブロックの登録
 
//ブロックの登録
blockSampleWithMetadata = new BlockSample(blockSampleWithMetadataID, Material.rock).setUnlocalizedName("BlockSample").setCreativeTab(CreativeTabs.tabBlock);
+
blockSampleWithMetadata = new BlockSample(blockSampleWithMetadataID, Material.rock).setCreativeTab(CreativeTabs.tabBlock);
 
//GameRegistry.registerBlock(blockSample, <ItemBlock>.class, "blockSample");
 
//GameRegistry.registerBlock(blockSample, <ItemBlock>.class, "blockSample");
 
GameRegistry.registerBlock(blockSampleWithMetadata, ItemBlockSample.class, "blockSample");
 
GameRegistry.registerBlock(blockSampleWithMetadata, ItemBlockSample.class, "blockSample");
107行目: 107行目:
 
import net.minecraft.item.ItemStack;
 
import net.minecraft.item.ItemStack;
 
import net.minecraft.util.Icon;
 
import net.minecraft.util.Icon;
import net.minecraft.item.ItemDye;
 
import net.minecraft.client.renderer.texture.IconRegister;
 
import net.minecraft.util.MathHelper;
 
 
import cpw.mods.fml.relauncher.Side;
 
import cpw.mods.fml.relauncher.Side;
 
import cpw.mods.fml.relauncher.SideOnly;
 
import cpw.mods.fml.relauncher.SideOnly;
  
 
public class ItemSample extends Item {
 
public class ItemSample extends Item {
 
        @SideOnly(Side.CLIENT)
 
        private Icon[] iconItemSample;
 
  
 
public ItemSample(int par1) {
 
public ItemSample(int par1) {
127行目: 121行目:
 
@SideOnly(Side.CLIENT)
 
@SideOnly(Side.CLIENT)
 
public Icon getIconFromDamage(int par1) {
 
public Icon getIconFromDamage(int par1) {
return iconItemSample[par1 % iconItemSample.length];
+
return super.getIconFromDamage(par1);
 
}
 
}
  
150行目: 144行目:
 
par3List.add(new ItemStack(this, 1, 2));
 
par3List.add(new ItemStack(this, 1, 2));
 
}
 
}
        @Override
 
        @SideOnly(Side.CLIENT)
 
        public void registerIcons(IconRegister par1IconRegister) {
 
                //テクスチャのパス指定。
 
                //メタデータは0から2でつまり3未満
 
                //src/minecraft/assets/samplemod/items/itemsample_(メタデータ).png
 
        this.iconItemSample = new Icon[3];
 
 
        for (int i = 0; i < this.iconItemSample.length; ++i)
 
        {
 
            this.iconItemSample[i] = par1IconRegister.registerIcon("samplemod:itemsample_" + i);
 
        }
 
    }
 
  
 
}
 
}
192行目: 173行目:
 
public Icon getIcon(int par1, int par2) {
 
public Icon getIcon(int par1, int par2) {
 
return super.getIcon(par1, par2);
 
return super.getIcon(par1, par2);
}
 
 
@Override
 
public int damageDropped(int par1)
 
{
 
return par1;
 
 
}
 
}
  
244行目: 219行目:
  
 
==解説==
 
==解説==
<source lang = "java">
+
保留。
this.setMaxDamage(0);
 
this.setHasSubtypes(true);
 
</source>
 
メタデータを追加するためにダメージ値とメタデータを持つことを証明する必要がある。
 
 
 
<source lang = "java">
 
@Override
 
public int getMetadata(int par1) {
 
return par1;
 
}
 
</source>
 
Blockクラス内では0を返してしまうため、オーバーライドして書き換える必要がある。
 
 
 
<source lang = "java">
 
@SideOnly(Side.CLIENT)
 
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) {
 
//メタデータでアイテムを追加する
 
//par3List.add(new ItemStack(this, 1, <メタデータ>));
 
par3List.add(new ItemStack(this, 1, 0));
 
par3List.add(new ItemStack(this, 1, 1));
 
par3List.add(new ItemStack(this, 1, 2));
 
}
 
 
 
@SideOnly(Side.CLIENT)
 
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) {
 
// メタデータでブロックを追加する
 
// par3List.add(new ItemStack(par1, 1, <メタデータ>));
 
for (int i = 0; i < 16; i++) {
 
par3List.add(new ItemStack(par1, 1, i));
 
}
 
}
 
</source>
 
各クラス内のgetSubXX(int, CreativeTabs, List)メソッドでメタデータを持つアイテム・ブロックの設定ができる。
 
アイテムはIntegerの最大値まで設定ができる(要検討)
 
 
 
<source lang = "java">
 
@Override
 
public String getUnlocalizedName(ItemStack par1ItemStack) {
 
return super.getUnlocalizedName() + "_" + par1ItemStack.getItemDamage();
 
}
 
</source>
 
各ダメージ値で別々の名前を登録するため工夫する必要がある。
 

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

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

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

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