提供: Minecraft Modding Wiki
2012年6月18日 (月) 21:18時点におけるUdonya (トーク | 投稿記録)による版 (コンフィグのオブジェクト)
移動先: 案内検索

Configuration APIは、人が読み書き可能な形式のコンフィグファイルの、
解析と出力を素早く行う機能のセットです。

~APIという名前によらず、簡単にプラグインのデータを、コンフィグファイルへ保管する事が出来ます。
YAML 形式のファイルのみに対応しています。
APIは、いかに独自の拡張に対応しやすくするかを考えて設計されています。

Configuration APIは、org.bukkit.configurationorg.bukkit.configuration.file パッケージの配下にあります。
Bukkit1.1-R5以前に作られたプラグインは、org.bukkit.util.configurationパッケージ配下に存在した、
古いライブラリを利用した実装を採用しているかもしれません。
新旧の実装方法には互換性がありませんので、古いパッケージを使う処理は除去して下さい。

このページの解説は、オブジェクト指向とJava、Bukkitプラグインの基本的な設計に関する知識が、
いくらかある読者に読まれる事を想定しています。
このページは、BukkitのJavadoc内のFileConfiguration Classに取って代わる内容ではありません。

基礎

設定ファイルのオブジェクト

あなたのプラグインがJavaPluginをextendsし、フィールドとメソッドを継承しているものとして話を進めます。

継承メソッドgetConfig()は、 org.bukkit.configuration.file.FileConfiguration型のオブジェクトをreturnしますが、 このオブジェクトは、プラグインのデータフォルダ配下のconfig.ymlに相当します。

初めてgetConfig()が呼び出されたタイミングで、config.ymlはディスクからロードされ、プラグインのJarファイル中に定義されたデフォルト値もロードされます。 その後のgetConfig()の呼び出しでは、メモリ上に存在するFileConfigurationオブジェクトがreturnされます。

このオブジェクトは、明示的に保存しない限りディスクへ保持されません。同様に、config.ymlファイルに加えられた変更も、メモリ上にロード済みのオブジェクトには反映されません。

config.ymlがデータフォルダ配下に存在しない場合は、空のconfig.ymlファイルを読み込んだ事と等しい結果となり、FileConfigurationオブジェクトも空の状態でロードされます。


Attention.pngWarning: getConfig()の戻り値は、staticなフィールドに割り当てないで下さい。
Attention.pngWarning: このような割り当てを行うと、getConfig()はreloadConfigの後でも再び割り当て処理を繰り返してしまいます。
File Lightbulb.pngNote:

デフォルトのコンフィグ値

コンフィグ値の取得

Keys

コンフィグ値のセット

HashMaps

コンフィグファイルのセーブ

ディスクからのリロード

応用

コンフィグのオプション

デフォルト値のコピー

パスのセパレータ

ヘッダ

copyHeader()

取得・リロード・セーブとカスタマイズ

シリアライズとデ・シリアライズ

エイリアス

利用例