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

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
{{前提MOD|reqmod="Minecraft Forge4.3.x"}}
+
{{前提MOD|reqmod="Minecraft Forge4.3x"}}
  
 
==Forge式コンフィグファイルの利用==
 
==Forge式コンフィグファイルの利用==
<p>
 
 
[[無機能アイテムの追加]]と[[無機能ブロックの追加]]ではアイテムIDとブロックIDは変更不可能だった. そこでModLoaderのMLPropよりも柔軟な(ただし複雑な)コンフィグファイルを利用する.
 
[[無機能アイテムの追加]]と[[無機能ブロックの追加]]ではアイテムIDとブロックIDは変更不可能だった. そこでModLoaderのMLPropよりも柔軟な(ただし複雑な)コンフィグファイルを利用する.
 
なお, 上記2つのコードで説明した箇所は説明を省いている.
 
なお, 上記2つのコードで説明した箇所は説明を省いている.
</p>
 
  
==ソースコード==
+
ソースコード
;ConfigSampleCore.java
+
*ConfigSampleCore.java
 
<source lang = "java">
 
<source lang = "java">
 
package mods.configsample;
 
package mods.configsample;
105行目: 103行目:
  
 
==解説==
 
==解説==
;ConfigSampleCoreクラス
+
===package, import===
 
<source lang = "java">
 
<source lang = "java">
 
import java.util.logging.Level;
 
import java.util.logging.Level;
 
</source>
 
</source>
 
:後述のFMLLogで利用するクラス.
 
:後述のFMLLogで利用するクラス.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
117行目: 115行目:
 
</source>
 
</source>
 
:Forge式コンフィグファイルの機能を提供するAPI. コンフィグ自体はConfigurationクラスが行い, Propertyクラスは設定項目のコメントや実体を扱う.
 
:Forge式コンフィグファイルの機能を提供するAPI. コンフィグ自体はConfigurationクラスが行い, Propertyクラスは設定項目のコメントや実体を扱う.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
123行目: 121行目:
 
</source>
 
</source>
 
:FML(ForgeModLoader)が提供するログ表示用API. 開発環境でのプロンプト画面に表示される他, 実行ログにも記録されるようになる.
 
:FML(ForgeModLoader)が提供するログ表示用API. 開発環境でのプロンプト画面に表示される他, 実行ログにも記録されるようになる.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
129行目: 127行目:
 
</source>
 
</source>
 
:ModLoaderにはなかった前処理(pre init)を行うためのイベント. 基本的な使い方はFMLInitializationEventと同じ.
 
:ModLoaderにはなかった前処理(pre init)を行うためのイベント. 基本的な使い方はFMLInitializationEventと同じ.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
 
import mods.itemsample.ItemSample;
 
import mods.itemsample.ItemSample;
 
import mods.blocksample.BlockSample;
 
import mods.blocksample.BlockSample;
</source>
+
</soruce>
 
:以前解説したItemSampleクラスとBlockSampleクラスを利用するため, インポートする. 同パッケージ内で作成している場合, このimport文は不要.
 
:以前解説したItemSampleクラスとBlockSampleクラスを利用するため, インポートする. 同パッケージ内で作成している場合, このimport文は不要.
 +
<br/>
  
 
+
===ConfigSampleCoreクラスのpreInitメソッド===
 
<source lang = "java">
 
<source lang = "java">
 
@Mod.PreInit
 
@Mod.PreInit
163行目: 162行目:
 
}
 
}
 
</source>
 
</source>
:@Mod.Initと同様に, @Mod.PreInitアノテーションを付与し, 引数にFMLPreInitializationEventを指定すると前処理専用のメソッドとなる. 基本的にはコンフィグファイルの生成や, コンフィグファイルから値を持ってくる処理を行う.
+
@Mod.Initと同様に, @Mod.PreInitアノテーションを付与し, 引数にFMLPreInitializationEventを指定すると前処理専用のメソッドとなる. 基本的にはコンフィグファイルの生成や, コンフィグファイルから値を持ってくる処理を行う.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
 
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
 
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
 
</source>
 
</source>
:Configurationのインスタンスを作成する. 引数のevent.getSuggestedConfigurationFile()は, @Modで指定したmodid.cfg(この場合はConfigSampleCore.cfg)というファイルオブジェクトを返す.
+
:Configurationのインスタンスを作成する. 引数のevent.getSuggestedConfigurationFile()は, @Modで指定した'''modid'''.cfgというファイルオブジェクトを返す.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
176行目: 175行目:
 
</source>
 
</source>
 
:Configurationの処理を開始させるメソッド. 必ずsave()と対になる.
 
:Configurationの処理を開始させるメソッド. 必ずsave()と対になる.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
183行目: 182行目:
 
</source>
 
</source>
 
:コンフィグファイルに項目とデフォルト値を設定し, その要素をPropetryインスタンスに返す処理.
 
:コンフィグファイルに項目とデフォルト値を設定し, その要素をPropetryインスタンスに返す処理.
:この時, このModよりも前に読み込まれたModのブロック, アイテムIDと重複していた場合, '''自動でIDの末尾からIDの再割り当てを行う.'''
+
この時, このModよりも前に読み込まれたModのブロック, アイテムIDと重複していた場合, '''自動でIDの末尾からIDの再割り当てを行う.'''
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
191行目: 190行目:
 
</source>
 
</source>
 
:コンフィグファイルでの項目に対するコメント.
 
:コンフィグファイルでの項目に対するコメント.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
199行目: 198行目:
 
:コンフィグファイルで設定した値をint型にして取得するメソッド.
 
:コンフィグファイルで設定した値をint型にして取得するメソッド.
 
:アイテムIDに関しては自動で-256してくれるようになった. これは4.1.4.281からの機能.
 
:アイテムIDに関しては自動で-256してくれるようになった. これは4.1.4.281からの機能.
 
  
 
<source lang = "java">
 
<source lang = "java">
208行目: 206行目:
 
</source>
 
</source>
 
:ファイルへの書き込み, 読み込みが失敗したときに呼ばれる, 例外. ログファイルにエラーメッセージを出力し, ゲームを強制終了させる.
 
:ファイルへの書き込み, 読み込みが失敗したときに呼ばれる, 例外. ログファイルにエラーメッセージを出力し, ゲームを強制終了させる.
 
+
<br/>
  
 
<source lang = "java">
 
<source lang = "java">
216行目: 214行目:
 
}
 
}
 
</source>
 
</source>
:tryブロックの後で必ず呼ばれる. コンフィグファイルを保存する.
+
:tryで例外が発生しない場合呼ばれる. コンフィグファイルを保存する.
  
 
==実際の挙動==
 
==実際の挙動==
<p>
 
 
実際の挙動自体は[[無機能アイテムの追加]], [[無機能ブロックの追加]]とほぼ同じである. ただしconfigフォルダに'''ConfigSampleCore.cfg'''というファイルが生成されている.
 
実際の挙動自体は[[無機能アイテムの追加]], [[無機能ブロックの追加]]とほぼ同じである. ただしconfigフォルダに'''ConfigSampleCore.cfg'''というファイルが生成されている.
</p>
 

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: