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

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

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
179行目: 179行目:
  
 
以下は、より高度なプラグインを製作するための、応用のトピックです。<br>
 
以下は、より高度なプラグインを製作するための、応用のトピックです。<br>
あなたが既定の''config.yml''を作成したり読み込んだり保存したいだけであれば、下記を読む必要はありません。
+
あなたは既定の''config.yml''を作成するだけでよく、保存したり、移動したりする必要は今後ありません。
  
 
=== コンフィグのオプション ===
 
=== コンフィグのオプション ===
193行目: 193行目:
 
==== CopyDefaults ====
 
==== CopyDefaults ====
  
''CopyDefaults''オプションは''Configuration''クラスのsaveメソッドの動作を変更します。<br>
+
''CopyDefaults''オプションは''Configuration''クラスのsaveメソッドを変更しています。<br>
既定はfalseで、デフォルトのコンフィグを保存先ファイルに上書きしません。<br>
+
既定では、デフォルトのコンフィグを保存先ファイルに上書きしません。<br>
引数にtrueを設定した場合、ファイルの上書きをするようになります。<br>
+
もし引数にtrueが設定された場合、ファイルの上書きをします。<br>
しかし、1度書き込みが行われるのみで、あなたがデフォルト値を変更したとしてもその値が即座に反映されるわけではありません。
+
しかし、1度書き込みが行われるのみで、あなたがデフォルト値を変更したとしてもその値が反映されるわけではありません。
  
 
==== PathSeparator ====
 
==== PathSeparator ====
227行目: 227行目:
 
プラグインのメソッドを実装した後、それと同じコンテキストで継承された''getConfig()''、 ''reloadConfig()''、 ''saveConfig()''、および ''saveDefaultConfig()''メソッドで呼び出すことができます。<br>
 
プラグインのメソッドを実装した後、それと同じコンテキストで継承された''getConfig()''、 ''reloadConfig()''、 ''saveConfig()''、および ''saveDefaultConfig()''メソッドで呼び出すことができます。<br>
 
下記のコード例では、1つのクラスで複数の yaml ファイルにアクセスすることができます。<br>
 
下記のコード例では、1つのクラスで複数の yaml ファイルにアクセスすることができます。<br>
このようなクラス実装例を、 [https://gist.github.com/3174347 ここに] 示します。
+
このようなクラス実装例を、 [https://gist.github.com/3174347 ここに] 示します。  
  
 
まず、2つのフィールドを宣言し、カスタム構成ファイルごとに null に初期化する必要があります。<br>
 
まず、2つのフィールドを宣言し、カスタム構成ファイルごとに null に初期化する必要があります。<br>
299行目: 299行目:
 
         customConfigFile = new File(getDataFolder(), "customConfig.yml");
 
         customConfigFile = new File(getDataFolder(), "customConfig.yml");
 
     }
 
     }
     if (!configFile.exists()) {
+
     if (!configFile.exists()) {          
 
         this.plugin.saveResource(fileName, false);
 
         this.plugin.saveResource(fileName, false);
 
     }
 
     }
309行目: 309行目:
 
コンフィグAPI は、前述のように''ConfigurationSerializable''インターフェイスを実装する Java オブジェクトを格納することができます。<br>
 
コンフィグAPI は、前述のように''ConfigurationSerializable''インターフェイスを実装する Java オブジェクトを格納することができます。<br>
 
オブジェクトのシリアル化では、各種オブジェクトを簡単に保存したり読み込んだりする仕組みを、実装者に提供してくれています。<br>
 
オブジェクトのシリアル化では、各種オブジェクトを簡単に保存したり読み込んだりする仕組みを、実装者に提供してくれています。<br>
例えば開発者は、''[http://jd.bukkit.org/doxygen/da/dac/classorg_1_1bukkit_1_1Location.html Location]''を取得できるシリアライズラッパークラスを使うことで、YAMLに''Location''を保存するような処理がとても簡単に使用することができます。
+
開発者は'[http://jd.bukkit.org/doxygen/da/dac/classorg_1_1bukkit_1_1Location.html Location]''を取得できるシリアライズラッパークラスを使うことで、YAMLに''Location''を保存するような処理がとても簡単に使用することができます。
  
API でシリアル化することができるクラスを実装するには、''ConfigurationSerializable''インターフェイスを実装するだけでなく、以下のいずれかを実装する必要があります。<br>
+
API でシリアル化することができますようにクラスは''ConfigurationSerializable''インターフェイスを実装するだけでなく、また implment、Javadoc で指摘したように、以下のいずれかの必要があります。<br>
* '''1つの''Map''を受け入れるコンストラクター''' <source lang="java">public PlayerData(Map data) {</source>
+
* 1つの''Map''を受け入れるコンストラクター
* '''1つの''Map''を受け入れてクラスを返す、"deserialize" という名前のstaticメソッド''' <source lang="java">public static PlayerData deserialize(Map data) {</source>
+
* 1つの''Map''を受け入れてクラスを返す、"deserialize" という名前のstaticメソッド
* '''1つの''Map''を受け入れてクラスを返す、"valueOf" という名前のstaticメソッド''' <source lang="java">public static PlayerData valueOf(Map data) {</source>
+
* 1つの''Map''を受け入れてクラスを返す、"valueOf" という名前のstaticメソッド
  
 
シリアライズされたオブジェクトをデシリアライズするには、ConfigurationSerialization に登録されている必要があります。<br>
 
シリアライズされたオブジェクトをデシリアライズするには、ConfigurationSerialization に登録されている必要があります。<br>
registerClass メソッドは、シリアル化されたクラスごとに1回ずつ実行してください。
+
registerClass メソッドは、シリアル化されたクラスごとに1回呼び出す必要があります。
  
 
このステートメントは、メインクラスの初期化ブロックに記述することができます。
 
このステートメントは、メインクラスの初期化ブロックに記述することができます。
329行目: 329行目:
 
クラスがシリアル化されるとき、完全修飾名でマークされています。
 
クラスがシリアル化されるとき、完全修飾名でマークされています。
  
エイリアスをクラスに設定しておくと、完全修飾名の代わりにエイリアスでマークされます。<br>
+
エイリアスをクラスに設定しておくと、代わりにクラスが、エイリアスの完全修飾名を持つ形でシリアル化されません。<br>
''SerializeAs''アノテーションを、ConfigurationSerializableを実装するクラスに指定します。
+
''SerializeAs''アノテーションを、ConfigurationSerializableを実装するクラスに指定します。  
 
<source lang="java">@SerilizeAs(String)</source>
 
<source lang="java">@SerilizeAs(String)</source>
  

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

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

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

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