提供: Minecraft Modding Wiki
2016年12月12日 (月) 16:40時点におけるAnatawa12 (トーク | 投稿記録)による版 (ソースを整形しました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

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

このようになる。