Sponge Plugin 製作メモ [1. 初期設定と起動・終了時の処理、文字の出力]
まず、主となるクラスの前に注釈@Pluginをうつ。
IDと名前とバージョンを適当に設定。
@Plugin(id = "example", name = "Example", version = "1.0")
次にサーバー起動・終了時の処理について。
起動・終了時の処理を記述するにはそれぞれGameStartedServerEventとGameStoppedServerEventのリスナーを実装する。
@Listenerpublic void onServerStart (GameStartedServerEvent event){
//something...
}
@Listener
public void onServerStop (GameStoppedServerEvent event){
//something...
}
別クラスに書かない場合はこのような記述になる。別クラスに分けて記述することも可能だがスタートストップ(サーバーのライフサイクル処理)ぐらいはメインのクラスに記述したほうがわかりやすい気がする。
次に文字出力の設定ですが、単純に標準出力を使うことも出来るには出来る。
実際に使ってみた
@Listenerpublic void onServerStart (GameStartedServerEvent event){
System.out.println("HelloWorld!");
}
[10:55:06] [Server thread/INFO] [STDOUT]: [com.github.gurapomu.example.Example:onServerIStart:40]: HelloWorld!
非常に長ったらしいし読みづらい。
Spongeが提供するログ出力を使用するには以下のように記述する。
Logger logger;@Inject
private void setLogger(Logger logger){
Example.logger = logger;
}
public void onServerStart (GameStartedServerEvent event){
logger.info("Enabling Example Plugin v1.0");
}
[10:55:06] [Server thread/INFO] [example]: Enabling Example Plugin v1.0
スッキリした。
今回はここまで
MCLT for Sponge公開!
ようやくリリースです。
[Sponge 1.8]MCLogTweet for Sponge
とりあえずログイン・ログアウト時、サーバー起動時・終了時のツイート、コマンドによるツイート機能が実装してあります。
アップデート報告はおそらくこちらではしないのでご利用の方、フォーラムを御覧ください。
MCLT for Sponge進捗。
鋭意製作中で軌道に乗ったので、近日中に初期のMCLTの頃の機能だけつけて公開しようと思います。
まだSpongeAPI周りに慣れてないのでなんかつっかかったら遅くなるかもしれない。
あと英語のドキュメント読むのツライ
頑張ります
Spongeプラグインの開発環境をつくる[SpongeAPI編]
10/13追記
※Forgeサーバー構築してでSpongeをModとして導入するほうが楽っぽい(?)
Forgeサーバーの建て方はいろんなところで解説されてるので割愛します。
サーバー構築後modsファイルにSpongeCoremodをコピーするだけです。
前回から日が開いてしまって申し訳ないです。
前回:Spongeプラグインの開発環境をつくる[Sponge server構築編]
mcltをspongeに移植しようとしてたら意外とまだ中身整ってないっぽくて苦戦してました。
というわけでEclipseで開発環境を構築していきます
といってもEclipseでgradleプロジェクトを作成して
repositories {
mavenCentral()
maven {
name 'Sponge maven repo'
url 'http://repo.spongepowered.org/maven'
}
}
dependencies {
compile "org.spongepowered:spongeapi:1.0"
}
これをbuild.gradleに書いてから
でいろいろやってくれる。$ gradle build
これでプロジェクトをリフレッシュすればおk
今度はチュートリアルみたいの書いていこうかなぁ
CraftBukkit更新停止に伴う代替Modの紹介 -Sponge-
気付かないうちにCanaryModも旬を過ぎていたみたい
今話題なのはSpongePoweredらしい。(リリースされているとは言ってない)
イメージとしてはForgeの下で動くbukkitみたいな感じ(?)
使ってみたかったら自分でビルドしてって感じみたい。ありがたいことにgradleでビルドできるからやろうとしたんだけどなんかforgeBinを落とすところで403エラーが出て落ちる。
gradleわかるってわけではないのでもうちょっとお勉強してからビルドできたらまた追記なり別記事にまとめるなりしたい。(更新頻度が高くてgit cloneするタイミングが悪いとビルドが通らないことがまれによくあるらしい)
SpongePowered公式
https://www.spongepowered.org/
SpongePowered-Github