Sponge Plugin 製作メモ [1. 初期設定と起動・終了時の処理、文字の出力]

まず、主となるクラスの前に注釈@Pluginをうつ。

IDと名前とバージョンを適当に設定。

@Plugin(id = "example", name = "Example", version = "1.0")

次にサーバー起動・終了時の処理について。

起動・終了時の処理を記述するにはそれぞれGameStartedServerEventとGameStoppedServerEventのリスナーを実装する。

@Listener

public void onServerStart (GameStartedServerEvent event){

//something...

}

@Listener

public void onServerStop (GameStoppedServerEvent event){

//something...

}

別クラスに書かない場合はこのような記述になる。別クラスに分けて記述することも可能だがスタートストップ(サーバーのライフサイクル処理)ぐらいはメインのクラスに記述したほうがわかりやすい気がする。

次に文字出力の設定ですが、単純に標準出力を使うことも出来るには出来る。

実際に使ってみた

@Listener

public 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

スッキリした。

今回はここまで