/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . Ċ Ġ* ĠCreated Ġby ĠYo lo Santa Ċ Ġ* ĠCreated ĠOn Ġ 1 0 / 2 2 / 2 0 , Ġ 1 : 2 3 ĠAM Ċ Ġ*/ Ċ Ċ package Ġcc . fy re . st ark . engine . command . defaults . commands . admin Ċ Ċ import Ġcc . fy re . st ark . engine . command . Command Ċ import Ġorg . bukkit . Chat Color Ċ import Ġorg . bukkit . block . Block Face Ċ import Ġorg . bukkit . entity . Player Ċ import Ġjava . util .* Ċ Ċ object ĠSet Spawn Command Ġ{ ĊĠĠĠ Ġprivate Ġval ĠRAD IAL : ĠArray < Block Face > Ġ= ĠarrayOf ( Block Face . WEST , ĠBlock Face . NORTH _ WEST , ĠBlock Face . NORTH , ĠBlock Face . NORTH _ EAST , ĠBlock Face . EAST , ĠBlock Face . SO UTH _ EAST , ĠBlock Face . SO UTH , ĠBlock Face . SO UTH _ WEST ) ĊĠĠĠ Ġprivate Ġval Ġnot ches : ĠEnum Map < Block Face , ĠInt > Ġ= ĠEnum Map ( Block Face :: class . java ) ĊĊĠĠĠ Ġ@ Command ([" set spawn "], Ġpermission Ġ= Ġ" op ") ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġset spawn ( sender : ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocation Ġ= Ġsender . location ĊĠĠĠĠĠĠĠ Ġval Ġface Ġ= Ġyaw To Face ( location . yaw ) ĊĠĠĠĠĠĠĠ Ġsender . world . set Spawn Location ( location . block X , Ġlocation . block Y , Ġlocation . block Z , Ġface To Y aw ( face ). toFloat (), Ġ 0 . 0 f ) ĊĠĠĠĠĠĠĠ Ġsender . sendMessage ("${ Chat Color . G OLD } Set Ġthe Ġspawn Ġfor Ġ" Ġ+ ĠChat Color . WHITE Ġ+ Ġsender . world . name Ġ+ ĠChat Color . G OLD Ġ+ Ġ". ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġyaw To Face ( yaw : ĠFloat ): ĠBlock Face Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRAD IAL [ Math . round ( yaw Ġ/ Ġ 4 5 . 0 f ) Ġand Ġ 0 x 7 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġface To Y aw ( face : ĠBlock Face ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwrap Angle ( 4 5 Ġ* Ġface To Not ch ( face )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġface To Not ch ( face : ĠBlock Face ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnot ch Ġ= Ġnot ches [ face ] ĊĠĠĠĠĠĠĠ Ġreturn Ġnot ch Ġ?: Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrap Angle ( angle : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġwrapped Angle : ĠInt ĊĠĠĠĠĠĠĠ Ġwrapped Angle Ġ= Ġangle ĊĠĠĠĠĠĠĠ Ġwhile Ġ( wrapped Angle Ġ<= Ġ- 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrapped Angle Ġ+= Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhile Ġ( wrapped Angle Ġ> Ġ 1 8 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrapped Angle Ġ-= Ġ 3 6 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġwrapped Angle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin ĠRAD IAL . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnot ches [ RAD IAL [ i ]] Ġ= Ġi ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ