@ file : Suppress (" DE PREC ATION ") Ċ Ċ package Ġcom . github . sh yn ix n . block ball . bukkit . logic . business . listener Ċ Ċ import Ġcom . github . sh yn ix n . block ball . api . bukkit . event .* Ċ import Ġcom . github . sh yn ix n . block ball . api . business . enumeration . Ball ActionType Ċ import Ġcom . github . sh yn ix n . block ball . api . business . proxy . Ball Proxy Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Ball Entity Service Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Particle Service Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Protocol Service Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Sound Service Ċ import Ġcom . google . inject . Inject Ċ import Ġorg . bukkit . Location Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . Listener Ċ import Ġorg . bukkit . event . player . Player Join Event Ċ import Ġorg . bukkit . event . player . Player Quit Event Ċ Ċ /** Ċ Ġ* ĠHandles Ġcommon Ġball Ġevents . Ċ Ġ*/ Ċ class ĠBall Listener Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġball Entity Service : ĠBall Entity Service , ĊĠĠĠ Ġprivate Ġval Ġparticle Service : ĠParticle Service , ĊĠĠĠ Ġprivate Ġval Ġsound Service : ĠSound Service , ĊĠĠĠ Ġprivate Ġval Ġprotocol Service : ĠProtocol Service Ċ ) Ġ: ĠListener Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegisters Ġthe Ġplayer Ġon Ġjoin . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Player Join Event ( event : ĠPlayer Join Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprotocol Service . register ( event . player ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUn registers Ġthe Ġplayer Ġon Ġleave . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġplayer Quit Event ( event : ĠPlayer Quit Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprotocol Service . un Register ( event . player ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġthe Ġball Ġray traces Ġin Ġthe Ġworld . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Ray Trace Event ( event : ĠBall Ray Trace Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . play Effects ( event . ball , ĠBall ActionType . ON MOVE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġa Ġball Ġdies . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Death Event ( event : ĠBall Death Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . ball Entity Service . remove Tracked Ball ( event . ball ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġa Ġplayer Ġleft Ġclicks Ġa Ġball . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Kick Event ( event : ĠBall Kick Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . play Effects ( event . ball , ĠBall ActionType . ON K ICK ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġa Ġplayer Ġright Ġclicks Ġa Ġball . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Pass Event ( event : ĠBall Pass Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . play Effects ( event . ball , ĠBall ActionType . ON PASS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġa Ġplayer Ġinteract s Ġa Ġball . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Interact Event ( event : ĠBall Touch Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . play Effects ( event . ball , ĠBall ActionType . ON INTER ACTION ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġthe Ġball Ġsp awns . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġball Spawn Event ( event : ĠBall Spawn Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . play Effects ( event . ball , ĠBall ActionType . ON SPA WN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġcalled Ġwhen Ġa Ġball Ġgets Ġshot Ġinto Ġgoal . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġevent ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġgame Goal Event ( event : ĠGame Goal Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplay Effects ( event . game . ball !! , ĠBall ActionType . ONGO AL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPlay s Ġeffects . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġplay Effects ( ball : ĠBall Proxy , Ġaction Effect : ĠBall ActionType ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ball . meta . particle Effects . containsKey ( action Effect )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . particle Service . play Particle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . getLocation < Any >(), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . meta . particle Effects [ action Effect ] !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . getLocation < Location >(). world !!. players ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ball . meta . sound Effects . containsKey ( action Effect )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . sound Service . play Sound ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . getLocation < Any >(), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . meta . sound Effects [ action Effect ] !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġball . getLocation < Location >(). world !!. players ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ