提供: Minecraft Modding Wiki
(ソースを整形しました) |
|||
(他の1人の利用者による、間の1版が非表示) | |||
15行目: | 15行目: | ||
@Mod(modid="samplecfg") | @Mod(modid="samplecfg") | ||
public class samplecfg { | public class samplecfg { | ||
− | boolean hardmode; | + | 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) {//ハードモードなら、 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | if(!hardmode){//ハードモードじゃないなら、 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | if(hardmode){//ハードモードなら、 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | GameRegistry.addRecipe(new ItemStack(Items.diamond), | ||
+ | "a", | ||
+ | 'a', Blocks.stone, | ||
+ | ); | ||
} | } | ||
+ | } | ||
} | } | ||
</source> | </source> | ||
59行目: | 54行目: | ||
今回のようにすると、<br> | 今回のようにすると、<br> | ||
コンフィグファイルは<br> | コンフィグファイルは<br> | ||
− | <source lang=" | + | <source lang="autoconf"> |
# Configuration file | # Configuration file | ||
2016年12月12日 (月) 16:40時点における最新版
この記事は"Minecraft Forge 10.13.4.1448+"を前提MODとしています。 |
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 }
このようになる。