提供: Minecraft Modding Wiki
この編集を取り消せます。
下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | {{前提MOD|reqmod=" | + | {{前提MOD|reqmod="ModLoader及びMinecraftForge"}} |
− | + | BlockとItem両方を行います。<br/> | |
− | + | Blockの追加並びにItemの追加の詳細は下記を参照してください。 | |
− | + | 作成するクラス<br/> | |
− | + | mod_hoge<br/> | |
+ | BlockHoge<br/> | ||
+ | ItemHoge<br/> | ||
==ソース解説== | ==ソース解説== | ||
− | === | + | ===mod_hogeクラス作成=== |
<source lang="java"> | <source lang="java"> | ||
package net.minecraft.src; | package net.minecraft.src; | ||
− | // | + | /* |
+ | forgeを忘れずにインポートしておきましょう | ||
+ | */ | ||
import net.minecraft.src.forge.*; | import net.minecraft.src.forge.*; | ||
− | public class | + | public class mod_hoge extends BaseMod{ |
− | + | ||
− | public static Block | + | public static Block oreHoge; |
− | public static Item | + | public static Item itemHoge; |
+ | public int blockID; | ||
+ | public int itemID; | ||
+ | public String blockTextureFilePath; | ||
+ | public String itemTextureFilePath; | ||
+ | |||
+ | public mod_hoge() | ||
+ | { | ||
+ | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
public void load() | public void load() | ||
{ | { | ||
− | // | + | blockID = 120; |
+ | itemID = 5000; | ||
+ | blockTextureFilePath = "/block/hoge.png"; | ||
+ | itemTextureFilePath = "/item/hoge.png"; | ||
+ | /* | ||
+ | テクスチャファイルは256*256のpngファイルを用意します。 | ||
+ | MinecraftForgeClient.preloadTextureで対象のテクスチャファイルを指定してあげるだけです。 | ||
+ | */ | ||
MinecraftForgeClient.preloadTexture(blockTextureFilePath); | MinecraftForgeClient.preloadTexture(blockTextureFilePath); | ||
MinecraftForgeClient.preloadTexture(itemTextureFilePath ); | MinecraftForgeClient.preloadTexture(itemTextureFilePath ); | ||
− | + | ModLoader.RegisterBlock(oreHoge); | |
− | + | ModLoader.AddName(oreHoge, "Hoge Ore"); | |
− | + | ModLoader.addName(itemHoge, "Hoge Item"); | |
− | |||
− | |||
− | ModLoader.AddName( | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ModLoader.addName( | ||
− | |||
} | } | ||
− | |||
public String getVersion() | public String getVersion() | ||
{ | { | ||
55行目: | 53行目: | ||
} | } | ||
} | } | ||
+ | </source> | ||
+ | ※Blockに対してGUIを入れる場合はMinecraftForgeClient.preloadTextureでGUIテクスチャファイルを追加指定してあげるだけです。 | ||
+ | |||
+ | ===BlockHogeクラス作成=== | ||
+ | <source lang="java"> | ||
+ | package net.minecraft.src; | ||
+ | |||
+ | import java.util.Random; | ||
+ | /* | ||
+ | forgeを忘れずにインポートしておきましょう | ||
+ | */ | ||
+ | import net.minecraft.src.forge.*; | ||
+ | |||
+ | /* | ||
+ | ITextureProviderインターフェイスを追加します。 | ||
+ | */ | ||
+ | public class BlockHoge extends Block implements ITextureProvider | ||
+ | { | ||
+ | public BlockHoge(int i, int j) | ||
+ | { | ||
+ | super(i, j, Material.rock); | ||
+ | } | ||
+ | public int idDropped(int i, int j,Random random) | ||
+ | { | ||
+ | return this.blockID; | ||
+ | } | ||
+ | public int quantityDropped(Random random) | ||
+ | { | ||
+ | return 1; | ||
+ | } | ||
+ | /* | ||
+ | getTextureFileメソッドを追加します。 | ||
+ | retuenでBlockのテクスチャファイルのパスを指定します。 | ||
+ | */ | ||
+ | public String getTextureFile() | ||
+ | { | ||
+ | return "/block/hoge.png"; | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | ===itemHogeクラス作成=== | ||
+ | やることはBlockと一緒です。 | ||
+ | <source lang="java"> | ||
+ | package net.minecraft.src; | ||
+ | import net.minecraft.src.forge.*; | ||
+ | |||
+ | public class itemHoge extends Item implements ITextureProvider | ||
+ | { | ||
+ | public itemHoge(int i) | ||
+ | { | ||
+ | super(i); | ||
+ | } | ||
+ | |||
+ | public String getTextureFile() | ||
+ | { | ||
+ | return "/item/hoge.png"; | ||
+ | } | ||
+ | } | ||
</source> | </source> |