Sponge Plugin 製作メモ [3. イベントの作成]

書くほどのことでも無いけどメモとして

適当にイベントを探してリスナークラスを書く

public class PlayerJoin {

@Listener

public void onPlayerJoinEvent(ClientConnectionEvent.Join event){

System.out.println(event.getTargetEntity().getName() + " join");

}

}

イベントマネージャーに登録するだけ

Sponge.getEventManager().registerListeners(this, new PlayerJoin());

いまはGameStartedServerEvent内に記述してるけどいろいろ考えると登録はGameInitializationEventとかそこらでやるべきなのだろうか.Bukkitでどうしてたか忘れた.Eventはorg.spongepowered.api.event以下にいっぱいあるのでJavadocで探すと良い。

普通に引数eventをゴニョゴニョするといろいろでてくる

例えばgetCause()ではその名の通り何が原因となってそのeventが発生したかを取得する.(bukkitより高度)多分重要