/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 Ġ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 . econom y . bukkit Ċ Ċ import Ġcom . r pk it . characters . bukkit . character . field . RP K Character Card Field Service Ċ import Ġcom . r pk it . core . bukkit . plugin . RP K Bu kkit Plugin Ċ import Ġcom . r pk it . core . database . Database Ċ import Ġcom . r pk it . core . database . Database Connection Properties Ċ import Ġcom . r pk it . core . database . Database Migration Properties Ċ import Ġcom . r pk it . core . database . Unsupported Database Dialect Exception Ċ import Ġcom . r pk it . core . service . Services Ċ import Ġcom . r pk it . econom y . bukkit . character . Money Field Ċ import Ġcom . r pk it . econom y . bukkit . command . currency . Currency Command Ċ import Ġcom . r pk it . econom y . bukkit . command . money . Money Command Ċ import Ġcom . r pk it . econom y . bukkit . command . money . Money Pay Command Ċ import Ġcom . r pk it . econom y . bukkit . command . money . Money Wallet Command Ċ import Ġcom . r pk it . econom y . bukkit . currency . RP K Currency Service Ċ import Ġcom . r pk it . econom y . bukkit . currency . RP K Currency ServiceImpl Ċ import Ġcom . r pk it . econom y . bukkit . database . table . RP K Money Hidden Table Ċ import Ġcom . r pk it . econom y . bukkit . database . table . RP K Wallet Table Ċ import Ġcom . r pk it . econom y . bukkit . econom y . RP KE conom y Service Ċ import Ġcom . r pk it . econom y . bukkit . econom y . RP KE conom y ServiceImpl Ċ import Ġcom . r pk it . econom y . bukkit . listener . Inventory ClickListener Ċ import Ġcom . r pk it . econom y . bukkit . listener . Inventory Close Listener Ċ import Ġcom . r pk it . econom y . bukkit . listener . Player Interact Listener Ċ import Ġcom . r pk it . econom y . bukkit . listener . Sign ChangeListener Ċ import Ġcom . r pk it . econom y . bukkit . messages . E conom y Messages Ċ import Ġorg . b stats . bukkit . Metrics Ċ import Ġorg . bukkit . configuration . file . Yaml Configuration Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠRP K Ġeconom y Ġplugin Ġdefault Ġimplementation . Ċ Ġ*/ Ċ class ĠRP KE conom y Bu kkit Ġ: ĠRP K Bu kkit Plugin () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġdatabase : ĠDatabase ĊĠĠĠ Ġlateinit Ġvar Ġmessages : ĠEconom y Messages ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcurrency Service : ĠRP K Currency Service ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġeconom y Service : ĠRP KE conom y Service ĊĊĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . setProperty (" com . r pk it . econom y . bukkit . shadow . impl . org . jooq . no - logo ", Ġ" true ") ĊĊĠĠĠĠĠĠĠ ĠMetrics ( this , Ġ 4 3 9 0 ) ĊĠĠĠĠĠĠĠ Ġsave Default Config () ĊĊĠĠĠĠĠĠĠ Ġmessages Ġ= ĠEconom y Messages ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase ConfigFile Ġ= ĠFile ( data Folder , Ġ" database . yml ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! database ConfigFile . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Resource (" database . yml ", Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Config Ġ= ĠYaml Configuration . load Configuration ( database ConfigFile ) ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Url Ġ= Ġdatabase Config . getString (" database . url ") ĊĠĠĠĠĠĠĠ Ġif Ġ( database Url Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . se vere (" Database ĠURL Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Username Ġ= Ġdatabase Config . getString (" database . username ") ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Password Ġ= Ġdatabase Config . getString (" database . password ") ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Sql Dialect Ġ= Ġdatabase Config . getString (" database . dialect ") ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Maximum PoolSize Ġ= Ġdatabase Config . getInt (" database . maximum - pool - size ", Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Minimum Idle Ġ= Ġdatabase Config . getInt (" database . minimum - idle ", Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġif Ġ( database Sql Dialect Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . se vere (" Database ĠSQL Ġdialect Ġnot Ġset !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdatabase Ġ= ĠDatabase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDatabase Connection Properties ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Password , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Sql Dialect , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Maximum PoolSize , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase Minimum Idle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDatabase Migration Properties ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( database Sql Dialect ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MYSQL " Ġ-> Ġ" com / r pk it / econom y / migrations / mysql " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" SQL ITE " Ġ-> Ġ" com / r pk it / econom y / migrations / sqlite " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupported Database Dialect Exception (" Unsupported Ġdatabase Ġdialect Ġ$ database Sql Dialect ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" fly way _ schema _ history _ econom y " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Loader ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdatabase . add Table ( RP K Wallet Table ( database , Ġthis )) ĊĠĠĠĠĠĠĠ Ġdatabase . add Table ( RP K Money Hidden Table ( database , Ġthis )) ĊĊĠĠĠĠĠĠĠ Ġcurrency Service Ġ= ĠRP K Currency ServiceImpl ( this ) ĊĠĠĠĠĠĠĠ Ġeconom y Service Ġ= ĠRP KE conom y ServiceImpl ( this ) ĊĠĠĠĠĠĠĠ ĠServices [ RP K Currency Service :: class . java ] Ġ= Ġcurrency Service ĊĠĠĠĠĠĠĠ ĠServices [ RP KE conom y Service :: class . java ] Ġ= Ġeconom y Service ĊĊĠĠĠĠĠĠĠ ĠServices . require ( RP K Character Card Field Service :: class . java ). when Available Ġ{ Ġservice Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice . character Card Fields . add ( Money Field ( this )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġregister Commands () ĊĠĠĠĠĠĠĠ Ġregister Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Commands () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Command (" money ") ?. set Executor ( Money Command ( this )) ĊĠĠĠĠĠĠĠ Ġget Command (" pay ") ?. set Executor ( Money Pay Command ( this )) ĊĠĠĠĠĠĠĠ Ġget Command (" wallet ") ?. set Executor ( Money Wallet Command ( this )) ĊĠĠĠĠĠĠĠ Ġget Command (" currency ") ?. set Executor ( Currency Command ( this )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Listeners ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInventory ClickListener ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInventory Close Listener (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Interact Listener ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSign ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }