提供: Minecraft Modding Wiki
ModderKina (トーク | 投稿記録) 細 (→ソースコード) |
細 |
||
(3人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Minecraft Forge Universal 9.10.0.xxx~"}} | {{前提MOD|reqmod="Minecraft Forge Universal 9.10.0.xxx~"}} | ||
− | + | {{チュートリアル難易度|difficulty=1|clear=none}} | |
− | == | + | {{チュートリアルカテゴリー|difficulty=1|type=Item}} |
+ | ==武器(剣)の追加== | ||
<p>ダメージが6(鉄剣と同じ)剣を追加する。また、金床で骨を使って修復することができる。</p> | <p>ダメージが6(鉄剣と同じ)剣を追加する。また、金床で骨を使って修復することができる。</p> | ||
67行目: | 68行目: | ||
super(par1, par2EnumToolMaterial); | super(par1, par2EnumToolMaterial); | ||
this.setUnlocalizedName("SampleSword"); //システム名の登録 | this.setUnlocalizedName("SampleSword"); //システム名の登録 | ||
− | this.setTextureName(" | + | this.setTextureName("sample_sword"); //テクスチャの指定 |
} | } | ||
2014年10月5日 (日) 14:33時点における最新版
この記事は"Minecraft Forge Universal 9.10.0.xxx~"を前提MODとしています。 |
武器(剣)の追加[編集]
ダメージが6(鉄剣と同じ)剣を追加する。また、金床で骨を使って修復することができる。
ソースコード[編集]
- SampleSwordCore.java
package mods.swordsample; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemSword; import net.minecraftforge.common.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid="SampleSwordCore", name="SampleSwordCore", version="1.0") public class SampleSwordCore { public static Item sampleSword; public static int sampleSwordID = 28522; public static EnumToolMaterial sampleEnum; @EventHandler public void init(FMLInitializationEvent event) { //表示名の登録 LanguageRegistry.addName(sampleSword, "Sample Sword"); LanguageRegistry.instance().addNameForObject(sampleSword, "ja_JP", "サンプル剣"); } @EventHandler public void preInit(FMLPreInitializationEvent event) { //インスタンスの代入。 sampleSword = new ItemSampleSword(sampleSwordID, sampleEnum); GameRegistry.registerItem(sampleSword, "sampleSword"); } static { //剣に使う基本素材の設定 sampleEnum = EnumHelper.addToolMaterial("SAMPLE", 0, 150, 4.0F, 2.0F, 22); sampleEnum.customCraftingMaterial = Item.bone; } }
- ItemSampleSword.java
package mods.swordsample; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemSampleSword extends ItemSword { public ItemSampleSword(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); this.setUnlocalizedName("SampleSword"); //システム名の登録 this.setTextureName("sample_sword"); //テクスチャの指定 } }
解説[編集]
SampleSwordCore.java[編集]
public static Item sampleSword; public static int sampleSwordID = 28522;
追加する剣を保持しておく変数と、剣のIDを保持しておく変数を宣言。
LanguageRegistry.addName(sampleSword, "Sample Sword"); LanguageRegistry.instance().addNameForObject(sampleSword, "ja_JP", "サンプル剣");
ゲーム中に表示される名前の登録。
2段目の2つめの引数に"ja_JP"を指定することで日本語名称の登録
//インスタンスの代入。 sampleSword = new ItemSampleSword(sampleSwordID, sampleEnum); GameRegistry.registerItem(sampleSword, "sampleSword");
剣のデータをMinecraftに登録している。
sampleEnum = EnumHelper.addToolMaterial("SAMPLE", 0, 150, 4.0F, 2.0F, 22); sampleEnum.customCraftingMaterial = Item.bone;
剣の素材を設定している。
1段目の設定では、引数に、名前、基本性能(今回は不要)、耐久値、壊す速度(今回は不要)、攻撃時のダメージ(これに+3されます)、良エンチャントの付きやすさ
を指定している。
2段めでは、金床使用時に修復するアイテムを指定している。今回は骨を指定している。
ItemSampleSword.java[編集]
this.setUnlocalizedName("SampleSword"); //システム名の登録 this.setTextureName("sample_sword"); //テクスチャの指定
システム名の登録をしないと、表示名の登録はできません。
テクスチャは、"assets/minecraft/textures/items/登録名"に置いたのが表示されます。
今回の場合は、"assets/minecraft/textures/items/sample_sword.png"です。