提供: Minecraft Modding Wiki
ModderKina (トーク | 投稿記録) (作った) |
ModderKina (トーク | 投稿記録) 細 (→ソースコード) |
||
(同じ利用者による、間の1版が非表示) | |||
28行目: | 28行目: | ||
} | } | ||
</source> | </source> | ||
− | * | + | *SampleItemColor.java |
<source lang = "java"> | <source lang = "java"> | ||
package 等省略 | package 等省略 | ||
41行目: | 41行目: | ||
@SideOnly(Side.CLIENT) | @SideOnly(Side.CLIENT) | ||
public boolean requiresMultipleRenderPasses(){ | public boolean requiresMultipleRenderPasses(){ | ||
− | return true;// | + | return true;//ここで複数のテクスチャを重ねられるようにする。 |
} | } | ||
2015年7月25日 (土) 05:17時点における最新版
この記事は"Minecraft Forge Universal 10.12.0.xxx~"を前提MODとしています。 |
防具の追加[編集]
簡単な防具の追加方法
ソースコード[編集]
- SampleItemCore.java
package 等省略 @Mod(modid="SampleItemCore", name="SampleItemCore", version="1.0") public class SampleItemCore { public static Item sampleItem; @EventHandler public void preInit(FMLPreInitializationEvent event) { //アイテムのインスタンス生成 sampleItem = new SampleItemColor() .setCreativeTab(CreativeTabs.tabMisc)/*クリエイティブのタブ*/ .setUnlocalizedName("SampleItemColor")/*システム名の登録*/ .setTextureName("potion_bottle_drinkable")/*テクスチャの指定(ここではポーションのものを指定している)*/ //アイテムの登録。登録文字列はMOD内で被らなければ何でも良い。 GameRegistry.registerItem(sampleItem, "sampleItemColor"); } }
- SampleItemColor.java
package 等省略 public class SampleItemColor extends Item { private IIcon overIcon; private String overIconName; protected ItemChangeColorPartiallyFromDye(){ overIconName="potion_overlay"; } @SideOnly(Side.CLIENT) public boolean requiresMultipleRenderPasses(){ return true;//ここで複数のテクスチャを重ねられるようにする。 } @SideOnly(Side.CLIENT) public IIcon getIconFromDamageForRenderPass(int damage, int pass){ return pass > 0 ? overIcon : super.getIconFromDamageForRenderPass(damage, pass);//RenderPassに応じて渡すアイコンを変えている } @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass){ return pass==1?ItemDye.field_150922_c[stack.getItemDamage()]:16777215;//ここではRenderPassが1の時だけItemStackのDamage値に応じてItemDyeの色を渡している。 } @SuppressWarnings("unchecked") @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { for(int i = 0; i < 16; i++)list.add(new ItemStack(item,1,i));//クリエイティブタブへの登録 } public String getUnlocalizedName(ItemStack par1ItemStack) { return super.getUnlocalizedName() + "_" + ItemDye.field_150923_a[par1ItemStack.getItemDamage()];//翻訳キーとなる名前をダメージ値で変えている。 } public void registerIcons(IIconRegister register){ super.registerIcons(register); overIcon=register.registerIcon(overIconName); } public int getMetadata(int p_77647_1_) { return p_77647_1_;//Metadataを返す。 } }
解説[編集]
基本的に1.7のアイテム追加と同じ要領で追加できる。 その他の解説はコメントを参照のこと。