提供: Minecraft Modding Wiki
(簡単だけどForgeのSpriteID無限化方法を追加) |
Takanasayo (トーク | 投稿記録) (無駄な処理が多かったので全体的に書き直し) |
||
(2人の利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
− | + | {{前提MOD|reqmod="1.2.5~1.4.7MinecraftForge"}} | |
− | |||
− | |||
− | |||
− | + | Forgeを使用してスプライトIDを無限化する方法です。<br/> | |
− | + | ※注:ただしこの方法では、1つのクラス内で256個を超えるテクスチャは扱えません。<br/> | |
− | 作成するクラス<br/> | + | ;作成するクラス<br/> |
− | + | :mod_textureSample<br/> | |
− | |||
− | |||
==ソース解説== | ==ソース解説== | ||
− | === | + | ===mod_textureSampleクラス作成=== |
<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 mod_textureSample extends BaseMod |
+ | { | ||
+ | public static Block sampleBlock; | ||
+ | public static Item sampleItem; | ||
+ | |||
+ | @MLProp(info="", min=1, max=4095) | ||
+ | public static int sampleBlockID = 3000; | ||
+ | |||
+ | @MLProp(info="", min=256, max=31999) | ||
+ | public static int sampleItemID = 5000; | ||
− | + | //16*16個のテクスチャが入ったpngファイルを用意します。画像サイズは任意です。 | |
− | + | private final String blockTextureFilePath = "/textureBlock.png"; | |
− | + | private final String itemTextureFilePath = "/textureItems.png"; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
public void load() | public void load() | ||
{ | { | ||
− | + | //MOD内で使用する全てのテクスチャをForgeに登録します。 | |
− | |||
− | |||
− | |||
− | / | ||
− | |||
− | |||
− | |||
MinecraftForgeClient.preloadTexture(blockTextureFilePath); | MinecraftForgeClient.preloadTexture(blockTextureFilePath); | ||
MinecraftForgeClient.preloadTexture(itemTextureFilePath ); | MinecraftForgeClient.preloadTexture(itemTextureFilePath ); | ||
− | + | ||
− | ModLoader.AddName( | + | sampleBlock = new Block(sampleBlockID, 0, Material.stone).setBlockName("sampleBlock"); |
− | ModLoader.addName( | + | //setTextureFile()でテクスチャファイルを設定します。 |
+ | sampleBlock .setTextureFile(blockTextureFilePath); | ||
+ | ModLoader.RegisterBlock(sampleBlock); | ||
+ | ModLoader.AddName(sampleBlock, "Sample Block"); | ||
+ | ModLoader.AddName(sampleBlock, "ja_JP", "サンプルブロック"); | ||
+ | |||
+ | sampleItem = new Item(sampleItemID - 256).setIconCoord(0, 0).setItemName("sampleItem"); | ||
+ | //setTextureFile()でテクスチャファイルを設定します。 | ||
+ | sampleItem .setTextureFile(itemTextureFilePath); | ||
+ | ModLoader.addName(sampleItem , "Sample Item"); | ||
+ | ModLoader.addName(sampleItem , "ja_JP", "サンプルアイテム"); | ||
} | } | ||
+ | |||
public String getVersion() | public String getVersion() | ||
{ | { | ||
56行目: | 55行目: | ||
} | } | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> |
2013年4月1日 (月) 15:09時点における最新版
この記事は"1.2.5~1.4.7MinecraftForge"を前提MODとしています。 |
Forgeを使用してスプライトIDを無限化する方法です。
※注:ただしこの方法では、1つのクラス内で256個を超えるテクスチャは扱えません。
- 作成するクラス
- mod_textureSample
ソース解説[編集]
mod_textureSampleクラス作成[編集]
package net.minecraft.src; //forgeを忘れずにインポートしておきましょう import net.minecraft.src.forge.*; public class mod_textureSample extends BaseMod { public static Block sampleBlock; public static Item sampleItem; @MLProp(info="", min=1, max=4095) public static int sampleBlockID = 3000; @MLProp(info="", min=256, max=31999) public static int sampleItemID = 5000; //16*16個のテクスチャが入ったpngファイルを用意します。画像サイズは任意です。 private final String blockTextureFilePath = "/textureBlock.png"; private final String itemTextureFilePath = "/textureItems.png"; public void load() { //MOD内で使用する全てのテクスチャをForgeに登録します。 MinecraftForgeClient.preloadTexture(blockTextureFilePath); MinecraftForgeClient.preloadTexture(itemTextureFilePath ); sampleBlock = new Block(sampleBlockID, 0, Material.stone).setBlockName("sampleBlock"); //setTextureFile()でテクスチャファイルを設定します。 sampleBlock .setTextureFile(blockTextureFilePath); ModLoader.RegisterBlock(sampleBlock); ModLoader.AddName(sampleBlock, "Sample Block"); ModLoader.AddName(sampleBlock, "ja_JP", "サンプルブロック"); sampleItem = new Item(sampleItemID - 256).setIconCoord(0, 0).setItemName("sampleItem"); //setTextureFile()でテクスチャファイルを設定します。 sampleItem .setTextureFile(itemTextureFilePath); ModLoader.addName(sampleItem , "Sample Item"); ModLoader.addName(sampleItem , "ja_JP", "サンプルアイテム"); } public String getVersion() { return "1.0.0"; } }