提供: Minecraft Modding Wiki
移動先: 案内検索
(解説: ハイライトの調整)
(ソースを整形しました)
 
15行目: 15行目:
 
@Mod(modid="samplecfg")
 
@Mod(modid="samplecfg")
 
public class samplecfg {
 
public class samplecfg {
boolean hardmode;
+
    boolean hardmode;
  
        @EventHandler
+
    @EventHandler
public void preInit(FMLPreInitializationEvent event)
+
    public void preInit(FMLPreInitializationEvent event) {
{
+
 +
        Configuration cfg = new Configuration(File cfg);//引数の名前(今回はcfg).cfgが生成されるファイル名
 +
        try{
 +
            cfg.load();//コンフィグをロード
 +
            hardmode = cfg.getBoolean("hardmode", "mode", false, "isHardmode?");//cfgは特殊でgetを入れれば、自動でファイルの内容も変えられる。
 +
                                      //名前,カテゴリ,デフォルトのデータ,説明文
 +
        }finally{
 +
            cfg.save();//セーブ
 +
        }
 +
    }
 +
 +
    @EventHandler
 +
    public void init(FMLInitializationEvent event) {
  
          Configuration cfg = new Configuration(File cfg);//引数の名前(今回はcfg).cfgが生成されるファイル名
+
         if (!hardmode) {//ハードモードじゃないなら、
try{
+
  cfg.load();//コンフィグをロード
+
            GameRegistry.addRecipe(new ItemStack(Items.diamond),
  hardmode = cfg.getBoolean("hardmode", "mode", false, "isHardmode?");//cfgは特殊でgetを入れれば、自動でファイルの内容も変えられる。
+
                  "a",
                                                //名前,カテゴリ,デフォルトのデータ,説明文
+
                  'a', Blocks.dirt,
                          }
+
            );
finally{
+
        }
cfg.save();//セーブ
+
                      }
+
         if (hardmode) {//ハードモードなら、
                  }
 
 
 
        @EventHandler
 
public void init(FMLInitializationEvent event) {
 
 
 
 
 
         if(!hardmode){//ハードモードじゃないなら、
 
 
 
GameRegistry.addRecipe(new ItemStack(Items.diamond),
 
                "a",
 
                'a', Blocks.dirt,
 
        );
 
                }
 
 
 
         if(hardmode){//ハードモードなら、
 
 
 
              GameRegistry.addRecipe(new ItemStack(Items.diamond),
 
                "a",
 
                'a', Blocks.stone,
 
        );
 
 
 
        }
 
  
 +
            GameRegistry.addRecipe(new ItemStack(Items.diamond),
 +
                    "a",
 +
                    'a', Blocks.stone,
 +
    );             
 
         }
 
         }
 +
    }
 
}
 
}
 
</source>
 
</source>

2016年12月12日 (月) 16:40時点における最新版

この記事は"Minecraft Forge 10.13.4.1448+"を前提MODとしています。

Stone pickaxe.png
中級者向けのチュートリアルです。
C none.png
Configに関係のあるチュートリアルです。

Configとは[編集]

Forge式Configでは、 .cfgファイルを生成し、 設定などを個別にできるようにするものである。 今回は、 "ファイルのHardmodeがtrueなら、レシピを別のものに変える" という風にしたいと思う。

  • samplecfg.java
package samplecfg;
//import省略
@Mod(modid="samplecfg")
public class samplecfg {
    boolean hardmode;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
 
        Configuration cfg = new Configuration(File cfg);//引数の名前(今回はcfg).cfgが生成されるファイル名
        try{
            cfg.load();//コンフィグをロード
            hardmode = cfg.getBoolean("hardmode", "mode", false, "isHardmode?");//cfgは特殊でgetを入れれば、自動でファイルの内容も変えられる。
                                      //名前,カテゴリ,デフォルトのデータ,説明文
        }finally{
            cfg.save();//セーブ
        }
    }
 
    @EventHandler
    public void init(FMLInitializationEvent event) {

        if (!hardmode) {//ハードモードじゃないなら、
 
            GameRegistry.addRecipe(new ItemStack(Items.diamond),
                   "a",
                   'a', Blocks.dirt,
             );
        }
 
        if (hardmode) {//ハードモードなら、

            GameRegistry.addRecipe(new ItemStack(Items.diamond),
                     "a",
                     'a', Blocks.stone,
	     );               
        }
    }
}

解説[編集]

今回のようにすると、
コンフィグファイルは

# Configuration file

mode {
    # isHardmode? [default: false]
    B:hardmode=false
}

このようになる。