package Ġnet . pro pro mp . econom y pro . api Ċ Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Offline Player Ċ import Ġorg . bukkit . World Ċ Ċ class ĠPlayer Bank Account ( player : ĠOff line Player ) Ġ: ĠBank Account Ġ{ ĊĠĠĠ Ġval Ġuuid Ġ= Ġplayer . unique Id ĊĠĠĠ Ġoverride Ġval Ġname : String ĊĠĠĠĠĠĠĠ Ġget (){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBu kkit . get Offline Player ( uuid ). name ?. let { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" offline " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġvar Ġbalance : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( Bu kkit . get Offline Player ( uuid ). is Online ) Ġ{// online ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġonline Player Ġ= ĠBu kkit . get Offline Player ( uuid ). player !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( world Balance . containsKey ( online Player . world )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld Balance [ online Player . world ] !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormal Balance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormal Balance ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Bu kkit . get Offline Player ( uuid ). is Online ) Ġ{// online ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġonline Player Ġ= ĠBu kkit . get Offline Player ( uuid ). player !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( world Balance . containsKey ( online Player . world )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld Balance [ online Player . world ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormal Balance Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnormal Balance Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġinternal Ġval Ġworld Balance Ġ= ĠHashMap < World , ĠDouble >() ĊĠĠĠ Ġinternal Ġvar Ġnormal Balance Ġ= Ġ 0 . 0 ĊĊĠĠĠ Ġoverride Ġfun Ġhas ( amount : ĠDouble ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbalance Ġ>= Ġamount ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdeposit ( amount : ĠDouble , Ġworld : ĠWorld ) Ġ{ ĊĠĠĠĠĠĠĠ Ġworld Balance [ world ]?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld Balance [ world ] Ġ= Ġworld Balance [ world ] !!. plus ( amount ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġworld Balance [ world ] Ġ= Ġamount ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwithdraw ( amount : ĠDouble , Ġworld : ĠWorld ) Ġ{ ĊĠĠĠĠĠĠĠ Ġworld Balance [ world ]?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld Balance [ world ] Ġ= Ġworld Balance [ world ] !!. minus ( amount ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Balance ( world : ĠWorld ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġworld Balance [ world ]?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas ( amount : ĠDouble , Ġworld : ĠWorld ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Balance ( world ) Ġ>= Ġamount ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcan Select ( player : ĠOff line Player ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplayer . unique Id == uuid ĊĠĠĠ Ġ} Ċ }