提供: Minecraft Modding Wiki
(コンフィグファイルの生成) |
(ソースを整形しました) |
||
(2人の利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{前提MOD|reqmod="Minecraft Forge 10.13.4.1448+"}} | {{前提MOD|reqmod="Minecraft Forge 10.13.4.1448+"}} | ||
{{チュートリアル難易度|difficulty=1|clear=none}} | {{チュートリアル難易度|difficulty=1|clear=none}} | ||
− | |||
{{チュートリアルカテゴリー |type=Config|difficulty=1}} | {{チュートリアルカテゴリー |type=Config|difficulty=1}} | ||
==Configとは== | ==Configとは== | ||
16行目: | 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> | ||
60行目: | 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 }
このようになる。