こんにちは
私は先日、CommandBlockScopesのv1.2をリリースしました。
具体的なアップデート内容は、いくつかのコマンドの追加とOriginalFormatです。
OriginalFormatは、CommandBlockScopes独自のレジストリフォーマットです。
この記事では独自のフォーマットを実装するためのコードを雑に書いておきます。
1. ファイル作成 ファイル作成には、java.io.Fileクラスを使いました。
プラグインのデータフォルダーはplugin.getDataFolder()を使用して取得できるみたいです。
package hoge.hoge.originalFormatTest; import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.text.MessageFormat; import java.util.HashMap; class OriginalFormat { private final Path path; public OriginalFormat(JavaPlugin plugin) { // コンストラクタ // プラグインからデータフォルダーを取得 path = Paths.get(plugin.getDataFolder().toString(), "data.txt"); // 親ディレクトリを作成 File file = path.toFile(); file.getParentFile().mkdirs(); // 初回起動時は新しく作る if (!file.exists()) file.createNewFile(); } } 2. 書き込みメソッド 書き込みにはjava.nio.file.Filesを使いました。FileWriterを使う方法等もあるかもしれませんが、この記事ではFilesを使います。
// ~省略~ class OriginalFormat { // ~省略~ public void set(String key, String value) throws IOException { // 末尾に追加する Files.writeString(path, MessageFormat.format("{0},{1}\n", key, value), StandardOpenOption.APPEND, StandardOpenOption.CREATE); } } 3. 読み込みメソッド 書き込みとAPIを使いました。
...