package Ġxyz . ac ry lic style . api . kt Ċ Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . event . Event Ċ import Ġorg . bukkit . event . Event Priority Ċ import Ġorg . bukkit . event . Listener Ċ import Ġorg . bukkit . plugin . Plugin Ċ Ċ class ĠPlugin Aware EventListener ( val Ġplugin : ĠPlugin ) Ġ: ĠListener Ġ{ ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT Ġ: ĠEvent > Ġevent ( priority : ĠEvent Priority Ġ= ĠEvent Priority . NORMAL , Ġignore Cancelled : ĠBoolean Ġ= Ġfalse , Ġcross inline Ġexecutor : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBu kkit . get PluginManager (). register Event ( T :: class . java , Ġthis , Ġpriority , Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecutor . invoke ( event Ġas ĠT ) ĊĠĠĠĠĠĠĠ Ġ}, Ġplugin , Ġignore Cancelled ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Events () Ġ= Ġthis . register Events ( plugin ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġmake ( plugin : ĠPlugin , Ġfunction : ĠPlugin Aware EventListener . () Ġ-> ĠUnit ) Ġ= ĠPlugin Aware EventListener ( plugin ). also Ġ{ Ġfunction . invoke ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠEvent > ĠListener . event ( plugin : ĠPlugin , Ġpriority : ĠEvent Priority Ġ= ĠEvent Priority . NORMAL , Ġignore Cancelled : ĠBoolean Ġ= Ġfalse , Ġcross inline Ġexecutor : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠBu kkit . get PluginManager (). register Event ( T :: class . java , Ġthis , Ġpriority , Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠ Ġexecutor . invoke ( event Ġas ĠT ) ĊĠĠĠ Ġ}, Ġplugin , Ġignore Cancelled ) Ċ } Ċ Ċ fun ĠListener . register Events ( plugin : ĠPlugin ) Ġ= Ġplugin . server . plugin Manager . register Events ( this , Ġplugin ) Ċ Ċ val Ġempty Listener Ġ= Ġobject Ġ: ĠListener Ġ{} Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠEvent > ĠPlugin . event ( priority : ĠEvent Priority Ġ= ĠEvent Priority . NORMAL , Ġignore Cancelled : ĠBoolean Ġ= Ġfalse , Ġcross inline Ġexecutor : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠBu kkit . get PluginManager (). register Event ( T :: class . java , Ġempty Listener , Ġpriority , Ġ{ Ġ_, Ġevent Ġ-> ĊĠĠĠĠĠĠĠ Ġexecutor . invoke ( event Ġas ĠT ) ĊĠĠĠ Ġ}, Ġthis , Ġignore Cancelled ) Ċ } Ċ