package Ġdev . lun ar coffee . ris ako . bot . ext s . commands .` fun `. r place . co old own Ċ Ċ import Ġdev . lun ar coffee . ris ako . bot . consts . Col Name Ċ import Ġdev . lun ar coffee . ris ako . framework . api . extensions . schedule Reload able Ċ import Ġdev . lun ar coffee . ris ako . framework . core . commands . Command Context Ċ import Ġdev . lun ar coffee . ris ako . framework . core . services . reload ers . Reload able Collection Ċ import Ġdev . lun ar coffee . ris ako . framework . core . std . Split Time Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Id Ċ import Ġjava . util .* Ċ Ċ object ĠR Place Cooldown Manager Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcol Ġ= ĠRe load able Collection ( Col Name . R PLACE _ CO OL DOWN , ĠR Place Cooldown Re loader :: class ) ĊĊĠĠĠ Ġ// ĠGets Ġthe Ġtime Ġremaining Ġuntil Ġthe Ġuser Ġwith ĠID Ġ[ userId ] Ġis Ġagain Ġable Ġto Ġput Ġa Ġpixel . ĊĠĠĠ Ġ// ĠReturns Ġnull Ġif Ġthe Ġuser Ġis Ġnot Ġon Ġcool down Ġyet . ĊĠĠĠ Ġsuspend Ġfun Ġget Remaining Cooldown ( userId : ĠString ): ĠSplit Time ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġcol . findOne Ġ{ Ġit . userId Ġ== ĠuserId Ġ} ?. time ?. time Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠSplit Time ( time Ġ- ĠSystem . currentTimeMillis ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġschedule ( ctx : ĠCommand Context , ĠuserId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġa Ġcool down Ġof Ġ 5 Ġminutes . ĊĠĠĠĠĠĠĠ Ġval Ġin Five Minutes Ġ= ĠDate . from ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocalDateTime . now (). plus Minutes ( 5 ). at Zone ( Zone Id . system Default ()). to Instant () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġctx . schedule Reload able ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCol Name . R PLACE _ CO OL DOWN , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR Place Cooldown Re loader ( in Five Minutes , ĠuserId ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ