이벤트

이벤트는 서버에서 일어나는 특정한 사건을 의미하며, 사건이 발생하면 서버는 즉각적으로 (이벤트 리스너를 구현한) 플러그인을 호출하여 필요한 기능을 수행하도록 지시합니다. 일부 이벤트는 Cancellable 인터페이스를 구현하는데, 이 경우 플러그인은 필요에 따라 해당 이벤트가 발생하는 것을 차단할 수 있습니다.

SpongeAPI에는 여러 가지 이벤트가 내장되어 있지만, 플러그인에서 사용자 지정 이벤트를 만들 수도 있으며 다른 플러그인들은 이 이벤트에 대한 리스너를 구현할 수 있습니다.

이벤트 리스너는 우선순위를 갖습니다. 우선순위는 (다른 플러그인이 등록한 것을 포함한) 모든 이벤트 리스너 중에서 몇 번째로 호출될지를 결정합니다. 예를 들어, 우선순위로 EARLY 값을 갖는 리스너는 동일한 이벤트를 참조하는 다른 리스너들보다 먼저 호출됩니다. 자세한 정보는 @Listener 에 대하여 를 참조하세요.

이벤트는 플러그인들의 특정 집합에만 보내질 수 없습니다. 해당 이벤트의 리스너를 구현한 모든 플러그인들이 이벤트 정보를 통보받습니다.

이벤트 버스 또는 이벤트 매니저는 각각의 플러그인이 어떤 이벤트에 대한 리스너를 구현하는지를 지속적으로 추적하고, 특정 사건이 발생하면 해당하는 이벤트 리스너들을 호출시키는 작업을 수행하는 클래스입니다.

Sponge는 플러그인 리로드를 위한 회신(callback) 기능을 하는 이벤트를 제공합니다. 자세한 정보는 GameReloadEvent 를 참고하세요.