package Ġde . md 5 l uk as . way points . gui Ċ Ċ import Ġde . md 5 l uk as . commons . Math Helper Ċ import Ġde . md 5 l uk as . way points . Way points Permissions Ċ import Ġde . md 5 l uk as . way points . Way points Plugin Ċ import Ġde . md 5 l uk as . way points . api . Folder Ċ import Ġde . md 5 l uk as . way points . api . Type Ċ import Ġde . md 5 l uk as . way points . api . Waypoint Ċ import Ġde . md 5 l uk as . way points . api . Waypoint Holder Ċ import Ġde . md 5 l uk as . way points . api . gui . GUID is play able Ċ import Ġde . md 5 l uk as . way points . api . gui . GUI Folder Ċ import Ġde . md 5 l uk as . way points . util . Format ters Ċ import Ġde . md 5 l uk as . way points . util . format Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġjava . util .* Ċ Ċ class ĠAPI Extensions ( ĊĠĠĠ Ġprivate Ġval Ġplugin : ĠWay points Plugin Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtranslations Ġ= Ġplugin . translations ĊĠĠĠ Ġprivate Ġval Ġworld Translations Ġ= Ġplugin . world Translations ĊĊĠĠĠ Ġfun ĠGUID is play able . getItem ( player : ĠPlayer ) Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠGUI Folder Ġ-> ĠgetItem ( player ) ĊĠĠĠĠĠĠĠ Ġis ĠWay point Ġ-> ĠgetItem ( player ) ĊĠĠĠĠĠĠĠ Ġis ĠPlayer Tracking Display able Ġ-> Ġtranslations . ICON _ TRACK ING . item ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Unknown ĠGUID is play able Ġsubclass ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠWay point . getItem ( player : ĠPlayer ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstack Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . DE ATH Ġ-> Ġtranslations . WAY POINT _ ICON _ DE ATH ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PRIVATE Ġ-> Ġtranslations . WAY POINT _ ICON _ PRIVATE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PUBLIC Ġ-> Ġtranslations . WAY POINT _ ICON _ PUBLIC ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PERMISSION Ġ-> Ġtranslations . WAY POINT _ ICON _ PERMISSION ĊĠĠĠĠĠĠĠ Ġ}. getItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto Ġ( description Ġ?: Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" createdAt " Ġto ĠcreatedAt . format ( Format ters . SHORT _ DATE _ TIME _ FORMAT TER ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" world " Ġto Ġ( location . world ?. let Ġ{ Ġworld Translations . get World Name ( it ) Ġ} Ġ?: Ġtranslations . TEXT _ WORLD _ NOT _ FOUND . text ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" x " Ġto Ġlocation . x . format (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" y " Ġto Ġlocation . y . format (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" z " Ġto Ġlocation . z . format (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" block X " Ġto Ġlocation . block X . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" block Y " Ġto Ġlocation . block Y . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" block Z " Ġto Ġlocation . block Z . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" distance " Ġto Ġif Ġ( player . world Ġ== Ġlocation . world ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMath Helper . distance 2 D ( player . location , Ġlocation ). format () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslations . TEXT _ DISTANCE _ OTHER _ WORLD . text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġmaterial ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack . type Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġstack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠWay point . get Ho log ram Name () Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠType . PRIVATE Ġ-> Ġplugin . translations . POINTER S _ HO LOG RAM _ PRIVATE ĊĠĠĠĠĠĠĠ ĠType . DE ATH Ġ-> Ġplugin . translations . POINTER S _ HO LOG RAM _ DE ATH ĊĠĠĠĠĠĠĠ ĠType . PUBLIC Ġ-> Ġplugin . translations . POINTER S _ HO LOG RAM _ PUBLIC ĊĠĠĠĠĠĠĠ ĠType . PERMISSION Ġ-> Ġplugin . translations . POINTER S _ HO LOG RAM _ PERMISSION ĊĠĠĠ Ġ}. with Replacement s ( ĊĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto Ġ( description Ġ?: Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" createdAt " Ġto ĠcreatedAt . format ( Format ters . SHORT _ DATE _ TIME _ FORMAT TER ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" world " Ġto Ġworld Translations . get World Name ( location . world !! ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" x " Ġto Ġlocation . x . format (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" y " Ġto Ġlocation . y . format (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" z " Ġto Ġlocation . z . format (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" block X " Ġto Ġlocation . block X . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" block Y " Ġto Ġlocation . block Y . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" block Z " Ġto Ġlocation . block Z . toString (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun ĠGUI Folder . getItem ( player : ĠPlayer ) Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠWay point Holder Ġ-> ĠgetItem ( player ) ĊĠĠĠĠĠĠĠ Ġis ĠFolder Ġ-> ĠgetItem ( player ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Unknown ĠGUI Folder Ġsubclass ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠWay point Holder . getItem ( player : ĠPlayer ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġamount VisibleTo Player Ġ= Ġif Ġ( player . has Permission ( Way points Permissions . MO DIFY _ PERMISSION )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġway points Amount ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Way points Visible For Player ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġitem Stack Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PUBLIC Ġ-> Ġtranslations . ICON _ PUBLIC . getItem ( Collections . singleton Map (" amount ", Ġamount VisibleTo Player . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PERMISSION Ġ-> Ġtranslations . ICON _ PERMISSION . getItem ( Collections . singleton Map (" amount ", Ġamount VisibleTo Player . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" A Ġway point Ġholder Ġfor Ġa Ġplayer Ġcannot Ġbe Ġa ĠGUI Ġitem ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġitem Stack . amount Ġ= ĠMath Helper . clamp ( 1 , Ġ 6 4 , Ġamount VisibleTo Player ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġitem Stack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠFolder . getItem ( player : ĠPlayer ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ=== ĠType . DE ATH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetItem Death () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfetched Amount Ġ= Ġif Ġ( player . has Permission ( Way points Permissions . MO DIFY _ PERMISSION )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġamount ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Amount Visible For Player ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġstack Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PRIVATE Ġ-> Ġtranslations . FOLDER _ ICON _ PRIVATE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PUBLIC Ġ-> Ġtranslations . FOLDER _ ICON _ PUBLIC ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType . PERMISSION Ġ-> Ġtranslations . FOLDER _ ICON _ PERMISSION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" An Ġfolder Ġwith Ġthe Ġtype Ġ$ type Ġshould Ġnot Ġexist ") ĊĠĠĠĠĠĠĠ Ġ}. getItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto Ġ( description Ġ?: Ġ""), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" createdAt " Ġto ĠcreatedAt . format ( Format ters . SHORT _ DATE _ TIME _ FORMAT TER ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" amount " Ġto Ġfetched Amount . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġstack . amount Ġ= ĠMath Helper . clamp ( 1 , Ġ 6 4 , Ġfetched Amount ) ĊĊĠĠĠĠĠĠĠ Ġmaterial ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstack . type Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġstack ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠType . get Background Item () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ ĠType . PRIVATE Ġ-> Ġplugin . translations . BACKGROUND _ PRIVATE ĊĠĠĠĠĠĠĠ ĠType . DE ATH Ġ-> Ġplugin . translations . BACKGROUND _ DE ATH ĊĠĠĠĠĠĠĠ ĠType . PUBLIC Ġ-> Ġplugin . translations . BACKGROUND _ PUBLIC ĊĠĠĠĠĠĠĠ ĠType . PERMISSION Ġ-> Ġplugin . translations . BACKGROUND _ PERMISSION ĊĠĠĠ Ġ}. item ĊĊĠĠĠ Ġprivate Ġfun ĠFolder . getItem Death (): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfetched Amount Ġ= Ġamount ĊĠĠĠĠĠĠĠ Ġval Ġstack Ġ= Ġtranslations . FOLDER _ ICON _ DE ATH . getItem ( Collections . singleton Map (" amount ", Ġfetched Amount . toString ())) ĊĊĠĠĠĠĠĠĠ Ġstack . amount Ġ= ĠMath Helper . clamp ( 1 , Ġ 6 4 , Ġfetched Amount ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġstack ĊĠĠĠ Ġ} Ċ }