提供: Minecraft Modding Wiki
移動先: 案内検索
(大体Fixしました。)
2行目: 2行目:
 
・ModLoader<br/>
 
・ModLoader<br/>
 
・MinecraftForge<br/>
 
・MinecraftForge<br/>
を使っていることを前提に書かれています。<br/>{{前提MOD|reqmod=ModLoader及びMinecraftForge}}
+
を使っていることを前提に書かれています。<br/>
 
 
 
MLPropを使う場合は、ModLoaderAPIに記載してありますのでそちらを確認ください。
 
MLPropを使う場合は、ModLoaderAPIに記載してありますのでそちらを確認ください。
 
  
 
作成するクラス<br/>
 
作成するクラス<br/>
17行目: 15行目:
 
package net.minecraft.src;
 
package net.minecraft.src;
  
 +
import java.io.File;
 
import java.util.*;
 
import java.util.*;
 
import net.minecraft.client.Minecraft;
 
import net.minecraft.client.Minecraft;
 
import net.minecraft.src.forge.*;
 
import net.minecraft.src.forge.*;
  
public class mod_CamelOre extends BaseMod
+
public class mod_hoge extends BaseMod
 
{
 
{
   static Configuration configuration
+
   static Configuration configuration;
 
   static Block hogeBlock;
 
   static Block hogeBlock;
 
   static int hogeBlockID;
 
   static int hogeBlockID;
 +
  static Item hogeItem;
 +
  static int itemHogeShiftedIndex;
 
    
 
    
   public mod_CamelOre()
+
   public mod_hoge()
 
   {
 
   {
 
   }
 
   }
33行目: 34行目:
 
   public void load()
 
   public void load()
 
   {
 
   {
      congiguration = new Configuration(new File(Minecraft.getMinecraftDir(), "config/hoge.cfg"));
+
  /*
       hogeBlockID = configrationProperties();
+
    * configurationファイルを設定します。
 +
    * FileメソッドでMinecraftのconfig/hoge/cfgファイルを参照することを定義しています。
 +
    */
 +
  configuration = new Configuration(new File(Minecraft.getMinecraftDir(), "config/hoge.cfg"));
 +
  /*
 +
  * BlockIDはconfigurationProperties();でコンフィグファイルから取って来いという宣言です。
 +
  */
 +
       hogeBlockID = configurationProperties();
 +
      hogeBlock = new Block(hogeBlockID, ModLoader.addOverride("/terrain.png", "/block/hogeBlock.png"));
 +
      /*
 +
      * ItemIDはBlockIDのMAX値256から減算した値がItemIDになるので-256をしています。
 +
      */
 +
      hogeItem = new Item(itemHogeShiftedIndex - 256, "/gui/items.png", "/item/hogeItem.png").setItemName("hogeItem");
 
       ModLoader.RegisterBlock(hogeBlock);
 
       ModLoader.RegisterBlock(hogeBlock);
 
       ModLoader.AddName(hogeBlock, "Hoge Block");
 
       ModLoader.AddName(hogeBlock, "Hoge Block");
 +
      ModLoader.AddName(hogeItem, "Hoge Item");
 
   }
 
   }
  
42行目: 56行目:
 
   {
 
   {
 
       return "1.0.0";
 
       return "1.0.0";
 +
  }
 +
 +
  private int configurationProperties()
 +
  {
 +
  /*
 +
    * configuration.load()でコンフィグファイルをロードします。
 +
    * 2行目でコンフィグファイルで定義されているBlockIDを設定します。
 +
    * getOrCreateBlockIdPropertyで対象ブロックに設定するものを定義します。
 +
    * 数字123は初期定義値です。
 +
    * 3行目のgetOrCreateIntPropertyでは、前の行のgetOrCreateBlockIdPropertyの項目を使用しています。
 +
    * 数字の5000はhogeItemの初期ItemID(実際のデータは+256)です。
 +
    * configuration.save();でコンフィングファイルをセーブします。(よく忘れます。必ずセーブしましょう)
 +
    * 最後に最初のBlockIDを返す必要があります。
 +
  */
 +
      configuration.load();
 +
      hogeBlockID = Integer.parseInt(configuration.getOrCreateBlockIdProperty("Hoge Block", 123).value);
 +
      itemHogeShiftedIndex = Integer.parseInt(configuration.getOrCreateIntProperty("Hoge Item", Configuration.ITEM_PROPERTY, 5000).value);
 +
      configuration.save();
 +
      return hogeBlockID;
 
   }
 
   }
 
}
 
}
 
</source>
 
</source>
{{stb}}
+
 
 +
ざっとソースに説明文を書きましたが、MLPropかForgeでのConfigファイル生成かは<br/>
 +
タイプが分かれると思います。<br/>
 +
今回はBlockID、ItemIDを設定させていますが、<br/>
 +
EntityIDや対象Blockの生成有無の判定にも使えますので、好きな方をお使いください。
 +
 
 +
<comments />

2012年3月20日 (火) 21:46時点における版

このページは
・ModLoader
・MinecraftForge
を使っていることを前提に書かれています。
MLPropを使う場合は、ModLoaderAPIに記載してありますのでそちらを確認ください。

作成するクラス
mod_hoge

ソース解説

mod_hogeクラス作成

package net.minecraft.src;

import java.io.File;
import java.util.*;
import net.minecraft.client.Minecraft;
import net.minecraft.src.forge.*;

public class mod_hoge extends BaseMod
{
   static Configuration configuration;
   static Block hogeBlock;
   static int hogeBlockID;
   static Item hogeItem;
   static int itemHogeShiftedIndex;
   
   public mod_hoge()
   {
   }

   public void load()
   {
	   /*
	    * configurationファイルを設定します。
	    * FileメソッドでMinecraftのconfig/hoge/cfgファイルを参照することを定義しています。
	    */
	  configuration = new Configuration(new File(Minecraft.getMinecraftDir(), "config/hoge.cfg"));
	  /*
	   * BlockIDはconfigurationProperties();でコンフィグファイルから取って来いという宣言です。
	   */
      hogeBlockID = configurationProperties();
      hogeBlock = new Block(hogeBlockID, ModLoader.addOverride("/terrain.png", "/block/hogeBlock.png"));
      /*
       * ItemIDはBlockIDのMAX値256から減算した値がItemIDになるので-256をしています。
       */
      hogeItem = new Item(itemHogeShiftedIndex - 256, "/gui/items.png", "/item/hogeItem.png").setItemName("hogeItem");
      ModLoader.RegisterBlock(hogeBlock);
      ModLoader.AddName(hogeBlock, "Hoge Block");
      ModLoader.AddName(hogeItem, "Hoge Item");
   }

   public String getVersion()
   {
      return "1.0.0";
   }

   private int configurationProperties()
   {
	   /*
	    * configuration.load()でコンフィグファイルをロードします。
	    * 2行目でコンフィグファイルで定義されているBlockIDを設定します。
	    * getOrCreateBlockIdPropertyで対象ブロックに設定するものを定義します。
	    * 数字123は初期定義値です。
	    * 3行目のgetOrCreateIntPropertyでは、前の行のgetOrCreateBlockIdPropertyの項目を使用しています。
	    * 数字の5000はhogeItemの初期ItemID(実際のデータは+256)です。
	    * configuration.save();でコンフィングファイルをセーブします。(よく忘れます。必ずセーブしましょう)
	    * 最後に最初のBlockIDを返す必要があります。
	   */
       configuration.load();
       hogeBlockID = Integer.parseInt(configuration.getOrCreateBlockIdProperty("Hoge Block", 123).value);
       itemHogeShiftedIndex = Integer.parseInt(configuration.getOrCreateIntProperty("Hoge Item", Configuration.ITEM_PROPERTY, 5000).value);
       configuration.save();
       return hogeBlockID;
   }
}

ざっとソースに説明文を書きましたが、MLPropかForgeでのConfigファイル生成かは
タイプが分かれると思います。
今回はBlockID、ItemIDを設定させていますが、
EntityIDや対象Blockの生成有無の判定にも使えますので、好きな方をお使いください。


自分のコメントを追加
Minecraft Modding Wikiはすべてのコメントを歓迎します。匿名で投稿したくない場合は、アカウント作成またはログインしてください。無料です。