Bukkit pluginを作るために参考にしたところ
またリンク集みたいに雑多に置いておくなど… Unityもこないだ触ったのでそれも書いておきたい…
環境
先に注意点
リンク
- なにはともあれ、Spigotのjarファイルを作成
- https://www.spigotmc.org/wiki/buildtools/
- これがないと開発始められないので…
- DMCA関係で、jarファイルそのものは配布されていない。BuildTools.jarを使ってjarファイルを作らなければならない
- ブランクプロジェクトの作り方
- https://www.spigotmc.org/wiki/creating-a-blank-spigot-plugin-in-intellijidea/
- 上記の中にも出てきますが、
plugin.yml
がないとプラグインとして認識しないので注意 - 僕はこんな感じで書きました
- プラグイン開発インデックス
- Javadoc URL
- https://hub.spigotmc.org/javadocs/spigot/
- IntelliJで、spigot.jarに上記Javadocを関連付ける方法
- コンフィグファイル(config.yml)の読み方
- 公式: https://www.spigotmc.org/wiki/creating-a-config-file/
- もう少し具体的に調べたので後述してます。個人的に公式の書かれてる手順が微妙だったので、サンプル見つけてきてなんとかした
- プラグインのデバッグ方法
- https://www.spigotmc.org/wiki/intellij-debug-your-plugin/
- 引数付きでサーバを起動して、IDEからattachするような感じっぽい
- 上記はIntelliJの記事。Eclipseの方も結構内容充実してて参考になるので、見ておくの吉
- https://www.spigotmc.org/wiki/eclipse-debug-your-plugin/
- https://www.spigotmc.org/wiki/intellij-debug-your-plugin/
コンフィグファイル
プラグイン使っているとわかると思うんですが、基本的にプラグインって
- プラグインをダウンロードする
- サーバのpluginsフォルダに入れる
- 起動する。すると
plugins/<プラグイン名>/config.yml
というファイルが出来上がる - サーバを止める
config.yml
を修正して再度起動
みたいな感じだと思います。この流れを基本とすると、開発側でやりたいことは具体的にいくつか決まってくると思います。それをちょっと下記に列挙しておきます
デフォルトの config.yml
を導入
プラグインを作るには、成果物のjarに plugin.yml
を含めないといけませんが、それと同じように config.yml
もjarに梱包しておきます。そして下記のコードを実行すると、「 config.yml
がなければ作成する」という実装ができます。
File configYml = new File(plugin.getDataFolder(), "config.yml"); if (!configYml.exists()) { plugin.saveResource(configYml.getName(), false); }
大切なのが plugin.getDataFolder()
と plugin.saveResource(fileName, false)
。前者はサーバの plugins
ディレクトリのパスを取得することが可能で、後者はjarファイルに含まれている任意のファイル名のものを、 plugins/<プラグイン名>/<fileName>
の位置に保存できます。