package Ġio . pix e lout law . minecraft . sp ig ot . pl umb ing . api Ċ Ċ import Ġnet . ky ori . ad venture . key . Key Ċ import Ġnet . ky ori . ad venture . nbt . api . Binary Tag Holder Ċ import Ġnet . ky ori . ad venture . platform . bukkit . Bu kkit Aud i ences Ċ import Ġnet . ky ori . ad venture . text . Component Ċ import Ġnet . ky ori . ad venture . text . event . Hover Event Ċ import Ġnet . ky ori . ad venture . text . serializer . legacy . Legacy Component Serializer Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . inventory . ItemStack Ċ Ċ /** Ċ Ġ* ĠAllows Ġbroadcast ing Ġmessages Ġon Ġa ĠSp ig ot Ġserver . Ċ Ġ*/ Ċ abstract Ġclass ĠAbstract Message Broad caster Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTo Ġwhom Ġshould Ġthe Ġbroadcast Ġbe Ġsent ? ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġenum Ġclass ĠBroadcast Target Ġ{ ĊĠĠĠĠĠĠĠ ĠSERVER , ĊĠĠĠĠĠĠĠ ĠW ORLD , ĊĠĠĠĠĠĠĠ ĠP LAYER ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBroadcast s Ġa Ġmessage Ġabout Ġthe Ġplayer Ġand Ġitem Ġusing Ġthe Ġgiven Ġformat . ĠRe places Ġ"% player %" Ġwith Ġthe Ġplayer 's ĊĠĠĠĠ Ġ* Ġdisplay Ġname Ġand Ġreplaces Ġ"% item %" Ġwith Ġthe Ġitem Ġtooltip Ġfor Ġthe Ġgiven Ġitem . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠE quivalent Ġof Ġcalling ĊĠĠĠĠ Ġ* Ġ` broadcast Item ( format , Ġplayer , Ġitem Stack , ĠBroadcast Target . SERVER , ĠBroadcast ItemName Visibility . HIDE )` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠFormat Ġof Ġmessage ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer ĠPlayer Ġto Ġreference ĊĠĠĠĠ Ġ* Ġ@ param Ġitem Stack ĠItemStack Ġto Ġreference ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbroadcast Item ( ĊĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠ Ġplayer : ĠPlayer , ĊĠĠĠĠĠĠĠ Ġitem Stack : ĠItemStack , ĊĠĠĠĠĠĠĠ Ġbu kkit Aud i ences : ĠBu kkit Aud i ences , ĊĠĠĠ Ġ) Ġ= Ġbroadcast Item ( format , Ġplayer , Ġitem Stack , Ġbu kkit Aud i ences , ĠBroadcast Target . SERVER ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBroadcast s Ġa Ġmessage Ġabout Ġthe Ġplayer Ġand Ġitem Ġusing Ġthe Ġgiven Ġformat . ĠRe places Ġ"% player %" Ġwith Ġthe Ġplayer 's ĊĠĠĠĠ Ġ* Ġdisplay Ġname Ġand Ġreplaces Ġ"% item %" Ġwith Ġthe Ġitem Ġtooltip Ġfor Ġthe Ġgiven Ġitem . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġformat ĠFormat Ġof Ġmessage ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer ĠPlayer Ġto Ġreference ĊĠĠĠĠ Ġ* Ġ@ param Ġitem Stack ĠItemStack Ġto Ġreference ĊĠĠĠĠ Ġ* Ġ@ param Ġtarget ĠWho Ġshould Ġsee Ġthe Ġbroadcast ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġbroadcast Item ( ĊĠĠĠĠĠĠĠ Ġformat : ĠString , ĊĠĠĠĠĠĠĠ Ġplayer : ĠPlayer , ĊĠĠĠĠĠĠĠ Ġitem Stack : ĠItemStack , ĊĠĠĠĠĠĠĠ Ġbu kkit Aud i ences : ĠBu kkit Aud i ences , ĊĠĠĠĠĠĠĠ Ġtarget : ĠBroadcast Target , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠdisplayName Ġ= Ġplayer . displayName ĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= Ġformat . replace Args ("% player %" Ġto ĠdisplayName ). chat Color ize () ĊĠĠĠĠĠĠĠ Ġval Ġmessages Ġ= Ġlocale . split ("% item % ") ĊĠĠĠĠĠĠĠ Ġvar Ġbroadcast Component Ġ= ĠComponent . empty () ĊĠĠĠĠĠĠĠ Ġval Ġitem Stack Name Ġ= Ġitem Stack . get DisplayName () Ġ?: Ġitem Stack . type . name . split ("_ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ"). to Title Case () ĊĠĠĠĠĠĠĠ Ġval Ġitem Stack As Json Ġ= Ġconvert ItemStack ToJson ( item Stack ) ĊĠĠĠĠĠĠĠ Ġval Ġn bt Binary Ġ= ĠBinary Tag Holder . of ( item Stack As Json ) ĊĠĠĠĠĠĠĠ Ġval Ġitem Stack Name Component Ġ= ĠLegacy Component Serializer . legacy Section (). deserialize ( item Stack Name ). hover Event ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHover Event . show Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey . key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack . type . key . namespace , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack . type . key . key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack . amount , Ġn bt Binary ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġmessages . indices . forEach Ġ{ Ġidx Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġmessages [ idx ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbroadcast Component Ġ= Ġbroadcast Component . append ( Legacy Component Serializer . legacy Amp ers and (). deserialize ( key )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( idx Ġ< Ġmessages . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbroadcast Component Ġ= Ġbroadcast Component . append ( item Stack Name Component ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( target ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBroadcast Target . SERVER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBu kkit . getServer (). online Players . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbu kkit Aud i ences . player ( it ). sendMessage ( broadcast Component ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBroadcast Target . WORLD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . world . players . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbu kkit Aud i ences . player ( it ). sendMessage ( broadcast Component ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBroadcast Target . PLAYER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbu kkit Aud i ences . player ( player ). sendMessage ( broadcast Component ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġconvert ItemStack ToJson ( item Stack : ĠItemStack ): ĠString ĊĊĠĠĠ Ġprivate Ġfun ĠItemStack . get DisplayName (): ĠString ? Ġ= Ġthis . item Meta ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( it . has DisplayName ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . displayName ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ