package Ġcom . arr ush . asc etic . commands .` fun ` Ċ Ċ import Ġcom . arr ush . asc etic . Asc etic Bot Ċ import Ġcom . arr ush . asc etic . enums . E moj is Ċ import Ġcom . arr ush . asc etic . internal . command .* Ċ import Ġcom . arr ush . asc etic . internal . languages . Translator Ċ import Ġcom . arr ush . asc etic . utility . Embed Utils Ċ import Ġcom . arr ush . asc etic . utility . replace Multiple Ċ import Ġcom . arr ush . asc etic . utility . times Ċ import Ġdiscord 4 j . core . event . domain . message . Message Create Event Ċ import Ġreactor . core . publisher . Mono Ċ import Ġjava . math . Round ingMode Ċ import Ġjava . text . Decimal Format Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ class ĠExp Command Ġ: ĠCommand (" exp ", ĠCommand Category . FUN , Ġ"{ prefix } exp ") Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Command ( event : ĠMessage Create Event , Ġvar arg Ġargs : ĠString ): ĠMono < Void > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġexp Data Ġ= ĠAsc etic Bot . get Exp Data ( event . author Id ()) ĊĊĠĠĠĠĠĠĠ Ġval Ġtotal Exp Ġ= Ġexp Data . get Exp () ĊĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= Ġexp Data . get L vl () ĊĊĠĠĠĠĠĠĠ Ġval Ġexp To Next Ġ= Ġexp Data . exp To Next () ĊĠĠĠĠĠĠĠ Ġval Ġdf Ġ= ĠDecimal Format ("# .# ") ĊĠĠĠĠĠĠĠ Ġdf . rounding Mode Ġ= ĠRound ingMode . CE IL ING ĊĠĠĠĠĠĠĠ Ġval Ġbars Needed Ġ= Ġ( df . format ( total Exp . toDouble () Ġ/ Ġexp To Next . toDouble ()). toDouble () Ġ* Ġ 1 0 ). to Long () ĊĠĠĠĠĠĠĠ Ġval Ġbars Remaining Ġ= Ġ 1 0 Ġ- Ġbars Needed ĊĊĠĠĠĠĠĠĠ Ġval Ġfield One Ġ= ĠTrans lator . any ( event . language (), Ġ" command . exp . embed . fields "). array (). array ( 0 ). toArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace Multiple ( 0 , Ġmap Of ("{ level }" Ġto Ġlevel . toString (), Ġ"{ exp }" Ġto Ġtotal Exp . toString ())). toList () ĊĠĠĠĠĠĠĠ Ġval Ġfield Two Ġ= ĠTrans lator . any ( event . language (), Ġ" command . exp . embed . fields "). array (). array ( 1 ). toArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace Multiple ( 1 , Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{ level }" Ġto Ġ( level Ġ+ 1 ). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{ exp }" Ġto Ġ( exp To Next Ġ- Ġtotal Exp ). toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{ bar }" Ġto Ġ( E moj is . XP _ BAR . value Ġ* Ġbars Needed ) Ġ+ Ġ(" Ġ" Ġ* Ġbars Remaining ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ )). toList () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġevent . reply Embed ( Embed Utils . get Embed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle = ĠTrans lator . any ( event . language (), Ġ" command . exp . embed . title "). translate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= ĠTrans lator . any ( event . language (), Ġ" command . exp . embed . description "). translate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfields Ġ= ĠlistOf ( field One , Ġfield Two ) ĊĠĠĠĠĠĠĠ Ġ )). then () ĊĠĠĠ Ġ} Ċ } ĊĊ