package Ġcom . github . sh yn ix n . block ball . bukkit . logic . business . service Ċ Ċ import Ġcom . github . sh yn ix n . block ball . api . Block Ball Api Ċ import Ġcom . github . sh yn ix n . block ball . api . business . enumeration . Place Holder Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Dependency Placeholder ApiService Ċ import Ġcom . github . sh yn ix n . block ball . api . business . service . Game Service Ċ import Ġcom . github . sh yn ix n . block ball . bukkit . logic . business . extension . replace Game Placeholder Ċ import Ġcom . google . inject . Inject Ċ import Ġme . clip . placeholder api . expansion . Placeholder Expansion Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . plugin . Plugin Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠSh yn ix n Ġ 2 0 1 8 . Ċ Ġ* Ġ< p > Ċ Ġ* ĠVersion Ġ 1 . 2 Ċ Ġ* Ġ< p > Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ġ< p > Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 Ġby ĠSh yn ix n Ċ Ġ* Ġ< p > Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ġ< p > Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ġ< p > Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ class ĠDependency Placeholder Api ServiceImpl Ġ@ Inject Ġconstructor ( private Ġval Ġplugin : ĠPlugin ) Ġ: ĠPlace holder Expansion (), ĊĠĠĠ ĠDependency Placeholder ApiService Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġregister d : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegisters Ġthe Ġplaceholder Ġhook Ġif Ġit Ġis Ġnot Ġalready Ġregistered . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġregister Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! register d ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . register () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister d Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġexpansion Ġversion Ġwhich Ġis Ġthe Ġsame Ġof Ġthe Ġplugin Ġversion . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Version (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplugin . description . version ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġexpansion Ġauthor Ġfor Ġplaceholder api . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Author (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplugin . description . authors [ 0 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġidentifier Ġwhich Ġis Ġrequired Ġby Ġplaceholder api Ġto Ġmatch Ġthe Ġplaceholder Ġagainst Ġthis Ġplugin . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Identifier (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" block ball " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOn Place Holder ĠRequest ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Ġplayer ĊĠĠĠĠ Ġ* Ġ@ param Ġs ĠĠĠĠĠ Ġcustom Text ĊĠĠĠĠ Ġ* Ġ@ return Ġresult ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Placeholder Request ( player : ĠPlayer ?, Ġs : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( player Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlace Holder . values (). forEach Ġ{ Ġp Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( s !!. startsWith ( p . place Holder )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġs . split ("_ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgame Ġ= ĠBlock Ball Api . resolve ( Game Service :: class . java ). get Game FromName ( data [ 1 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . isPresent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata [ 0 ]. replace Game Placeholder ( game . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ }