/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠRen ĠBind en Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . r pk it . mon sters . bukkit . monster level Ċ Ċ import Ġcom . r pk it . mon sters . bukkit . RP K Mon sters Bu kkit Ċ import Ġcom . r pk it . mon sters . bukkit . monster spawn area . RP K Monster Spawn Area Provider Ċ import Ġcom . r pk it . mon sters . bukkit . monster stat . RP K Monster Stat Provider Impl Ċ import Ġorg . bukkit . Chat Color . YELLOW Ċ import Ġorg . bukkit . entity . Living Entity Ċ import Ġkotlin . random . Random ĊĊ Ċ class ĠRP K Monster Level Provider Impl ( private Ġval Ġplugin : ĠRP K Mon sters Bu kkit ): ĠRP K Monster Level Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Monster Level ( monster : ĠL iving Entity ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmonster Name plate Ġ= Ġmonster . custom Name ĊĠĠĠĠĠĠĠ Ġif Ġ( monster Name plate Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= ĠRegex (" Lv ${ YELLOW }( \\ d + )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. find ( monster Name plate ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . group Values ?. get ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( level Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlevel . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠNumber FormatException ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcalculate Monster Level ( monster ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Monster Level ( monster : ĠL iving Entity , Ġlevel : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmonster Stat Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP K Monster Stat Provider Impl :: class ) ĊĠĠĠĠĠĠĠ Ġmonster Stat Provider . set Monster Name plate ( monster , Ġlevel Ġ= Ġlevel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcalculate Monster Level ( monster : ĠL iving Entity ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspawn Area Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP K Monster Spawn Area Provider :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġspawn Area Ġ= Ġspawn Area Provider . get Spawn Area ( monster . location ) ĊĠĠĠĠĠĠĠ Ġif Ġ( spawn Area Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRandom . nextInt ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspawn Area . getMin Level ( monster . type ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspawn Area . getMax Level ( monster . type ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmonster . remove () ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} Ċ Ċ }