1.7のForge式Config追加

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

この記事は"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
}

このようになる。

チュートリアル
個人用ツール