/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġ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 . ess entials . bukkit . command Ċ Ċ import Ġcom . r pk it . ess entials . bukkit . RP KE ss entials Bu kkit Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . Name spaced Key Ċ import Ġorg . bukkit . command . Command Ċ import Ġorg . bukkit . command . Command Executor Ċ import Ġorg . bukkit . command . Command Sender Ċ import Ġorg . bukkit . ench ant ments . Enchant ment Ċ import Ġorg . bukkit . entity . Player Ċ Ċ class ĠEn chant Command ( private Ġval Ġplugin : ĠRP KE ss entials Bu kkit ) Ġ: ĠCommand Executor Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Command ( sender : ĠCommand Sender , Ġcmd : ĠCommand , Ġlabel : ĠString , Ġargs : ĠArray < String >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! sender . has Permission (" r pk it . ess entials . command . ench ant ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" no - permission - ench ant "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( sender Ġ! is ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" not - from - console "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( sender . inventory . item In Main Hand . type Ġ== ĠMaterial . AIR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - item "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( args . size Ġ< Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - usage "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( sender . has Permission (" r pk it . ess entials . command . ench ant . unsafe ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġen chant ment Ġ= ĠEn chant ment . getBy Key ( Name spaced Key . minecraft ( args [ 0 ]. toUpperCase ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ench ant ment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - ench ant ment "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= Ġargs [ 1 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . inventory . item In Main Hand . add Unsafe Enchant ment ( ench ant ment , Ġlevel ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - valid ", Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" amount " Ġto Ġsender . inventory . item In Main Hand . amount . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type " Ġto Ġsender . inventory . item In Main Hand . type . toString (). toLowerCase (). replace ('_ ', Ġ' Ġ'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ench ant ment " Ġto Ġen chant ment . key . key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" level " Ġto Ġlevel . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - level "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġen chant ment Ġ= ĠEn chant ment . getBy Key ( Name spaced Key . minecraft ( args [ 0 ])) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ench ant ment Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - ench ant ment "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= Ġargs [ 1 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . inventory . item In Main Hand . add Enchant ment ( ench ant ment , ĠInteger . parseInt ( args [ 1 ])) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - valid ", Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" amount " Ġto Ġsender . inventory . item In Main Hand . amount . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" type " Ġto Ġsender . inventory . item In Main Hand . type . toString (). toLowerCase (). replace ('_ ', Ġ' Ġ'), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ench ant ment " Ġto Ġen chant ment . key . key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" level " Ġto Ġlevel . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - level "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sendMessage ( plugin . messages [" ench ant - invalid - il legal "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ } Ċ