2016-12-04 6 views
1

私は独自のカスタムBukkit Plugin Config Fileを作る方法を学ぶために数日間努力してきました。あなたが見ることができるように、私は必要なすべての変数を正しく定義している、とさえこれを簡単にするために、過去のメソッドを作成しましたが、私は決してことができますのでBukkit Pluginでカスタム設定ファイルを作成するにはどうしたらいいですか?

public static File warps = new File("warps.yml"); 
    public static FileConfiguration config = YamlConfiguration.loadConfiguration(warps); 

:私はこれをやって、ファイルを作成しようとしました私の "設定"を私の "ワープ"を編集するためにパスする方法を見つけてください。

編集私の質問は、 "config.yml"を編集したくないので、 "config"を "warps"にPATHする方法です。 "ファイルwarps = new File 「warps.yml」);

+0

あなたはまた、あなたのファイルを更新するために、ファイル、そうconfig.save(ファイルのファイル)に保存する必要が – Kerooker

+0

あなたは、コンフィグカントーそれを直接編集することができます.getInt( "your.path.to.int"); – Kerooker

答えて

0

こんにちは、私は同じ問題を抱えていました。設定ファイルのパス名を指定する必要があります。 次のコードは、別のマップのプレーヤーのカスタム設定ファイルを作成するときに役に立ちます。

 file = new File(plugin.getDataFolder()+"\\player_stats", "statistics_"+player.getName() + ".yml"); 
    FileConfiguration playerStatistics = YamlConfiguration.loadConfiguration(file); 

あなたが行う必要があるのは、おそらくこれでファイルの宛先を変更することだけです。

public static File warps = new File(plugin.getDataFolder(), "warps.yml"); 

が、私はこれが動作すると思います:)

1

YAMLファイルは、パスベースのシステムを使用して、あなたのファイルは次のようになります場合は、次の「x」の整数として「自宅」ワープの座標を取得する

warps: 
    home: 
    world: survival 
    x: 120 
    y: 64 
    z: -789 

。あなたのコードは、方法を使用してください:

int x = config.getInt("warps.home.x"); 
config.set("warps." + warpName + ".x", location.getBlockX()); 
config.save(warps); 

あなたが値をつかんで、それらを保存するこつを得れば、あなたはのConfigurationSectionを使用してクリーンなコードを作成することができます。、設定に値を設定し、設定されたメソッドを使用して、ファイルを保存するには。セクションでキーをループすることができます。つまり、各ワープ名は「ワープ」セクションのキーになります。

より詳細な情報はここに提供されています:Configuration API Reference

+0

私は基本的には理解していますが、私は通常ファイルに書き込むことができないので、 "設定"を "ワープ"を編集するように設定することはできません。 – Nick

関連する問題