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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
{{前提MOD|reqmod="1.2.5~1.4.7MinecraftForge"}}
+
{{前提MOD|reqmod="ModLoader及びMinecraftForge"}}
  
Forgeを使用してスプライトIDを無限化する方法です。<br/>
+
BlockとItem両方を行います。<br/>
※注:ただしこの方法では、1つのクラス内で256個を超えるテクスチャは扱えません。<br/>
+
Blockの追加並びにItemの追加の詳細は下記を参照してください。
  
;作成するクラス<br/>
+
作成するクラス<br/>
:mod_textureSample<br/>
+
mod_hoge<br/>
 +
BlockHoge<br/>
 +
ItemHoge<br/>
  
 
==ソース解説==
 
==ソース解説==
===mod_textureSampleクラス作成===
+
===mod_hogeクラス作成===
 
<source lang="java">
 
<source lang="java">
 
package net.minecraft.src;
 
package net.minecraft.src;
  
//forgeを忘れずにインポートしておきましょう
+
/*
 +
 forgeを忘れずにインポートしておきましょう
 +
*/
 
import net.minecraft.src.forge.*;
 
import net.minecraft.src.forge.*;
  
public class mod_textureSample extends BaseMod
+
public class mod_hoge extends BaseMod{
{
+
     public static Block sampleBlock;
+
     public static Block oreHoge;
     public static Item sampleItem;
+
     public static Item itemHoge;
 +
    public int blockID;
 +
    public int itemID;
 +
    public String blockTextureFilePath;
 +
    public String itemTextureFilePath;
 +
 +
    public mod_hoge()
 +
    {
 +
    }
  
    @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に登録します。
+
    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);
        sampleBlock = new Block(sampleBlockID, 0, Material.stone).setBlockName("sampleBlock");
+
         ModLoader.AddName(oreHoge, "Hoge Ore");
        //setTextureFile()でテクスチャファイルを設定します。
+
         ModLoader.addName(itemHoge, "Hoge Item");
        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()
 
     {
 
     {
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>

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

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

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

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