package Ġme . eb on j aeger . per world inventory . data . migration Ċ Ċ import Ġme . eb on j aeger . per world inventory . Console Logger Ċ import Ġme . eb on j aeger . per world inventory . Group Manager Ċ import Ġme . eb on j aeger . per world inventory . Per World Inventory Ċ import Ġme . eb on j aeger . per world inventory . initialization . Data Directory Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Chat Color Ċ import Ġorg . bukkit . command . Command Sender Ċ import Ġorg . bukkit . command . Console Command Sender Ċ import Ġorg . bukkit . entity . Player Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMigration Service Ġ@ Inject Ġconstructor ( private Ġval Ġgroup Manager : ĠGroup Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġplugin : ĠPer World Inventory , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Data Directory Ġprivate Ġval Ġdata Directory : ĠFile ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġmigr ating Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġsender : ĠCommand Sender ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġis Migr ating (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmigr ating ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbegin Migration ( sender : ĠCommand Sender ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoffline Players Ġ= ĠBu kkit . get Offline Players () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( migr ating ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . sender Ġ= Ġsender ĊĊĠĠĠĠĠĠĠ Ġif Ġ( sender Ġ! is ĠConsole Command Sender ) Ġ{ Ġ// ĠNo Ġneed Ġto Ġsend Ġa Ġmessage Ġto Ġconsole Ġwhen Ġconsole Ġdid Ġthe Ġcommand ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConsole Logger . info (" Beginning Ġdata Ġmigration Ġto Ġnew Ġformat .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmigr ating Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= ĠMigration Task ( this , Ġoffline Players , Ġdata Directory , Ġgroup Manager . groups . values ) ĊĠĠĠĠĠĠĠ Ġtask . run Task Timer As ynchronously ( plugin , Ġ 0 , Ġ 2 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAlert s Ġthat Ġthe Ġmigration Ġcompleted . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġnum Migr ated ĠThe Ġnumber Ġof Ġprofiles Ġmigrated ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfinish Migration ( num Migr ated : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmigr ating Ġ= Ġfalse ĊĠĠĠĠĠĠĠ ĠConsole Logger . info (" Data Ġmigration Ġhas Ġbeen Ġcompleted ! ĠM igr ated Ġ$ num Migr ated Ġprofiles .") ĊĠĠĠĠĠĠĠ Ġif Ġ( sender Ġ!= Ġnull Ġ&& Ġsender Ġis ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( sender Ġas ĠPlayer ). is Online ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( sender Ġas ĠPlayer ). sendMessage ("${ Chat Color . GREEN } Â» Ġ${ Chat Color . GRAY } Data Ġmigration Ġhas Ġbeen Ġcompleted !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ