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
スッキリした。
今回はここまで